Контрольная работа 2
.pdfСоставим микропрограмму управления БОД.
Элементарная, функциональная операция, выполняемая за один тактовый интервал времени и приводимая в действие одним управляющим сигналом, называется микрооперацией.
Совокупность микроопераций, выполняемых параллельно во времени, называют микрокомандой.
Выполнение всех действий в процессоре осуществляется в виде отработки множества команд (процессоры с фиксированной архитектурой) или микрокоманд. В частности, микропроцессорная секция К1804ВС1 функционирует под действием микрокоманд, хранящихся в управляющей памяти. При этом всю последовательность микрокоманд, предназначенных для реализации некоторого преобразования, называют микропрограммой.
Стандартная структура микрокоманды обычно включает в свой состав две основные части: операционную и адресную. Адресная часть используется при формировании адреса следующей микрокоманды. Операционная часть отвечает за управление процессом преобразования данных.
МПС 1804ВС1 реализует 24 микрооперации, которые разбиты на 3 группы по 8 микроопераций. Каждая группа имеет свое функциональное назначение, принципиально отличное от преобразований, кодируемых в другой группе.
При составлении микропрограммы адресную часть еѐ опустим.
Структура микрокоманды для управления БОД будет иметь вид:
Управляющие коды |
|
Адресные линии |
Операнд |
|||
I8 – I6 |
I5 – I3 |
I2 – I0 |
С0 |
А3 – А0 |
В3 – В0 |
D19 – D0 |
Действия микрокоманд заданы в таблицах 1, 2, 3.
Табл.1 |
Табл.2 |
|
Микрокод |
Источники опе- |
|||||
|
|
|
|
рандов АЛУ |
||
|
|
|
|
|
|
|
I2 |
I1 |
I0 |
8-рич. |
R |
S |
|
|
|
|
|
|
|
|
0 |
0 |
0 |
0 |
A |
Q |
|
0 |
0 |
1 |
1 |
A |
B |
|
0 |
1 |
0 |
2 |
0 |
Q |
|
0 |
1 |
1 |
3 |
0 |
B |
|
1 |
0 |
0 |
4 |
0 |
A |
|
1 |
0 |
1 |
5 |
D |
A |
|
1 |
1 |
0 |
6 |
D |
Q |
|
1 |
1 |
1 |
7 |
D |
0 |
|
|
|
|
|
|
|
|
Микрокод |
|
|
|||
|
|
|
|
Операция |
|
|
|
|
|
|
|
I5 |
I4 |
I3 |
8-рич. |
АЛУ |
|
|
|
|
|
|
|
0 |
0 |
0 |
0 |
R+S+C0 |
|
0 |
0 |
1 |
1 |
S-R-1+C0 |
|
0 |
1 |
0 |
2 |
R-S-1+C0 |
|
0 |
1 |
1 |
3 |
R |
S |
1 |
0 |
0 |
4 |
R |
S |
1 |
0 |
1 |
5 |
R |
S |
1 |
1 |
0 |
6 |
R |
S |
1 |
1 |
1 |
7 |
R |
S |
|
|
|
|
|
|
11
|
|
|
|
|
|
|
|
|
|
|
Табл. 3 |
|
|
Микрокод |
|
|
РЗУ |
|
RG Q |
|
|
Выход Y |
|||
I8 |
I7 |
I6 |
8- |
Сдвиг |
|
Загрузка |
Сдвиг |
|
Загрузка |
|
||
|
|
|
рич. |
|
|
|
|
|
|
|
|
|
0 |
0 |
0 |
0 |
─ |
|
|
─ |
─ |
|
F |
Q |
F |
0 |
0 |
1 |
1 |
─ |
|
|
─ |
─ |
|
|
─ |
F |
0 |
1 |
0 |
2 |
─ |
|
F |
А |
─ |
|
|
─ |
F |
0 |
1 |
1 |
3 |
─ |
|
F |
B |
─ |
|
|
─ |
F |
1 |
0 |
0 |
4 |
Вправо |
|
F/2 |
А |
Вправо |
|
Q/2 |
Q |
F |
1 |
0 |
1 |
5 |
Вправо |
|
F/2 |
B |
─ |
|
|
─ |
F |
1 |
1 |
0 |
|
|
|
|||||||
6 |
Влево |
|
2F |
А |
Влево |
|
2Q |
Q |
F |
|||
1 |
1 |
1 |
|
|
||||||||
7 |
Влево |
|
2F |
B |
─ |
|
|
─ |
F |
|||
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
Для вычисления нам дана функция f(ai)=ln(b∙ai).
Вычисление функции f(ai)= ln(b∙ai) производится по следующему алгоритму (подробный алгоритм содержится в контрольной работе №1) таблица 4:
|
|
Таблица 4. |
||
ym |
Микрокоманда |
ШД1 |
ШД2 |
|
|
|
|
|
|
y1 |
RG 2[23.0]:=a |
- |
a |
|
y2 |
RG 3[23.0]:=b |
b |
- |
|
y3 |
RG См [23.0]:= 0 |
- |
- |
|
y4 |
RG 4(Мн) [23.0]:= Мн |
|
Мн |
|
y5 |
RG 5(Мт) [23.0]:= Мт |
- |
Мт |
|
y6 |
RG Ст21 [12.0]:= 0,5n+1=13 |
- |
1101 |
|
y7 |
Tд[0]:=0 |
- |
- |
|
y8 |
RG См [23.0]:= RG См [23.0]+ RG Мн [23.0] |
RG См [23.0] |
RG Мн [23.0] |
|
y9 |
RG См [23.0]:= RG См [23.0]+L1( RG Мн [23.0].0) |
RG См [23.0] |
RG Мн [23.0] |
|
y10 |
RG См [23.0]:= RG См [23.0]+ ┐RG Мн [23.0]+1 |
RG См [23.0] |
RG Мн [23.0] |
|
y11 |
Tд[0]:=1 |
- |
- |
|
y12 |
RG Ст21 [12.0]:= RG Ст21 [12.0] – 1 |
- |
RG Ст21[12.0] |
|
y13 |
RG Мн [23.0]:= L2( RG Мн [23.0].00) |
RG 4 [23.0] |
- |
|
y14 |
RG Мт [23.0]:= R2(00.RG Мт [23.0]) |
- |
RG 5 [23.0] |
|
y17 |
RG 2 [23.0]:= RG 2 [23.0]-1 |
|||
- |
RG 2 [23.0] |
|||
y18 |
RG 3 [23.0]:= RG 2 [23.0] |
|||
- |
RG 2 [23.0] |
|||
y19 |
RG 6 [23.0]:= RG 3 [23.0] |
|||
RG 3 [23.0] |
- |
|||
y20 |
TЗН[0]:=1 |
|||
- |
- |
|||
y21 |
RG Ст22 [3.0]:=2 |
|||
0010 |
- |
|||
y22 |
RG 6 [23.0]:= RG См [23.0] |
|||
RG 1[23.0] |
- |
|||
y23 |
RG 1 [23.0]:= RG 6 [23.0](Дм) |
|||
- |
RG 6 [23.0] |
|||
y24 |
RG 5 [23.0]:= RG Ст22 [3.0](Дт) |
|||
RG 8 [3.0] |
- |
|||
y25 |
RG 1 [23.0]:= RG 1 [23.0]+ RG 5 [23.0] |
|||
RG 1 [23.0] |
RG 5 [23.0] |
|||
y26 |
RG 1 [24]:=1 |
|||
00000…1 |
- |
|||
y27 |
RG 1 [24]:=0 |
|||
00000…0 |
- |
|||
y28 |
RG Ст21 [12.0]:=24 |
|||
11000 |
- |
|||
y29 |
RG 1 [23.0]:= L1(RG 2 [23.0].0)+ RG 5 [23.0] |
|||
RG 2 [23.0] RG 2 |
RG 5 [23.0] |
|||
y30 |
RG 1 [43.0]:= L1(RG 2 [43.0].0)- RG 5 [43.0] |
|||
[23.0] |
RG 5 [23.0] |
|||
y31 |
RG 1[RG CT21-1]:=0 |
|||
- |
0000…00 |
|||
y32 |
RG 1[RG CT21-1]:=1 |
|||
- |
0000…01 |
|||
y33 |
RG CT21:= RG CT21-1 |
|||
- |
RG Ст21[12.0] |
|||
y34 |
RG 2 [23.0]:= RG 2 [23.0]-RG См [23.0] |
|||
RG 1 [23.0] |
RG 2 [23.0] |
|||
y35 |
TЗН[0]:=0 |
|||
- |
- |
|||
y36 |
RG 2 [23.0]:= RG 2 [23.0]+RG См [23.0] |
|||
RG 1 [23.0] |
RG 2 [23.0] |
|||
y37 |
RG CT22:= RG CT22+1 |
|||
RG 8 [3.0] |
- |
|||
|
|
|||
|
|
|
|
На основании структуры микрокоманды и алгоритма вычисления заданной функции составим микропрограмму управления БОД (таблица 5).
12
Таблица 5
Ym |
|
Управляющие коды |
|
Адресные линии |
Операнд |
|||
|
|
|
|
|
|
|
|
|
|
I8 – I6 |
|
I5 – I3 |
I2 – I0 |
С0 |
А3 – А0 |
В3 – В0 |
D |
1 |
011 |
|
000 |
111 |
0 |
хххх |
0001 |
Х |
2 |
011 |
|
000 |
111 |
0 |
хххх |
0010 |
Х |
3 |
010 |
|
000 |
111 |
0 |
0010 |
хххх |
Х |
4 |
010 |
|
000 |
111 |
0 |
0011 |
хххх |
Х |
5 |
010 |
|
000 |
111 |
0 |
0110 |
хххх |
Х |
6 |
010 |
|
000 |
111 |
0 |
1000 |
хххх |
Х |
7 |
010 |
|
000 |
111 |
0 |
0100 |
хххх |
0 |
8 |
010 |
|
000 |
111 |
0 |
0101 |
хххх |
0 |
10 |
010 |
|
000 |
001 |
0 |
0100 |
0001 |
Х |
11 |
101 |
|
000 |
100 |
0 |
0100 |
хххх |
Х |
12 |
010 |
|
000 |
001 |
0 |
0100 |
0001 |
Х |
13 |
101 |
|
000 |
100 |
0 |
0100 |
хххх |
Х |
14 |
010 |
|
000 |
001 |
0 |
0100 |
0001 |
Х |
15 |
101 |
|
000 |
100 |
0 |
0100 |
хххх |
Х |
16 |
010 |
|
000 |
001 |
0 |
0100 |
0001 |
Х |
17 |
101 |
|
000 |
100 |
0 |
0100 |
хххх |
Х |
18 |
010 |
|
000 |
001 |
0 |
0100 |
0001 |
Х |
19 |
101 |
|
000 |
100 |
0 |
0100 |
хххх |
Х |
20 |
010 |
|
000 |
001 |
0 |
0100 |
0001 |
Х |
21 |
101 |
|
000 |
100 |
0 |
0100 |
хххх |
Х |
22 |
010 |
|
000 |
001 |
0 |
0100 |
0001 |
Х |
23 |
101 |
|
000 |
100 |
0 |
0100 |
хххх |
Х |
24 |
010 |
|
000 |
001 |
0 |
0011 |
0001 |
Х |
25 |
011 |
|
000 |
100 |
0 |
0100 |
0001 |
Х |
26 |
011 |
|
000 |
100 |
0 |
0101 |
0010 |
Х |
27 |
010 |
|
000 |
111 |
0 |
0100 |
хххх |
0 |
28 |
010 |
|
000 |
111 |
0 |
0101 |
хххх |
0 |
29 |
010 |
|
000 |
100 |
0 |
0110 |
хххх |
Х |
30 |
010 |
|
001 |
100 |
0 |
0001 |
хххх |
Х |
31 |
010 |
|
101 |
000 |
0 |
0010 |
хххх |
Х |
32 |
010 |
|
000 |
010 |
1 |
0000 |
хххх |
Х |
33 |
010 |
|
101 |
000 |
1 |
0010 |
хххх |
Х |
35 |
011 |
|
000 |
100 |
0 |
0010 |
0011 |
Х |
36 |
011 |
|
000 |
001 |
0 |
0110 |
0001 |
Х |
37 |
011 |
|
000 |
001 |
0 |
0010 |
0001 |
Х |
Примечание:
1. Код хххх любое значение разряда.
13
Литература.
1.Кобяк И.П. Архитектура компьютерных устройств.Ч.1: Метод. пособие по курсам ТиП ЭВМ и СИФО ЭВМ для студентов специальности Т10.04.00 “Вычислительные машины системы и сети” заочной формы обучения. В 2 ч.- Мн.: БГУИР,
1999, - 41с.
2.Кобяк И.П. Архитектура компьютерных устройств. Ч.2: Метод. пособие по курсам ТиП ЭВМ и СИФО ЭВМ для студентов специальности Т10.04.00 “Вычислительные машины системы и сети” заочной формы обучения. В 2 ч. – Мн.: БГУИР,
2001. - 44 с.
3.Майоров С.А., Новиков Г.И. Структура электронных вычислительных машин. – Л.: Машиностроение. Ленинградское отделение, 1979. – 484 с.
4.Лукъянова И.В., Луцик Ю.А.. Арифметические и логические основы вычислительной техники: Учебное пособие по курсу «Арифметические и логические основы вычислительной техники». -Мн.: БГУИР, 2004.
14