
Задание 2.2.
Написать микропрограмму, соответствующую заданной ГСА (рис.5), с учетом заданных множества микроопераций (Y), множества проверяемых условий (Х), ёмкости запоминающего устройства (ЗУ) и начального адреса размещения микропрограммы (МП) в ЗУ. В каждом адресе запоминающего устройства может храниться 16 бит информации. Обозначение ук соответствует микрооперации, обозначающей последнюю микрокоманду в микропрограмме.
Если это допускает длина микрокоманды, использовать модификатор дисциплины перехода и поле для задания последней микрооперации микропрограммы.
0 х2 1
2
х4 1
12
0 х5 1
4
0 х10
7
1
8 1
х9
ГСА (рис.5)
Объект управления, характеризуется следующими параметрами:
-
множество проверяемых условий - X ={x1,x1, .. x31.};
-
множество выполняемых микроопераций - Y ={y1,y2, .. y30, yк} (yк- микрооперация, означающая последнюю микрокоманду микропрограммы);
-
ёмкость запоминающего устройства - 1000 адресов.
-
длина ячейки памяти - L = 16 бит;
-
начальный адрес размещения составляемой микропрограммы в памяти равен-
-
Ан=590.
Решение.
Исходя из характеристик управляемого объекта, следует:
-
длина кода для кодирования микроопераций равна к=5, так как
количество выполняемых в управляемом объекте микроопераций равно 30;
-
длина кода для кодирования условий равна пяти (т.е. р = 5 ), так как количество проверяемых условий в управляемом объекте равно 31;
-
длина кода адреса равна десяти, так как количество адресов в памяти равно 1000.
Таким образом, формат микрокоманд для данного управляемого объекта имеет вид, приведенный на рис.1.
МКО:
T Y1 Y2 Y3
0 |
1......................5 |
6..........................10 |
7..........................15 |
МКП:
Т Х А
0 |
1......................5 |
6..............................................................15 |
рис.1
Формат операционной микрокоманды (МКО) имеет длину 16 бит и включает:
-
поле типа микрокоманды (Т), имеющее длину в один бит, занимает 0-ой разряд микрокоманды; в этом поле для данного типа микрокоманды записано значение «1»;
-
поле первой микрооперации (Y1), которое занимает разряды с 1-го по 5;
-
поле второй микрооперации (Y2), которое занимает разряды с 5-го по 10;
-
поле третьей микрооперации (Y3), которое занимает разряды с 10-го по 15;
Таким образом, данный формат позволяет задавать в одной микрокоманде три микрооперации. Длина микрокоманды не позволяет использовать поле для задания последней микрооперации.
Формат микрокоманды перехода (МКП) имеет длину 16 бит и включает:
-
поле типа микрокоманды (Т), имеющее длину в один бит и занимающее 0-ой разряд микрокоманды; в этом поле для данного типа микрокоманды записано значение «0»;
-
поле проверяемого условия (Х), которое занимает разряды с 1-го по 5;
-
поле адреса (А), которое занимает разряды с 6-го по 15;
Данный формат микрокоманды перехода не позволяет использовать поле модификатора дисциплины перехода.
При составлении микропрограммы с помощью микрокоманд необходимо реализовать все вершины, имеющиеся в ГСА, и обеспечить необходимые ветвления процесса.
Микропрограмма для ГСА на рис. 5 имеет вид:
№ п.п. |
№ вер. |
Адрес расположения микрокоманды в ЗУ |
Код микрокоманды |
Примечание |
1 |
1 |
1001001110 |
1.00001.00100.01010 |
|
2 |
2 |
1001001111 |
0.00010.1001010111 |
3 |
3 |
12 |
1001010000 |
0.00100.1001010010 |
13 |
4 |
- |
1001010001 |
0.00000.1001010000 |
12 |
5 |
13 |
1001010010 |
1.00011.01011.00000 |
|
6 |
7 |
1001010011 |
0.01010.1001011011 |
5 |
7 |
8 |
1001010100 |
0.01001.1001011101 |
9 |
8 |
10 |
1001010101 |
1.01011.10101.00000 |
|
9 |
11 |
1001010110 |
1.01001.00001.11111 |
|
10 |
3 |
1001010111 |
1.00001.00011.01011 |
|
11 |
4 |
1001011000 |
0.00101.1001011011 |
5 |
12 |
6 |
1001011001 |
1.10000.10001.10111 |
|
13 |
- |
1001011010 |
0.00000.1001010011 |
7 |
14 |
5 |
1001011011 |
1. 10000.10001.10010 |
|
15 |
- |
1001011100 |
0.00000.1001010011 |
7 |
16 |
9 |
1001011101 |
1.00011.01111.10010 |
|
17 |
- |
1001011110 |
0.00000.1001010110 |
11 |