Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции от макса и жени.docx
Скачиваний:
22
Добавлен:
22.04.2019
Размер:
6.43 Mб
Скачать

Глава 3. Комбинационные устройства эвм.

3.1 Дешифраторы.

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

Дешифратором (или говорят еще декодером) называют кодирующее устройство, преобразующее двоичный код в унарный (десятичный).

Его работа может быть описана таблицей соответствия n – входов m – выходам или системой логических выражений. (рис 3.1.а и в).

В дешифраторе из всех m – выходов активным является один, который значению соответствует двоичному коду на входе. В зависимости от используемых элементов в схемной реализации дешифратора активным входом будет либо с высоким Fi либо с низким Li уровнем сигнала.

Дешифратор с n – входами и m – выходами, использующий всевозможные комбинации входного кода называют полным или линейным.

На рис 3.01.б восемь уравнений (рис а) реализуется с помощью 8-четырех входов элементов И, на входах которых ставятся инверторы (буферные усилители) для согласования по электрическим параметрам выходов источника сигнала со всеми входами элементов И (один выход источника нагружается n/2 элементами).

На рис 3.01.в приведены логические выражения для дешифратора построенного на элементах ИЛИ (дешифраторы могут быть построены так же на элементах И-НЕ, ИЛИ-НЕ).

В дешифраторах могут применяться и входы размещения (стробирования) Е. Такие дешифраторы иногда называют декодерами – демультиплексорами и обозначают как DX.

На рис 3.01 г и д приведены УГО дешифраторов с высоким и низким уровнями входов. Дешифратор читается как, например, 3 в 8 (3-8), 4 в 16 (4-16) и т.д. Для увеличения разрядности дешифраторов применяется их каскадное соединение или построение матричных дешифраторов. (рис 3.2 а и б).

Входной код разбивается на подгруппы, которые реализуются каскадами дешифраторов. На рис а приведен дешифратор 5-32, который получен каскадным соединением DC4 со входами X8, X16 с линейкой дешифраторов DC0÷DC3 со входами X1,X2 и X4 и сигнала Е от DC4. Здесь 5 – разрядный код разбит на группы 2 и 3 разр.

В общем случае многоразрядный код может быть разбит на группы по разному (по числу каскадов) и каждому разбиению будет соответствовать свой вариант каскадного соединения. Варианты будут различаться так же величиной задержки распространения и аппаратными затратами.

В придельном случае – получится пирамидальный дешифратор при числе каскадов равным разрядности входного кода и с максимальной задержкой распространения сигнала.

Матричный или прямоугольный дешифратор (оптимальный по задержке) рис 3.2. б. строиться по двухступенчатой схеме. Код разбивается на две группы по n/2 разрядов при n – четном и неравные при n – нечетном. Система логических выражений, описывающих работу матричного дешифратора приведена на рис 3.2.в.

В принципе сигнал размещения можно использовать только в одном DC, запирая либо строки, либо столбцы.

Рассмотренные три типа дешифраторов: линейный, каскадный и матричный целесообразно сравнивать по величинам задержек и аппаратным затратам.

Минимальная задержка у линейного дешифратора составляет (2÷3)ῐ в зависимости от наличия на его входах инверторов – усилителей. При включении линейных дешифраторов в несколько каскадов задержка складывается из задержек каждого каскада. У матричного очевидно она равна (3÷4)ῐ. У линейного число входов элемента И равно числу входов n – дешифратора, у каскадного зависит от способа разбиения входного кода на группы, однако всегда меньше n, но больше двух, у матричного равно двум, минимально возможному числу. Это сравнение справедливо ля дешифраторов, построенных непосредственно из логических элементов.

При использовании готовых микросхем, когда число оборудования оценивается числом корпусов, дешифраторы выгодней строить по каскадному принципу.

Часто в микросхемах дешифраторов делается несколько разрешающих входов и тогда разрешающий сигнал будет их конъюнкция. По этой причине в каскадном дешифраторе выгодней первый каскад собирать из конъюнкторов разрешающих входов. Задержки распространения дешифраторов определятся по двум трактам: адресные входы –выходы и входы разрешения-выходы по которым задержка как правило меньше.

Пример серийно выпускаемых дешифраторов К155ИД4 (сдвоенный, 2 дешифратора 2-4).

3.2 Шифраторы.

Осуществляют преобразование десятичных чисел в двоичный код, т.е. выполняют функцию обратную дешифратору. Логическая схема шифратора, показанная на рис 3.03.а имеет m – входом и n – выходов.

