Згідно з алгоритмом додавання і віднімання прямих кодів канонічна структура операційного пристрою повинна містити (рис.1.18, 1.19) :
- регістри РМА і РМВ для приймання з шини даних (ШД) модулів першого (А) та другого (В ) операндів за керуючими сигналами К1 і К2 центрального пристрою керування;
- PNA, PNB – регістри для приймання з ШД знакових розрядів операндів А і В;
- КА – модуль місцевого керуючого автомата арифметичного пристрою;
- РD, РПП, РZ, РEND - допоміжні регістри для приймання і зберігання відповідно коду дії, коду переповнення (ПП), позначки нульового результату (Z) і сигнала готовності арифметичного пристрою (ЕND) (рис.1.18);
- SM, SUB AB, SUB BA – суматор модулів чисел ( МА і МВ ) і віднімачі для визначення різниці модулів відповідно (МА - МВ) і (МВ – МА);
- ППSM, ω – відповідно ознака переповнення суматора (SM) і ознака відношення модулів чисел МА і МВ;
- комбінаційні функціональні вузли для обчислення логічних умов , , і знакового розряду результату NP;
- MUX - мультиплексор для формування модуля результату МР згідно з формулами (1.35) – (1.37);
- PNP, PP – відповідно регістри знака і модуля результату машинної операції, які сумісно утворюють прямий код результату.
Рисунок 1.18,а – Модуль 1 канонічного операційного пристою на основі
суматора і віднімачів для додавання і віднімання чисел у прямих кодах:
ШК –шина керування центрального пристрою керування комп’ютера;
ШД – зовнішня шина даних арифметичного пристрою (АП);
ШДАП – внутрішня шина даних АП; СС – сигнали синхронізації регістрів.
Рисунок 1.18,б – Модуль 2 канонічного операційного пристрою на основі
суматора і віднімачів для додавання і віднімання чисел у прямих кодах:
КААП – керуючий актомат операційного блока арифметичного пристрою;
ШКАП – шина керування місцевого КААП;
С1, С2, …, Ск – сигнали керування КААП;
ADD, SUB – виводи КААП для запуску відповідно операції додавання
(ADD) і віднімання (SUB) в операційному блоці;
СС – синхросигнал КААП
Операція додавання (за кодом команди АDD) або віднімання (за кодом команди SUB) в операційному блоці (ОБ) виконується у такій послідовності.
За інформацією, яка міститься у коді поточної машинної команди, центральний пристрій керування комп’ютера послідовно зчитує з пам’яті операнди і почергово через ШД пересилає їх у вхідні регістри операційного блока за допомогою керуючих сигналів К1– К2. Після закінчення введення початкових операндів в операційний блок за відповідним керуючим сигна-лом (К3 або К4) центральний пристрій керування виконує запуск місцевого керуючого автомату (КА) операційного блока, який забезпечує формування необхідних мікрооперацій у вузлах операційного блока (рис.1.18).Для цього на відповідні виводи функціональних вузлів пересилаються керуючі сигнали С1, С2 та інш. (рис.1.18). Після закінчення запису у відповідні регістри результату і прапорів керуючий автомат блока виробляє сигнал кінця (END) операції (ЕОБ :=1). За наявністю сигнала готовності даних ЕОБ центральний пристрій керування комп’ютера повертається до обслуговування операційно-го блока і виконує виведення результату операції, тобто регістра результату (РР), на системну шину даних ( ШД) за керуючим сигналом КS (тривалістю в машинний такт) і запис результату у пам'ять комп’ютера.
Рисунок 1.18,в – Модуль 3 канонічного операційного пристрою на основі
суматора і віднімачів для додавання і віднімання чисел у прямих кодах
Можливий змістовний граф мікропрограми модуля керуючого автомату канонічного операційного пристрою (рис.1.18) для виконання операції додавання і віднімання чисел у прямих кодах подано на рис.1.20.
Основними напрямками вдосконалення канонічного операційного пристрою (рис.1.18) є використання в схемі одного віднімача комбінованої дії та спрощення схем комбінаційних функціональних вузлів. Можлива схема спрощеного операційного пристрою із меншими апаратними витратами подана на рис.1.21. У цій схемі модуль різниці |МA–МВ| операндів обчислюється одним віднімачем, на додатний і від’ємний входи якого можуть подаватися модулі як першого (А) так і другого (В) числа. Можлива мікропрограма такого мінімального (спрощеного) операційного блока при додаванні і відніманні чисел у прямих кодах подана на рис.1.22. Слід зазначити, що мікропрограма спрощеного операційного блока значно склад-ніша мікропрограми базової канонічної схеми (рис.1.20). Отже, зменшення апаратних витрат в операційному блоці не завжди сприяє підвищенню якості повного пристрою.
Рисунок 1.18,г – Модуль 4 канонічного операційного пристрою на основі
суматора і віднімачів для додавання і віднімання чисел у прямих кодах
Рисунок 1.18,д – Модуль 5 канонічного операційного пристрою на основі суматора і віднімачів для додавання і віднімання чисел у прямих кодах
Рисунок 1.18,е – Модуль 6 канонічного операційного пристою на основі суматора і віднімачів для додавання і віднімання чисел у прямих кодах:
Z – ознака нульового результату
Рисунок 1.18,ж – Модуль 7 канонічного операційного пристрою на
основі суматора і віднімачів для додавання і віднімання чисел у
прямих кодах
Рисунок 1.19 – Узагальнена структурна схема канонічного операційного
блока (ОБ) для додавання і віднімання чисел у прямих кодах (рис.1.18)
Рисунок 1.20 – Змістовний граф мікропрограми канонічного
арифметичного пристрою (рис.1.18) для додавання і віднімання
чисел у прямих кодах
Рисунок 1.21,а – Модуль 1 спрощеного операційного пристрою на
основі суматора і одного віднімача для додавання і віднімання
чисел у прямих кодах
Рисунок 1.21,б – Модуль 2 спрощеного операційного пристрою на
основі суматора і одного віднімача для додавання і віднімання
чисел у прямих кодах
Рисунок 1.21,в – Модуль 3 спрощеного операційного пристрою на основі суматора і одного віднімача для додавання і віднімання чисел у прямих кодах
Рисунок 1.21,г – Модуль 4 спрощеного операційного пристрою на основі суматора і одного віднімача для додавання і віднімання чисел у прямих кодах
Рисунок 1.21,д – Модуль 5 спрощеного операційного пристрою
на основі суматора і одного віднімача для додавання і віднімання
чисел у прямих кодах
Рисунок 1.21,е – Модуль 6 спрощеного операційного пристою
на основі суматора і одного віднімача для додавання і віднімання
чисел у прямих кодах
Рисунок 1.22,а – Блок 1 мікропрограми спрощеного операційного
пристрою (рис.1.21) для додавання і віднімання чисел у прямих кодах
Рисунок 1.22,б – Блок 2 мікропрограми спрощеного операційного
пристрою (рис.1.21) для додавання і віднімання чисел у прямих кодах
Рисунок 1.22,в – Блок 3 мікропрограми спрощеного операційного
пристрою (рис.1.21) для додавання і віднімання чисел у прямих кодах
1.2.3 Алгоритми та структура арифметичних пристроїв