ОМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра информатики и вычислительной техники
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
к курсовой работе
по курсу "Организация ЭВМ и систем. "
Тема: "Разработка специализированной микроЭВМ с микропрограммным управлением."
Выполнил:
студент гр.В-220 Никонов В.А.
Проверил:
к.т.н., доцент Нестерук В.Ф.
Омск-2001
Задание на курсовое проектирование по дисциплине
“Организация ЭВМ и систем”
студенту Никонову В.А. группы В-220
-
Тема проекта: “Разработка специализированной микроЭВМ с микропрограммным управлением.”
-
Технические условия: Система представления – двоичная с фиксированной запятой; Длина разрядной сетки – 14 разрядов (из них 2 знаковых); Способ кодирования – модифицированный прямой код; Способ реализации – программный.
-
Элементная база: микропроцессорный комлект серии К584 и совместимые с ним интегральные микросхемы других серий.
-
Осуществить системное, структурное, и функциональное проектирование микроЭВМ с трехмагистральной структурой и асинхронным внешним интерфейсом.
-
Рассчитать технические параметры микроЭВМ.
-
Содержание графической части работы:
-
структурная схема алгоритма.
-
структурная схема микроЭВМ.
-
функциональная схема микроЭВМ
-
микропрограмма работы микроЭВМ
-
графики временных диаграмм работы микроЭВМ
-
Срок сдачи законченного проекта “___”___________2001 г.
-
Дата выдачи задания “___”____________2001 г.
Руководитель проекта к.т.н., доцент __________ Нестерук В.Ф.
Студент ___________________ Никонов В.А.
Алгоритм работы микроЭвм
Структура внешнего интерфейса
ШД — это 12-ти разрядная двунаправленная шина данных передающая также код операции по трём младшим битам.
Все операции, за исключением операции "НЕ", требуют два операнда, подаваемых на вход микроЭВМ после кода операции. Операция "НЕ" требует лишь один операнд.
Описание шины управления
1 — входной перенос;
2 - 10 — код микроинструкции БМП;
11 - 24 — код микроинструкции БМУ;
25 — ГОТ;
26 - 32 — код микроинструкции МПП;
33 - 35 — код микроинструкции МЛУ;
36 - 39 — код микроинструкции ПЗУ;
40 — "DEC/INC" (логическое условие)
41 — "INC1/INC2" (логическое условие)
42 — "INC2/INC1" (логическое условие)
43 — SD (строб данных)
Структурная схема микроЭвм
Функциональная схема микроЭвм
Функциональная схема блока микропроцессоров (БМП)
Функциональная схема блока микропрограммного управления (бму)
Функциональная схема магистрального приёмопередатчика (мпп)
Система синхронизации
Сигналы синхронизации S1-S5 вырабатываются на основе сигнала "S0" равного 200нс.
Постоянная память
Предназначена для хранения констант.
Константы в ПЗУ
Адрес |
Значение |
000 |
001000000000 |
001 |
100000000000 |
010 |
110000000000 |
011 |
010000000000 |
100 |
000000001010 |
101 |
001111111111 |
110 |
000000000001 |
Формат микрокоманды
КМИ БМП — поле кода микроинструкции блока микропроцессоров.
П — поле входного переноса блока микропроцессоров.
КМИ КМУ — поле кода микроинструкции блока микропрограммного управления.
КМИ МЛУ — поле кода микроинструкции мультиплексора логических условий.
КМИ МПП — поле кода микроинструкции магистрального приёмопередатчика.
КМИ ПЗУ — поле кода микроинструкции постоянного запоминающего устройства.
ГОТ — поле сигнала ГОТ.
Микропрограмма
Адрес |
КМИ БМП |
П |
КМИ БМУ |
КМИ МЛУ |
КМИ МПП |
КМИ ПЗУ |
ГОТ |
Примечания |
000 |
— |
0 |
Счёт |
— |
М3=М2 |
— |
1 |
Установка ГОТ |
001 |
— |
0 |
Счёт |
SD |
М3=М1 |
— |
0 |
Ожидание СД |
002 |
РОН6:=ШИНвх |
0 |
Счёт |
— |
М3=М1 |
— |
0 |
Приём КОп |
003 |
— |
0 |
Счёт |
— |
М3=М2 |
— |
1 |
Установка ГОТ |
004 |
— |
0 |
Счёт |
SD |
М3=М1 |
— |
0 |
Ожидание СД |
005 |
РОН0:=ШИНвх |
0 |
Счёт |
— |
М3=М1 |
— |
0 |
Приём А |
006 |
POН3:=!П |
1 |
Счёт |
— |
— |
— |
0 |
БС:=0 |
007 |
PP:=РОН6 +П |
0 |
Счёт |
— |
— |
— |
0 |
Проверка: КОп=1110..00? |
008 |
РР:=РР+ШИНвх |
0 |
ПА(008) |
INC2/INC1 |
— |
Чтение(1) |
0 |
—"— |
009 |
— |
0 |
ПА(00с) |
— |
— |
— |
0 |
КОп≠1110..00; Переход в 00с |
00a |
РР:=!РОН0+П |
0 |
Счёт |
— |
— |
— |
0 |
Операция "НЕ" |
00b |
РОН2:=PР+П |
0 |
ПА(0d5) |
— |
— |
— |
0 |
С:=!(А); Переход в |
00c |
— |
0 |
Счёт |
— |
М3=М2 |
— |
1 |
Установка ГОТ |
00d |
— |
0 |
Счёт |
SD |
М3=М1 |
— |
0 |
Ожидание СД |
00e |
РОН2:=ШИНвх |
0 |
Счёт |
— |
М3=М1 |
— |
0 |
Приём B |
00f |
ШИНвых:=РОН6+П |
0 |
D=PK, Счёт |
— |
— |
— |
0 |
Передача КОп из БМП в БМУ для анализа |
010 |
— |
0 |
ПА{КОп} |
— |
— |
— |
0 |
Переход по КОп |
011 |
РР:=РОН0+П |
0 |
Счёт |
— |
— |
— |
0 |
Проверка А на 0 |
012 |
РР:=!РР+П |
1 |
ПА(012) |
INC2/INC1 |
— |
— |
0 |
—"— |
013 |
— |
0 |
ПА(016) |
— |
— |
— |
0 |
А≠0; Переход в 016 |
014 |
РР:=РОН1+П |
0 |
Счёт |
— |
— |
— |
0 |
С:=В |
015 |
РОН2:=РР+П |
0 |
ПА(0d5) |
— |
— |
— |
0 |
—"—; Переход в |
016 |
РР:=РОН1+П |
0 |
Счёт |
— |
— |
— |
0 |
Проверка В на 0 |
017 |
РР:=!РР+П |
1 |
ПА(017) |
INC2/INC1 |
— |
— |
0 |
—"— |
018 |
— |
0 |
ПА(01b) |
— |
— |
— |
0 |
В≠0; Переход в 01b |
019 |
РР:=РОН0+П |
0 |
Счёт |
— |
— |
— |
0 |
С:=А |
01a |
РОН2:=РР+П |
0 |
ПА(0d5) |
— |
— |
— |
0 |
—"—; Переход в |
01b |
РР:=РОН0+П |
0 |
Счёт |
— |
— |
— |
0 |
Проверка знака А |
01c |
РР:=ШИНвх+РР+П |
0 |
ПА(1d) |
INC2/INC1 |
— |
Чтение(2) |
0 |
—"— |
01d |
— |
0 |
ПА(22) |
— |
— |
— |
0 |
А>0; Переход в 22 |
01e |
РР:=ШИНвх xor РР |
0 |
Счёт |
— |
— |
Чтение(3) |
0 |
Инвертирование |
01f |
РР:=РР+П |
1 |
ПА(21) |
— |
— |
— |
0 |
+1. Прыжок |
020 |
— |
0 |
ПА(011) |
— |
— |
— |
0 |
Переход к А+В |
021 |
РОН0:=РР+П |
0 |
Счёт |
— |
— |
— |
0 |
Запись преобразованного А |
022 |
РР:=РОН1+П |
0 |
Счёт |
— |
— |
— |
0 |
Проверка знака В |
023 |
РР:=ШИНвх+РР+П |
0 |
ПА(24) |
INC2/INC1 |
— |
Чтение(2) |
0 |
—"— |
024 |
— |
0 |
ПА(28) |
— |
— |
— |
0 |
В>0; Переход в 28 |
025 |
РР:=ШИНвх xor РР |
0 |
Счёт |
— |
— |
Чтение(3) |
0 |
Инвертирование |
026 |
РР:=РР+1 |
1 |
Счёт |
— |
— |
— |
0 |
+1 |
027 |
РОН1:=РР+П |
0 |
Счёт |
— |
— |
— |
0 |
Запись преобразованного В |
028 |
РР:=РОН0+П |
0 |
Счёт |
— |
— |
— |
0 |
А+В |
029 |
РР:=РР+РОН1+П |
0 |
Счёт |
— |
— |
— |
0 |
—"— |
02a |
РОН2:=РР+П |
0 |
Счёт |
— |
— |
— |
0 |
С:=А+В |
02b |
РР:=ШИНвх & РР |
0 |
Счёт |
— |
— |
Чтение(3) |
0 |
Проверка на переполнение |
02c |
РР:=ШИНвх+РР+П |
0 |
Счёт |
— |
— |
Чтение(4) |
0 |
—"— |
02d |
РОН3:=РР+П |
0 |
Счёт |
— |
— |
— |
0 |
Запись байта сообщений |
02e |
РР:=РОН2+П |
0 |
Счёт |
— |
— |
— |
0 |
Проверка знака C |
02f |
РР:=ШИНвх+РР+П |
0 |
ПА(2f) |
INC2/INC1 |
— |
Чтение(2) |
0 |
—"— |
030 |
— |
0 |
ПА(34) |
— |
— |
— |
0 |
В>0; Переход в 034 |
031 |
РР:=ШИНвх xor РР |
0 |
Счёт |
— |
— |
Чтение(3) |
0 |
Инвертирование |
032 |
РР:=РР+1 |
1 |
Счёт |
— |
— |
— |
0 |
+1 |
033 |
РОН2:=РР+П |
0 |
Счёт |
— |
— |
— |
0 |
Запись преобразованного C |
034 |
— |
0 |
ПА(0d5) |
— |
— |
— |
0 |
Переход в |
035 |
РР:=РОН0+П |
0 |
Счёт |
— |
— |
— |
0 |
Проверка А на 0 |
036 |
РР:=!РР+П |
1 |
ПА(036) |
INC2/INC1 |
— |
— |
0 |
—"— |
037 |
— |
0 |
ПА(03a) |
— |
— |
— |
0 |
А≠0; Переход в 03a |
038 |
РР:=РОН1+П |
0 |
Счёт |
— |
— |
— |
0 |
С:=-В |
039 |
РОН2:=РР+П |
0 |
ПА(0d5) |
— |
— |
— |
0 |
С:=-В; Переход в |
03a |
РР:=РОН1+П |
0 |
Счёт |
— |
— |
— |
0 |
Проверка В на 0 |
03b |
РР:=!РР+П |
1 |
ПА(03b) |
INC2/INC1 |
— |
— |
0 |
—"— |
03c |
— |
0 |
ПА(03f) |
— |
— |
— |
0 |
В≠0; Переход в 03f |
03d |
РР:=РОН0+П |
0 |
Счёт |
— |
— |
— |
0 |
С:=А |
03e |
РОН2:=РР+П |
0 |
ПА(0d5) |
— |
— |
— |
0 |
—"—; Переход в |
03f |
РР:=РОН0+П |
0 |
ПА(041) |
— |
— |
— |
0 |
Проверка знака А. Прыжок |
040 |
— |
0 |
ПА(035) |
— |
— |
— |
0 |
Переход к А–В |
041 |
РР:=ШИНвх+РР+П |
0 |
ПА(01d) |
INC2/INC1 |
— |
Чтение(2) |
0 |
Проверка знака А |
042 |
— |
0 |
ПА(046) |
— |
— |
— |
0 |
А>0; Переход в 046 |
043 |
РР:=ШИНвх xor РР |
0 |
Счёт |
— |
— |
Чтение(3) |
0 |
Инвертирование |
044 |
РР:=РР+П |
1 |
Счёт |
— |
— |
— |
0 |
+1 |
045 |
РОН0:=РР+П |
0 |
Счёт |
— |
— |
— |
0 |
Запись преобразованного А |
046 |
РР:=РОН1+П |
0 |
Счёт |
— |
— |
— |
0 |
Проверка знака В |
047 |
РР:=ШИНвх+РР+П |
0 |
ПА(47) |
INC2/INC1 |
— |
Чтение(2) |
0 |
—"— |
048 |
— |
0 |
ПА(04c) |
— |
— |
— |
0 |
В>0; Переход в 04c |
049 |
РР:=ШИНвх xor РР |
0 |
Счёт |
— |
— |
Чтение(3) |
0 |
Инвертирование |
04a |
РР:=РР+1 |
1 |
Счёт |
— |
— |
— |
0 |
+1 |
04b |
РОН1:=РР+П |
0 |
Счёт |
— |
— |
— |
0 |
Запись преобразованного В |
04c |
РР:=РОН0+П |
0 |
Счёт |
— |
— |
— |
0 |
А–В |
04d |
РР:=РР+РОН1+П |
0 |
Счёт |
— |
— |
— |
0 |
—"— |
04e |
РОН2:=РР+П |
0 |
Счёт |
— |
— |
— |
0 |
С:=А–В |
04f |
РР:=ШИНвх & РР |
0 |
Счёт |
— |
— |
Чтение(3) |
0 |
Проверка на переполнение |
050 |
РР:=ШИНвх+РР+П |
0 |
Счёт |
— |
— |
Чтение(4) |
0 |
—"— |
051 |
РОН3:=РР+П |
0 |
Счёт |
— |
— |
— |
0 |
Запись байта сообщений |
052 |
РР:=РОН2+П |
0 |
Счёт |
— |
— |
— |
0 |
Проверка знака C |
053 |
РР:=ШИНвх+РР+П |
0 |
ПА(53) |
INC2/INC1 |
— |
Чтение(2) |
0 |
—"— |
054 |
— |
0 |
ПА(58) |
— |
— |
— |
0 |
В>0; Переход в 053 |
055 |
РР:=ШИНвх xor РР |
0 |
Счёт |
— |
— |
Чтение(3) |
0 |
Инвертирование |
056 |
РР:=РР+1 |
1 |
Счёт |
— |
— |
— |
0 |
+1 |
057 |
РОН2:=РР+П |
0 |
Счёт |
— |
— |
— |
0 |
Запись преобразованного C |
058 |
— |
0 |
ПА(0d5) |
— |
— |
— |
0 |
Переход в |
059 |
РР:=РОН0+П |
0 |
Счёт |
— |
— |
— |
0 |
Проверка А на 0 |
05a |
РР:=!РР+П |
1 |
ПА(05a) |
INC2/INC1 |
— |
— |
0 |
—"— |
05b |
— |
0 |
ПА(05e) |
— |
— |
— |
0 |
А≠0; Переход в 05e |
05c |
РР:=РОН1+П |
0 |
Счёт |
— |
— |
— |
0 |
С:=0 |
05d |
РОН2:=РР+П |
0 |
ПА(0d5) |
— |
— |
— |
0 |
—"—; Переход в |
05e |
РР:=РОН1+П |
0 |
ПА(061) |
— |
— |
— |
0 |
Проверка В на 0.Прыжок |
05f |
|
|
|
|
|
|
|
|
060 |
— |
0 |
ПА(095) |
— |
— |
— |
0 |
Переход к А*В |
061 |
РР:=!РР+П |
1 |
ПА(03b) |
INC2/INC1 |
— |
— |
0 |
—"— |
062 |
— |
0 |
ПА(065) |
— |
— |
— |
0 |
В≠0; Переход в 065 |
063 |
РР:=РОН0+П |
0 |
Счёт |
— |
— |
— |
0 |
С:=0 |
064 |
РОН2:=РР+П |
0 |
ПА(0d5) |
— |
— |
— |
0 |
—"—; Переход в |
065 |
РОН4:=!П |
1 |
Счёт |
— |
— |
— |
0 |
РС=0 |
066 |
РОН5:=ШИНвх |
0 |
Счёт |
— |
— |
Чтение(5) |
0 |
СЧ=10 |
067 |
РР:=РОН0+П |
0 |
Счёт |
— |
— |
— |
0 |
Формирование знака С |
068 |
РР:=РОН1 xor РР |
0 |
Счёт |
— |
— |
— |
0 |
—"— |
069 |
РР:=ШИНвх & РР |
0 |
Счёт |
— |
— |
Чтение(3) |
0 |
—"— |
06a |
РОН6:=РР+П |
0 |
Счёт |
— |
— |
— |
0 |
Запись знака С |
06b |
РР:=РОН0+П |
0 |
Счёт |
— |
— |
— |
0 |
|А| |
06c |
РР:=ШИНвх & РР |
0 |
Счёт |
— |
— |
Чтение(6) |
0 |
—"— |
06d |
РОН0:=РР+П |
0 |
Счёт |
— |
— |
— |
0 |
Запись |А| |
06e |
РР:=РОН1+П |
0 |
Счёт |
— |
— |
— |
0 |
|B| |
06f |
РР:=ШИНвх & РР |
0 |
Счёт |
— |
— |
Чтение(6) |
0 |
—"— |
070 |
РОН1:=РР+П |
0 |
Счёт |
— |
— |
— |
0 |
Запись |B| |
071 |
РР:=РОН4+П |
0 |
ПА(071) |
INC2/INC1 |
— |
— |
0 |
Проверка РС |
072 |
— |
0 |
ПА(07e) |
— |
— |
— |
0 |
РС=0. Переход в |
073 |
ШИНвых:=РОН1+П |
0 |
D=PK, ПА(078) |
— |
— |
— |
0 |
Передача В из БМП в БМУ для анализа |
074 |
— |
0 |
ПА(079) |
— |
— |
— |
0 |
B[1,0]=00. Переход в 079 |
075 |
— |
0 |
ПА(07f) |
— |
— |
— |
0 |
НОП. Переход в 07f |
076 |
— |
0 |
ПА(07b) |
— |
— |
— |
0 |
B[1,0]=10. Переход в 07b |
077 |
— |
0 |
ПА(07f) |
— |
— |
— |
0 |
НОП. Переход в 07f |
078 |
— |
0 |
ПА{В[1,0], РС1} |
— |
— |
— |
0 |
Переход по B[1,0] при РС=1 |
079 |
РОН4:=!П |
1 |
Счёт |
— |
— |
— |
0 |
РС:=0 |
07a |
РР:=РОН0+П |
0 |
ПА(07d) |
— |
— |
— |
0 |
С:=С+А |
07b |
РР:=!П |
1 |
Счёт |
— |
— |
— |
0 |
С:=С–А |
07c |
РР:=РР-РОН0-1+П |
1 |
Счёт |
— |
— |
— |
0 |
—"— |
07d |
РОН2:=РОН2+РР+П |
0 |
ПА(07f) |
— |
— |
— |
0 |
—"— |
07e |
— |
0 |
ПА{В[1,0], РС0} |
— |
— |
— |
0 |
Переход по B[1,0] при РС=0 |
07f |
РР:=РОН1+П |
0 |
ПА(081) |
— |
— |
— |
0 |
Сдвиг В. Прыжок |
080 |
— |
0 |
ПА(069) |
— |
— |
— |
0 |
Переход к А/В |
081 |
РР:=СЛП(РР)+П |
0 |
Счёт |
— |
— |
— |
0 |
Сдвиг В |
082 |
РОН1:=РР+П |
0 |
Счёт |
— |
— |
— |
0 |
Запись сдвинутого В |
083 |
РР:=РОН1+П |
0 |
ПА(08b) |
— |
— |
— |
0 |
Сдвиг С. Прыжок |
084 |
— |
0 |
ПА(07f) |
— |
— |
— |
0 |
НОП. Переход в |
085 |
— |
0 |
ПА(07a) |
— |
— |
— |
0 |
B[1,0]=01. Переход в 07а |
086 |
— |
0 |
ПА(07f) |
— |
— |
— |
0 |
НОП. Переход в |
087 |
— |
0 |
ПА(088) |
— |
— |
— |
0 |
B[1,0]=11. Переход в 088 |
088 |
РР:=!П |
0 |
Счёт |
— |
— |
— |
0 |
РС:=1 |
089 |
РР:=СЦП(РР)+П |
0 |
Счёт |
— |
— |
— |
0 |
—"— |
08a |
РОН4:=РР+П |
0 |
ПА(07b) |
— |
— |
— |
0 |
—"— |
08b |
РР:=СЛП(РР)+П |
0 |
Счёт |
— |
— |
— |
0 |
Сдвиг С |
08c |
РР:=РОН4+РР+П |
0 |
Счёт |
— |
— |
— |
0 |
Сдвиг С |
08d |
РОН2:=РР+П |
0 |
Счёт |
— |
— |
— |
0 |
Сдвиг С |
08e |
РР:=!П |
1 |
Счёт |
— |
— |
— |
0 |
Сч:=Сч–1 |
08f |
РОН5:=РОН5-РР-1+П |
0 |
Счёт |
— |
— |
— |
0 |
Сч:=Сч–1 |
090 |
РР:=РОН5+П |
0 |
ПА(090) |
INC2/INC1 |
— |
— |
0 |
Сч=0? |
091 |
— |
0 |
ПА(071) |
— |
— |
— |
0 |
Сч≠0. Переход в 071 |
092 |
РР:=РОН2+П |
0 |
Счёт |
— |
— |
— |
0 |
Присвоение знака |
093 |
РР:=РР xor РОН6 |
0 |
Счёт |
— |
— |
— |
0 |
Присвоение знака |
094 |
РОН2:=РР+П |
0 |
ПА(0d5) |
— |
— |
— |
0 |
Запись С. Переход в |
095 |
РР:=РОН0+П |
0 |
Счёт |
— |
— |
— |
0 |
Проверка А на 0 |
096 |
РР:=!РР+П |
1 |
ПА(096) |
INC2/INC1 |
— |
— |
0 |
—"— |
097 |
— |
0 |
ПА(09а) |
— |
— |
— |
0 |
А≠0; Переход в 09а |
098 |
РР:=РОН1+П |
0 |
Счёт |
— |
— |
— |
0 |
С:=0 |
099 |
РОН2:=РР+П |
0 |
ПА(0d5) |
— |
— |
— |
0 |
—"—; Переход в |
09a |
РР:=РОН0+П |
0 |
Счёт |
— |
— |
— |
0 |
Проверка В на 0 |
09b |
РР:=!РР+П |
1 |
ПА(09b) |
INC2/INC1 |
— |
— |
0 |
—"— |
09c |
— |
0 |
ПА(09е) |
— |
— |
— |
0 |
В≠0; Переход в 09e |
09d |
РОН3:=РОН3+П |
1 |
ПА(0d5) |
— |
— |
— |
0 |
БС:=00..001. Переход в |
09e |
РОН4:=ШИНвх |
0 |
Счёт |
— |
— |
Чтение(2) |
0 |
Действие:="–" |
09f |
РОН5:=ШИНвх |
0 |
ПА(0а1) |
— |
— |
Чтение(5) |
0 |
Сч:=10. Прыжок |
0a0 |
— |
0 |
ПА(0сf) |
— |
— |
— |
0 |
Переход к А&В |
0a1 |
РР:=РОН0+П |
0 |
Счёт |
— |
— |
— |
0 |
Формирование знака С |
0a2 |
РР:=РОН1 xor РР |
0 |
Счёт |
— |
— |
— |
0 |
—"— |
0a3 |
РР:=ШИНвх & РР |
0 |
Счёт |
— |
— |
Чтение(3) |
0 |
—"— |
0a4 |
РОН6:=РР+П |
0 |
Счёт |
— |
— |
— |
0 |
Запись знака С |
0a5 |
РР:=РОН1+П |
0 |
Счёт |
— |
— |
— |
0 |
Формирование Вдоп |
0a6 |
РР:=ШИНвх or РР |
0 |
Счёт |
— |
— |
Чтение(3) |
0 |
—"— |
0a7 |
РР:=ШИНвх хor РР |
0 |
Счёт |
— |
— |
Чтение(6) |
0 |
—"— |
0a8 |
РОН6:=РР+П |
1 |
Счёт |
— |
— |
— |
0 |
—"— |
0a9 |
РР:=РОН0+П |
0 |
Счёт |
— |
— |
— |
0 |
|А| |
0aa |
РР:=ШИНвх & РР |
0 |
Счёт |
— |
— |
Чтение(6) |
0 |
—"— |
0ab |
РОН0:=РР+П |
0 |
Счёт |
— |
— |
— |
0 |
Запись |А| |
0ac |
РР:=РОН1+П |
0 |
Счёт |
— |
— |
— |
0 |
|B| |
0ad |
РР:=ШИНвх & РР |
0 |
Счёт |
— |
— |
Чтение(6) |
0 |
—"— |
0ae |
РОН1:=РР+П |
0 |
Счёт |
— |
— |
— |
0 |
Запись |B| |
0af |
РР:=РОН0+П |
0 |
Счёт |
— |
— |
— |
0 |
|А|<|В|? |
0b0 |
РР:=РР-РОН1-1+П |
1 |
Счёт |
— |
— |
— |
0 |
|А|–|В| |
0b1 |
РР:=ШИНвх+РР+П |
0 |
ПА(0b1) |
INC1/INC2 |
— |
Чтение(2) |
0 |
|А|<|В|? |
0b2 |
— |
0 |
ПА(0b5) |
— |
— |
— |
0 |
|А|<|В. Переход в 0b5 |
0b3 |
РОН3:=РОН3+П |
1 |
Счёт |
— |
— |
— |
0 |
БС:=00..0010 |
0b4 |
РОН3:=РОН3+П |
1 |
ПА(0d5) |
— |
— |
— |
0 |
БС:=00..0010.Переход в |
0b5 |
РР:=РОН0+П |
0 |
Счёт |
— |
— |
— |
0 |
Сдвиг А |
0b6 |
РР:=СЛЛ(РР+П) |
0 |
Счёт |
— |
— |
— |
0 |
—"— |
0b7 |
РОН0:=РР+П |
0 |
Счёт |
— |
— |
— |
0 |
Запись А |
0b8 |
РР:=РОН2+П |
0 |
Счёт |
— |
— |
— |
0 |
Сдвиг С |
0b9 |
РР:=СЛЛ(РР+П) |
0 |
Счёт |
— |
— |
— |
0 |
—"— |
0ba |
РОН2:=РР+П |
0 |
Счёт |
— |
— |
— |
0 |
Запись С |
0bb |
РР:=РОН4+П |
0 |
Счёт |
— |
— |
— |
0 |
Действие? |
0bc |
РР:=РОН4+РР+П |
0 |
ПА(0bc) |
INC2/INC1 |
— |
— |
0 |
Действие? |
0bd |
— |
0 |
ПА(0с2) |
— |
— |
— |
0 |
Действие="+". Переход в 0с2 |
0be |
РР:=РОН0+П |
0 |
Счёт |
— |
— |
— |
0 |
А–В |
0bf |
РР:=РР+РОН6+П |
0 |
ПА(0с1) |
— |
— |
— |
0 |
А–В.Прыжок |
0c0 |
— |
0 |
ПА(0d2) |
— |
— |
— |
0 |
Переход к А or В |
0c1 |
РОН0:=РР+П |
0 |
ПА(0с5) |
— |
— |
— |
0 |
Запись А–В. Переход в 0с3 |
0c2 |
РР:=РОН0+П |
0 |
Счёт |
— |
— |
— |
0 |
А+В |
0c3 |
РР:=РР+РОН6+П |
0 |
Счёт |
— |
— |
— |
0 |
А+В |
0c4 |
РОН0:=РР+П |
0 |
Счёт |
— |
— |
— |
0 |
Запись А+В |
0c5 |
РР:=СЦЛ(РР+П) |
0 |
Счёт |
— |
— |
— |
0 |
Формирование С[0] |
0c6 |
РР:=!РР+П |
0 |
Счёт |
— |
— |
— |
0 |
Формирование С[0] |
0c7 |
РР:=ШИНвх & РР |
0 |
Счёт |
— |
— |
Чтение(7) |
0 |
Формирование С[0] |
0c8 |
РОН2:=РОН2+РР+П |
0 |
Счёт |
— |
— |
— |
0 |
Запись С[0] |
0c9 |
РР:=СЦП(РР+П) |
0 |
Счёт |
— |
— |
— |
0 |
Формирование нового Действия |
0ca |
РОН4:=РР+П |
0 |
Счёт |
— |
— |
— |
0 |
Запись нового Действия |
0cb |
РОН5:=РОН5-РР-1+П |
0 |
Счёт |
— |
— |
— |
0 |
Сч:=Сч–1 |
0сс |
РР:=РОН5+П |
0 |
ПА(0cс) |
INC2/INC1 |
— |
— |
0 |
Сч=0? |
0cd |
— |
0 |
ПА(0b5) |
— |
— |
— |
0 |
Сч≠0. Переход в 0b5 |
0ce |
— |
0 |
ПА(092) |
— |
— |
— |
0 |
Переход в 092 |
0cf |
РР:=РОН0+П |
0 |
Счёт |
— |
— |
— |
0 |
А&В |
0d0 |
РР:=РР & РОН1 |
0 |
Счёт |
— |
— |
— |
0 |
А&В |
0d1 |
РОН2:=РР+П |
0 |
ПА(0d5) |
— |
— |
— |
0 |
А&В |
0d2 |
РР:=РОН0+П |
0 |
Счёт |
— |
— |
— |
0 |
А or В |
0d3 |
РР:=РР or РОН1 |
0 |
Счёт |
— |
— |
— |
0 |
А or В |
0d4 |
РОН2:=РР+П |
0 |
Счёт |
— |
— |
— |
0 |
А or В |
0d5 |
ШИНвых:=РОН3 |
0 |
Счёт |
— |
М2=М3 |
— |
1 |
Выдача БС |
0d6 |
— |
0 |
Счёт |
SD |
М3=М1 |
— |
0 |
Ожидание СД |
0d7 |
ШИНвых:=РОН2 |
0 |
Счёт |
— |
М2=М3 |
— |
1 |
Выдача С |
0d8 |
— |
0 |
Счёт |
SD |
М3=М1 |
— |
0 |
Ожидание СД |
0d9 |
— |
0 |
ПА(001) |
— |
— |
— |
0 |
Конец? |
Пояснения к микропрограмме работы микроЭВМ
Адреса представлены в шестнадцатеричной системе счисления.
В КМИ БМП расположены мнемоники процессора К584. Знаком "–" обозначена "пустая операция" — РР:=РР+П.
В П расположен входной перенос БМП. (При "пустой операции" П должен быть равен нулю).
Мнемоника в КМИ БМУ:
Мнемокод команды |
Двоичный код команды (10..23) |
Примечания |
Счёт |
00 0000000000 10 |
Естественная адресация |
ПА (Адрес) |
00 |Адрес(10 бит)| 01 |
Принудительная адресация |
D=PK, Счёт |
01 0000000000 10 |
Сохранение шины данных в регистре команд(РК) и естественная адресация |
ПА{КОп} |
00 0011101000 11 |
Адресация по старшему байту регистра команд (АБ) |
ПА{В[1,0],РС1} |
00 0000011101 11 |
Адресация по старшему байту регистра команд (АДМ) |
ПА{В[1,0],РС0} |
00 0000100001 11 |
Адресация по старшему байту регистра команд (АДМ) |
D=PK, ПА (Адрес) |
00 |Адрес(10 бит)| 01 |
Сохранение шины данных в регистре команд(РК) и принудительная адресация |
Мнемоника в КМИ МЛУ:
Мнемокод команды |
Двоичный код команды (24..25) |
Примечания |
– |
000 |
А (+0) |
SD |
001 |
Если SD =1, то А (+1), иначе А (-1) |
INC1/INC2 |
010 |
Если INC1/INC2=1, то А (+1), иначе А (+2) |
INC2/INC1 |
011 |
Если INC2/INC1=1, то А (+2), иначе А (+1). |
*А — адрес который выработает БМУ без этого условия.
Мнемоника в КМИ МПП:
Мнемокод команды |
Двоичный код команды (26..33) |
Примечания |
М3=М1 |
11110010 |
Передача информации из магистрали М3 в магистраль М1 |
М3=М2 |
01001111 |
Передача информации из магистрали М3 в магистраль М2 |
– |
11111111 |
Нет операции |
М2=М3 |
01011111 |
|
Мнемоника в КМИ ПЗУ:
Мнемокод команды |
Двоичный код команды (34..37) |
Примечания |
– |
0 000 |
Отсутствие операции |
Чтение(1) |
1 000 |
Чтение по адресу 000 (0) |
… |
… |
… |
Чтение(7) |
1 110 |
Чтение по адресу 110 (6) |
В ГОТ расположен бит выдачи сигнала готовности.
Влияние МЛУ на формирование адреса:
Команда М1 М0
"—" 0 0
"SD" 0 0(1)
"INC1/INC2" 0(1) 0
"INC2/INC1" 1(0) 0
Расшифровка байта сообщений(БС):
Код |
Значение |
00000000 |
Ошибок нет |
10000000 |
Переполнение при сложении(вычитании) |
00000001 |
Деление на 0 |
00000010 |
Делитель меньше делимого |