Одной из первых функций, реализованных в ИС помимо обычных логических элементов, было сложение.
Сумматоры характеризуются наличием трёх входов:
· на два которые подаются одноимённые разряды двух складываемых чисел, на третий перенос из предыдущего (более младшего) разряда;
· и двумя выходами: на одном реализуется арифметическая сумма по модулю в данном разряде, а на другом — перенос в следующий (более старший разряд).
В таблице истинности, показанной наРис. 3.6, а,приведены значения бита суммы S и флага переноса Сn образующихся при сложении двух битов А и В и бита переноса из предыдущего разряда С0. Например, из 6-й строки таблицы следует, что при сложении двух единиц и 0-го переноса сумма будет равна 0, а перенос —1(1 + 1+0 =10). Для реализации этой строки таблицы нам нужно распознать комбинацию битов 110, описываемую АВ'С0. Эту операцию выполняет 6-й элемент схемы. Таким образом, мы просто объединяем по ИЛИ все возможные комбинации входных переменных:
S = (А’В’С0) + (А’ВС0’) + (АВ’C0‘)) + (АВС0)
Cn=(А’ВС0) + (АВ’С0) + (АВ С0’) + (АВС0)
Применяя такую схему длякаждого разряда и подключая при этом выход переноса разряда с номером k - 1 к входу переноса разряда с номеромk, мы сможем выполнять сложение любых n-битных чисел.
Рис. 3.6.Сложение
На Рис. 3.6,бпоказана структурная схема микросхемы К555ИМ6 которая складывает два 4-битныхчисла за 25 нс. На практике для формирования итогового бита переноса С1 используется дополнительная схема, чтобы избежать задержек, вызванных прохождением битов переноса через все стадии суммирования, от младшего бита к старшему. Несколько (n) микросхем можно каскадировать для реализации функции сложения слов разрядностью 4 х п. Таким образом, две микросхемы К555ИМ6 выполняют 16-битное сложение за 45 нс (учитывая дополнительную задержку распространения переноса между двумя микросхемами).
Разумеется, сумматоры можно использовать и для вычитания, если перевести операнды дополнительный код.
Схему сумматора/вычитателя можно реализовать при помощи набора логических элементов Исключающее ИЛИ, выступающие в роли программируемых инверторов (см. стр.9). Вход выбора режима АDD/SUB, управляющий этими инверторами в схеме наРис. 3.7, подключен также к входу переноса, что вызывает добавление единицы в режиме вычитания.
Схему сумматора/вычитателя можно реализовать при помощи набора логических элементов Исключающее ИЛИ, выступающие в роли программируемых инверторов (см. стр.9). Вход выбора режима АDD/SUB, управляющий этими инверторами в схеме наРис. 3.7, подключен также к входу переноса, что вызывает добавление единицы в режиме вычитания.
Расширяя набор аргументов, мы постепенно придем к арифметико-логическому устройству (АЛУ). АЛУ представляет собой схему, выполняющую определенный набор арифметических и логических операций над входными данными в соответствии со значением на входах выбора режима. Микросхема 74LS382, показанная наРис. 3.7, выполняет 32 операции над двумя 4-битными числам.
Выполняемая операция задается тремя битами выбора режима S0 S1 S2 S3 (Рис. 3.7, а). Кроме сложения и вычитания, это АЛУ выполняет также операции И, ИЛИ и Исключающее ИЛИ. Вид операции задается битом выбор операции М (М=1 – выполняются 16 логических операций, если же М=0, то 16 арифметических). Микросхема формирует даже признак переполнения CN+4 и признак нулевого результата А=В.
M CN S3 S2 S1 S0
Операция
Логические функции
1 х 1 0 0 1
Инверсия сложения (АvВ)’
1 х 0 0 0 0
Инверсия A (A’)
1 х 1 0 0 0
Исключающее ИЛИ (А’v’В)
Арифметические функции
0 1 1 0 0 1
Сложение (А+В)
0 0 1 0 0 1
Сложение с переносом (А+В+1)
0 1 0 1 1 0
Вычитание (А–В)
а) Таблица истинности
б) Условное обозначение
Рис.3.8.Микросхема АЛУ
Как мы увидим чуть позже, АЛУ является «сердцем» любого компьютера или микропроцессора. Подавая на входы выбора режима некоторую последовательность двоичных значений, можно заставить АЛУ выполнить соответствующую последовательность операций. Эти коды операций хранятся во внешней памяти и последовательно считываются схемами управления.
ОСНОВНЫЕ ПОЛОЖЕНИЯ НА ПАМЯТЬ
- Для связи ЭВМ с внешним миром используются преобразователи кодов: шифраторы, дешифратоы, семисегментные преобразователи.
- Передача адреса/данных по одной шине осуществляется с помощью коммутаторов каналов (мультиплексоров).
- Одноразрядный сумматор является основой арифметического сложения многоразрядных чисел.
- Операция изменения кода числа называется его преобразованием. Интегральные микросхемы, выполняющие эти операции, называются преобразователями кодов.
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1. Укажите связь между входами/выходами шифратора, дешифратора, мультиплексора.
2. Какой шифратор называется приоритетным?
3. Какой двоичный код на инверсных выходах шифратора соответствует сигналу, поданному на его 10 вход?
4. На каком выходе дешифратора появится сигнал, если на его входы подан двоичный код 1101?
5. Где используется семисегментный преобразователь кода?
8. Укажите связь между входами и выходами у 3-х разрядного шифратора, 3-х разрядного дешифратора, 3-х канального мультиплексора, 3-х разрядного сумматора.