При подаче сигнала, образующего число, только на один из m – входов на выходе реализуется двоичный n – разрядный код числа поданного на вход. Если входов ИЛИ недостаточно для преобразования заданных чисел, используется каскадный способ построения шифратора.

По формулам де Моргана можно перейти в базис И-НЕ, тогда активными сигналами на входе будут низкие уровни. Приведенный вариант шифратора используется редко. Чаще шифраторы применяются в сочетании со схемой выделения старшей единицы в слове (рис 3.3 в), которая преобразует слово X0,X1,…,Xm следующим образом: на входы схемы поступает преобразуемое слово (X0,X1,X2), а на вход Е1 сигнал разрешения. Нули в старших разрядах порождают на выходах Yi единицы и не влияют на работу младших разрядов (Yi-1, Yi-2,…). Самая старшая единица в подаваемом слове даст на выходе этого разряда «0», который тут же закроет элементы И-НЕ всех младших разрядов схемы, на выходах Y0÷Y2 останется старшая единица, которая попадет на вход шифратора и сформирует на его выходе двоичный код, отражающий номер разряда старшей единицы в слове. С верхнего И-НЕ через инвертор НЕ формируется сигнал Е0=1, который может быть подан на вход Е1 более младших разрядов при наращивании схемы.

Совокупность схемы выделения старшей единицы в слове и шифратора получила название: приоритетный шифратор.

Пример наращивания разрядности приоритетного шифратора приведен на рис 3.04. Приоритетные шифраторы широко применяются в системах прерываний ЭВМ. Один из серийно выпускаемых приоритетных шифраторов: 8 – разрядный, К155ИВ1.

3.3 Преобразователи произвольных кодов.

Если закон преобразования одного кода в другой не удалось описать каким-либо правилом, то это преобразование логично задать таблицей соответствия кодов и на ее основе построить нужный преобразователь. Для преобразования одного кода в другой можно использовать 2 метода.

Первый метод: Исходный двоичный код преобразуется в десятичный, а десятичный в нужный двоичный. Метод удобен при использовании стандартных микросхем DC и CD. Пример такого преобразования приведен на рис 3.05. а и б.

На рис 3.05.а составлена таблица соответствия кода А и нужного кода В. Преобразование кода А в код В показано на схеме рис 3.05.б.

Второй метод: Использование логического устройства комбинационного типа, которое реализует преобразование кодов. Для этого по таблице соответствия рис 3.5.а составляется соответствующие уравнения (рис 3.05.в) и по ним строится логическая схема на нужных элементах.

В заключении следует отметить, что при использовании вышеназванных методов необходим анализ 1ый и 2ой схем по затратам оборудования и его стоимости.

Преобразователи прямого кода в обратный и дополнительные коды. В ЭВМ при выполнении арифметических операций сложения с использованием вышеперечисленных кодов. При записи кодов в старшем (дополнительном) XЗН разряде записывается знак числа: 0 – положительное, 1 – отрицательное число, который используется как управляющий сигнал при преобразовании кода. На рис 3.06.а приведена таблица соответствия прямого кода к обратному и дополнительному.

На основе этой таблицы логично записать логическое выражение (рис 3.06.б) для получения значения разряда обратного кода соответствующего разряду прямого кода. Схемная реализация выражения приведена на рис 3.06.в.

Аналогичный подход к построению преобразователя прямого кода в дополнительный. На рис 3.06.г приведено выражение для преобразования, а на рис 3.06.д его схемная реализация.

3.4 Мультиплексоры.

Мультиплексор осуществляет переключение одного из входных каналов к своему выходу под управлением адресующего слова. Для коммутации многоразрядных слов мультиплексора составляется из одноразрядных. Схемы мультиплексора и функции, реализуемые им приведены на рис 3.07.а и б.

Входы мультиплексора делятся на две группы: информационные (Xi) и адресные (Ai). Е – вход разрешения (стробирования). При Е=0 выход F=0 независимо от значений Xi и Ai. Формула мультиплексирования в общем виде приведена на рис 3.07.г. В ней при любом значении адресного кода все слагаемые равны «0» кроме одного Xi, где I – значение текущего адреса.

В серийно выпускаемых микросхемах мультиплексоров их размерность не превышает (16-1) – 16 входов Х коммутируются на 1 выход F. Связано это с ограниченным числом входов элементов составляющих мультиплексор.

Схема на рис 3.07.а содержит дешифратор адресного кода, что позволяет применить элементы И с меньшим числом входов по сравнению со схемой на рис 3.07.б без дешифратора. Однако первая схема обладает большими задержками.

