Арифметико-логические устройства (АЛУ)

Назначение АЛУ. Арифметико-логические устройства предназначены для выполнения арифметических и логических операций над "-разрядными операндами А = An х...АхА0иВ = Вп j... BxB0. Вид выполняемой операции задается сигналом M (Mode – режим). Например, 4-разрядные АЛУ (п = 4) выполняют 16 арифметических (М = 0) и 16 логических (M= 1) операций. Выбор одной из арифметических или логических операций осуществляется с помощью 4-разрядного кода E3E2EiE0. Логические операции над операндами выполняются поразрядно

где знак "*" – любая двуместная операция алгебры логики (ИЛИ, И, ИЛИ-HE, И-НЕ, исключающее ИЛИ и др.).

Помимо операндов на вход АЛУ подается сигнал переноса C0. Результат выполнения операции снимается с выходов в виде функций Fj (г = 0,1,2,3) для отдельных разрядов. При выполнении арифметических операций АЛУ представляет собой 4-разрядный сумматор с параллельным переносом. Поэтому в АЛУ, как и в сумматоре, имеются выходы переноса C4, G и Р, используемые для последовательного или параллельного каскадирования 4-разрядных секций. Рассмотрим функции и принципы построения 4-разрядных АЛУ.

Функции АЛУ

Основой для построения АЛУ служат двоичные сумматоры, для которых выражение (4.20) суммы г'-го разряда имеет вид

(4.20)

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

Таблица 4.17

Код

Fi

M = 0

M= 1

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

  • • путем замены в (4.20) Ci на Ci v M создадим условия для блокировки переноса (при M = 1 перенос блокируется);
  • • вместо разрядов Ai и Bi операндов A и В в (4.20) будем использовать функции

(4.21)

Принимая в (4.20) Sj = Fj, получаем следующее выражение для описания функций АЛУ:

(4.22)

При M = 0 выражение (4.22) позволяет определить 16 арифметических операций, а при M = 1 – 16 логических операций, выполняемых АЛУ. Вид выполняемой арифметической и логической операции определяется 4-разрядным кодом E3E2EjE0.

В табл. 4.17 приведены преобразования исходных выражений (4.22) и конечные выражения (графы М = 0иМ=1) для операций Fj, выполняемых АЛУ над отдельными разрядами Aj и Bj операндов. Для преобразований использовались следующие формулы:

Для перехода к операциям над операндами следует в полученных выражениях заменить Aj на A, Bj на В, Cj на СО = OOOC0, 0 на 0000, 1 на 1111, а для арифметических операций (М = 0) дополнительно – символ ® на знак "+" арифметического сложения.

Таблица 4.18

k

Арифметические операции M= 0

Логические операции M = 1

0

0

0

0

0

1

0

0

0

1

2

0

0

1

0

3

0

0

1

1

4

0

1

0

0

5

0

1

0

1

6

0

1

1

0

7

0

1

1

1

8

1

0

0

0

9

1

0

0

1

10

1

0

1

0

11

1

0

1

1

12

1

1

0

0

13

1

1

0

1

14

1

1

1

0

15

1

1

1

1

Операции, выполняемые АЛУ над входными операндами, приведены в табл. 4.18. При описании операций использовались следующие обозначения:

  • А, В – входные 4-разрядные операнды;
  • • 0 = 0000, 1 = 1111 4-разрядные операнды со значениями каждого разряда, равными 0 и 1 соответственно;
  • • СО = 000 С0 – 4-разрядный операнд, самый младший разряд которого задействован для входного сигнала переноса;
  • • знак "+" для операции арифметического сложения операндов;
  • • символы v, &, ® для операций логического сложения, умножения и исключающего ИЛИ операндов;
  • А, В – поразрядное инвертирование операндов А, В.

Сопоставление табл. 4.18 с табл. 3.2 свидетельствует о том, что АЛУ выполняет все 16 возможных логических операций над двумя переменными, т.е. АЛУ является универсальным устройством с точки зрения выполнения логических операций.

Отметим некоторые особенности арифметических операций. Для расширения функциональных способностей АЛУ:

  • • предусмотрена возможность реализации арифметических операций со значениями входного сигнала переноса С0 = 0 и С0 = 1, при С0= 1 на входе АЛУ появляется дополнительный операнд 0001;
  • • большинство арифметических операций совмещено с предварительно выполненными логическими операциями. C этой точки зрения весьма полезной является операция А + + В + СО (г = 6), которая при СО = 0001 позволяет получить разность операндов A-Bc представлением результата в дополнительном коде. При А = 0000 и СО = 0001 с помощью этой операции формируется дополнительный код операнда В. Для представления операнда в дополнительном коде можно использовать и другие операции, например (A v В) + СО 0 = 2);
  • • имеется операция сложения двух одинаковых операндов А + А + СО 0 = 12). При выполнении этой операции производится сдвиг операнда А на один разряд влево (в сторону старших разрядов) с записью в младший разряд значения сигнала входного переноса C0. Указанный сдвиг обусловлен увеличением числа А в два раза, что равносильно операции умножения на 2, а следовательно, для двоичных чисел – сдвигу влево на один разряд;
  • • имеется операция А + СО (г = 0), которая при СО = 0001 аналогична операции инкрементации (увеличению на +1), выполняемой счетчиками.
 
< Пред   СОДЕРЖАНИЕ     След >