logo
AOM / Мельник А

7.1. Функції арифметико-логічного пристрою

Арифметико-логічний пристрій (АЛП) призначений для виконання арифметичних, логічних та інших операцій обробки даних над операндами, які представляють собою двійкові числа з фіксованою та рухомою комою, двійково-десяткові числа, команди, адре­си, логічні коди, алфавітно-цифрові коди. АЛП є одним з основних вузлів процесора. Ін­терфейс АЛП, тобто його зв'язки з іншими вузлами процесора, показано на рис. 7.1.

Вхідні дані поступають в АЛП з регістрового файлу процесора або з основної пам'я­ті (залежно від типу архітектури комп'ютера), до яких записуються і вихідні дані. Код операції поступає з поля коду операції виконуваної команди, яка зберігається в регістрі команди РгК, а сигнали станів АЛП повідомляють пристрій керування про стан ходу виконання операцій та фіксуються в регістрі слова стану програми регістрової пам'яті процесора.

Арифметико-логічний пристрій процесора - це комбінаційна схема (КС) без вну­трішньої пам'яті, яка здатна виконувати набір елементарних операцій та деяку мно­жину складних операцій, які ініціюються командами обробки даних з системи команд комп'ютера. В потужних комп'ютерах, а останнім часом і в багатьох однокристальних комп'ютерах, використовуються багатоблокові АЛП з внутрішньою регістровою пам'ят­тю на основі табличних, однотактових, багатотактових та конвеєрних операційних при­строїв. Тип виконуваної операції вказується кодом на вході керування АЛП. Типово в АЛП виконуються такі операції: зсув - зміщення кодів, які зберігаються в регістрах, вліво або вправо на задане число розрядів; додавання до слова 1 або -1 - операція ра­хунку; дешифрування - перетворення двійкового коду в однорядний код; шифрування

240

- перетворення однорядного коду в двійковий; порівняння - визначення відношення старшинства двох слів або їх рівності; порозрядне доповнення - формування оберне­ного коду; порозрядні логічні множення і додавання двох слів; порозрядне додавання двох слів за модулем; сума двох чисел. В багатьох комп'ютерах цей перелік розширений більш складними операціями, наприклад арифметичними, відношення, обробки рядків символів, обчислення елементарних функцій і т. д.

Залежно від способу обробки операндів АЛП діляться на послідовні, послідовно-паралельні та паралельні. В першому випадку обробка операндів в АЛП здійснюється послідовно в часі над кожним розрядом, тоді як в останньому операції здійснюються паралельно в часі над всіма розрядами операндів.

За способом представлення чисел розділяють АЛП з фіксованою та з рухомою ко­мою, причому перші можуть бути орієнтовані на обробку цілих або дробових чисел.

Залежно від способу виконання операцій АЛП діляться на однотактові, коли задана операція виконується за один такт, та багатотактові, коли для виконання операції по­трібно виконати деяку кількість тактів.

АЛП можуть бути конвеєрними або скалярними. Використання конвеєрного прин­ципу обробки даних дозволяє суттєво підвищити продуктивність АЛП та комп'ютера в цілому.

За характером використання елементів АЛП діляться на одно- та багатоблокові. В одноблокових (багатофункціональних) АЛП всі операції над всіма типами операндів ви­конуються тими ж вузлами, які комутуються відповідним чином залежно від потрібного режиму роботи. В багатоблокових АЛП окремі групи операцій над кожним типом опе­рандів виконуються окремими блоками. Це дозволяє підвищити продуктивність АЛП за рахунок паралельного виконання операцій.