УГО мультиплексора показано на рис 3.07.в. Для расширения коммутируемых каналов применяется каскадирование мультиплексоров. На рис 3.08 приведена схема каскадирования 4х мультиплексоров 8-1 из одного 4-1 позволяющая коммутировать 32 канала.

Реализация логических функций мультиплексором.

Мультиплексор является универсальным логическим модулем (УЛМ) позволяет реализовать любую логическую функцию от заданного числа аргументов. Общее число возможных логических функций от m – аргументов составляет , а число возможных комбинаций двоичного кода , где n – разрядность кода.

Приравнивая их имеем . Это выражение определяет соотношение между числами адресных и информационных входов мультиплексора. Используются следующие способы настройки УЛМ для реализации заданных функций.

  1. На адресные входы подаются аргументы заданной функции, а на информационные – сигналы настройки (фиксированные величины).

Пример реализации функции неравнозначности приведен на рис 3.09. а и б и функции с десятичными эквивалентами линтеров 1,3,5,7 на рис 3.09 в. Здесь «0» и «1» используются как сигналы настройки. Недостаток способа – необходимо большое число входов настройки.

  1. Второй способ настройки МUX основан на расширении алфавита настроечных сигналов. От алфавита настроечных сигналов {0,1} переходят к алфавиту литерал одного из аргументов функции. Литерал – это либо сама переменная, либо ее инверсия.

Перенос одного из аргументов в число настроечных сигналов не вызывает необходимости изменения схемы MUX, но дает возможность: реализовывать функции с числом аргументов на единицу больше чем при настройке константы, а число настроечных сигналов сократить вдвое.

Для нового алфавита код настойки находится следующим образом: аргументы, за исключением подаются на адресные входы MUX, что соответствует их фиксации в выражении для искомой функции, которая после этого становится функцией единственного аргумента .

Полученную функцию называют остаточной и подают на настроечный вход. Очевидно: если искомая функция имеет m – аргументов и в число настроечных сигналов будет перенесен один из аргументов, то возникнет m – вариантов решений, т.к. в сигналы настройки можно перенести любой из аргументов.

Рекомендуется переносить тот аргумент, который имеет минимальное число вхождений в термы функции.

Примеры воспроизведения функции при разных алфавитах приведены на рис 3.10 а и б.

Пример 1: В функции F2 аргумент X1 входит в термы один раз, поэтому его переносим в число настроечных сигналов. Тогда остаточная функция FОСТ определяется по таблице, а реализация F2 показана с использованием MUX 4-1.

Пример 2: По пути расширения алфавита сигналов настройки логично идти дальше, используя дополнительную логическую функцию И. Реализация такой функции показана на рис 3.10 б.

Применяется мультиплексор не только как УЛМ, но и как коммутатор, например, для параллельного сдвига разрядов слова в регистрах (рис 3.11 а), для мультиплексирования (коммутации) многоразрядных шин в ЭВМ (рис 3.11 б).

На рис 3.11 б приведена схема коммутации n – разрядных шин X,Y,S и Z на n – мультиплексорах. При подаче соответствующего адреса AiAj мультиплексоры подключают все разрядные линии соответствующей поданному адресу шины к своим выходам D.

3.5 Регистры. Параллельные регистры. Общая характеристика регистров.

Регистром называют группу или линейку запоминающих элементов (чаще триггеров), предназначенных для: записи, хранения или сдвига, выдачи двоичного слова. Нумерация триггеров в регистре происходит с младших разрядов.

Регистры могу выполнять операции:

  1. Установка (сброс) в исходное (нулевое) состояние.

  2. Запись параллельного кода (всех разрядов одновременно).

  3. Запись последовательного кода (разряд за разрядом).

  4. Хранение записанного слова.

  5. Сдвиг хранимого кода вправо или влево.

  6. Выдача (считывание) хранимого слова в последовательном или параллельном коде.

  7. Поразрядные логические операции.

Классификация регистров может осуществляться:

  1. По способу приема и выдачи информации:

а) параллельные (статические) – запись и считывание в параллельном коде, слова в таких регистрах могут быть подвергнуты поразрядным логическим операциям.

б) последовательные (сдвигающие) – запись и считывание происходит в последовательном коде, сдвиг может быть как вправо, так и влево, либо в обоих направлениях (такие регистры называют реверсивными).

в) последовательно – параллельные (универсальные) – запись и считывание как в параллельном, так и в последовательном коде.

  1. По числу каналов передачи кода:

а) однофазные – запись и считывание либо в прямом, либо в обратном коде.

б) парафазные – запись и считывание, как в прямом, так и в обратном коде.

  1. По системе синхронизации:

а) однотактные.

б)многотактные.

