мікропрограмування процесора
Всі дії мікропроцесора і сигнали на його висновках визначаються послідовністю мікрокоманд, що подаються на керуючі входи блоку обробки. Ця послідовність мікрокоманд називається мікропрограмою.
При вивченні принципів роботи ОЗУ і ПЗУ наводилися тимчасові діаграми, які необхідно сформувати, для того, щоб записати або прочитати необхідну інформацію. Виберемо одну з цих діаграм:
Малюнок 1. Тимчасові діаграми зчитування команди мікропроцесором
Будь-яку тимчасову діаграму формує мікропроцесор. Пристрій мікросхеми, на прикладі якої ми будемо формувати необхідні для роботи сигнали розглядалося під час обговорення блоку обробки мікропроцесора. За принциповою схемою блоку обробки сигналу можна визначити формат мікрокоманд, що управляє цим блоком.
Робота будь-якого цифрового пристрою починається з заздалегідь заданих початкових умов. Ці початкові умови формуються спеціальним сигналом RESET (скидання), який формується після подачі живлення на схему. Домовимося, що сигнал скидання мікропроцесора буде записувати в регістр програмного лічильника PC нульове значення. (Ця умова справедливо не для всіх процесорів. Наприклад, IBM сумісні процесори при скиданні мікросхеми записують в програмний лічильник значення F0000h.)
Виконання будь-якої команди починається з її зчитування з системної пам'яті (ОЗУ або ПЗУ). Необхідні для цього мікрокоманд подаються на входи управління БОС з блоку мікропрограмного управління БМУ, як тільки знімається сигнал скидання з лічильника мікрокоманд БМУ. При зчитуванні однобайтном команди досить вважати з системної пам'яті тільки код операції і виконати цю операцію. Тимчасова діаграма цього процесу приведена на малюнку 2. Послідовність операцій, які необхідно виконати мікропрограмі, показана стрілками. Для зчитування наступної команди мікропрограма запускається заново.
Малюнок 2. Тимчасові діаграми сигналів зчитування команд з ОЗУ
Поля мікрокоманд БОС
Після зчитування команди її потрібно розкодувати. Це можна виконати мікропрограмним способом перевіряючи кожен біт регістра команд і здійснюючи розгалуження по результату перевірки або включити до складу блоку мікропрограмного управління апаратний дешифратор команд, який зможе здійснити розгалуження прошивки на 256 гілок за один такт синхронізації мікропроцесора. Виберемо саме цей шлях. Восьмим тактом мікропрограма направляється на одну з 256 гілок, що відповідає за виконання ліченої інструкції. Наприклад, якщо була зчитана команда MOV A, R0, то наступна мікрокоманда буде виглядати наступним чином:
Поля мікрокоманд БОС
І так як в цьому випадку команда повністю виконана, то лічильник мікрокоманд скидається для виконання наступної команди.
Поля мікрокоманд БОС
Поля мікрокоманд БОС
Малюнок 3. Тимчасова діаграма виконання команди JMP +1234.
Разом зі статтею "Блок мікропрограмного управління мікропроцесора" Новомосковскют:
Пошук по сайту сервісом Яндекс
Пошук по сайту сервісом Гугл