АРИФМЕТИКО-ЛОГІЧНІ ПРИСТРОЇ (АЛП)

Призначення АЛУ. Арифметико-логічні пристрої призначені для виконання арифметичних і логічних операцій над "розрядними операндами А = A n х ... А х А 0 верб = В п j ... B x B 0. Вид виконуваної операції задається сигналом M (Mode - режим). Наприклад, 4-розрядні АЛУ (п = 4) виконують 16 арифметичних (М = 0) і 16 логічних (M = 1) операцій. Вибір однієї з арифметичних або логічних операцій здійснюється за допомогою 4-розрядного коду E 3 E 2 E i E0. Логічні операції над операндами виконуються поразрядно

де знак "*" - будь-яка двомісна операція алгебри логіки (АБО, І, АБО-HE, І-НЕ, що виключає АБО та ін.).

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

Функції АЛУ

Основою для побудови АЛУ служать виконавчі суматори, для яких вираз (4.20) суми Г'-го розряду має вигляд

(4.20)

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

Таблиця 4.17

код

F i

M = 0

M = 1

0000

0001

0010

0011

0100

0101

0110

0111

1000

+1001

1010

1011

1100

1 101

1110

1111

  • • шляхом заміни в (4.20) C i на C i v M створимо умови для блокування переносу (при M = 1 перенесення блокується);
  • • замість розрядів A i і B i операндів A і В у (4.20) будемо використовувати функції

(4.21)

Беручи в (4.20) S j = F j, отримуємо такий вираз для опису функцій АЛУ:

(4.22)

При M = 0 вираз (4.22) дозволяє визначити 16 арифметичних операцій, а при M = 1 - 16 логічних операцій, що виконуються АЛП. Вид виконуваної арифметичної і логічної операції визначається 4-розрядних кодом E 3 E 2 E j E 0.

У табл. 4.17 наведені перетворення вихідних виразів (4.22) і кінцеві вирази (графи М = 0іМ = 1) для операцій F j, виконуваних АЛУ над окремими розрядами A j і B j операндів. Для перетворень використовувалися такі формули:

Для переходу до операцій над операндами слід в отриманих виразах замінити A j на A, B j на В, C j на СО = 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), що виконується лічильниками.
 
< Попер   ЗМІСТ   Наст >