8. СУММАТОРЫ
 
8.1. Комбинационные сумматоры
 
Как известно, основная операция, производящаяся в цифровых вычислительных машинах, - сложение. Все другие арифметические операции - вычитание, умножение, деление - сводятся к сложению. Операция сложения двоичных чисел производится с использованием сумматоров и полусумматоров.
Принцип функционирования сумматоров и полусумматоров отражен в таблицах 42 и 43.
INCLUDEPICTURE "http://www.tstu.ru/exclusiv/crems/russian/int_mic/images/t42-43.gif" \* MERGEFORMATINET
ПФ в СДНФ, составленные согласно таблице 42 , примут вид
INCLUDEPICTURE "http://www.tstu.ru/exclusiv/crems/russian/int_mic/images/f12.gif" \* MERGEFORMATINET
Как видно из выражения для si , сумма двух чисел будет равна 1, если равны 1 или ai , или bi , или pi , а также все цифры. Перенос происходит, когда две цифры из ai , bi , или pi равны единице или равны единице все цифры.
Условные графические обозначения сумматоров приведены на рис.251-257 , а также их основные данные - в таблице 44.
INCLUDEPICTURE "http://www.tstu.ru/exclusiv/crems/russian/int_mic/images/r251-254.gif" \* MERGEFORMATINET
 
INCLUDEPICTURE "http://www.tstu.ru/exclusiv/crems/russian/int_mic/images/r255-257.gif" \* MERGEFORMATINET
Таблица 44
INCLUDEPICTURE "http://www.tstu.ru/exclusiv/crems/russian/int_mic/images/t44.gif" \* MERGEFORMATINET
 
ИС типа ИМ5 включает два одноразрядных сумматора.
ИС типа ИМ1 включает один одноразрядный сумматор со сложной входной логикой. Структура сумматора отражена на рис.258.
Такая входная логика расширяет возможности сумматора (рис.259). Если требуется подать на вход внутреннего сумматора DD3 просто цифры a и b, то требуется выполнить условие A1 = A2 = a, B1 = B2 = b, B3 = B4, A3 = A4. В этом случае цифра a инвертируется DD1, проходит через вывод 10 на второй вход DD2 и второй раз инвертируется.
INCLUDEPICTURE "http://www.tstu.ru/exclusiv/crems/russian/int_mic/images/r258.gif" \* MERGEFORMATINET
Рис.258
 
 
Сумматор, включенный по схеме (рис. 259), работает согласно ПФ:
INCLUDEPICTURE "http://www.tstu.ru/exclusiv/crems/russian/int_mic/images/f13.gif" \* MERGEFORMATINET
сумматора требуется сигнал с выхода переноса первого сумматора подать на вход переноса второго через инвертор. Включение инвертора можно исключить, если реализовать второй сумматор по другой переключательной функции.
INCLUDEPICTURE "http://www.tstu.ru/exclusiv/crems/russian/int_mic/images/f14.gif" \* MERGEFORMATINET -
INCLUDEPICTURE "http://www.tstu.ru/exclusiv/crems/russian/int_mic/images/f15.gif" \* MERGEFORMATINET
INCLUDEPICTURE "http://www.tstu.ru/exclusiv/crems/russian/int_mic/images/r260.gif" \* MERGEFORMATINET
 
