Принципи роботи мікропроцесорів

В даний час намітилося два напрямки розвитку мікропроцесорів:
  • RISC процесори (процесори з сокращЈнним набором команд)
  • CISC процесори (процесори з повним набором команд)

У процесорах з повним набором команд використовується рівень микропрограммирования для того, щоб декодувати і виконати команду мікропроцесора. У цих процесорах формат команди не залежить від апаратури процесора. На одній і тій же апаратурі при зміні прошивки можуть бути реалізовані різні мікропроцесори. З іншого боку зміна апаратури ніяк не впливає на програмне забезпечення мікропроцесора. З точки зору користувача у мікропроцесора тільки збільшується продуктивність, знижується споживання енергії, зменшуються габарити пристроїв. Неявним недоліком таких процесорів є те, що виробники мікросхем намагаються збільшити кількість команд, які може виконувати мікропроцесор, тим самим збільшуючи складність прошивки і сповільнюючи виконання кожної команди в цілому.

У процесорах з сокращЈнним набором команд декодування і виконання команди проводиться аппаратурно, тому кількість команд обмежено мінімальним набором. У цих процесорах команда і мікрокоманда збігаються. Перевагою цього типу процесорів є те, що команда може бути в принципі виконана за один такт (не потрібно виконання прошивки), проте для виконання тих же дій, які виконує команда CISC процесора, слід дотримуватися цілої програми.

У більшості випадків швидкодію RISC процесорів вище ніж CISC процесорів, однак при виборі процесора потрібно враховувати всі параметри в цілому, тому що тактова частота може виявитися значно нижче в порівнянні з CISC процесором (особливо якщо в нЈм застосовуються спеціальні заходи щодо підвищення продуктивності), розрядність команди може виявитися вище ніж у CISC процесора (що найчастіше і буває). В результаті загальний об'Јм виконуваної програми для RISC процесора перевищить об'Јм подібної програми для CISC процесора.

Як приклад розглянемо пристрій процесора з повним набором команд. Тут буде розглядатися упрощЈнная модель процесора для полегшення розуміння роботи. CISC мікропроцесор складається з двох частин:
  • Блок обробки сигналів;
  • Блок мікропрограмного управління.

Блок обробки сигналів мікропроцесора.

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

Блок обробки сигналів призначений для зчитування команд з системної пам'яті і виконання лічених команд. Ці дії він здійснює під управлінням блоку мікропрограмного управління. який формує послідовність мікрокоманд, необхідну для виконання команди. Схема одного з варіантів побудови блоку обробки сигналів наведена на малюнку 1.

Малюнок 1. Блок обробки сигналів.

У цій схемі явно проглядається, що окремі біти мікрокоманд (показаної внизу схеми) керують різними блоками БОС, тому їх можна розглядати незалежно один від одного. Такі групи біт називаються полями мікрокоманд і складають формат цієї мікрокоманд. Крім біт, керуючих блоком обробки сигналів є біти, керуючі блоком мікропрограмного управління. Формат мікрокоманд розглянутого процесора пріведЈн на малюнку 3. Результат виконання мікрокоманд записується по сигналу загальної синхронізації CLK.

Для зберігання і декодування виконуваної команди виділимо восьмизарядний регістр, який назовЈм RI.

Для реалізації більш простої системи команд виберемо акумуляторний процесор. Необхідне відповідне один з регістрів виділити в якості акумулятора ACC.

ЕщЈ один регістр використовується для формування сигналів управління системної шини мікропроцесора. У найпростішому випадку це сигнали запису (WR) і читання (RD). Для формування необхідних сигналів досить записувати в определЈнний біт регістра логічний 0 або 1. Визначимо формат регістра управління. Нехай нульовий біт цього регістра буде сигналом записи, а перший біт цього регістра буде сигналом читання. Решта біти цього регістра поки не важливі. Отриманий формат пріведЈн на малюнку 2.

Малюнок 2. Формат регістра керування (CR).

Блок мікропрограмного управління

Блок мікропрограмного управління призначений для формування послідовності мікрокоманд блоку обробки сигналів. У найпростішому випадку його можна побудувати на лічильнику з можливістю предзапісі і ПЗУ. Схема такого блоку наведена на малюнку 3.

Малюнок 3. Блок мікропрограмного управління.

Малюнок 4. Формат мікрокоманд процесора.