Цифровые устройства и микропроцессоры: Учебное пособие, страница 37

В многофункциональных  АЛУ все операции выполняются одними и теми схемами, которые коммутируются в зависимости от требуемой операции.       Поэтому, возрастает степень использования оборудования, но быстродействие ниже, чем в блочных  АЛУ.

       По своим функциям АЛУ является операционным блоком и широко используется для построения арифметических узлов, в частности, АЛУ входит в состав любого микропроцессора. Структурная схема многофункционального АЛУ приведена на рисунке 5.35.

                                 

Рисунок 5.35 – Структурная схема многофункционального АЛУ

В схеме используются четырёхвходовые коммутаторы, для управления каждым из которых достаточно двух бит. То есть для управления всей схемы в целом достаточно четырёх проводов (линий) управления. Попытаемся построить таблицу операций, которые будет выполнять эта схема. На результат операции будет влиять вход переноса сумматора PI, поэтому этот провод тоже включим в состав кода, управляющего схемой. Операции, которые выполняются арифметической схемой в зависимости от поданного на управляющие линии кода, приведены в таблице 5.1.

Таблица 5.1- Список команд арифметического устройства

Номер строки

Управляющий код

Выполняемая операция

K0

K1

K2

K3

PI

0

0

0

0

0

0

S = A + B

1

0

0

0

0

1

S = A + B + 1

2

0

0

0

1

0

S = B – A – 1

3

0

0

0

1

1

S = B –A

4

0

0

1

0

0

S = B – 1

5

0

0

1

0

1

S = B

6

0

0

1

1

0

S = B

7

0

0

1

1

1

S = B + 1

8

0

1

0

0

0

S = A – B – 1

9

0

1

0

0

1

S = A – B

10

0

1

0

1

0

S = – A – B – 2

11

0

1

0

1

1

S = – B – A – 1

12

0

1

1

0

0

S = – B – 2

13

0

1

1

0

1

S = – B – 1

14

0

1

1

1

0

S = – B – 1

15

0

1

1

1

1

S = – B

16

1

0

0

0

0

S = A – 1

17

1

0

0

0

1

S = A

18

1

0

0

1

0

S = – A – 2

19

1

0

0

1

1

S = – A – 1

20

1

0

1

0

0

S = – 2

21

1

0

1

0

1

S = – 1

22

1

0

1

1

0

S = – 1

23

1

0

1

1

1

S = 0

24

1

1

0

0

0

S = A

25

1

1

0

0

1

S = A + 1

26

1

1

0

1

0

S = – A – 1

27

1

1

0

1

1

S = – A

28

1

1

1

0

0

S = – 1

29

1

1

1

0

1

S = 0

30

1

1

1

1

0

S = 0

31

1

1

1

1

1

S = +1