Типовые внешние связи регистров:

  1. Информационные входы Di.

  2. Вход сигнала записи, считывания С.

  3. Вход сброса (установки) R.

  4. Информационные входы Qi.

Параллельные регистры. Рис 3.12.

Линейка триггеров Т0÷Т3 управляется сигналами С и R (рис 3.12 а). По фронту С – сигнала данные D0÷D3 записываются в соответствующие разряды, причем за один такт, т.е. регистр однотактный, например, на D – триггерах.

Сигналов ¬R регистр может быть сброшен в исходное состояние. По сигналу ЕZ происходит считывание через схемы с тремя состояниями выхода (обозначаются значком ). Вместо этой схемы может применяться конъюнктор И. Наличие схемы с тремя состояниями позволяет использовать регистр в качестве: буферного регистра ввода – вывода, магистрального передатчика. Подобная схема применяется в микросхеме КР1533ИР38.

Примечание: на входах регистра (и на выходах) могут быть подключены дополнительные логические схемы, которые не меняют сути построения регистра. Например, на вход одного разряда (рис 3.12 б) подключена схема 2-2И-ИЛИ-НЕ, выполняющая роль мультиплексора, которая позволяет под управлением сигналов С0 и С1 записывать парафазные коды от двух источников.

Параллельные регистры можно построить на RS – триггерах и других типов (рис 3.13 а). Регистр записывает парафазный код ( ). В этом случае он однотактный. При наличии входа R (на схеме пунктирная линия) триггер записывает только прямой код и становится двухтактным: запись – сброс – запись и т.д.

На рис 3.13 б приведена схема одного разряда двух регистров, которые выполняют поразрядную дизъюнкцию и конъюнкцию. Управление передачей из RG1 в RG2 по прямому и инверсному каналам сигналами Х1 и Х2 с помощью вентилей 1 и 2. Процесс передачи из RG1 (T1) в RG2 (T2) отражается таблицей, показанной на рис 3.13 в. При одновременной подаче по сигналам Х1 и Х2 имеем обычную парафазную связь, т.е. данные из RG1 без изменения переписываются в RG2.

На параллельных регистрах может быть построена регистровая память ЭВМ (регистровые файлы). Пример серийно выпускаемого регистра КР1533ИР26. Он может хранить четыре четырех разрядных слова и позволяет одновременно независимо записывать одно слово и считывать другое.

3.6 Сдвигающие регистры.

На рис 3.14 а приведена схема однотактного регистра со сдвигом вправо при каждом тактовом сигнале С на один разряд (DSR). Сдвиг осуществляется по фронту С – сигнала: содержимое разряда n-1 переписывается в разряд n-2 и т.д., а с входа OUT нулевого разряда Q на выход. Аналогично и при записи: разряд за разрядом со входа IN.

На рис 3.14 б показана схема однотактного регистра со сдвигом влево. Данные передвигаются аналогично но уже влево начиная с младшего разряда Q0.

Очевидно, что в сдвигающих регистрах, не имеющих в межразрядных связях логических элементов, нельзя применять одноступенчатые триггеры (например, RS – триггеры), управляемые уровнем С – сигнала, поскольку некоторые триггеры за время действия С – сигнала, могут переключаться несколько раз, что недопустимо.

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

Реверсивные регистры.

Схема двухразрядного реверсивного регистра приведена на рис 3.15. На входах регистра (TT0i, TT1i-1) подключены элементы 3-2И-ИЛИ (выполняющие роль мультиплексора), которые под действием сигналов SL,PL,SP управляют работой регистра: сдвигом влево, параллельной записью и сдвигом вправо.

При сдвиге влево (от младших к старшим разрядам) подается сигнал SL, верхний конъюнктор открывается и содержимое младших разрядов переписывается в старшие (от TTi-1 к TTi). Аналогично при сдвиге вправо при подаче сигнала SR (нижний конъюнктор открывается и идет перезапись из TTi в TTi-1).

При подаче сигналов PL и EZ происходит параллельная запись. EZ переводит выходную схему в третье состояние (высокого импенданса) и входные данные Di поступают на средний конъюнктор, открытый сигналом PL и далее в триггер TTi.

Естественно в таких регистрах возможна последовательная запись и последовательное считывание. При наращивании разрядности следующая микросхема подключается своим входом D0 к выходу предыдущей D7 и к линиям управления SL,PL,SR,C,R,EZ.

Для сокращения выводов часто в микросхеме ставится дешифратор с внешними двумя входами S0 и S1 и внутренними выходами для управления мультиплексором. Таблица соответствия входов DC и его выходами приведена на рис 3.15.