Мікропрограмний пристрій керування
Керуюча пам'ять, представлена на мал. 5.2, містить програму, що цілком описує функціонування пристрою керування. Тому єдине, що залишається зробити проектувальнику пристрою, — організувати в ньому зчитування і виконання цієї програми. На мал. 5.3 показані основні вузли пристрою, що реалізує мікропрограмне керування. Послідовність мікрокоманд, що утворить мікропрограму, зберігається в блоці керуючої пам'яті. Регістр адреси керуючої пам'яті (control address register — CAR) містить адреси наступної мікрокоманди. Мікрокоманда, яка зчитана з блоку керуючої пам'яті, міститься в буферний регістр керуючої пам'яті (control buffer register — CBR). Ліва частина цього регістру (див. мал. 5.1,а) приєднана до вихідних ліній керуючих сигналів. Отже, читання мікрокоманди є одночасно і її виконанням. Третій вузол — вузол синхронізації і керування послідовністю виконання мікропрограми — організує завантаження адреси в CAR і формує сигнал читання з блоку керуючої пам'яті. Більш докладна схема мікропрограмного пристрою керування представлена на мал. 5.4. Ця схема приймає вхідні сигнали — вміст IR, прапори АЛП і тактові імпульси і формує відповідні вихідні сигнали. Працює мікропрограмний пристрій керування в такий спосіб: 1. Вузол синхронізації формує сигнал RЕAD (читання), що надходить у блок керуючої пам'яті. 2. Мікрокоманда, адреса якої встановлена у регістрі CAR, зчитується в регістр CBR. 3. На підставі вмісту CBR формуються керуючі сигнали й адреса наступної мікрокоманди. 4. Вузол синхронізації аналізує прапори АЛП і завантажує адресу наступної мікрокоманди в CAR. Усі ці дії виробляються протягом одного такту. Останню операцію розглянемо докладніше. Виконання кожної мікрокоманди завершується установкою в регістрі CAR нового значення адреси в блоці керуючої пам'яті. У залежності від значень прапорів АЛП і коду в CBR вузол синхронізації вибирає один із трьох можливих варіантів. • Витягти мікрокоманду, розміщену по наступній адресі в блоці керуючої пам'яті. Для цього необхідно додати 1 до вмісту CAR. • Перейти на нову мікропрограму. Для цього код з поля адреси регістра CBR завантажується в CAR. • Перейти на мікропрограму виконання визначеної машинної команди. Для цього в CAR завантажується адреса, що відповідає коду операції в регістрі IR процесора. На мал. 5.4 показані два вузли дешифраторів. Верхній дешифратор перетворить код операції з регістра IR на адресу в блоці керуючої пам'яті. Нижній дешифратор використовується тільки в тих пристроях керування, у яких застосовується вертикальне мікропрограмування (див. мал. 5.1,6). Як відзначалося вище, при горизонтальному мікропрограмуванні кожен розряд поля керуючого слова в мікрокоманді відповідає визначеному вихідному сигналу пристрою керування. При вертикальному мікропрограмуванні в мікрокоманді зберігається код, що відповідає виконуваній операції (наприклад, MAR<— (PC)), а дешифратор перетворить цей код в окремі керуючі сигнали. Перевага вертикального формату мікрокоманд — більш компактний код мікропрограми, але за це приходиться платити деяким ускладненням схеми пристрою керування і зниженням швидкодії.
|