АЛП забезпечує виконання арифметико-логічних операцій над 16-розрядними даними. До складу АЛП входять:
· шістнадцять 16-розрядних регістрів загального призначення (РЗП) R0, R1, …, R15;
· 16-розрядний регістр Q (РгQ).
|
Рис. 4. Структура блока обробки даних
Крім полів A, B мікрокоманди для адресації регістрів R0, R1, …, R15 використовують 4-розрядні коди, записані в RA, RB (рис. 4).
Управління мікроопераціями здійснюють за допомогою 9-розрядного поля АЛП_МІ, молодша тріада якого задає операнди, які беруть участь у мікрооперації в даному такті, середня – виконувану мікрооперацію, а старша – приймач результату (рис. 6).
|
|
До складу АЛП входить операційний автомат (ОА), який забезпечує виконання арифметичних та логічних операцій (рис. 7). На вхід R ОА може надходити слово з одного з регістрів R0, R1, …, R15, який адресується шиною A; 16-розрядна нульова константа; слово з входу D, який з‘єднано з локальною шиною (табл. 1). На вхід S ОА може надходити слово з одного з РЗП, адресованого шиною A або B; слово з регістра Q; 16-розрядна нульова константа.
Наприклад, якщо у поточному машинному такті розряди 2,1,0 мікроінструкції для АЛП дорівнюють 101, то на вхід R ОА надходить слово з входу D, а на вхід S – слово з РЗП, адреса якого встановлена на шині A АЛП. У мнемонічній формі це записують як val, Rx, де val (скорочення від value) - значення, що в даному машинному циклі перебуває на локальній шині (bus_d), або константа, що знаходиться в полі D мікрокоманди. Під час запису операндів у вигляді мнемонічних позначень на місці val записують безпосередню константу або мнемоніку BUS_D (bus_d).
Розряди 5,4,3 мікроінструкції АЛП_МІ задають мікрооперацію, виконувану у поточному такті (табл. 2). Наприклад, якщо ці розряди містять 010, то в ОА виконуватиметься мікрооперація віднімання: R-S-1+CI, де R(S) позначає 16-розрядне слово, яке надходить на вхід R(S) ОА, а CI –вхідний перенос, який надходить від СУСЗ. Зрозуміло, що замість R та S буде підставлено одну з 8 пар операндів з табл. 1 (залежно від значення розрядів 2,1,0 мікроінструкції).
Розряди 8,7,6 мікроінструкції АЛП_МІ показують куди записати результат поточної мікрооперації (табл. 3). Приймачем результату з виходу F ОА може бути один з РЗП або регістр Q. При цьому під час запису результату в РЗП або регістр Q можливий зсув інформації вліво (2F) або вправо (F/2) на один розряд. Крім того, одночасно результат можна видавати на вихідну шину даних Y (крім одного випадку, коли на шину Y надходить слово з регістра РЗП, адресованого шиною A), з‘єднану з ЛШ. Видачу результату на шину Y дозволено, якщо поле OEY мікрокоманди містить 0, і заборонено, якщо OEY=1.
|
|
Слід зазначити, що серед регістрів загального призначення приймачем інформації може бути тільки регістр, який адресується кодом, встановленим на шині B (полем B мікрокоманди), а під час запису результату зі зсувом вліво (вправо) регістр, адресований шиною B, та регістр Q можуть утворювати регістрову пару.
Рис. 5. Операційна частина процесора
розряди поля
АЛП_МІ:
Рис. 6. Структура поля АЛП_МІ мікрокоманди
{A, D, 0} {A, B, Q, 0}
Рис. 7. Операційний автомат АЛП
Таблиця 1