Строительный блокнот  Развитие полупроводниковой электроники 

1 2 3 4 5 6 7 8 9 10 [ 11 ] 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37

данного транзистора действует сигнал О, транзистор не проводит и диод в цепь не включен, что соответствует выжженной перемычке. Меняя напряжения иа затворах транзисторов, можно быстро (что особенно важно) перестраивать схему с выполнения одной операции на другую. Ясно, что в схеме, показанной на рис. 2.2, горизонтальные провода соответствуют входу Оп (входу операнда) иа рпс. 2.1, вертикальные провода-выходу А, а вся совокупность проводов, подсоединенных к затворам всех транзисторов, соответствует входу К на рис. 2.1.

Предлагаем читателю самостоятельно убедиться в том, что ППЗУ (см. рис. 2.2) способно преобразовать любую совокупность операндов в любую наперед заданную совокупность результатов. Для этого необходимо задать соответствующий код операции, т. е. нужным образом подать напряжение на затворы транзисторов.

Рассмотрим еще три вопроса. Что представляет собой в схеме на рис. 2.2 вход синхронизации (его нет на рисунке) и что следует понимать под внутренним состоянием схемы? На эти вопросы мы ответим несколько позже. Третий же вопрос, который наверняка должен возникнуть у читателя, состоит в следующем. Число транзисторов в схеме, показанной на рис. 2.2, а сле.аовательно, и число разрядов в слове, представляющем собой код операции, равно, очевидно, тХп, где т-число разрядов операнда, а п - число разрядов результата. Не много ли это? Особенно с учетом того обстоятельства, что пока мы не накладывали никаких ограничений на число разрядов в операнде и в результате.

Ответов на этот вопрос несколько. Во-первых, нужны не все транзисторы, показанные на рис. 2.2. Доказательством может служить хотя бы тот факт, что бессмысленно заставлять АЛУ выполнять тождественное преобразование, т. е. просто передавать операнд на выход результата или выдавать на выход результат, всегда представляющий собой последовательность одних нулей или одних единиц. В каждом конкретном случае схему, показанную на рис. 2.2, можно упростить, иногда существенно. Во-вторых, мы уже знаем, как с помощью дешифратора можно уменьшить число входных проводников. Так что на данном этапе рассуждений нас не должно смущать большое число разрядов в слове, которое мы назвали кодом операции.

Важно, что каждый разряд кода операции представляет собой не что иное, как электрический сигнал, непосредственно воздействующий на один из эла-ментарных компонентов схемы. Последовательность таких сигналов получила Название микрокоманды. Соответственно последовательность микрокоманд называется микропрограммой. Принцип использования микропрограмм для реализации алгоритмов по.чучил название микропрограммирование. Микропрограммирование является одним из ведущих принципов, лежащих в основе большинства современных систем переработки информации. Именно благодаря использованию микрокоманд, т. е. возможности воздействовать на все без исключения элементарные компоненты, можно заставить ППЗУ (см. рис. 2.2) и подобные SMy выполнять любые без каких-либо исключений преобразования слов. Микропрограммирование обеспечивает универсальность устройств, т. е. позволяет км решать любую задачу.

Микропрограммирование и технология производства микросхем - вот два взаимодополняющих фактора, лежащих в основе микропроцессорной техники Или техники БИС с программно-перестраиваемой логикой.

248 33



2.2. Регистры и синхронизация

Этот раздел в основном посвящен ответу на первые два из поставленных вопросов: как осуществляется синхронизация в схеме на рис. 2.2 и что считать ее внутренним состоянием? Для начала обратим внимание на еще одну трудность, встречающуюся на пути создания схем, подобных показанной на рис. 2.2. Суть ее состоит в следующем. Операнды, коды операций и результаты иа входах н выходах АЛУ меняются во времени. Технически это означает, что на каких-то проводах напряжение высокого уровня сменяется низким, а на каких-то напряжение низкого уровня - высоким. Напряжение на проводнике не может измениться мгновенно, так как подобный скачок потребовал бы бесконечной мощности. Действительно, энергия пропорциональна квадрату напряжения. Следовательно, скачкообразное изменение напряжения влечет за собой скачкообразное изменение энергии, а мощность есть не что иное, как отношение изменения энергии к длительности промежутка времени, за который произошло это изменение.

