logo
AOM / Мельник А

8.3.3. Горизонтальне та вертикальне мікропрограмування

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

За способом формування керуючих сигналів розрізняють горизонтальне і верти­кальне мікропрограмування.

При використанні горизонтального мікропрограмування кожний розряд поля коду мікрооперації мікрокоманди формує один керуючий сигнал (мікронаказ) для відповід­ного входу керування функціонального вузла комп'ютера (рис. 8.20). Кількість розрядів мікрокоманди визначається з виразу М = n+k+m, де n - розрядність адреси мікрокоман­ди, яка рівна n = log2N, де N - кількість мікрокоманд в пам'яті, k - кількість мікронака­зів, необхідних для керування вузлами пристрою керування, m - кількість мікронаказів, необхідних для керування вузлами комп'ютера. В цьому випадку відпадає потреба в де­шифраторі мікрокоманд.

302

Оскільки у комп'ютерах кількість мікронаказів може досягати декількох сотень, мі-крокоманда в цьому випадку стає дуже широкою.

Кількість керуючих бітів мікрокоманди зменшують використовуючи наступні спо­соби:

■ Групуванням бітів. В групи об'єднуються такі мікронакази, які завжди викону­ ються одночасно. При цьому для групи виділяється лише один біт.

■ Групування форматів. В групи об'єднуються такі мікронакази, з яких в даному так­ ті виконується тільки один. Ці мікронакази кодуються в полі, де кількість бітів k = log2L, де L - кількість мікронаказів.

■ Групування мікронаказів. Групі мікронаказів виділяється один біт мікрокоманди та використовується багатотактова синхронізація.

При використанні вертикального мікропрограмування мікрокоманда складається з полів коду мікрооперації, коду умов переходу і адреси наступної мікрокоманди, як це було розглянуто раніше (рис. 8.17). Тобто формат мікрокоманди подібний до форма­ту команди комп'ютера. Цей метод дозволяє більш ефективно використовувати поля мікрокоманди, тобто команда є коротшою, а об'єм пам'яті меншим, порівняно з гори­зонтальним мікропрограмуванням. Разом з тим, горизонтальне мікропрограмування є швидшим, оскільки не вимагає використання дешифраторів.