Рис.260. Двухразрядный сумматор на основе ИС типа ИМ1
Согласно (1) и (2), если на вход внутреннего сумматора (рис.258) подать инверсные сигналы a, b и p , то результат суммирования F1 формируется на инверсном выходе S` . Инверсный выход переноса трансформируется в прямой.
Формирование a`i+1 и b`i+1 второго сумматора возможно с помощью входной логики микросхемы. Для этого следует выполнить условия: A1 = A2 = 0 , A4 = ai+1 и B1 = B2 = 0,B4 = bi+1.
Остальные сумматоры, выполненные в интегральном исполнении, имеют прямые входы переноса, поэтому повышение разрядности не требует преобразований входных сигналов, как в ИМ1.
ИМ7 позволяет суммировать.вычитать одновременно четыре пары двоичных чисел, поступающих в последовательном коде на входы A и B. Режим работы - суммирование.вычитание задается установкой на входах V соответствующего логического уровня. При V = 0 реализуется режим суммирования, при V = 1 - режим вычитания. Обновление содержимого внутренних ячеек памяти (триггеров) и выдача на выходы S поразрядных результатов происходит синхронно по положительному фронту тактового импульса на входе С.
Предусмотренная в ИМ7 функция обнуления при R = 0 является операцией асинхронной: очистка памяти ИС происходит независимо от состояния других входов. В режиме вычислений R = 1. Операция вычитания эквивалентна операции сложения, если числа представлены в дополнительном коде.
Дополнительный код положительного числа совпадает с прямым кодом [A]доп = [A]пр.
Дополнительный код отрицательного числа формируется путем инвертирования всех цифр числа, потом к полученному результату прибавляется единица.
INCLUDEPICTURE "http://www.tstu.ru/exclusiv/crems/russian/int_mic/images/f16.gif" \* MERGEFORMATINET
Осуществим операцию вычитания A1 - A2 , где A1 = 25, A2 = 23.
INCLUDEPICTURE "http://www.tstu.ru/exclusiv/crems/russian/int_mic/images/f17.gif" \* MERGEFORMATINET
Результат A1 - A2 = 0.00010(2) = 2(10) .
На рис.261 приведен пример реализации вычитающего устройствана ИС типа ИМ1.
INCLUDEPICTURE "http://www.tstu.ru/exclusiv/crems/russian/int_mic/images/r261.gif" \* MERGEFORMATINET
При реализации операции вычитания на других ИС для инверсии цифр числа B применяются дополнительно ИС типа ЛН (инверторы).Операции сложения и вычитания можно выполнять на основе одного суммирующего устройства (рис.262). В этом случае цифры числа B подаются на входы сумматора через логический элемент "Исключающее ИЛИ". На второй вход ЛЭ подается управляющий сигнал Z. Если Z = 0, то цифры числа И подаются на вход сумматора без изменения. Если Z = 1, то производится инверсия цифр числа B. Одновременно Z воздействует на вход переноса PO сумматора. Эти действия приводят к переводу числа B в дополнительный код. Сумматор выполняет операцию вычитания.
INCLUDEPICTURE "http://www.tstu.ru/exclusiv/crems/russian/int_mic/images/r262.gif" \* MERGEFORMATINET
 
8.2. Накопительный сумматор
Функциональная схема накопительного сумматора показана на рис.263. Перед началом суммирования все регистры памяти устанавливаются в нулевое состояние. Для этого на входы V2 подается сигнал логического нуля, на вход С1 подаются импульсы, что переводит регистр в режим последовательной записи сигналов, подаваемых на вход V1. V1 = 0, поэтому за четыре такта произойдет обнуление регистра. После этого регистры переводятся в режим параллельной записи числа в регистр ( V2 = 1, на вход С2 подаются тактовые импульсы). С каждым тактовым импульсом сигналы с выходов сумматоров записываются в регистрах и подаются для суммирования со следующим числом. Таким образом, в регистрах будет формироваться значение накапливаемой суммы.
 
8.3. Устройство сравнения двух многоразрядных чисел
Сравнение многоразрядных чисел основывается на проверке равенства цифр чисел. Пусть даны два числа a3 a2 a1 a0 и b3 b2 b1 b0 . Сравниваются b3 и a3 , b2 и a2 , b1 и a1 , b0 и a0 , по результатам сравнения делается вывод: если совпали и третьи цифры, и вторые, и первые, и нулевые, то числа одинаковы. Видно, что результаты сравнения должны подаваться на схему И.
INCLUDEPICTURE "http://www.tstu.ru/exclusiv/crems/russian/int_mic/images/r263.gif" \* MERGEFORMATINET
Рис.263. Накопительный сумматор
Таблица истинности поразрядного сравнения имеет вид#
INCLUDEPICTURE "http://www.tstu.ru/exclusiv/crems/russian/int_mic/images/r264.gif" \* MERGEFORMATINET
Переключательная функция в СДНФ:
INCLUDEPICTURE "http://www.tstu.ru/exclusiv/crems/russian/int_mic/images/f18.gif" \* MERGEFORMATINET
Результирующая переключательная функция
INCLUDEPICTURE "http://www.tstu.ru/exclusiv/crems/russian/int_mic/images/f19.gif" \* MERGEFORMATINET
С помощью законов логики алгебры возможно изменить выражение на z:
INCLUDEPICTURE "http://www.tstu.ru/exclusiv/crems/russian/int_mic/images/f20.gif" \* MERGEFORMATINET
Переключательную функцию F позволяют реализовать логические двухвходовые элементы "Исключающее ИЛИ" и "Сложение по модулю "2".
INCLUDEPICTURE "http://www.tstu.ru/exclusiv/crems/russian/int_mic/images/r265-266.gif" \* MERGEFORMATINET
На рис.267 показан вариант схемы сравнения
INCLUDEPICTURE "http://www.tstu.ru/exclusiv/crems/russian/int_mic/images/r267.gif" \* MERGEFORMATINET
Возможно построение более сложной схемы сравнения (рис.269), которая определяет равенство чисел, а также, какое из чисел больше. Числа A и B подаются на вычитающее устройство на основе сумматоров типа ИМ1. Если числа одинаковы, то результат будет равен нулю. Выходы сумматоров подключены к схеме ИЛИ - НЕ, на выходе которой сигнал логической единицы получится, если на нее подаются все нули. Если А > B, то на выходе старшего сумматора обязательно возникает сигнал переноса. Работу устройства можно описать следующей таблицей истинности:
INCLUDEPICTURE "http://www.tstu.ru/exclusiv/crems/russian/int_mic/images/r268.gif" \* MERGEFORMATINET
INCLUDEPICTURE "http://www.tstu.ru/exclusiv/crems/russian/int_mic/images/r269.gif" \* MERGEFORMATINET
DD1 - 133 ЛЕ3, DD2 - 133ЛЕ1, DD3 - 133 ИМ1
Выход F1 уже получен, сформируем выход F2 , зная P и F1 .
INCLUDEPICTURE "http://www.tstu.ru/exclusiv/crems/russian/int_mic/images/f21.gif" \* MERGEFORMATINET
т.е. выход F2 получается при подаче сигналов с выходов F2 и P42 на ЛЭ ИЛИ-НЕ. В этом cлучае информацию о числах A и B несет двоичный код F1F2 : при F1F2 = 10 A = B, при F1F2 = 01 A > B, при F1F2 = 00 A < B.
Если построить третий выход F3 , то информацию о числах A и B можно получить по наличию логической 1 на одном из выходов:
INCLUDEPICTURE "http://www.tstu.ru/exclusiv/crems/russian/int_mic/images/f22.gif" \* MERGEFORMATINET
Примечание. Особенностью построения вычитающего устройства (см.7.1) является изменение значения полученного на выходах переноса и суммы. Для нечетных сумматоров все соответствует обозначению, для четных - результат суммирования получается при инверсном выходе, а выход переноса становится прямым.
Поэтому при построении пятиразрядной схемы сравнения выходы F1 и F2 поменяются местами.
В настоящее время промышленностью выпускаются готовые четырехразрядные схемы сравнения чисел (рис.270,271, таблица 45).
INCLUDEPICTURE "http://www.tstu.ru/exclusiv/crems/russian/int_mic/images/r270-271.gif" \* MERGEFORMATINET
Таблица 45
INCLUDEPICTURE "http://www.tstu.ru/exclusiv/crems/russian/int_mic/images/t45.gif" \* MERGEFORMATINET
 
8.4. Перемножающее устройство на основе сумматора
 
На рис.272 показана схема для перемножения двух двоичных чисел: четырехразрядного A = A4 A3 A2 A1 и трехразрядного B = B3 B2 B1 .
Семиразрядное произведение формируется за счет параллельного умножения множимого на каждый разряд множителя логическими элементами 2И и сложения промежуточных произведений со сдвигом на один разряд - сумматором. При этом выполняются следующие условия:
INCLUDEPICTURE "http://www.tstu.ru/exclusiv/crems/russian/int_mic/images/f23.gif" \* MERGEFORMATINET
M2 = A2B1 + A1B2 , аналогично образуются результаты Mi: путем суммирования частичных произведений, расположенных в одном столбце. Здесь M - бит переноса из предыдущего разряда. Применение ЛЭ "И" для выполнения арифметической операции умножения в данном случае закономерно, поскольку в рамках одного разряда и арифметическое, и логическое умножение подчиняется общим правилам. Цифры в скобках у микросхем относятся к примеру перемножения двух чисел, A = 1101(2) и B = 110(2) . Последовательность действий такова:
INCLUDEPICTURE "http://www.tstu.ru/exclusiv/crems/russian/int_mic/images/f24.gif" \* MERGEFORMATINET
Перемножающее устройство построено секционно. На основе первого сумматора осуществляется умножение числа A на первые два разряда числа B.
INCLUDEPICTURE "http://www.tstu.ru/exclusiv/crems/russian/int_mic/images/f25.gif" \* MERGEFORMATINET
После этого полученный результат суммируется с результатами перемножения числа A на B . Второй сумматор дает конечный результат:
INCLUDEPICTURE "http://www.tstu.ru/exclusiv/crems/russian/int_mic/images/f26.gif" \* MERGEFORMATINET
 
INCLUDEPICTURE "http://www.tstu.ru/exclusiv/crems/russian/int_mic/images/r272.gif" \* MERGEFORMATINET
 
8.5. Умножитель двух чисел на ИМС
Двоичный умножитель 533-,55 ИП8 (8 - оющ., 16 - +5в). Pпотр=200 мВт; tз1/0 = 37 нс; tз0/1 = 42 нс. Назначение выводов ИС: X,Y - входы сомножителей, причем X0,Y0 - входы переноса, L - вход загрузки выхода, F - выход произведения, С4 - выход переноса.
 На выходе умножителя содержатся пять асинхронных DL-триггеров, загрузка которых осуществляется по сигналу на входе L. При L = 1 результат умножения передается на выход и фиксируется при L=0.