РОЗМІТКА ГРАФ-СХЕМИ АЛГОРИТМУ
Мета розмітки - розподіл микрокоманд прошивки по осередках пам'яті. При розмітці кожній вершині граф-схеми алгоритму (див. Рис. 4.27) операції множення двійкових чисел за винятком початкової поставимо у відповідність мікрокоманду. Мікрокоманд МК1, МК2, МК3, ... будемо зберігати в осередках керуючої пам'яті. Для звернення до осередків скористаємося природною адресацією, при якій розрізняють операційні та керуючі мікрокоманд. Тип мікрокоманд залежить від значення однорозрядного поля ознаки П: значенням П = 0 відповідає операційна мікрокоманда, значенням П = 1 - керуюча мікрокоманда. Операційна мікрокоманда виконується операційним автоматом під управлінням сигналів {УА} або микрокоманд У ,, В2, В3. керуюча мікрокомандапризначена для реалізації умовних переходів відповідно до значень, що перевіряються умов X ,, Х2. При розмітці граф-схеми алгоритму в кожну вершину вноситься наступна інформація: • записуються одна з микрокоманд прошивки і її адресний код. Номер мікрокоманд і відповідний йому адресу осередки пам'яті проставляються згідно алгоритмічної послідовності виконання операції множення;
- • фіксується стан операційного автомата (ОА). В операційних вершинах проставляється операційна мікрокоманда (У ,, В2 або У3), яку виконує ОА. В умовних вершинах ОА не виконує микрокоманд, тому ставиться прочерк "-";
- • фіксується стан керуючого автомата (УА), яке визначається блоком мікропрограмного управління (БМУ). У операторної вершині виконується безумовний перехід (БП), в умовній вершині - умовний перехід (УП), тому робляться відповідні записи і вказується, з якого умові Х х або Х 2 виконується керуюча команда.
Основні труднощі розподілу адрес елементів пам'яті обумовлена наявністю умовних переходів. Для спрощення схемної реалізації БМУ будемо виходити з того, що при умовному переході альтернативні мікрокоманд розташовуються в двох сусідніх комірках пам'яті, причому якщо логічне умова X i = 0, то виконується мікрокоманда з адресою А, зазначеним в поле адреси; якщо логічне умова А '. = 1, то виконується мікрокоманда з адресою А + 1.
Розмічені за вказаною правилу граф-схеми алгоритмів наведені на рис. 4.30. Розглянемо принципи складання прошивки і побудови схем керуючої пам'яті і БМУ керуючого автомата.
Складання прошивки. Мікропрограма складається відповідно до розміченій граф-схемою алгоритму (рис. 4.30) і представляється у вигляді таблиці (табл. 4.14).
Таблиця 4.14
алгоритм |
Адреса осередки пам'яті |
мікрокоманда прошивки |
№МК |
||||||||||
поле адреси |
поле умов переходу |
поле керуючих сигналів |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
Ф |
Ф |
0 |
0 |
1 |
МК1 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
Ф |
Ф |
1 |
0 |
0 |
МКЗ |
|
0 |
1 |
0 |
0 |
0 |
1 |
0 |
Ф |
Ф |
0 |
1 |
0 |
МК4 |
|
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
Мк5 |
|
1 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
МК2 |
|
1 |
0 |
1 |
Закінчення операції множення |
МК6 |
|||||||||
0 |
0 |
0 |
0 |
0 |
1 |
0 |
Ф |
Ф |
0 |
0 |
1 |
МК1 |
|
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
МК2 |
|
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
МКЗ |
|
2 |
0 |
1 |
1 |
Закінчення операції множення |
МК4 |
||||||||
1 |
0 |
0 |
0 |
0 |
1 |
0 |
Ф |
Ф |
1 |
0 |
0 |
Мк5 |
|
1 |
0 |
1 |
1 |
0 |
0 |
0 |
Ф |
Ф |
0 |
1 |
0 |
МК6 |
Проілюструємо на прикладі алгоритму 2 принципи складання прошивки.
У осередок з адресою 000 поміщаємо МК1, яка в Про А виконує завантаження, передбачену керуючими сигналами у v у 2 (або мікрокоманда Y x ), а в БМУ керуючого автомата (УА) - безумовний перехід (БП) до осередку з адресою 001 (см . рис. 4.30, алгоритм 2).
В осередку 001 володіємо МК2, яка в ОА не передбачає ніяких дій, а в УА визначає умовний перехід по умові Х 2 : при Х 2 = 0 перехід в наступну комірку з адресою 0010, при Х 2 = 1 - до осередку 011, де зберігається МК4 для продовження програми після виконання операції множення.
Мікрокоманда МКЗ в осередку 010 також не передбачає дій в ОА і призначена для здійснення переходу за умовою X ,: при X, = 0 перехід до осередку 100, при X, = 1 - до осередку з адресою 0101, де відповідно зберігаються Мк5 і МК6.
Мікрокоманда Мк5 виконує в ОА дії, передбачені керуючими сигналами у ~ y v а в БМУ - безумовний перехід до комірки з адресою 001.
Мікрокоманда МК6 передбачає в ОА дії У2, а в БМУ - безумовний перехід до осередку 100 (Мк5).
При відсутності перевірки логічних умов П = 0 значення ПХ2 і nXj можуть бути будь-якими (Ф = 0 або 1).
Для наочності на рис. 4.31, а показано розміщення мікрокоманд вбудованого в осередках пам'яті з адресами в десятковій системі числення. можливі
Мал. 4.30. Розмічені граф-схеми алгоритмів множення двійкових чисел для складання мікропрограми
інші розміщення мікрокоманд в пам'яті (див., наприклад, рис. 4.31, б). Важливо, щоб пари микрокоманд Х 2 , К (Кінець) і В3, Y 2 розташовувалися в сусідніх осередках.