Типичный процесс изменения напряжения во времени показан на рис. 2.3. Здесь Д , - интервал значений напряжения, соответствующих символу 1;

Atto - интервал значений напряжения, соответствующих символу 0. Из рисунка видно, что переход от символа О к символу 1 и от символа 1 к симвсчу О представляет собой довольно сложный процесс с характерными выбросами, длящимися в течение определенного интервала времени, обозначенного на рис. 2.3 как Тп. В течение всего интервала времени Тп нельзя говорить, что соответс-вующий провод (разряд) передает символ 1 или символ 0. Считается, что в течение этого интервала значение символа неопределенно. Следовательно, можно полагать, что символы О и 1 присутствуют на входах и выходах АЛУ не всегда, а лишь определенные интервалы времени То (см. рис. 2.3). Более того, процессы переключения компонент АЛУ (в частности, транзисторов на рис. 2.2), также занимают определенное, подчас достаточно длительное время. Поэтому интервал То на выходе А АЛУ, вообще говоря, не совпадает с соответствующими интервалами, отведенными для его входов. Наконец, по ряду причин интервал То, определенный для входа операнда, можег не совпадать во времени с интервалом Тс для входа кода операции. Все это порождает важную проблему, сущность которой можно сформулировать так. Как определить момент времени, когда на выходе АЛУ будет правильный результат, и существует ли вообще такой момент?

Решить эту проблему можно с помощью регистров. Типовая схема регистра показана на рис. 2.4. Достаточно обратиться к рис. 1.7, чтобы убедиться, что регистр есть не что иное, как последовательность из п не связанных между собой статических запоминающих элементов (один из них обведен штриховой линией). Каждый такой элемент снабжен транзистором V6, управляющим за-


Рпс. 2.3. Изменения напряжения АЛУ во времени при переключении символов с О на 1 и с 1 на О



лисью символа (О или 1), п транзистором V5, управляющим его чтением. Разобраться в принципе действия этпх элементов несложно. Обрати.м лишь внимание на то, что подложки транзисторов V5 и V6 соединены с землей. Следовательно, независимо от напряжений на истоке и стоке при подаче положительного напряжения на затвор эти транзисторы проводят в обоих направлениях, что обеспечивает запись как 1, так и 0.

6 X odd ?2

V6 л

г -1

Рис. 2 4. Схема регистра

Единственное отличие регистра от ячейки ОЗУ состоит в том, что вместо адресных проводов у регистра имеются один провод, разрешающий запись, и один провод, разрешающий чтение. Еслп иа обоих проводах электрическпе сш -налы отсутствуют, регистр полностью отключен от внешних цепей (иногда ю-ворят, что он находится в третьем состоянии). При подаче положительного электрического сигнала на вход Запись в каждый статический запоминающий элемент записывается один из символов слова, действующего на входах регистра. При подаче положительного электрического сигнала на вход Чтение символы, запомненные в статических запоминающих элементах, передаются на выход регистра.

Осталось завершить построение АЛУ. Сделаем это так, как показано ча рис. 2.5. Прямоугольником с надписью КАЛУ обозначена комбинационная часть АЛУ, которая совпадает со схемой, показанной на рис. 2.2; РО-регистр операндов; РК - регистр кода операций; РА - регистр результата, его часто называют также аккумулятором, поскольку результат в нем может возникнуть не сразу, а накапливаться постепенно. Особенно часто это бывает, когда операнд поступает на вход АЛУ не параллельно, а последовательно или по частям. Ясно, что число разрядов (статических запоминающих элементов) в трех рассмотренных регистрах должно совпадать с числом разрядов, одновременно (параллельно) поступающих в АЛУ по соответствующим входам.

Кроме перечисленных есть еще один регистр, обозначенный буква.мн CP - счетчик разрядов. Он хранит номер разряда илн номер части слова при по-

2* 35



1 2 3 4 5 6 7 8 9 10 [ 11 ] 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37