Метод за генериране на адреса на следващия MK
По този начин оперативните и контролните микрокоманди трябва да се различават по някои характеристики (фиг. 2.10, b и c). Признак а определя вида на МК (например а = 1 – операционна).
- операционна МЦ - след вземане на проба МЦ МА := МА + 1;
- контролен МК - след избора се проверява условието, посочено в МК. Ако условието е изпълнено, тогава SchA := ASMK, а ако условието не е изпълнено, тогава SchA := SchA + 1.
![]() |
MK кодиране
Изборът на метод за кодиране на микроинструкции е доста сложна задача и зависи от структурата на процесора и неговото предназначение, набор от инструкции, скорост и др. Нека разгледаме само основните начини за кодиране на микроинструкции.
1.Хоризонтално кодиране(фиг. 2.11, а). Това е най-простият вариант на кодиране на микроинструкции, при който всяка цифра от кодовото поле на микрооперацията еднозначно определя управляващия сигнал за изпълнение на микрооперацията.
Предимството на този метод е, че позволява работата на няколко устройства, т.е. паралелно изпълнение на редица МО, което повишава производителността.
Недостатъкът на този метод е, че при голям набор от MO (от няколко десетки до няколко стотици) капацитетът на MC и следователно капацитетът на PMC се увеличава.
2.Вертикално кодиране(фиг. 2.11, b). Това е различен подход към MC кодирането, за да се намали максимално битовата дълбочина на CMO полето. В този случай е необходим МО декодер, който увеличава времезакъсненията, а оттам и времето за изпълнение на МО.

Ориз. 2.11. MK кодиране: a – хоризонтално, b – вертикално, c – смесено, d – индиректно
В допълнение към увеличаването на времето за МО, недостатъците включват невъзможността за паралелно изпълнение на МО.
3.Смесено кодиране(фиг. 2.11, c). Това кодиране елиминира основните недостатъци, присъщи на хоризонталното и вертикалното кодиране.
При такова кодиране в отделни полета на кода на МО се комбинират взаимно изключващи се набори от МО, за да се осигури паралелно изпълнение на МО от различни полета. Този метод на кодиране се използва широко в микропрограмните CU.
Методи 1), 2), 3) са методи за директно кодиране. Тук всяко KMO поле формира определен набор от управляващи сигнали, които винаги се интерпретират по един и същи начин.
4.Непряко кодиране(Фигура 2.11, d). Този метод на кодиране ви позволява допълнително да намалите битовата дълбочина на MK. Тук едно и също поле може да се използва за формиране на СС за различни блокове, докато неговите функции се определят от друго поле.
На фиг. 2.11 KMO1 кодира една от четирите групи MO, полето KMO2 дефинира операцията, изпълнена в тази група.
00 - микрооперации в ALU;
01 - МО в паметта и регистрите на контролерите на периферните устройства;
10 - МО безусловни и условни преходи;
11 - константи за зареждане на регистри и броячи.
KMO2 ви позволява да изпълнявате 64 MO във всяка от посочените групи оборудване.
Недостатъкът на този метод на кодиране е увеличаването на количеството оборудване и следователно допълнителни забавяния при изпълнението на МО.
Всички методи за кодиране, обсъдени по-горе, са на едно ниво. В момента се използва и кодиране на две нива (микрокоманди и нанокоманди).
MC Синхронизация
От тази гледна точка МС се делят на еднофазни и многофазни. В този случай в MK може да бъде включен допълнителен бит, който определя вида на синхронизацията.
Предимството наеднофазенMK (фиг. 2.12,а) е простотата на техническото изпълнение.
МногофазенMC (фиг. 2.12, b) - позволява минимизиране на броя на MC в паметта, опростяване на изпълнението на сложни MC и комуникацията между приемника и източника на информация. Недостатък е голямото количество оборудване за формиране на полифазни тактови сигнали.

Ориз. 2.12. MK синхронизация: a - еднофазна, b - многофазна
Времето за изпълнение на някои MO може да бъде значително по-малко от работния цикъл на процесора (времето за изпълнение на един MC), което позволява с хоризонтално кодиране в един цикъл да се изпълняват не само съвместими, но и редица несъвместими MO. За целта работният цикъл на процесора е разделен на подцикли (фази), във всяка от които се извършват едно или повече елементарни действия (МО) за реализиране на МК.
Въпроси за самопроверка
1. Опишете обобщената структура на процесора.
2. Как е реализиран принципът на академик Глушков в структурата на процесора?
3. Защо устройствата за цифрова обработка на информация имат многостепенна структура?
4. Какви операции се извършват в ALU? Как се подразделят ALU в зависимост от изпълнението на тези операции?
5. Каква е разликата между ALU от блоков тип и мултифункционалните ALU?
6. Опишете структурата на ALU на най-простия микропроцесор.
7. Опишете общите принципи на изграждане на CU.
8. Посочете основните разлики между CU на твърда логика и CU с логика, съхранена в паметта.
9. Избройте предимствата на CU с твърда логика.
10. Какъв е основният недостатък на CU с твърда логика?
11. Какво решение беше намерено за премахване на основния недостатък на CU с твърда логика?
12. За какво е PLA?
13. Какво е FPGA?
14. Опишете структурата на CU с логиката, съхранена в паметта.
15.Избройте вариантите за взаимно подреждане на циклите на извадка-изпълнение на МК.
17. Какви са форматите на микроинструкциите?
19. Назовете начините за кодиране на МК. Дайте схемата за кодиране на MK за всеки метод.
20. Опишете предимствата и недостатъците на всеки метод за кодиране на микроинструкции.
21. Как се разделят MK по отношение на синхронизацията?
Тестови въпроси за глава 2
1. В бланките за отговори трябва да се посочи номерът на групата, фамилията на ученика и номерът на неговия вариант.
2. Номерата на въпросите се избират от ученика в съответствие с последните му две цифри в учебната книга. В таблица 2.1 an-1 е предпоследната цифра на числото, an е последната цифра. В клетките на таблицата има номера на въпроси, на които е необходимо да се даде писмен отговор.
Номера на въпроситеТаблица 2.1