Основы цифровой техники
Арифметико-логические устройства
Арифметико-логическое устройство (АЛУ) - это многофункциональное устройство, которое выполняет над входными числами различные арифметические и логические операции. Схемотехнически АЛУ представляется вот так:
АЛУ имеет входы чисел А0-А3 и В0-В3, входы управления S0-S3, М, вход переноса С0, выход результата F0-F3, выход переноса С4, выход равенства кодов К, выходы Р и G для схемы быстрого переноса. Работа АЛУ поясняется таблицей функционирования, изображенной ниже.
Вход М определяет вид выполняемых операций (при М=1 над А и В выполняется 16 лог. операций, при М=0 выполняются арифметические операции). Знаком \/ обозначается лог. сложение, арифметическое сложение обозначается плюсиком (+), умножение (только логическое) - знаком "х", А1 - число А, сдвинутое на один разряд вправо.
№ операции | Состояние входов S | Состояние входа М | ||||
S3 | S2 | S1 | S0 | M=1 | M=0 (С=0) | |
1 | 0 | 0 | 0 | 0 | А | А\/1 |
2 | 0 | 0 | 0 | 1 | А+B | (А+B)\/1 |
3 | 0 | 0 | 1 | 0 | А+B | (А+B)\/1 |
4 | 0 | 0 | 1 | 1 | 0 | 0 |
5 | 0 | 1 | 0 | 0 | А+B | (А\/A)x(B\/1) |
6 | 0 | 1 | 0 | 1 | B | (А+B)\/A(B\/1) |
7 | 0 | 1 | 1 | 0 | АxB\/AxB | A-B |
8 | 0 | 1 | 1 | 1 | AxB | AxB |
9 | 1 | 0 | 0 | 0 | A+B | A\/AxB\/1 |
10 | 1 | 0 | 0 | 1 | AxB+AxB | A\/B\/1 |
11 | 1 | 0 | 1 | 0 | B | (A+B)\/AxB\/1 |
12 | 1 | 0 | 1 | 1 | AxB | AxB |
13 | 1 | 1 | 0 | 0 | 1 | A\/A\/1 |
14 | 1 | 1 | 0 | 1 | A+B | (A+B)\/A1\/1 |
15 | 1 | 1 | 1 | 0 | A+B | (A+B)\/A\/1 |
16 | 1 | 1 | 1 | 1 | А | A |
АЛУ может выполнять следующие операции:
- Арифметическое суммирование чисел (при М=0 операция №10).
- Арифметическое вычитание чисел (при М=0 операция №7).
- Сравнение чисел - операция №7 при С0=1. Если А=В, то К=1, если A>B, то С4=0, если A<B, то С4=1.
- Формирование модуля числа А. При М=1 на входы S3-S0 параллельно подается знак числа А равный 1 при положительном числе А. Если А отрицательно - 0. Для S=1 выполняется 16-я операция, S=0 - 1-я. Также для числа В (11-я и 6-я операции соответственно), но нужно иметь знак и его инверсию.
- Мультиплексирование чисел А и В. При М=1 и 16-й операции на выход поступает число А, 11-я операция - число В. 1-я и 6-я операции выполняют мультиплексирование с инверсией.
- Увеличение числа А в 1,5 раза - 13 операция.
Довольно неплохо для какой-то "железки" в пластмассовом корпусе.
Наращивание разрядности АЛУ делается также, как и в сумматорах, т. е. выход переноса С4 АЛУ младших разрядов подключается ко входу переноса С0 АЛУ старших разрядов. Но при большом числе разрядов время выполнения операций увеличивается из-за большого числа переносов из разряда в разряд. Для ускорения этого процесса используются спешиал микросхемы, которые зовут схемами ускоренного переноса (555ИП4, 564ИП4). Одна такая микросхемка обслуживает до 4-х АЛУ. Выходы G и Р АЛУ втыкаем на аналогичные входы G и Р схемы ускоренного переноса, а выходы переноса последней втыкаем на входы переноса АЛУ. Вход переноса АЛУ младшего разряда подключается к входу переноса микросхемы переноса. При этом объединяются входы М всех АЛУ. Получается 16-ти разрядное АЛУ.
Примечание: сайт-источник http://naf-st.ru