Министерство высшего и среднего специального образования
Пензенский Государственный Университет
Изучение микропроцессорного комплекса
К1804 и микроЭВМ на его основе
Описание лабораторных работ
Пенза 1989
И 38
Приводится описание лабораторных по изучению секционированных микропроцессорных БИС комплекта К1804 и принципов построения и микропрограммирования микроЭВМ на его основе. Выполнение работ предполагается на серийно выпускаемом микротренажере МТ-1804.
Описание подготовлено на кафедре вычислительной техники и предназначено для студентов специальности 22.01, изучающих дисциплину “Теория и проектирование ЭВМ и систем”.
Составители: Н.Н. Коннов, канд. тех. наук, доц.,
Е.И. Гурин, канд. тех. наук, и.о. доц.
Рецензент: Н.М. Бутаев, канд. тех. наук, начальник отдела НИИ.
Цель лабораторных работ: изучение структуры, принципов работы БИС секционированных микропроцессоров комплекта К1804 и микроЭВМ на их основе.
Описание лабораторной установки
Общая характеристика микропроцессорного комплекта К1804
Комплект относится к классу так называемых секционированных микропроцессоров, которые не имеют заранее фиксированной системы команд и разрядности обрабатываемых слов, чем отличаются от однокристальных микропроцессоров (например, комплекта К-580). БИС, входящие в состав комплекта, реализуют не целиком процессор универсальной ЭВМ, а лишь его отдельные части(секции): арифметико-логическое устройство, блок микропрограммного управления, интерфейсные схемы и др.; кроме того, программирование ведется на микропрограммном уровне, что обеспечивает большую гибкость логической организации систем, построенных на основе комплекта К1804. Высокое быстродействие БИС комплекта, выполненных на схемотехнической базе стандартной транзисторно-транзисторной логики с диодами Шотки(ТТЛШ), обеспечивают широкое применение комплекта К1804 для построения высокопроизводительных управляющих и вычислительных систем (до нескольких млн. оп/с). Состав основные технические характеристики комплекта приведены в таблице 1.Изучение архитектуры, основ микропрограммирования и принципов применения комплекта К1804 ведется на микротренажере МТ-1804, который представляет собой простую 4-разрядную микроЭВМ с типовой структурной организацией.
Таблица 1.
Обозначение микросхем |
Функциональное назначение микросхем |
Количество выводов микросхем |
К1804ВС1 |
МП-секция |
40 |
К1804ВР1 |
Схема ускоренного переноса |
16 |
К1804ВУ1 |
Схема управления адресом микрокоманд |
28 |
К1804ВУ3 |
Схема управления следующим адресом |
16 |
К1804ИР1 |
Регистр |
16 |
Операционный узел микротренажера
Структурная схема микротренажера приведена на рис.1. Функционально микротренажер делится на два узла: операционный и узел управления.
В операционном узле выполняется обработка данных. Операционный узел содержит: БИС процессорной секции К1804ВС1; 4-разрядный регистр состояний и мультиплексор признаков (флагов) состояний; мультиплексор сдвига, регистр выходных данных.
Структура процессорной секции К1804ВС1 приведена на рис.2. Секция представляет собой четырехразрядную обрабатывающую часть универсального процессора и содержит: регистровое ЗУ емкостью в 16 четырехразрядных чисел (ячейки ЗУ в дальнейшем будем называть регистрами общего назначения РОН); комбинационное арифметическо-логическое устройство (АЛУ); дополнительный регистр PQ; комбинационные схемы сдвигов РОН (СДРОН) и регистра Q (СДQ); мультиплексор источника операнда АЛУ (MS1); мультиплексор выходных данных (MS2); дешифраторы ДС1, ДС2, ДС3.
Входные и выходные сигналы микросхемы К1804ВС1 имеют следующее назначение: А[3/0], В[3/0], - сигналы адресов А и В. Служат для выбора одного из 16 регистров РОН; I[8/0] – сигналы режима работы микросхемы, D[3/0] – входные данные; Y[3/0] - выходные данные; – разрешение выдачи результата; C0, C4 – вход и выход цепи последовательного переноса; и – сигналы пропускания и генерации переноса для схем ускоренного переноса; F3 – старший разряд результата АЛУ (знаковый); OVR – переполнение; Z – признак нулевого результата (F[3/0] = 0000); PR0, PR3, PQ0, PQ3 – сигналы, необходимые для организации сдвига информации, записываемой в РОН и PQ.
АЛУ служит для выполнения арифметических операций над кодами R и S, поступающими на его входы. На выходе АЛУ формируется код результата F[3/0], а также сигналы признаков и переносов (см. рис.2).
Шестнадцать РОН и PQ необходимы для временного хранения промежуточных результатов. Адресация регистров общего назначения РОН производится четырехразрядными сигналами A[3/0] и B[3/0] по двум каналам А и В. По каналу В может производиться запись и чтение данных, а по каналу А – только чтение.
Схемы сдвигов СДРОН и СДQ обеспечивают сдвиг на 1 разряд вправо или влево информации при записи в РОН и PQ, а также запись без сдвига. Мультиплексор MS1 обеспечивает выбор двух операндов R и S на входы АЛУ из четырех сигналов D[3/0], А[3/0], В[3/0], RQ[3/0]. Мультиплексор MS2 пропускает на выход Y[3/0] либо A[3/0], либо F[3/0]. Задание режима работы микропроцессорной секции К1804ВС1 производится девятиразрядным кодом I[8/0], который разбивается на три части: I[8/6], I[5/3], I[2/0].
Код I[5/3] задает операцию в АЛУ над операндами R и S в соответствии с таблицей 2, из которой видно, что АЛУ может выполнять три арифметические операции (операции 1-3) и 5 логических операций (операции 4-8). При выполнении арифметических операций числа представляются в дополнительном коде со знаком с учетом значения входного переноса C0. Так, например, если складываются два числа: 1110 (-210) и 1101 (-310), и если С0 =0, то получится результат 1011 (-510). При этом перенос из старшего разряда С3 будет равняться единице. Логические операции выполняются поразрядно. Выходы ускоренных переносов и используются для работы со схемой ускоренного переноса 1804ВР1 (в микротренажере она не используется).
Код I[2/0] управляет работой мультиплексора MS1 и задает источники операндов, которые поступают на входы R и S, в соответствии с таблицей 3. Рассмотрим несколько примеров.
Пример 1. Пуст I[5/3] = 000, I[2/0] = 001. Из таблицы 2 находим, что I[5/3] = 000=08 и задает операцию R+S+C0, а из таблицы 3 находим, что при I[2/0] = 001=18 в качестве R выступает A, а в качестве S – B. Следовательно, на выходе АЛУ будет фиксироваться код F, равный A+B+C0, где А и В – коды, поступающие из регистров общего назначения, адреса которых задаются соответственно сигналами A[3/0], B[3/0] (см. рис. 2).
Пример 2. Пусть I[5/3]=010, что определяет необходимость выполнения операции R-S-1+C0 (см. табл. 2), а I[2/0]=111. В соответствии с последним кодом в качестве R и S выступают D и O; следовательно, на выходе АЛУ будет формироваться код F=D-O-1+C0.
Таблица 2.
Номера операций |
Двоичный код 15 14 13 |
Восьмеричный код |
Операция в АЛУ |
1 |
0 0 0 |
0 |
R+S+C0 |
2 |
0 0 1 |
1 |
S-R-1+C0 |
3 |
0 1 0 |
2 |
R-S-1+C0 |
4 |
0 1 1 |
3 |
RvS |
5 |
1 0 0 |
4 |
R*S |
6 |
1 0 1 |
5 |
*S |
7 |
1 1 0 |
6 |
RÅ S |
8 |
1 1 1 |
7 |
____ RÅ S |
Таблица 3.
Номера операций |
Двоичный код 12 11 10 |
Восьмеричный код |
Источники операндов |
|
R |
S |
|||
1 |
0 0 0 |
0 |
A |
Q |
2 |
0 0 1 |
1 |
A |
B |
3 |
0 1 0 |
2 |
O |
Q |
4 |
0 1 1 |
3 |
O |
B |
5 |
1 0 0 |
4 |
O |
A |
6 |
1 0 1 |
5 |
D |
A |
7 |
1 1 0 |
6 |
D |
Q |
8 |
1 1 1 |
7 |
D |
O |
Если C0=0, то на выходе АЛУ будет вырабатываться код F=D-1; если C0=1, — то вырабатывается код F=D+0.
Сигналы I[8/6] управляют результатом: выдачей результата на шины Y[3/0], записью в регистры Q и B (со сдвигом или без сдвига), сдвигом информации в регистре Q. Управление результатом осуществляется в соответствии с табл.4. Рассмотрим следующие примеры:
Пример 1. I[8/6]=000. Результат с выхода АЛУ записывается в PQ, на выход Y выдается код с выхода АЛУ.
Пример 2. I[8/6]=010. Результат с выхода АЛУ записывается в РОН, адрес которого указывается сигналами B[3/0]. На выход Y выдается содержимое РОН, адрес которого указан сигналами A[3/0].
Пример 3. I[8/6]=100. Информация с выхода АЛУ записывается в РОН по адресу B[3/0] со сдвигом на 1 разряд вправо, содержимое PQ сдвигается вправо на 1 разряд. На выход Y выдается код с выхода АЛУ.
Таблица 4.
Номера операций |
Двоичный код 18 17 16 |
Восьмеричный код |
Загрузка |
Выход |
1 |
0 0 0 |
0 |
F® Q |
F |
2 |
0 0 1 |
1 |
Нет загрузки |
F |
3 |
0 1 0 |
2 |
F® B |
A |
4 |
0 1 1 |
3 |
F® B |
F |
5 |
1 0 0 |
4 |
F/2® B;Q/2® Q |
F |
6 |
1 0 1 |
5 |
F/2® B |
F |
7 |
1 1 0 |
6 |
2F® B;2Q® Q |
F |
8 |
1 1 1 |
7 |
2F® B |
F |
Микрооперации сдвигов выполняются комбинационными схемами СДРОН и СДQ, выполняющими передачу кодов F[3/0] с выхода АЛУ либо без смещения, либо со смещением в сторону младших разрядов (сдвиг вправо). Примеры работы двигателя СДРОН приведены на рис.3. Двигатель СДQ работает аналогично. При формировании значений крайних разрядов результата сдвига (разряда “0” при левом сдвиге и разряда “3” при правом) используются значения внешних сигналов PR0, PR3, PQ0, PQ3. Эти же сигналы могут принимать значения “выталкиваемых” разрядов (рис. 3). На рис. 3, а, б, в показаны соответственно передачи информации без сдвига, со сдвигом влево, со сдвигом вправо.
Для выполнения сдвигов различных типов (арифметических, циклических и др.) с помощью внешних схем организуется коммутация информации на двунаправленных шинах PR и PQ. В узле обработки коммутация выполняется посредством двух мультиплексоров K555КП12, имеющих трехстабильные выходы.
Мультиплексорами управляют два специальных сигнала S1 и S2 и разряд 17 кода микрокоманды процессорной секции, определяющий направление сдвига (рис. 4). Правила коммутации иллюстрирует рис.5.
При выполнении операций в АЛУ формируется 4 признака, которые заносятся на регистр состояния (РСТ) и могут программно опрашиваться с помощью мультиплексора флагов для организации переходов по условию. Значения разрядов PCT зависят от следующих признаков:
РСТ[0] — z ; РСТ[1] — F3
РСТ[2] — OVR ; РСТ[3] — C4
Формирование очередных значений РСТ происходит в каждом такте, за исключением микрокоманд условных переходов, на которых содержимое РСТ не меняется.
УЗЕЛ УПРАВЛЕНИЯ МИКРОТРЕНАЖЕРА
Запись и хранение микропрограмм работы устройства, выработку управляющих сигналов и данных в узел обработки, а также управление использованием последовательности микрокоманд выполняет узел, который включает в себя: БИС управления адресом микрокоманды К1804ВУ1; память микропрограмм емкостью 16 32-разрядных кодов; 32-разрядный регистр микрокоманд; мультиплексор флагов (MSF); схему управления выборкой следующего адреса, представляющую собой ПЗУ емкостью 32х8 бит; схему управления синхронизацией, вырабатывающую синхросигналы; органы управления и контроля за работой микротренажера.
Программирование работы устройства выполняется на микропрограммном уровне. Формат микрокоманд показан в табл. 5, в которой имеются следующие обозначения: D — входные данные; B — адрес РОН по каналу B; A — адрес РОН по каналу А; АЛУ — код управления функцией АЛУ; S1, S2 — биты управления операциями сдвига; С0 — входной перенос в АЛУ; I0, …, I8 — управление центральной процессорной секцией; P0, …, P3 — управление выборкой следующего адреса. Назначение отдельных разрядов приведено в табл. 6. Как видно из этих таблиц, разряды 0-23 микрокоманды используются для управления операционным узлом (в основном задают сигналы в секцию К1804ВС1), а разряды 24-31 используются для кодирования адреса следующей микрокоманды и используются для секции К1804ВУ1, являющейся ядром узла управления.
Таблица 5.
Положение переключателя мультиплексора |
Номера битов |
Назначение битов |
Определение полей микрокоманд |
7 |
31 30 29 28 |
R1 R2 R1 R0 |
Адрес перехода |
6 |
27 26 25 24 |
P3 P2 P1 P0 |
Управление следующим адресом |
5 |
23 22 21 20 |
S2 |
S2 |
I8 I7 I6 |
Управление приемником результата |
||
4 |
19 18 17 16 |
S1 |
S1 |
I2 I1 I0 |
Источник операндов |
||
3 |
15 14 13 12 |
C0 |
C0 |
I5 I4 I3 |
АЛУ |
||
2 |
11 10 9 8 |
A3 A2 A1 A0 |
A |
1 |
7 6 5 4 |
B3 B2 B1 B0 |
B |
0 |
3 2 1 0 |
D3 D2 D1 D0 |
D |
Структурная схема секции К1804ВУ1 показана на рис. 6. Эта схема обеспечивает формирование адреса очередной микрокоманды, генерируя 4-разрядный адрес. Схема содержит: регистр адреса РА; мультиплексор адреса MSA; счетчик микрокоманд (СМК), включающий регистр счетчика микрокоманд (РСМК) и инкрементор ИНК; схему маскирования на 4 элементах ИЛИ; буферную схему с трехстабильным выходом БУ; стек емкостью 4 четырехразрядных чисел.
На рис. 6 показаны также входные и выходные сигналы для схемы управления: D[3/0] — сигналы на прямых входах адреса, которые могут использоваться для задания адреса следующей микрокоманды; R[3/0] — сигналы на входах регистра адреса. Данные сигналы имеются только в микросхеме К1804ВУ1. В микросхеме К1804ВУ2 они отсутствуют: OR[3/0] — сигналы маски имеются только в микросхеме К1804ВУ1. В микросхеме К1804ВУ2 они отсутствуют: — сигнал разрешения записи в РА; — сигнал установки нулевого адреса; S0, S1 — сигналы управления мультиплексором; —сигнал разрешения вывода информации из схемы управления адресом микрокоманд (СУАМ); , PUP — сигналы управления стеком; C0, C4 — сигналы входного и выходного переносов; Т — тактовый сигнал; Y[3/0] — выходные сигналы.
Мультиплексор выбирает источник адреса следующей микрокоманды в зависимости от значения сигналов S0, S1 (табл.7,а). Сигнал с выхода мультиплексора может маскироваться на схеме ИЛИ сигналом OR[3/0]. Эта операция производится только для К1804ВУ1, при использовании К1804ВУ2 эта возможность отсутствует. Сигнал =0 устанавливает нулевой сигнал на выходе схемы И. Выходной сигнал Y[3/0] клапанируется сигналом . Управление выходными сигналами показано в табл. 7,б.
Регистр адреса РА может использоваться для временного хранения адреса, принятого по шинам R[3/0] (для микросхемы К1804ВУ2 — по шинам D[3/0]).
Регистр РСМК и инкрементор ИНК в совокупности представляют собой счетчик микрокоманд. При С0=1 содержимое РСМК увеличивается на единицу, при С0=0 оно не изменяется.
Стек имеет глубину 4 слова. Он может использоваться для обращения к подпрограммам, когда необходим переход с возвратом. Управление стеком производится сигналами и PUP. При это возможны жимы работы стека: увеличение указателя стека и запись (=0, PUP=1); уменьшение указателя стека и считывание (=0, PUP=0); считывание без изменения указателя стека (=0,PUP=0v1).
Таблица 6.
Номера битов |
Назначение разрядов |
0 – 3 |
Входные данные в АЛУ |
4 – 7 |
Адрес B |
8 – 11 |
Адрес A |
12 – 14 |
Функция АЛУ |
15 |
Значение входного переноса С0 |
16 – 18 |
Определение источника операнда для АЛУ |
19 |
Разряд MS1 управления мультиплексора сдвига |
20 – 22 |
Управление приемников результата операции |
23 |
Разряд MS2 управления мультиплексора сдвига |
24 – 27 |
Управление выборкой следующего адреса микрокоманда |
28 – 31 |
Адрес перехода |
Таблица 7.
S1 |
S0 |
y |
ORi |
_ Z |
__ OE |
yi |
__ FE |
PUP |
Операция |
||
0 |
0 |
РСМК |
Х |
Х |
1 |
- |
1 |
Х |
Стек отключен |
||
0 |
1 |
РА |
Х |
0 |
0 |
0 |
0 |
1 |
PUSH содержимое СМК заталкивается в стек |
||
1 |
0 |
СТО |
1 |
1 |
0 |
1 |
1 |
0 |
POP циклический сдвиг содержимого стека |
||
1 |
1 |
D |
0 |
1 |
0 |
* |
а) б) в)
* — источник выбирает S1, S0.
Управление работой стека показано в табл. 7, в. Все возможные воздействия сигналов S1, S0, , PUP приведены в табл.8.
Основные функции по управлению следующим адресом выполняют сигналы S1, S0, , PUP. Они определяют адрес и содержимое регистров.
Рассмотрим примеры работы схемы управления адресом при С0=1. Будем считать, что содержимое РСМК=j, РА=k, верхняя ячейка (СТ0) содержит слово RA. Остальные ячейки стека обозначены как СТ1, СТ2, СТ3.
Пусть S1=0; S0=1; =1; PUP=0 или 1. Сигналы S1 и S0 обеспечивают передачу на выход содержимого PA. Так как =1, то стек отключен, поэтому в следующем такте содержимое стека не изменяется. Содержимое РСМК в следующем такте будет увеличено на единицу.
Пусть S1=0, S0=1, =0, PUP=1. Так как и в предыдущем примере S1=0, S0=1, следовательно, через мультиплексор будет проходить содержимое РА, т.е. Y=K, а в следующем такте на выходе РСМК будет слово K+1. Так как =0, то стек включен; причем PUP=1 задает режим записи в стек, при этом все содержимое стека будет сдвинуто на один разряд, а крайнее слово потеряется (“вытолкнется” из стека).
Пусть S1=0, S0=0, =0, PUP=0. Такое сочетание сигналов задает операцию чтения информации из стека. Указатель стека уменьшается на единицу.
Операции с адресом по сигналам S1, S0, , PUP позволяют реализовать различные варианты вычисления адреса следующей микрокоманды (см. табл. 8).
Для упрощения микропрограммирования в поля кода микрокоманды, отводимой для БИС К1804ВУ1, записывают не значения комбинаций сигналов S1, S0, , PUP, а код номера P[3/0] одного из 16 возможных переходов к адресу следующей микрокоманды. Этот код поступает в ПЗУ емкостью 32х8, реализованные на ИС К155РЕ3, запрограммированной в соответствии с табл. 9, в которой Q0 — сигнал PUP, т.е. сигнал, который управляет стеком БИС К1804ВУ1; Q1 — сигнал , т.е. сигнал разрешения работы стека БИС К1804ВУ1; Q2 — сигнал S1, т.е. первый разряд управления мультиплексором БИС К1804ВУ1; Q2 — сигнал S0, т.е. нулевой разряд управления мультиплексором БИС К1804ВУ1; Q4, Q5, Q6 — сигналы маски OR0, OR1, OR2 БИС К1804ВУ1; Q7 — управляет регистром состояния; Х — произвольный логический уровень. Постоянное запоминающее устройство (ПЗУ) вырабатывает комбинации управляющих сигналов в схему К1804ВУ1 и в другие схемы микротренажера, обеспечивающие выполнение заданного набора функций перехода в соответствии с табл. 10.
Код P[3/0] управляет также мультиплексором флагов MSF, формирующим сигнал признаков условий по значению регистра РСТ. Этот сигнал непосредственно подается на младший разряд адреса ПЗУ и управляет адресом перехода.
Таблица 8.
Такты работы устройства |
Управляющие сигналы S1 S0 FE PUP |
Содержимое регистров |
Выполняемые операции |
||||||
СМК |
РА |
СТ0 |
СТ1 |
СТ2 |
СТ3 |
Y |
|||
N N+1 |
0 0 0 0 |
j j+1 |
K K |
RA RB |
RB RC |
RC RD |
RD RA |
j – |
POP |
N N+1 |
0 0 0 1 |
j j+1 |
K K |
RA j |
RB RA |
RC RB |
RD RC |
j – |
Запись РСМК в стек |
N N+1 |
0 0 1 X |
j j+1 |
K K |
RA RA |
RB RB |
RC RC |
RD RD |
j – |
Переход к следующей микрокоманде |
N N+1 |
0 1 0 0 |
j k+1 |
K K |
RA RB |
RB RC |
RC RD |
RD RA |
k – |
POP. Переход на адрес из РА |
N N+1 |
0 1 0 1 |
j k+1 |
K K |
RA j |
RB RA |
RC RB |
RD RC |
k – |
Запись РСМК в стек. Переход на адрес из РА |
N N+1 |
0 1 1 X |
j k+1 |
K K |
RA RA |
RB RB |
RC RC |
RD RD |
k – |
Переход на адрес из РА |
N N+1 |
1 0 0 0 |
j RA+1 |
K K |
RA RB |
RB RC |
RC RD |
RD RA |
RA – |
Переход на адрес из СТ0, РОР |
N N+1 |
1 0 0 1 |
j RA+1 |
K K |
RA j |
RB RA |
RC RB |
RD RC |
RA – |
Переход на адрес из СТ0, запись РСМК в стек |
N N+1 |
1 0 1 X |
j RA+1 |
K K |
RA RA |
RB RB |
RC RC |
RD RD |
RA – |
Переход на адрес из СТ0 |
N N+1 |
1 1 0 0 |
j D+1 |
K K |
RA RB |
RB RC |
RC RD |
RD RA |
D – |
РОР, переход на адрес из D |
N N+1 |
1 1 0 1 |
j D+1 |
K K |
RA j |
RB RA |
RC RB |
RD RC |
D – |
Переход на адрес D. Запись РСМК в стек |
N N+1 |
1 1 1 X |
j D+1 |
K K |
RA RA |
RB RB |
RC RC |
RD RD |
D – |
Переход на адрес D |
Таблица 9.
Разряды адресов в ПЗУ |
Выходной код |
||||||||||||
A4 |
A3 |
A2 |
A1 |
A0 |
Q7 |
Q6 |
Q5 |
Q4 |
Q3 |
Q2 |
Q1 |
Q0 |
|
Коды |
Разряды |
||||||||||||
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
X |
|
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
X |
|
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
X |
|
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
X |
|
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
X |
|
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
X |
|
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
X |
|
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
X |
|
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
|
0 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
X |
|
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
|
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
|
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
|
0 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
|
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
X |
|
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
X |
|
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
X |
|
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
|
1 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
|
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
1 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
1 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
X |
|
1 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
X |
|
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
X |
|
1 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
X |
|
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
X |
|
1 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
X |
|
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
X |
|
1 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
X |
|
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
X |
Таблица 10.
Номера операций |
Регистры |
Функции БМУ |
Р3 Р2 Р1 Р0 |
||
1 |
0 0 0 0 |
Переход на РМК, если F¹ 0 |
2 |
0 0 0 1 |
Переход на адрес из РМК |
3 |
0 0 1 0 |
Продолжить |
4 |
0 0 1 1 |
Переход на адрес по значению тумблеров “Адрес” |
5 |
0 1 0 0 |
Переход к подпрограмме, если F¹ 0 |
6 |
0 1 0 1 |
Переход к подпрограмме |
7 |
0 1 1 0 |
Возврат из подпрограммы |
8 |
0 1 1 1 |
Переход к стеку |
9 |
1 0 0 0 |
Окончить цикл и “вытолкнуть” из стека, если F=0 |
10 |
1 0 0 1 |
Загрузить стек |
11 |
1 0 1 0 |
“Вытолкнуть” из стека |
12 |
1 0 1 1 |
Окончить цикл и “вытолкнуть” из стека, если С4 |
13 |
1 1 0 0 |
Переход на адрес из РМК, если F=0 |
14 |
1 1 0 1 |
Переход на адрес из РМК, если F3 |
15 |
1 1 1 0 |
Переход на адрес из РМК, если 0vR |
16 |
1 1 1 1 |
Переход на адрес из РМК, если C4 |
Память микрокоманд выполнена на 8 ИС 155РУ2 и может работать как на запись кодов разрядов микрокоманд, выполняемую потетрадно с набирателей пульта управления микротренажера в режиме ЗАГРУЗКА, так и на чтение 32-разрядных кодов микрокоманд с их занесением на регистр РМК. Адрес обращения к памяти устанавливается в режиме ЗАГРУЗКА набирателем АДРЕС, а в режиме РАБОТА формируется БИС К1804ВУ1.
Схема управления синхронизацией вырабатывает тактовые сигналы, которые поступают в остальные схемы тренажера. Устройство работает в двух режимах: пошаговом и автоматическом.
При первом режиме тактирование осуществляется от генератора одиночных импульсов при нажатии переключателя ПУСК. При втором режиме тактирование выполняет внутренний тактовый генератор с частотой не выше 2 МГц, подключение которого осуществляется через клемму XP4. Органы управления и контроля за работой микротренажера включают в себя переключатели и набиратели на пульте и плате устройства, используемые для задания режимов его работы и управления программированием и выполнением задач, и 3,4-разрядных индикатора и мультиплексоры: ДАННЫЕ, МИКРОКОМАНДА и ПАМЯТЬ, используемые для контроля за работой микротренажера. Светодиодные индикаторы ПАМЯТЬ и МИКРОКОМАНДА через мультиплексоры осуществляют потетрадную индикацию состояний выхода схем памяти и регистра микрокоманд. Номер выводимых на индикацию тетрад задает трехразрядный набиратель МУЛЬТИПЛЕКСОР. Индикатор ДАННЫЕ может подключатся к различным точкам устройства согласно таблице 11.
Таблица 11
Положение переключателей |
Разряды индикаторов данных |
Контролируемые точки устройства |
|||
12 |
11 |
10 |
9 |
||
000 |
Y3 |
Y2 |
Y1 |
Y0 |
Выход К1804ВУ1 |
001 |
Y3 |
Y2 |
Y1 |
Y0 |
Выход К1804ВС1 |
010 |
C4 |
OVR |
F3 |
Z |
Флаги К1804ВС1, C4 - выходной перенос счетчика МК |
011 |
C4 |
CCE |
|
ССЕ – выход коммутатора флагов состояния; , – сигналы генерации ускорения переноса |
|
100 |
ST3 |
ST2 |
ST1 |
ST0 |
Выход регистра состояния |
101 |
PQ3 |
PQ2 |
PQ1 |
PQ0 |
Входы/выходы сдвига К1804ВС1 |
110 |
Y4 |
Y3 |
Y2 |
Y1 |
Выход регистра выходных данных К1804ИР1 |
111 |
Q4 |
Q3 |
Q2 |
Q1 |
Выход стремя состояниями регистра выходных данных |
Органы управления микротренажера включают в себя 4-разрядные набиратели АДРЕС (SA8 – SA11) и ДАННЫЕ (SA4 – SA7), 3-разрядный набиратель МУЛЬТИПЛЕКСОР (SA1 – SA3), переключатель режимов ЗАГРУЗКА/РАБОТА (SA12) кнопки ЗАГРУЗКА (SB1) и ПУСК (SB2). Кроме того непосредственно на плате микротренажера установлены переключатели режимов работы ШАГ/АВТОМАТ (SA13) и генератора синхросигналов ВНУТРЕННИЙ/ВНЕШНИЙ (SA14). На плате имеются также 3 контрольные точки, позволяющие подключать осциллограф для оценки временных параметров БИС: XP2 – сигнал переноса счетчика микрокоманд БИС К1804ВУ1; XP3 – сигнал сравнения текущего адреса микропрограммы с адресом, задаваемым соответствующим набирателем; ZP5 – сигнал внутренней синхронизации устройства.
Для загрузки микропрограмм в память или контроля содержимого памяти необходимо:
В режиме РАБОТА устройство может выполнять микропрограмму либо по шагам, либо автоматически от внутреннего или внешнего генераторов. Пошаговый режим устанавливается переключателем ШАГ/АВТОМАТ. В режиме ШАГ синхронизация устройства осуществляется от кнопки ПУСК: при каждом нажатии выполняется одна микрокоманда.
Для автоматического выполнения программы переключатель ставится в положение АВТОМАТ, затем после нажатия кнопки ПУСК микрокоманды будут выполнятся одна за другой по сигналам, формируемым внешним или внутренним синхрогенераторами. Для запуска микропрограммы произвести начальную установку регистра МК, для чего: после окончания загрузки последней микрокоманды переключателем АДРЕС задать код стартового адреса микропрограммы; нажать один раз на кнопку ПУСК4; переключатель ЗАГРУЗКА/РАБОТА установить в положение РАБОТА; нажимая на кнопку ПУСК, последовательно выполнять микрокоманды, контролируя их выполнение по индикаторам ДАННЫЕ и МИКОКОМАНДА.
Задания и порядок выполнения лабораторных работ
Задания на лабораторную работу студенты получают на предыдущем занятии.
При подготовке к занятию должны составляться: схема алгоритма реализуемой микропрограммы; кодированная таблица (листинг) микропрограммы с необходимыми комментариями; предварительный протокол отладки. Образцы указанных документов представлены на рисунке 7 и таблицах 12 и13. При составлении листинга и протокола отладки следует пользоваться восьмеричной системой записи кодов.
Таблица12.
Адрес памяти |
Номера тетрад |
Примечания |
|||||||
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
||
0 |
- |
2 |
3 |
7 |
0 |
- |
1 |
10 |
10 ® R1 |
1 |
- |
2 |
3 |
7 |
0 |
- |
0 |
3 |
3 ® R0 |
2 |
2 |
1 |
3 |
1 |
0 |
1 |
0 |
R1+R0 ® R0 |
Таблица 13.
Номер такта |
Адрес МК |
Положения набирателя мультиплексора |
||||||||||||||
0 |
1 |
2 |
4 |
. . . . . |
Примечания |
|||||||||||
Адрес перехода |
Шина Y |
Флаги |
Регистр состояния |
|||||||||||||
С4 |
OVR |
F3 |
Z |
C4 |
OVR |
F3 |
Z |
|||||||||
Результаты решения |
||||||||||||||||
1 |
0 |
1 |
10 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
… |
10 ® R1 |
|||
2 |
1 |
2 |
3 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
… |
3 ® R0 |
|||
3 |
2 |
2 |
13 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
… |
R1+R3 ® R0 |
В начале каждого занятия подготовленные к занятиям материалы контролируются преподавателем.
Непосредственно на занятии отлаживаются на микротренажере заданные микропрограммы. Для этого необходимо произвести следующие действия:
По каждой работе составляется отчет, включающий в себя:
наименование и цель занятия; задание на лабораторную работу; схему алгоритма или описание микропрограммы, на уровне межрегистровых передач; листинг микропрограммы; протокол отладки.
Отчет по выполняемой работе предъявляется преподавателю на следующем занятии.
Выполнение арифметических микропрограмм
При выполнении работы должна быть составлена и отлажена микропрограмма, реализующая такую последовательность действий:
X® Ri; Y® Rj; Ri* Rj® Ri; Ri® Rk.
Значения данных и номеров регистров приведены в таблице 14.
Таблица 14.
Варианты работы |
1 |
2 |
3 |
4 |
5 |
6 |
Данные |
Числовые значения данных |
|||||
X |
2 |
7 |
3 |
4 |
1 |
6 |
Y |
-3 |
4 |
-2 |
6 |
5 |
3 |
i |
0 |
1 |
0 |
0 |
1 |
2 |
j |
1 |
10 |
5 |
3 |
2 |
Q |
k |
2 |
10 |
1 |
2 |
Q |
1 |
* |
+ |
- |
& |
V |
Å |
- |
Выполнение ветвлений вычислительного процесса
Заданием на лабораторную работу является составление следующих микропрограмм:
Вариант 1. Записать в R2 наибольшее из чисел, хранящихся в регистрах R0 и R1.
Вариант 2. Записать в Q наименьшее из чисел, хранящихся в регистрах R2 и R3.
Вариант 3. Записать в R1 модуль числа, хранящегося в регистре R0.
Вариант 4. В регистрах R0, R1 и R2, R3 записаны два 8-разрядных числа. Записать в регистры R4, R5 сумму этих чисел (в регистре с меньшим номером должна храниться младшая часть соответствующего числа).
Вариант 5. В регистрах R2 и R3; R4 и R5 записаны два 8-разрядных числа. Записать в регистры R0 и R1 разность этих чисел.
Вариант 6. Вычислить в регистре R2 сумму двоично-десятичных чисел, хранящихся в регистрах R0 и R1.
Во всех вариантах, кроме 6-го, числа должны быть представлены в дополнительном коде.
Выполнение сдвигов и организация циклов
Заданием на лабораторную работу является разработка и отладка микропрограммы подсчета количества единиц, содержащихся в кодах в регистрах R0 и R1, которое необходимо подсчитывать в регистре RQ. Регистр R2 следует использовать как счетчик цикла.
Опрос значений разрядов кодов в регистрах R0 и R1 проводить путем умножения на маску 0001 или 1000 с последующим сдвигом вправо или влево.
Увеличение Q на единицу реализовать как отдельную подпрограмму, вызываемую командой условного перехода к подпрограмме. Для организации цикла необходимо использовать команды условных переходов либо выполнять переход с помощью команд: “окончить цикл” и “вытолкнуть из стека”, если F=0.
Изучение алгоритмов выполнения операций умножения
Заданием на лабораторную работу является разработка и отладка микропрограмм умножения 4-разрядных чисел.
Вариант 1. Числа представлены в дополнительном коде.
Вариант 2. Сомножители – положительные числа без знака.
В обоих вариантах при составлении микропрограммы необходимо учитывать, что при формировании очередной суммы частных произведений возможно переполнение разрядной сетки, которое должно корректироваться последующим сдвигом вправо.
Для сокращения объема микропрограммы счетчик циклов не программировать, а для выхода из цикла использовать команду перехода с пульта управления.
Содержание
Министерство высшего и среднего специального образования
Описание лабораторной установки
Операционный узел микротренажера
УЗЕЛ УПРАВЛЕНИЯ МИКРОТРЕНАЖЕРА
Задания и порядок выполнения лабораторных работ