Здесь под определением понятия арифметико-логическое устройство имеется ввиду не блоки (модули) АЛУ ЭВМ, цифровых устройств, состоящие (включающие) из сумматоров, компараторов, ОЗУ, логических элементов и прочее, и, типовые функциональные узлы, ИМС, специальные модули.
Многие серии микросхем имеют в своем составе ИМС арифметико-логических устройств АЛУ (англ. термин – arithmetic logic unit – ALU), выполняющих над словами ряд логических и арифметических действий. Примером АЛУ может служить микросхема К155ИП3 или 564ИП3. Микросхема К155ИПЗ – быстродействующее АЛУ, которое выполняет 16 логических и 16 арифметических операций (рисунок 4.22, а). ,
- информационные входы четырехразрядных чисел A и B, над которыми производятся логические и арифметические операции. Выбор выполняемой операции (одну из 16 арифметических или логических) определяется комбинацией сигналов на входах S0...S3. При М =1 микросхемы выполняют логические операции, а при М=0 арифметические. Микросхема может работать как в положительной (на входы A, B и Cn подаются истинные значения разрядов слов и переноса, а с выходов
,
,
,
снимаются также истинные значения результатов операций, так и в отрицательной логике (на входы A, B и Сn+4 подаются инверсные значения информации, а с выходов
,
,
,
снимаются также инверсные значения результатов операции). Вход Cn. используется, когда производятся операции над числами, разрядность которых больше четырех. В случае ускоренного переноса по группе АЛУ используются выходы
, - образование переноса,
- распространение переноса,
- формирование переноса при объединении нескольких АЛУ с помощью микросхемы ускоренного переноса К155ИП4 (рисунок 4.22, в). Схему АЛУ можно использовать также для перевода чисел из дополнительного (обратного) кода в прямой и наоборот.
Таким образом, АЛУ имеет большую функциональную гибкость.
Рисунок 4.22 – Условное обозначение АЛУ К155ИП3 (а);
соединение АЛУ со сквозным (последовательным) переносом (б)
и с ускоренным (опережающим) переносом (в)
На выходах Fi вырабатывается выходное слово, выход дает выходной перенос, который можно использовать как входной для следующего АЛУ, выходы G и H дают функции генерации и передачи переноса, которые используются для образования переноса в быстродействующих сумматорах (как описано выше в пункте 4.1.3.2). Выход K есть выход компаратора, осуществляющего сравнение на равенство. Выход компаратора выполняется по схеме с открытым коллектором, так что допускает реализацию монтажной логики путем параллельного соединения аналогичных выходов нескольких АЛУ. Выход компаратора формирует функцию
.
При этом АЛУ работает в режиме вычитания A–B (выполняемого как сложение слова A с инвертированным словом ). Если A=B, то во всех разрядах выходного слова будут нули, а все инвертированные значения
- единичные, что обеспечит единичное значение функции
. Во всех других случаях среди величин Fi найдется хотя бы одна единица, т.е. среди функций
хотя бы один нуль, и будет получено
. Параллельное соединение выходов K нескольких АЛУ дает реализацию монтажной логики И, что позволяет проводить сравнение на равенство многоразрядных слов, обрабатываемых несколькими АЛУ.
Рисунок 4.23 – Реализация операций сравнения в схеме из АЛУ
Комбинируя сигнал с сигналом переноса на выходе, можно одновременно с признаком равенства получать и признаки неравенства
и
(рисунок 4.23). Если A<B, то
и при выполнении вычитания возникает перенос из старшего разряда, так что
. Если A>B, то
и перенос отсутствует, следовательно,
. Одновременно с этим, как видно из схемы,
.
Полный перечень операций, выполняемых АЛУ К155ИПЗ, приводится в таблице 4.6.
Логические операции выполняются независимо в каждом разряде. Арифметические операции выполняются с учетом переносов и заемов. Оба типа операций могут встречаться одновременно. Например, запись означает, что вначале поразрядно выполняются операции инвертирования (
), логического сложения
и логического умножения (AB), а затем полученные указанным образом два четырехразрядных числа складываются арифметически (с учетом переносов).
Таблица 4.6 – Перечень операций, выполняемых АЛУ К155ИПЗ
Сигналы выбора функции | Логические
Функции (М=1) |
Арифметико-логические функции при C0=0 (М=0) | |||
S3 | S2 | S1 | S0 | ||
0 | 0 | 0 | 0 | ![]() |
A |
0 | 0 | 0 | 1 | ![]() |
A+B |
0 | 0 | 1 | 0 | ![]() |
![]() |
0 | 0 | 1 | 1 | 0 | -1 |
0 | 1 | 0 | 0 | ![]() |
![]() |
0 | 1 | 0 | 1 | ![]() |
![]() |
0 | 1 | 1 | 0 | ![]() |
A-B-1 |
0 | 1 | 1 | 1 | ![]() |
![]() |
1 | 0 | 0 | 0 | ![]() |
A+AB |
1 | 0 | 0 | 1 | ![]() |
A+B |
1 | 0 | 1 | 0 | B | ![]() |
1 | 0 | 1 | 1 | AB | AB-1 |
1 | 1 | 0 | 0 | 1 | A+A |
1 | 1 | 0 | 1 | ![]() |
![]() |
1 | 1 | 1 | 0 | A+B | ![]() |
1 | 1 | 1 | 1 | A | A-1 |
При обработке слов большой размерности АЛУ соединяются последовательно. В этом случае большое влияние на быстродействие схемы оказывает время распространения переноса, который может проходить от младшего разряда слова по всей разрядной сетке. В схемах АЛУ стремятся обеспечить малое время задержки переноса (в одну-две элементарные задержки), однако при суммировании слов с большой разрядностью время сложения может оказаться неприемлемо большим. В подобных случаях совместно с АЛУ применяют специальную микросхему, называемую блоком ускоренного переноса, в которой перенос вырабатывается с помощью функций генерации и передачи переноса G и H, рассмотренных при описании параллельных сумматоров. Один блок ускоренного переноса образует ускоренные переносы для нескольких АЛУ (часто четырех), и также функции G и H более высокого уровня, позволяющие при необходимости организовать и параллельный перенос на втором уровне. Схемы совместной работы АЛУ при их последовательном включении и применении блоков ускоренного переноса показаны на рисунке 4.22, б, в.
В качестве примечания можно сказать, что кроме выше рассмотренных функциональных узлов комбинационного типа широкое применение в цифровых устройствах ЭВМ находят указатели старшей единицы (разрядов), узлы контроля и прочее, которые рассматриваются в специализированной литературе по проектированию ЭВМ.