МИНИСТЕРСТВО ОБРАЗОВАНИЯ УКРАИНЫ


ДОНЕЦКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ











МЕТОДИЧЕСКИЕ УКАЗАНИЯ

И ЗАДАНИЯ К ЛАБОРАТОРНЫМ РАБОТАМ ПО КУРСУ

“ТЕОРИЯ ПРОЕКТИРОВАНИЯ ЭВМ И СИСТЕМ”

РАЗДЕЛ “МИКРОПРОЦЕССОРНЫЕ БИС СЕРИИ Л1804”

(для студентов специальности 7.09.15.01

дневной и заочной форм обучения)





У т в е ж д е н о

на заседании кафедры

электронных вычислительных машин.

Протокол № 9 от 24.12.90












Рекомендовано к изданию методической комиссией

специальности 7.09.15.01



Донецк ДГТУ 2001



УДК 681.32 (142?)


Методические указания и задания к лабораторным работам по курсу “Теория проектирования ЭВМ и систем”. Раздел “Микропроцессорные БИС серии К1804” (для студентов специальности 7.09.15.01 дневной и вечерней форм обучения) / Сост.: В.В.Лапко, Ю.В.Губарь. – Донецк: ДГТУ, 2001.-78с.



Приведены лабораторные работы, ориентированные на изучение основ функционирования БИС серии К1804 и принципов построения процессорных блоков на их базе. Лабораторные работы выполняются на базе микротренажера МТ 1804.






Составители : В.В.Лапко, доц.

Ю.В.Губарь, доц.



Отв. за выпуск В.В.Лапко, доц.






















Общие методические указания к выполнению лабораторных работ.


Лабораторные работы, описанные ниже, выполняются на базе микротренажера МТ1804. Методические указания соответствуют паспорту тренажера / I /.

Микротренажер МТ1804 предназначен для изучения архитектуры, основ микропрограммирования и принципов применения микропроцессорного комплекта К1804 / I - 4 /.

Для работы устройства необходим внешний источник питания постоянного тока напряжением +5В +/-5%. Максимальная мощность, потребляемая устройством, не более 12,5 ВА..

В данных методических указаниях применяются следующие сокращения:

АЛУ - арифметико-логическое устройство ;

ОЗУ - оперативное запоминающее устройство ;

МК - микрокоманда ;

ПЗУ - постоянное запоминающее устройство ;

РОН - регистр общего назначения .

Структурная схема микротренажера представлена на рис.1 и рис.2 . Функционально микротренажер состоит из двух основных узлов : операционного и управления. Принципиальная электрическая схема стенда приведена в приложении. Через DD n на этой схеме обозначена микросхема с порядковым номером n.

Операционный узел в своем составе содержит :

Узел управления в своем составе содержит :

Микропрограммная память выполнена в виде ОЗУ для обеспечения возможности ручного программирования. Очередная микрокоманда извлекается из памяти микропрограмм и фиксируется в 32-разрядном регистре микрокоманд.

В микротренажере используется 32-разрядная микрокоманда, формат которой приведен в табл.1. Рассмотрим назначение отдельных полей микрокоманды / I /.

D[3-0] - поле входных данных в АЛУ. Задает входные данные процессорного элемента. Разряды 3-0 регистра микрокоманд подключены к входам D3-D0 микросхемы К1804ВС1.

В[3-0] - поле адреса В. Задает адрес регистра по входу или выходу массива РОН. Разряды 7-4 регистра микрокоманд подключены к входам В3-В0 микросхемы К1804ВС1.

А[3-0] - поле адреса А. Задает адрес регистра по выходу A массива РОН. Разряды I1-8 регистра микрокоманд подключены к входам А3-А0 микросхемы К1804ВС1.

I [5-3] - поле функции АЛУ. Задает вид операции, выполняемой в АЛУ. Разряды I4 - I2 регистра микрокоманд подключены к входам I5 - I3 микросхемы К1804ВС1.

I [2-0] - поле источника операнда. Задает источник операндов для АЛУ. Разряды I8 - I6 регистра микрокоманд подключены к входам I2 - I0 микросхемы К1804ВС1.

I [8-6] - поле выбора приемника результата. Задает приемник результата операции в АЛУ и источник выходных данных. Разряды 22 - 20 регистра микрокоманд подключены к входам I8 - I6 микросхемы К1804ВС1.

C0 - поле входа переноса. Задает значение сигнала переноса в младший разряд АЛУ. Разряд I5 регистра микрокоманд подключен к входу С0 микросхемы К1804ВС1.

MS1, MS2 - поле управления сдвигом. Задает связи между РОН и регистром Q при выполнении сдвиговых операций. Разряды 19 и 23 регистра микрокоманд подключены к мультиплексорам сдвига операционного узла тренажера.

Р [ 3-0 ] - поле управления следующим адресом. Задает режим выбора адреса следующей микрокоманды. БИС К1804ВУ1 выполняет 16 возможных переходов к адресу следующей микрокоманды. Разряды 27-24 регистра микрокоманд подключены к входам ПЗУ управления выборкой следующего адреса, которое формирует управляющие сигналы БИС К1804ВУ1 для обеспечения вышеуказанных переходов.

R [ 3-0 ] - поле адреса перехода. Задает адрес перехода к следующей микрокоманде. Разряды 31-28 регистра микрокоманд подключены к входам R3-R0 устройства управления последовательностью микрокоманд К1804ВУ1.

В регистре состояния DD 32 операционного узла хранится слово состояния процессорного элемента, которое определяется состоянием четырех флагов :

Мультиплексор флагов состояния (DD 38) позволяет выбирать для проверки нужное условие ( либо Z , либо F3, либо OVR , либо C4 ). Вход мультиплексора подключен к адресной линии А0 микросхемы DD 23 ( К155РЕ3 ). Таким образом, в зависимости от состояния одного из четырех флагов из ПЗУ будет считываться нужное управляющее слово для БИС К1804ВУ1. Мультиплексор флагов состояния управляется сигналами Р[0] и Р[1] ,т.е.24-м и 25-м битами микрокоманды ( Р[0] и Р[1] определяют проверяемый код условия СС ).

Регистр данных операционного узла стенда фиксируется состояние выхода процессорного элемента в каждом такте работы.

Стенд имеет три переключателя мультиплексоров SA1-SA3, четыре переключателя данных SA4-SA7, четыре переключателя адреса SA8-SA11.

Светодиодные индикаторы VD1-VD4 предназначены для индикации содержимого регистра микрокоманд. Индикация 32-разрядного слова четырьмя светодиодами осуществляется потетрадно. Номер индицируемой тетрады задается переключателями мультиплексоров SA1-SA3. Так, например, если на переключателях набрать код 1012 = 510, то на светодиодах индикации регистра микрокоманд будет отображаться состояние 23-20 разрядов микрокоманды (табл.1) - сигнал MS2 управления сдвигом и код I [ 8-6 ] выбора приемника результата.

Вторая группа светодиодных индикаторов VD5-VD8 предназначена для индикации содержимого микропрограммной памяти. Содержимое нужного адреса памяти выводится на индикацию потетрадно в соответствии с положением ручек переключателей SA1-SA3.

Светодиодные индикаторы VD9-VD12 предназначены для индикации прохождения данных в тридцати двух точках схемы устройства. Выбор индицируемых цепей осуществляется также переключателями мультиплексоров SA1-SA3 в соответствии с табл.2.

Таблица 2.

Точки подключения индикаторов в зависимости от кода мультиплексоров SA1-SA3


КОД

Индикаторы данных

ФУНКЦИЯ

VD12

VD11

VD10

VD9

000

Y3

Y2

Y1

Y0

Выход БИС К1804ВУ1

001

Y3

Y2

Y1

Y0

Выход БИС К1804ВС1

010

C4

OVR

F3

Z

Флаги К1804ВС1

011

C4* )

CC

* * )

100

ST3

ST2

ST1

ST0

Выход регистра состояния (DD22)

101

PQ3

PQ2

PR3

PR0

Выходы/входы сдвига К1804ВС1

110

Y4

Y3

Y2

Y1

Выход регистра вых.данных (DD36)

111

Q4

Q3

Q2

Q1

Выход с 3-м сост.рег. вых. данных

* * ) , -сигналы генерации ускоренного переноса ;

СС - выход мультиплексора флагов состояния ;

С4* ) - выходной перенос счетчика микрокоманд ( DD 22 ).

Например, если на переключателях SA1-SA3 набран код 1002 = 410, то индикаторы прохождения данных будут отображать сигналы на регистре состояния , т.е. можно наблюдать сигналы Z, F3, OVR и C4.

На стенде расположены также переключатели данных ( SA4-SA7) для набора и записи микрокоманд и переключатели адреса ( SA8-SA11) для набора адреса записываемой или считываемой микрокоманды.

Кроме того, на стенде имеются следующие органы управления:

Микротренажер имеет три контрольные точки :

Назначение этих контрольных точек состоит в обеспечении синхронизации измерительных приборов, что дает возможность использовать микротренажер для оценки функциональных возможностей микропроцессорного комплекта серии К1804.

Микротренажер может работать в режиме ЗАГРУЗКА , когда осуществляется ручное программирование памяти, и в режиме РАБОТА, когда выполняется программа.

Для выполнения режима ЗАГРУЗКА необходимо выполнить следующие действия :

переключатель ЗАГР/РАБ ( SA14 ) установить в положение ЗАГРУЗКА;

переключателями адреса ( SA8-SA11 ) установить требуемый адрес микрокоманды;

переключателями управления мультиплексорами ( SA1-SA3) установить номер записываемой тетрады;

переключателями данных ( SA4-SA7 ) набрать необходимый код данных для записи в выбранную тетраду;

нажав кнопку ЗАГРУЗКА ( SB1 ) , произвести запись набранной тетрады в микропрограммную память;

контроль за записываемой информацией осуществлять по показаниям индикаторов памяти ( VD5-VD8 ) ;

вышеперечисленные пункты повторить для всех тетрад записываемой микрокоманды, переключая переключатели номера тетрады SA1-SA3 .

В режиме РАБОТА устройство может выполнять программу по шагам или автоматически от внутреннего или внешнего источника синхроимпульсов. В любом случае переключатель ЗАГР/РАБ ставится в положение РАБОТА.

Для выполнения программы в шаговом режиме необходимо переключатель режимов работы ШАГ/АВТ установить в положение ШАГ. При этом синхронизация устройства будет осуществляться от кнопки ПУСК. При однократном нажатии этой кнопки выполняется одна команда.

Для автоматического выполнения программы переключатель ШАГ/АВТ необходимо установить в положение АВТОМАТ. При этом, когда переключатель SA16 ( ВНУТРЕННИЙ/ВНЕШНИЙ ) установлен в положение ВНУТРЕННИЙ, синхронизация устройства осуществляется от генератора, собранного на микросхеме К155ЛА3 ( DD28 ) , на частоте 1МГц. Когда переключатель SA16 установлен в положение ВНЕШНИЙ, синхронизация устройства осуществляется от генератора, подключенного к клеммам ХР4, на частоте до 2 МГц.

Для запуска программы необходимо произвести начальную установку (инициализацию), т.е. ввести в регистр микрокоманд микрокоманду, соответствующую стартовому адресу программы. Для этого после окончания загрузки программы переключателями SA8-SA11 установить значение стартового адреса, а затем в положении ЗАГРУЗКА нажать кнопку ПУСК один раз. При этом в регистр микрокоманд будет записана микрокоманда, соответствующая стартовому адресу программы. Для дальнейшего выполнения программы переключатель ЗАГР/РАБ необходимо затем перевести в положение РАБОТА.

Подготовка стенда к работе.

  1. Произведите внешний осмотр устройства и убедитесь визуально в отсутствии каких-либо повреждений и дефектов.

  1. Подключите к клеммам ХР1 источник питания напряжением +5В и нагрузочной способностью не менее 2,5А, обратив внимание на правильное подключение полярности. В противном случае устройство выйдет из строя.
  2. При необходимости подключите к клеммам ХР4 внешний генератор синхроимпульсов с помощью нужного кабеля, учитывая , что в устройстве предусмотрен нагрузочный резистор R58 номиналом 51 Ом. Электрические уровни синхросигнала должны соответствовать уровням ТТЛ-логики. После этого устройство готово к работе.
  3. Порядок работы на стенде.

    1. Включите источник питания и загрузите программу в микропрограммную память в режиме ЗАГРУЗКА.

    2. Выполните нужную программу в режиме РАБОТА по шагам или автоматически от внутреннего или внешнего источника синхроимпульсов.

  4. Выключите и отсоедините источник питания.
  5.  

    ЛАБОРАТОРНАЯ РАБОТА I


    ОРГАНИЗАЦИЯ И РЕЖИМ РАБОТЫ МИКРОТРЕНАЖЕРА MTI804

    Цель работы:

    1. Изучить структуру и режимы работы операционного и управляющего блоков микротренажера МТI804.

    2. Изучить структуру и основы функционирования микросхемы KI804BСI.

    3. Исследовать работу микросхемы KI804BСI при загрузке данных в РОН.

    При подготовке и проведении работы необходимо выполнить следующее:

    Подготовка:

    1. Изучить структуру, принципиальные электрические схемы и режимы работы лабораторного стенда (по настоящим метод указаниям).

    2. Изучить структуру и основы функционирования микросхемы KI804ВCI (см. приложение / З, 4 / ).

    3. Согласно заданному варианту заданий (табл. 3) составить микропрограмму загрузки регистров общего назначения RO , R1 , ... данными, приведенными в таблице. Предусмотреть режим чтения данных из РОН на выходную шину БИС KI804BCI.

    Работа:

    1. Получить допуск к работе у преподавателя, предъявив домашнее задание и ответив на контрольные вопросы.

    2. Записать составленную микропрограмму в память микропрограмм стенда в режиме ЗАГРУЗКА.

    3. Выполнить в пошаговом режиме микропрограмму, контролируя с помощью индикаторов VD1 —VD2 прохождение данных. Работа считается выполненной при полном совпадении теоретических и экспериментальных результатов.

  6. Составить и защитить отчет по лабораторной работе.

Таблица 3

Варианты заданий.


Номер варианта

Регистр общего назначения

R0

R1

R3

R5

R6

R10

R11

R12

R14

R15

RQ

1

0

2

3

4

5

6

7

8

9

A

B

2

1

1

3

4

3

4

5

6

7

8

9

3

F

2

2

4

5

2

3

4

5

6

7

4

4

E

3

3

5

6

1

2

3

4

5

5

3

5

C

4

4

6

7

0

1

2

3

6

0

2

6

D

5

5

7

8

F

0

1

7

E

2

1

7

B

6

6

8

9

E

F

8

9

C

3

0

8

A

7

7

9

A

C

9

4

8

D

4

1

9

9

8

8

A

B

10

0

3

7

F

5

2

A

8

9

9

B

11

F

1

2

6

A

6

3

B

7

A

A

12

C

D

2

1

5

B

7

4

C

6

B


Методические указания.

Рассмотрим пример составления микропрограммы загрузки и чтения данных при следующих условиях:

00102 = 216 ® R0;

00012 = 116 ® R1;

01012 = 516 ® R9;

Разместим микрокоманды в микропрограммной памяти последовательно, начиная с адреса 0000 (табл. 4).

По условию первая микрокоманда должна загружать число 216 в регистр RO процессорного элемента. Поэтому в поле D записывается код 0010 (данные), в поле В - код 0000 (номер регистра приемника). Код источников операндов I2 - I0 принимаем равным 111 (R= D , S=0 ), а код функции АЛУ I5-I3 - 011 (логическое сложение R и S ). Следовательно, результат операции F будет равен коду D . Этот результат должен быть загружен в регистр с адресом В (0000), поэтому в поле I8-I6 приемника результата записывается код О11. Состояние сигналов полей СО , MS1 , MS2 в первой микрокоманде безразлично.

Вторая микрокоманда позволяет выбрать содержимое регистра RO на выходную шину данных процессорного элемента, т.е. осуществить операции чтения RO . Код источников операндов I2 - I0 принят равным 011 ( R=0 , S=RO), код функции АЛУ остался равным O11 ( RvS ). В поле выбора приемника результата I8-I6 размещаем код 001, поэтому полученный результат не записывается в РОН, а только выдается на выходную шину Y .

Микрокоманды 2 и 3 выполняют аналогичные операции с регистром R1, а микрокоманды 4 и 5 - с регистром R9 . Загрузка и чтение содержимого регистра Q выполняется аналогичным способом. Для этого необходимо только изменить программирование приемника результата (разряды I8 -16 ).

Запись разработанной программы в микропрограммную память осуществляется в режиме ЗАГРУЗКА.

Выполнение программы требует установки переключателей:

переключателя SА14 ЗАГР/РАБ в положение ЗАГРУЗКА;

переключателей адреса SA8 - SA11 - положение 0 (адрес первой микрокоманды ).

Нажать кнопку SВ2 (ПУСК) один раз. При нулевом значении адреса это приведет к записи в регистр микрокоманд первой микрокоманды и произойдет загрузка регистра RO процессорного элемента.

Далее переключатели адреса SA8 - SA11 установить в положение I и снова один раз нажать кнопку ПУСК. Это приведет к записи в РМК из микропрограммной памяти второй микрокоманды. Код RO будет извлечен из регистровой памяти на выходную шину БИС KI804BCI. Остальные пары микрокоманд загрузки в РОН и проверки их содержимого выполняются аналогично.

мк

Разряд

Адрес

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

3

2

1

0

MS2

I8

I7

I6

MS1

I2

I1

I0

C0

I5

I4

I3

A3

A2

A1

A0

B3

B2

B1

B0

D3

D2

D1

D0

1

0

0

0

0

X

0

1

1

X

1

1

1

X

0

1

1

X

X

X

X

0

0

0

0

0

0

1

0

2

0

0

0

1

X

0

0

1

X

0

1

1

X

0

1

1

X

X

X

X

0

0

0

0

X

X

X

X

3

0

0

1

0

X

0

1

1

X

1

1

1

X

0

1

1

X

X

X

X

0

0

0

1

0

1

0

0

4

0

0

1

1

X

0

0

1

X

0

1

1

X

0

1

1

X

X

X

X

0

0

0

1

X

X

X

X

5

0

1

0

0

X

0

1

1

X

1

1

1

X

0

1

1

X

X

X

X

1

0

0

1

0

1

0

1

6

0

1

0

1

X

0

0

1

X

0

1

1

X

0

1

1

X

X

X

X

1

0

0

1

X

X

X

X

x- безразличное состояние





Контрольные вопросы.

1. Опишите состав и назначение основных узлов микротренажера.

2. Каким образом на стенде осуществляется индикация отображения регистра микрокоманд, микропрограммной памяти, флагов состояний процессорного элемента?

3. Перечислите основные режимы работы микротренажера МТ1804.

4. Какие действия необходимо выполнить для осуществления режима ЗАГРУЗКА?

5. Как осуществить запуск программы?

6. Опишите состав и назначение основных узлов микросхемы KI804ВСI.

7. Как синхронизируется работа процессорного элемента?


ЛАБОРАТОРНАЯ РАБОТА 2.

СДВИГОВЫЕ ОПЕРАЦИИ БЛОКА ОБРАБОТКИ ДАННЫХ.


Цель работы: исследовать работу БИС KI804BCI при выполнении сдвиговых операций одинарной и двойной длины.

Варианты заданий.

Составить и исследовать на лабораторном стенде микропрограмму выполнения сдвиговых операций над содержимым одного из регистров общего назначения. Порядок выполнения сдвиговых операций определяется согласно варианту задания из табл. 5.

Таблица 5.

Сдвиговые операции.

Номер

в-та.

Алгоритм выполнения сдвиговых операций.

1

R1:= 1; RQ :=8; LD ; RDЦ ; LЦ ; R ;

2

R2:= 2; RQ:=7; R ; LЦ ; LDЦ ; RD ;

3

R3:= 3; RQ:=6; L ; LЦ ; RDЦ ; RD ;

4

R4:= 4; RQ:=5; RD ; LD ; RDЦ ; LDЦ ;

5

R5:= 5; RQ:=4; RЦ ; LЦ ; RDЦ ; L ;

6

R6:= 6; RQ:=3; LЦ ; RЦ ; LDЦ ; R ;

7

R7:= 7; RQ:=2; RDЦ ; R ; L ; RЦ ;

8

R8:= 8; RQ:=1; RDЦ ; LЦ ; RЦ ; L ;

9

R9:= 9; RQ:=0; LD ; RDЦ ; L ; RD ;

10

R10:=10; RQ:=4; RD ; L ; RЦ ; LЦ ;

11

R11:=11; RQ:=8; L ; RЦ ; RDЦ ; LD ;

12

R12:=12; RQ:=2; R ; LDЦ ; RD ; L ;

В таблице введены следующие обозначения:

L - сдвиг влево одинарной длины;

R - сдвиг вправо одинарной длины;

LD - сдвиг влево двойной длины;

LЦ - сдвиг влево одинарной длины,циклический;

LDЦ - сдвиг влево двойной длины, циклический.

При подготовке к лабораторной работе необходимо составить таблицу показаний индикаторов VD1 - VD12 для каждого такта работы микропрограммы.

Получив допуск к работе, необходимо записать составленную микропрограмму в память микропрограмм и выполнить ее в пошаговом режиме. Работа считается выполненной при совпадении составленной таблицы и реального показания индикаторов.

Методические указания /I/.

Поле управления сдвигом ( MS1 и MS2 ) регистра микрокоманд задает связи между РОН и регистром Q при выполнении сдвиговых операций. Направление сдвига и сдвигаемые регистры, участвующие в микрооперации сдвига, задаются полем выбора приемника результата. Различные виды связи между сдвигаемыми регистрами показаны в табл. 6 табл. 7.

Таблица 6.

Зависимость сдвиговых операций от кода микрокоманд.

MS2.

MS1

Сдвиг вправо

Сдвиг влево

0

0

Сдвиг одинарной длины с вводом лог. 0 в старшие разряды регистра общего назначения и Q –регистра

Сдвиг одинарной длины с вводом лог. 0 в младшие разряды регистра общего назначения и Q -регистра

0

1

Циклический сдвиг одинарной длины

Циклический сдвиг одинарной длины

1

0

Циклический сдвиг двойной длины

Циклический сдвиг двойной длины

1

1

Арифметический сдвиг двойной длины с вводом значения знакового разряда в старший разряд регистра общего назначения

Арифметический сдвиг двойной длины с вводом лог. 0 в младший разряд Q -регистра

Микропрограмма выполнения сдвиговых операций, демонстрирующая выполнение сдвиговых операций одинарной и двойной длины, приведена в табл.8.

Микрокоманда 1 используется для загрузки в регистр RO значения 2. Микрокоманда 2 выполняет сдвиг содержимого RO влево на один разряд. Следующая микрокоманда 3 сдвигает содержимое RO вправо на один разряд. Четвертая микрокоманда очищает Q регистр. Микрокоманда 5 выполняет сдвиг двойной длины влево, а шестая микрокоманда - сдвиг двойной длины вправо. Микропрограмма 7 является примером команды, не выполняющей никаких действий, т.е. она не меняет внутреннее состояние регистров и флагов БИС KI804BCI.

Программа выполняется следующим образом:

1) переключатель SA14 ЗАГР/РАБ установить в положение ЗАГРУЗКА;

2) переключатели адреса SA8 - SA11 установить в положение 0;

Таблица 7

Схема выполнения сдвиговых операций

3) нажать кнопку SB2 (ПУСК); при этом в регистр RO будет записано число 2;

4) переключатели адреса SA8 -SA11 установить в положение 1;

5) для индикации выходных шин БИС KI804BCI переключатели SA1-SA3 установить в положение 1;

6) нажать кнопку ПУСК.

На светодиодах VD9 -VD12 должно высветиться число 2. Если переключатели адреса оставить в положении 1 и нажать SB2 , то число на индикации будет изменяться в последовательности: 4, 8, 1, 2, 4 и т.д., что означает выполнение циклического сдвига содержимого регистра RO влево на один разряд за один такт.

Аналогичным образом осуществляется циклический сдвиг вправо при положении 2 адресных переключателей SA8 - SA11.

При выполнении сдвига двойной длины по микрокоманде 5 светодиоды VD9 -VD12 должны показывать: 2, 4, 8, О, О, О, О, 1, 2, 4 и т.д.

При выполнении сдвига двойной длины по микрокоманде 6 индикаторы покажут: 2, 1, О, О, О, О, 8, 4, 2 и т.д.

Контрольные вопросы.


1. Как выполняются сдвиговые операции в процессорном элементе?

2. Объясните работу мультиплексоров сдвига при выполнении сдвиговых операций.

3. Каким образом выполняется нормализация числа, заданного в дополнительном коде?

4. Чем определяется направление сдвига?

Таблица 8.

Микропрограмма выполнения сдвиговых операций

мк

Разряд

Адрес

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

3

2

1

0

MS2

I8

I7

I6

MS1

I2

I1

I0

C0

I5

I4

I3

A3

A2

A1

A0

B3

B2

B1

B0

D3

D2

D1

D0

1

0

0

0

0

X

0

1

1

X

1

1

1

X

0

1

1

X

X

X

X

0

0

0

0

0

0

1

0

2

0

0

0

1

0

1

1

1

1

0

1

1

X

0

1

1

X

X

X

X

0

0

0

0

X

X

X

X

3

0

0

1

0

0

1

0

1

1

0

1

1

X

0

1

1

X

X

X

X

0

0

0

0

X

X

X

X

4

0

0

1

1

X

0

0

0

X

0

1

0

X

1

0

0

X

X

X

X

X

X

X

X

X

X

X

X

5

0

1

0

0

1

1

1

0

0

0

1

1

X

0

1

1

X

X

X

X

0

0

0

0

X

X

X

X

6

0

1

0

1

1

1

0

0

0

0

1

1

X

0

1

1

X

X

X

X

0

0

0

0

X

X

X

X

7

0

1

1

0

X

0

0

1

X

0

1

1

X

0

1

1

X

X

X

X

X

X

X

X

X

X

X

X

ЛАБОРАТОРНАЯ РАБОТА 3.

ИССЛЕДОВАНИЕ АРИФМЕТИЧЕСКИХ И ЛОГИЧЕСКИХ ОПЕРАЦИЙ БЛОКА ОБРАБОТКИ ДАННЫХ.


Цель работы: изучить функциональные возможности блока АЛУ БИС KI804BCI и исследовать работу блока при выполнении арифметических и логических операций.

Задания по работе.

1. Изучить структуру и основы функционирования АЛУ микросхемы KI804BСI /З, 4 / .

2. Составить микропрограмму, выполняющую следующие действия /2/:

- прием в регистр Ri кода числа j с проверкой на выходе Y ;

- прием в регистр Q кода числа n с проверкой на выходе Y;

- сложение содержимого регистра Ri с константой k1 , запись результата в регистр Ri с одновременной выдачей на выходы Y микросхемы;

- вычитание из содержимого регистра Q числа К2, запись результата в регистр Q с одновременной выдачей на выходы Y ;

- сложение содержимого регистра Ri с содержимым регистра Q запись результата в регистр R i+1 , выдача результата на выход Y ;

- арифметический сдвиг содержимого регистров Ri+1 и Q ;

- выдача содержимого регистра Q на выходы Y микросхемы.

Составить таблицу прохождения данных при выполнении микропрограммы.

Варианты заданий приведены в табл. 9.

Таблица 9.

Варианты заданий

Номер варианта

Ri

J

n

К1

К2

1

R10

5

12

1

4

2

R8

6

10

2

5

3

R7

4

11

3

6

4

К6

3

13

1

7

5

R6

2

14

2

8

6

R4

0

9

3

4

7

R0

1

8

1

5

8

R1

7

7

2

6

9

R2

8

6

3

7

10

R3

9

5

1

8

11

R15

6

2

2

4

12

R14

4

1

3

5


Методические указания.

Рассмотрим пример составления микропрограммы при следующих исходных данных / 2 / :

Ri = 910; j = 1110; K1 = 1210; K2 = 1010; n=9.

Разместим микрокоманды последовательно в памяти микропрограмм, начиная с адреса 0001 ( табл. 10 ).

Первая микрокоманда осуществляет загрузку числа j =1110 в регистр R9. Поэтому в поле D записываем код 1011 , а в поле В - код 1001 ( номер регистра приемника ).

По второй микрокоманде происходит загрузка кода числа 910 в регистр Q. При этом состояние сигналов поля В безразлично, а в поле выбора приемника результата записывается код 000.

Рассмотрим составление пятой микрокоманды, которая должна суммировать содержимое регистров R9 и Q, а результат операции записывать в регистр R10. Поле I5-I3 ( функция АЛУ ) должно содержать код 000 ( R + S + C0 ), при этом поле входа переноса С0 должно содержать 0 . Код источников операндов I2-I0 выбираем равным 000 ( R = A, S = Q ), а в поле А записываем код 1001 девятого регистра. Так как результат необходимо записать в десятый регистр, в поле выбора приемника I8- 16 размещаем код 011, а в поле В - код 1010. Состояние сигналов полей D, MSl, MS2 для пятой микрокоманды безразлично.

Аналогично записываются и остальные микрокоманды. В шестой микрокоманде MS1=1 и МS2=1 задают арифметический сдвиг, а код I8 - 16 = 100 - сдвиг результата (содержимого В и Q ) вправо.

Таблица прохождения данных (табл. 11) отражает состояние выходных сигналов процессорного элемента при выполнении каждой микрокоманды.

Рассмотрим заполнение таблицы на примере третьей микрокоманды, задающей сложение содержимого регистра R9 с числом 12 и запись результата в регистр R10 .

R9 + 1 0 1 1

1210 1 1 0 0

---------------

1 0 1 1 1

Следовательно, результат операции будет равен 0111, сигнал Z=0, знаковый сигнал F3=O, сигнал переполнения OVR=1 (нет переноса в старший разряд, а перенос из старшего разряда есть), сигнал переноса С4 =1.

Так как сдвиг в данной операции не происходит, то выходы PQ0, PR0, PQ3, PR3 находятся в третьем состоянии.

Для выполнения микропрограммы ( которая предварительно должна быть записана в микропрограммную память ) в шаговом режиме необходимо выполнить следующие действия:

- переключатель ШАГ/АВТ установить в положение ШАГ;

- переключатель ЗАГР/РАБ установить в положение ЗАГРУЗКА;

Таблица 10.

Пример выполнения микропрограммы.


мк

Разряд

Адрес

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

3

2

1

0

MS2

I8

I7

I6

MS1

I2

I1

I0

C0

I5

I4

I3

A3

A2

A1

A0

B3

B2

B1

B0

D3

D2

D1

D0

1

0

0

0

1

X

0

1

1

X

1

1

1

X

0

1

1

X

X

X

X

1

0

0

1

1

0

1

1

2

0

0

1

0

X

0

0

0

X

1

1

1

X

0

1

1

X

X

X

X

X

X

X

X

1

0

0

1

3

0

0

1

1

X

0

1

1

X

1

0

1

0

0

0

0

1

0

0

1

1

0

0

1

1

1

0

0

4

0

1

0

0

X

0

0

0

X

1

1

0

1

1

1

0

X

X

X

X

X

X

X

X

1

0

1

0

5

0

1

0

1

X

0

1

1

X

0

0

0

0

0

0

0

1

0

0

1

1

0

1

0

X

X

X

X

6

0

1

1

0

1

1

0

0

1

0

1

1

X

0

1

1

X

X

X

X

1

0

1

0

X

X

X

X

7

0

1

1

1

X

0

0

1

X

0

1

0

X

0

1

1

X

X

X

X

X

X

X

X

X

X

X

X



Таблица 11.

Пример прохождения данных.



мк

Выход

Выход регистра состояния

Входы-выходы сдвига

Выход данных процессорн. элемента

SA1-SA3

Адрес микр.

100

101

001

C4

OVR

F3

Z

PQ3

PQ0

PR3

PR0

Y3

Y2

Y1

Y0

1

0001

0

0

1

0

X

X

X

X

1

0

1

1

2

0010

0

0

1

0

X

X

X

X

1

0

0

1

3

0011

1

1

0

0

X

X

X

X

0

1

1

1

4

0100

0

0

0

0

X

X

X

X

1

1

1

1

5

0101

1

0

0

0

X

X

X

X

0

1

1

0

6

0110

0

0

0

0

0

1

0

0

0

1

1

0

7

0111

0

0

0

0

X

X

X

X

0

1

1

1





- переключателями адреса SA8-SA11 установить адрес той микрокоманды, которую необходимо выполнить;

- нажать кнопку ПУСК.

При этом выбранная микрокоманда будет записана в регистр микрокоманд и выполнена в процессорном элементе. Выбранную микрокоманду можно контролировать на индикаторах регистра микрокоманды, а результат ее выполнения - на индикаторах прохождения данных.

Работа считается выполненной при полном совпадении составленной таблицы и реального прохождения данных.

Контрольные вопросы.

I. Каким образом в процессорном элементе происходит формирование сигналов флагов состояний С4, OVR , F3, Z ?

2. Как выполнить микрокоманду из заданной ячейки памяти микропрограмм?

3. Пусть выполняется микрокоманда следующего вида: DЗ-DО = 0010; B3-B0 = 1111 ; А3-АО = 1010; СО= 1 ; MS1= 1 ; MS2 = 0.

Содержимое регистров:

Q = 1011 ; R15 = 1001 .

Каким будет результат операции, если остальные поля микрокоманды имеют вид:

Таблица 12.

Контрольные вопросы.

п/п

18

17

16

12

II

10

15

14

13

I

0

0

I

0

0

I

0

0

I

2

I

0

0

0

0

I

0

0

I

3

I

0

I

I

0

I

I

I

0

4

0

I

0

I

0

I

I

I

0

5

0

I

I

I

0

0

I

0

I

6

I

0

0

I

0

0

I

0

I

7

0

I

0

0

I

I

I

I

I

8

I

I

0

0

I

I

I

I

I

9

I

0

0

I

0

I

I

I

0

10

0

I

I

1

0

I

I

0

I

II

I

0

I

I

I

I

I

0

I

12

I

I

I

I

I

I

I

I

0




ЛАБОРАТОРНАЯ РАБОТА 4.


ИССЛЕДОВАНИЕ ВЫПОЛНЕНИЯ КОМАНД УСЛОВНОГО И БЕЗУСЛОВНОГО ПЕРЕХОДОВ.


Цель работы:

1.Изучить структуру и основы функционирования микросхемы К1804ВУ1.

2. Исследовать работу блока микропрограммного управления при выполнении команд условного и безусловного переходов.

Подготовка:

1. Изучить структуру, назначение входных и выходных сигналов, а также основы функционирования микросхемы К1804ВУ1 (см. приложение / З, 4 / ).

2. По принципиальным электрическим схемам, приведенным в приложении изучить работу блока микропрограммного управления микротренажера.

3.Самостоятельно разработать граф-схему алгоритма и микропрограмму ее реализации. В алгоритме должно быть не менее 5-6 операторных вершин, 2-3 условные вершины.

Работа:

1. Получить допуск к работе у преподавателя, предъявив домашнюю подготовку и ответив на контрольные вопросы.

2. Записать составленную микропрограмму в память микропрограмм стенда.

3. Выполнить микропрограмму в пошаговом режиме, контролируя с помощью индикаторов ход ее выполнения.

4. Составить и защитить отчет по лабораторной работе.

Методические указания.


Программа управления безусловными переходами приведена в табл. 13 и предназначена для демонстрации выполнения операций управления следующей микрокоманды / I /.

Загрузка программы в микропрограммную память осуществляется в режиме ЗАГРУЗКА. Для запуска программы необходимо ввести в РMК в режиме ЗАГРУЗКА микрокоманду, соответствующую стартовому адресу (с помощью переключателей SA8-SA11 и кнопки ПУСК). Затем установить переключатель ЗАГР/РАБ в положение РАБОТА.

Будем рассматривать режим ШАГ ( SA15 ). При установке переключателей SA1-SA3 в положение 0 на светодиодах VD9 -VD12 будет высвечиваться содержимое шин адреса К1804ВУ1.


 

 

 

 

 

Таблица 13.


Программа управления безусловными переходами.

мк

Разряд Адрес

31

30

29

28

27

26

25

24

Примечание

3

2

1

0

R3

R2

R1

R0

P3

P2

P1

P0

0

0

0

0

0

1

0

0

1

0

0

0

1

БП на 9

1

0

0

0

1

2

0

0

1

0

3

0

0

1

1

0

0

0

0

0

0

0

1

БП на 0

4

0

1

0

0

5

0

1

0

1

6

0

1

1

0

1

0

1

0

0

0

0

1

БП на 10

7

0

1

1

1

8

1

0

0

0

9

1

0

0

1

0

1

1

0

0

0

0

1

БП на 6

10

1

0

1

0

0

0

1

0

Продолж.

11

1

0

1

1

0

0

1

0

Продолж.

12

1

1

0

0

0

0

1

0

Продолж.

13

1

1

0

1

0

0

1

0

Продолж.

14

1

1

1

0

0

0

1

0

Продолж.

15

1

1

1

1

0

0

1

1

0

0

0

1

БП на 3









Микрокоманды 0, 3, 6, 9 и 15 выполняют безусловный переход, микрокоманды 10, II, 12, 13 и 14 выполняют переход ''продолжить". При последовательном нажатии кнопки ПУСК ( SB2 ) на светодиодах VD9-VD12 будет высвечиваться последовательно 9, 6, 10, 11, 12, 13, 14, 15, 3, 0, 9, 6 и т.д.

Программа организации условных переходов приведена в табл. 14 и предназначена для демонстрации условных переходов во взаимодействии KI804BCI и К1804ВУ1 / I /.

Выполнить загрузку и начальную установку. Установить переключатели в положение РАБОТА и ШАГ.

Микрокоманда 0 выполняет инкрементирование RO и передает управление следующей микрокоманде. Mикрокомандa 1 проверяет состояние выходного переноса АЛУ С4 . При установленном флаге С4 выполняется переход на адрес 15. В противном случае - к следующей микрокоманде. Mикрокомандa 2 не выполняет каких-либо функций в АЛУ, но безусловно переходит к адресу 0.

При наблюдении за модификацией адреса на индикаторах должна циклически высвечиваться последовательность О, I, 2, 15 раз. Затем будут показаны числа О, I, 15 и вновь цикл.


Таблица 14.

Программа организации условных переходов.

Адрес

R3

R2

R1

R0

P3

P2

P1

P0

MS2

I8

I7

I6

MS1

I2

I1

I0

CO

I5

I4

I3

A3

A2

A1

A0

B3

B2

B1

B0

D3

D2

D1

D0

Адрес следующей м\к.

Выполняемая

операция

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

1

0

0

1

1

0

1

1

1

0

0

0

0

0

0

0

Продолж.

R0+1

1

1

1

1

1

1

1

1

1

0

0

1

Усл. перех.

Перех. на 15, С4

2

0

0

0

0

0

0

0

1

0

0

1

Переход на 0

Нет операции

15

0

0

1

0

0

0

1

Продолж.

Нет операции.












ЛАБОРАТОРНАЯ РАБОТА 5.


ИССЛЕДОВАНИЕ МЕТОДОВ ОРГАНИЗАЦИИ ЦИКЛОВ И ПОДПРОГРАММ.

Цель работы: изучение и исследование на микротренажере МТ1804 методов организации циклов подпрограмм.

Задание:

1. Выполнить анализ приведенных ниже программ организации циклов и подпрограмм.

2. Исследовать рассмотренные программы на микротренажере.

3. Самостоятельно разработать и исследовать программы организации цикла с помощью стека, перехода к подпрограмме, вложения подпрограмм.

Методические указания / 1, 2 /


1. Программа организации цикла с помощью стека приведена в табл. 15 и предназначена для демонстрации метода организации цикла.

Загрузить программу в микропрограммную память и выполнить начальную установку РМК (загрузить пусковой адрес). Установить переключатель ЗАГР/РАБ в положение РАБОТА. Будем рассматривать работу микропрограммы в режиме ШАГ.

Переключатели SA1 - SA3 установить в положение 0 для наблюдения за состоянием шины адреса К1804ВУ1. При последовательном нажатии кнопки ПУСК на индикаторах VD9-VD12 будем наблюдать 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3, 4, 5 и т.д.

Нужно отметить, что программа не демонстрирует способы выхода из цикла. Он может быть осуществлен при кодировании Р3-Р0 = 1000 (проверка конца цикла, если F = 0 ) и 1011 (то же, если С4 = 0 ) или при помощи условных переходов.

2. Программа перехода к подпрограмме приведена в табл. 16 и предназначена для демонстрации обращения к подпрограмме и возврата из нее.

Загрузить программу и выполнить начальную установку. Установить переключатели в положение РАБОТА и ШАГ.

Микрокоманда 3 осуществляет переход к подпрограмме, начальный адрес которой равен 12. Подпрограмма занимает адреса 12-14. При положении SA1-SA3 в позиции 0 на VD9-VD12 будем наблюдать: 1, 2, 3, 12, 13, 14, 4, 5, 6, 0, 1, 2, 3, 12 и т.д.








Таблица 15.


Программа организации цикла с помощью стека.

мк

Разряд

Адрес

31

30

29

28

27

26

25

24

Примечание

3

2

1

0

R3

R2

R1

R0

P3

P2

P1

P0

0

0

0

0

0

0

0

1

0

Продолж.

1

0

0

0

1

0

0

1

0

Продолж.

2

0

0

1

0

1

0

0

1

Загрузить стек

3

0

0

1

1

0

0

1

0

Продолж.

4

0

1

0

0

0

0

1

0

Продолж.

5

0

1

0

1

0

0

1

0

Продолж.

6

0

1

1

0

0

0

1

0

Продолж.

7

0

1

1

1

0

0

1

0

Продолж.

8

1

0

0

0

0

0

1

0

Продолж.

9

1

0

0

1

0

0

1

0

Продолж.

10

1

0

1

0

0

0

1

0

Продолж.

11

1

0

1

1

0

1

1

1

Переход по стеку

12

1

1

0

0

13

1

1

0

1

14

1

1

1

0

15

1

1

1

1













Таблица 16.

Программа перехода к подпрограмме.

мк

Разряд

Адрес

31

30

29

28

27

26

25

24

Примечание

3

2

1

0

R3

R2

R1

R0

P3

P2

P1

P0

0

0

0

0

0

0

0

1

0

Продолж.

1

0

0

0

1

0

0

1

0

Продолж.

2

0

0

1

0

0

0

1

0

Продолж.

3

0

0

1

1

1

1

0

0

0

1

0

1

Перех. к п\п 12

4

0

1

0

0

0

0

1

0

Продолж.

5

0

1

0

1

0

0

1

0

Продолж.

6

0

1

1

0

0

0

0

0

0

0

0

1

Переход на 0

7

0

1

1

1

8

1

0

0

0

9

1

0

0

1

10

1

0

1

0

11

1

0

1

1

12

1

1

0

0

0

0

1

0

Продолж.

13

1

1

0

1

0

0

1

0

Продолж.

14

1

1

1

0

0

1

1

0

Возврат

15

1

1

1

1









3. Программа организации вложения подпрограмм приведена в табл. I7 и предназначена для демонстрации организации вложенных подпрограмм. Кроме того, она позволяет рассмотреть работу стека.

Выполнить загрузку и начальную установку. Установить переключатели в положение РАБОТА и ШАГ. Основная часть программы находится по адресам 13, 14 и 15. БИС К1804ВУ1 генерирует последовательность адреса: 13, 14, 0, 12, 1, 6, 12, 7, 3, 12, 4, 9, 10, 5, 8, 2, 15, 13 и т.д. Выполнение программы поясняет рис. 3.







































Таблица 17.

Программа организации вложения подпрограмм.

мк

Разряд

Адрес

31

30

29

28

27

26

25

24

Примечание

3

2

1

0

R3

R2

R1

R0

P3

P2

P1

P0

0

0

0

0

0

1

1

0

0

0

1

0

1

Перех. к п\п 12

1

0

0

0

1

0

1

1

0

0

1

0

1

Перех. к п\п 6

2

0

0

1

0

0

1

1

0

Возврат

3

0

0

1

1

1

1

0

0

0

1

0

1

Перех. к п\п 12

4

0

1

0

0

1

0

0

1

0

1

0

1

Перех. к п\п 9

5

0

1

0

1

0

1

1

0

Возврат

6

0

1

1

0

1

1

0

0

0

1

0

1

Перех. к п\п 12

7

0

1

1

1

0

0

1

1

0

1

0

1

Перех. к п\п 3

8

1

0

0

0

0

1

1

0

Возврат

9

1

0

0

1

0

0

1

0

Продолж.

10

1

0

1

0

0

1

1

0

Возврат

11

1

0

1

1

12

1

1

0

0

0

1

1

0

Возврат

13

1

1

0

1

0

0

1

0

Продолж.

14

1

1

1

0

0

0

0

0

0

1

0

1

Перех. к п\п 0

15

1

1

1

1

1

1

0

1

0

0

0

1

Перех. к п\п 13










Рис. 3. Выполнение программы организации вложения подпрограмм.


ЛАБОРАТОРНАЯ РАБОТА 6.


ИССЛЕДОВАНИЕ ПРОГРАММ СПЕЦИАЛЬНОГО НАЗНАЧЕНИЯ.


Цель работы: изучение и исследование на микротренажере МТ1804 программ оценки времени выбора РОН по каналу В, подсчета количества единиц в трех регистрах и моделирования 16-битового счетчика.

Задание.

1. Выполнить анализ приведенных ниже программ специального назначения.

2. Исследовать рассмотренные программы на микротренажере.

Методические указания / I /.

1. Программа оценки времени выбора РОН по каналу В приведена в табл. 18 и предназначена для демонстрации методики измерения времени выборки РОН по каналу В.

Загрузить программу и выполнить начальную установку.

Установить переключатели в положение РАБОТА и ШАГ. Нажать кнопку ПУСК два раза. В результате установить АВТОМАТ, и программа будет работать в динамическом режиме от внутреннего или внешнего генератора. Программа будет находиться в цикле между 14 и 15 адресами. При этом выходные данные АЛУ будут переходить из состояния 0000 в состояние 1111 и наоборот. Адрес В аналогично будет переходить из значения 0000 в 1111 и наоборот.

Используя сигнал выхода переноса счетчика микрокоманд, К1804ВУ1 (клемма ХР2 ) в качестве синхронизующего, измерить осциллографом время выборки по каналу В. Данная программа демонстрирует возможность измерения динамических характеристик KI804BCI.

2. Программа подсчета количества единиц в трех регистрах приведена в табл. 19 и предназначена для демонстрации условных переходов к подпрограмме.

Загрузить программу и выполнить начальную установку. Установить переключатели в положение РАБОТА и ШАГ. Величины , V0, V1, V2 обозначают три произвольных числа, которые загружаются в RO, R1 и R2 соответственно микрокомандами О, 1 и 2.

Таблица 18.

Программа оценки выбора РОН по каналу В.


Адрес

R3

R2

R1

R0

P3

P2

Р1

P0

MS2

I8

I7

I6

MS1

I2

I1

I0

C0

I5

I4

I3

A3

A2

A1

A0

B3

B2

B1

B0

D3

D2

D1

D0

Адрес следующей

м\к.

Выполняемая

операция

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

1

10

9

8

7

6

5

4

3

2

1

0

0

       

0

0

1

0

 

0

1

1

 

1

1

1

 

0

1

1

       

0

0

0

0

0

0

0

0

Продолж.

R0=0

1

1

1

1

0

0

0

0

1

 

0

1

1

 

1

1

1

 

0

1

1

       

1

1

1

1

1

1

1

1

Перех. на 14

R15=15

2

                                                                   

3

                                                                   

4

                                                                   

5

                                                                   

6

                                                                   

7

                                                                   

8

                                                                   

9

                                                                   

10

                                                                   

11

                                                                   

12

                                                                   

13

                                                                   

14

       

0

0

1

0

 

0

1

1

 

0

1

1

 

0

1

1

       

0

0

0

0

       

Продолж.

Чт. R0

15

1

1

1

0

0

0

0

1

 

0

1

1

 

0

1

1

 

0

1

1

       

1

1

1

1

       

Перех. на 14

Чт. R15







Таблица 19.

Программа подсчета количества единиц в трех регистрах.

Адрес

R3

R2

R1

R0

P3

P2

P1

P0

MS2

I8

I7

I6

MS1

I2

I1

I0

C0

I5

I4

I3

A3

A2

A1

A0

B3

B2

B1

B0

D3

D2

D1

D0

Адрес

следующей

м\к.

Выполняемая операция

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

       

0

0

1

0

 

0

1

1

 

1

1

1

 

0

1

1

       

0

0

0

0

V0

Продолж.

Загp. v0

1

       

0

0

1

0

 

0

1

1

 

1

1

1

 

0

1

1

       

0

0

0

1

V1

Продолж.

Загр .v1

2

       

0

0

1

0

 

0

1

1

 

1

1

1

 

0

1

1

       

0

0

1

0

V2

Продолж.

Загр .v2

3

       

0

0

1

0

 

0

1

1

 

1

1

1

 

0

1

1

       

0

1

0

0

0

1

0

0

Продолж.

R4=4

4

       

0

0

1

0

 

0

1

1

 

0

1

1

 

1

0

0

       

0

0

1

0

       

Продолж.

R3=0

5

       

0

0

1

0

 

0

0

1

 

1

0

1

 

1

0

0

0

0

0

0

0

0

0

0

0

0

0

1

Продолж.

r0* mask

6

1

1

1

0

0

1

0

0

 

1

0

1

 

0

1

1

 

0

1

1

       

0

0

0

0

       

На п\п 14 F/=0

R0 R0/2

7

       

0

0

1

0

 

0

0

1

 

1

0

1

 

1

0

0

0

0

0

1

0

0

0

1

0

0

0

1

Продолж.

R1* MASK

8

1

1

1

0

0

1

0

0

 

1

0

1

 

0

1

1

 

0

1

1

       

0

0

0

1

       

На п\п 14 F/=0

R1 R1/2

9

       

0

0

1

0

 

0

0

1

 

1

0

1

 

1

0

0

0

0

1

0

0

0

1

0

0

0

0

1

Продолж.

R2* MASK

10

1

1

1

0

0

1

0

0

 

1

0

1

 

0

1

1

 

0

1

1

       

0

0

1

0

       

На п\п 14 F/=0

R2 R2/2

11

       

0

0

1

0

 

0

1

1

 

0

1

1

0

0

0

1

       

0

1

0

0

       

Продолж.

R4-1

12

0

1

0

1

0

0

0

0

 

0

0

1

                                       

Перех на 5 F/=0

нет операции

13

1

1

1

1

0

0

0

1

 

0

0

1

                                       

БП на 15

нет операции

14

       

0

1

1

0

 

0

1

1

 

0

1

1

1

0

0

0

       

0

0

1

1

       

Возврат

R3+1

15

1

1

1

1

0

0

0

1

 

0

0

1

 

0

1

1

 

0

1

1

       

0

0

1

1

       

БП на 15

Чт. R3


Регистр R3 используется как счетчик полного числа единиц в числах V0, V1, V2.

Регистр R4 является рабочим регистром и используется как счетчик цикла программ. Значения RO, R1 и R2 не сохраняются в процессе выполнения программы. Данные со входа D используются для маскирования.

Программа заканчивает свою работу по адресу 15. Микрокоманда 15 выполняет чтение R3 для отображения результата работы программы на индикаторах. Если изменить значение поля 6 микрокоманды I5 на 0010 (продолжить), то программа сможет работать в динамическом режиме. Блок-схема программы приведена на рис. 4.

3. Программа моделирования 16-битового счетчика приведена в табл. 20 и предназначена для демонстрации метода моделирования с помощью РОН 16-битового программируемого счетчика.

Загрузить программу и выполнить начальную установку.

Установить переключатели в положении РАБОТА и АВТОМАТ.

В программе регистр RO содержит младшие четыре бита счетчика, R1 - вторую тетраду, R2 - третью, R3 - старшие биты. При достижении адреса 15 все внутренние регистры устанавливаются в нулевое положение. Блок-схема программы представлена на рис. 5.

Рис. 4. Программа подсчета единиц


Таблица 20

Программа моделирования 16 – битового счетчика

Адрес

R 3

R 2

R 1

R 0

P 3

P 2

P 1

P 0

MS2

I 8

I 7

I 6

MS1

I 2

I 1

I 0

C 0

I 5

I 4

I 3

A 3

A 2

A 1

A 0

B 3

B 2

B 1

B 0

D 3

D 2

D 1

D 0

Адрес

следующей

микрокоманды


 

Выполн.

операция

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

1

2

3

4

5

6

7

0

0

1

0

0

1

1

0

1

1

1

0

0

0

0

0

0

0

Продолжен.

R0=R0+1

8

0

1

1

1

0

0

0

0

0

0

1

Переход на 7,F≠ 0

9

0

0

1

0

0

1

1

0

1

1

1

0

0

0

0

0

0

1

Продолжен.

R1=R1+1

10

0

1

1

1

0

0

0

0

0

0

1

Переход на 7,F≠ 0

11

0

0

1

0

0

1

1

0

1

1

1

0

0

0

0

0

1

0

Продолжен.

R2=R2+1

12

0

1

1

1

0

0

0

0

0

0

1

Переход на 7,F≠ 0

13

0

0

1

0

0

1

1

0

1

1

1

0

0

0

0

0

1

1

Продолжен.

R3=R3+1

14

0

1

1

1

0

0

0

0

0

0

1

Переход на 7,F≠ 0

15

0

1

1

1

0

0

0

1

0

0

1

БП на 7

Рис. 5. Программа моделирования 16 – битового счетчика







ЛАБОРАТОРНАЯ РАБОТА 7

ИССЛЕДОВАНИЕ ФУНКЦИОНАЛЬНЫХ ВОЗМОЖНОСТЕЙ МИКРОТРЕНАЖЕРА МТ 1804

Цель работы: анализ и исследование микропрограмм выполнения операций в операционном и управляющем блоках лабораторного стенда.

Задание:

Составить микропрограмму по блок-схеме, приведенной на рис. 6 (П - последняя цифра номера зачетной книжки, Н - предпоследняя цифра зачетной книжки). Составить таблицу прохождения данных при выполнении микропрограммы.

Записать составленную микропрограмму в управляющую память стенда. Выполнить микропрограмму в пошаговом и автоматическом режимах. Для пошагового режима проконтролировать прохождение данных.

Методические указания /2/

Рассмотрим составление микропрограммы при следующих условиях: П=0101 = 510; Н = O111 = 710. Разместим микрокоманды последовательно в памяти микропрограмм, начиная с адреса 0000 (см. табл. 21). Внимание уделим заполнению полей микрокоманд, связанных с организацией функций переходов. Первые две микрокоманды, связанные с занесением данных в определенные регистры ПЭ, выполняются (рис. 6) последовательно, поэтому в поле управления следующим адресом (разряды 24-27 микрокоманды) записываем код функции продолжить (микрокоманды, расположенные по адресам 0 и I). Для определения четности числа П производится поразрядное логическое умножение его на константу 0001. Очевидно, что если результат операции будет нулевой, то число четно, и нечетно в противном случае. Следовательно, вызов подпрограммы необходимо осуществлять в зависимости от состояния флага F. В соответствии с приведенной ранее блок-схемой, вызов подпрограммы будет выполняться, если F ¹ 0. Для этого в поле управления следующим адресом записывается код операции условный вызов подпрограммы 0100, а в поле адреса перехода микрокоманды (разряды 28-3I) записывается адрес подпрограммы, который в данном случае равен О110. Для возврата из подпрограммы в поле управления следующим адресом записывается код функции возврат из подпрограммы (микрокоманда, расположенная по адресу 7). Для организации цикла в микрокоманде, расположенной по адресу 4, используется функция перехода с кодом 0000 -условный переход по адресу, выбираемому из регистра микрокоманд. Данный переход будет выполняться до тех пор, пока результат операции, определенной в блоке 7 (см. рис. 6) не станет равным нулю. Адрес микрокоманды, на которую необходимо произвести переход, записан в поле адреса перехода микрокоманды. Для организации остановки программы применено зацикливание микропрограммы самой на себя, что достигается выполнением функции перехода на адрес из регистра микрокоманд, и занесением в поле адреса перехода адреса этой же микрокоманды (микрокоманда с адресом 5). В остальных микрокомандах выполняется переход на следующий адрес, аналогично микрокомандам с адресами 0 и I, поэтому подробнее их рассматривать не будем.




























Рис. 6. Блок – схема программы




Таблица 21


Пример составления программы


Адрес

R3

R2

R1

R0

P3

P2

P1

P0

MS2

I8

I7

I6

MS1

I2

I1

I0

C0

I5

I4

I3

A3

A2

A1

A0

B3

B2

B1

B0

D3

D2

D1

D0

Примечание

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

1

0

0

1

1

1

1

1

0

1

1

1

0

0

0

0

1

0

1

П® (н + 1)

1

0

0

1

0

0

1

1

1

1

1

0

1

1

1

0

0

1

0

0

0

0

О® (н + 2)

2

0

1

1

0

0

1

0

0

0

0

1

1

0

1

1

0

0

1

0

0

0

0

0

0

1

П Ù 1

3

0

0

1

0

0

1

1

0

0

1

0

0

0

0

1

0

0

0

1

0

0

1

å i+1=å i + Пi

4

0

0

1

1

0

0

0

0

0

1

1

0

1

1

0

0

0

1

1

0

0

1

Пров. оконч. цикла

5

0

1

0

1

0

0

0

1

0

0

1

1

1

1

1

0

0

0

0

0

0

Стоп

6

0

0

1

0

0

1

1

1

0

0

0

1

1

1

0

0

0

1

0

1

0

Подпрограмма

7

0

1

1

0

0

1

1

1

0

1

0

0

0

0

1

0

0

0

1

0

0

0

0

1

0

1

П = П + 5



СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ

1. Устройство обучающее "Микротренажер МТ 1804". Паспорт 3.858.059 ПС. - Воронеж, 1984. - 47 с.

2. Методические указания к выполнению лабораторных работ по курсу "Схемотехника ЭВМ" и "Технические средства ЕС и СМ ЭВМ"/ Сост. Е. А. Башков, А. В. Сербиненко. - Донецк: ДПИ, 1987. - 52 с.

3. Проектирование цифровых систем на комплектах микропрограммируемых БИС/ С.В. Булгаков, В.М. Мещеряков, В.В. Новоселов, Л.А. Шумилов; Под ред. В.Г. Колесникова. - М.: Радио и связь, 1984. - 240 с.

4. Мик Дж., Брик Дж. Проектирование микропроцессорных устройств с раэрядно - модульной организацией: В 2-х т. - М.: Мир, 1983, - Т. I.- 253 с.

































ПРИЛОЖЕНИЕ

I. МЕТОДИЧЕСКИЕ УКАЗАНИЯ К ИЗУЧЕНИЮ РАБОТЫ ПР0ЦЕССОРНОГО ЭЛЕМЕНТА KI804BCI /2, З/

Микросхема KI804BCI представляет особой четырехразрядный микропрограммируемый процессорный элемент (ПЭ), предназначенный для применения в составе микро-ЭВМ в качестве устройства обработки и хранения данных с разрядностью, кратной четырем /I-4/. Элемент выполнен по ТТЛШ технологии и размещен в стандартном корпусе типа DIP с 40 выводами.

Структурная схема ПЭ приведена на рис. П1. Микросхема KI804BCI содержит следующие основные узлы:

арифметико-логическое устройство (АЛУ), предназначенное для выполнения трех арифметических и пяти логических операций;

массив регистров общего назначения (РОН) - шестнадцать четырехразрядных регистров, предназначенных для хранения операндов и результатов выполнения операций;

блок дополнительного регистра Q - четырехразрядный регистр для хранения промежуточных данных, организации микропрограмм умножения и деления;

блок управления формирует управляющие сигналы для остальных блоков процессорного элемента.

На структурной схеме рис. П1 приняты следующие обозначения:

СДВ1 - сдвигатель РОН, предназначенный для сдвига влево или вправо информации при приеме в РОН;

СДВ2 - сдвигатель регистра Q , предназначенный для сдвига влево или вправо информации при приеме в регистр Q ;

СИД - селектор источников данных АЛУ обеспечивает выбор различных пар операндов для обработки их в АЛУ;

СВД - селектор выходных данных выбирает источник выходных данных процессорного элемента.

Назначение выводов микросхемы KI804BCI:

АЗ-АО - адрес одного из регистров РОН по каналу А;

ВЗ-ВО - адрес одного из регистров РОН по каналу В;

I8-I0 - входы кода микрокоманды;

Т - вход для подачи в ПЭ тактовых импульсов;

D3-DO - четыре входа для приема входной информации;

Y3-Y0 - четыре выхода трех состояний для вывода данных из процессорного элемента;

PR0,PR3,PQ0,PQ3- двунаправленные входы/выводы трех состояний для приема/выдачи сигналов при выполнении операций сдвига (PR0, PQ0 - младший разряд, PR3 , РQ3 - старший разряд);

C0 - вход переноса (вход приема сигнала переноса из младшей тетрады результата арифметической операции);

C4 - выход переноса (выход выдачи сигнала переноса в старшую тетраду результата арифметической операции);

OE - вход управления буферными схемами трех состояний селектора выходных данных;

Z - выход признака нуля (выход с открытым коллектором, высокий уровень на этом выходе устанавливается, когда результат операции в АЛУ тождественно равен нулю);

OVR - выход признака переполнения (высокий уровень на выходе устанавливается, если при выполнении операции в АЛУ произошло переполнение - не совпадают переносы в старший разряд и из старшего разряда);

F3 - выход знака (выход старшего разряда АЛУ);

G, P - выходы генерирования и распространения ускоренного переноса (активный уровень низкий).

Работа процессорного элемента основывается на функционировании двух основных узлов: массива РОН и АЛУ /2/.

Массив РОН имеет один четырехразрядный информационный вход В и два четырехразрядных информационных выхода А и В. Номер регистра, содержимое которого выдается на выход А, определяется кодом на входах АЗ-АО. Номер регистра, содержимое которого выдается на выход В массива РОН или принимается состоянием входов В массива РОН, определяется кодом на входах ВЗ-ВО. Если коды на входах АЗ-АО и ВЗ-ВО совпадают, то на выходы А и В массива РОН выдается содержимое одного и того же регистра. Моментом записи информации в РОН является момент перехода тактового сигнала Т из "I" в "0". С этого момента информация на выходах RGA и RGB фиксируется, что устраняет неопределенность в кольце передачи информации с выхода блока внутренней памяти на его вход. Прием информации в регистр Q производится по переднему фронту синхросигнала Т.

Арифметико-логическое устройство выполняет восемь операций над двумя четырехразрядными операндами, поступающими по входам R и S. Четырехразрядный результат формируется на выходе F АЛУ. Вид операции определяется трехразрядным кодом на входах I5-I3 микрокоманды в соответствии с табл. П1. При выполнении арифметических операций считается, что операнды представлены в дополнительном коде.


Таблица П1

Управление операциями АЛУ

№ п/п

Микрокод

Операция АЛУ

I5

I4

I3

1

0

0

0

R + S + C0

2

0

0

1

S - R - 1 + C0

3

0

1

0

R - S - 1 + C0

4

0

1

1

R Ú S

5

1

0

0

R Ù S

6

1

0

1

Ù S

7

1

1

0

R Å S

8

1

1

1


Первые три операции арифметические. В них участвует перенос СО из младшей тетрады. При выполнении этих же операций вырабатывается перенос C4 в старшую тетраду и сигналы генерирования и передачи для организации ускоренного переноса. При выполнении арифметических операций формируется также сигнал переполнения OVR в случае несовпадения переносов в старший разряд результата и из старшего разряда. Сигналы Z (нулевой результат) и F3 (знак) формируются при выполнении всех операций.

Источники операндов, подключаемые к входам R и S АЛУ, выбираются селектором источников данных. Источниками могут быть: выходы А и В (регистры RGA и RGB массива РОН, дополнительный регистр Q , четырехразрядный вход данных D3 – D0 и четырехразрядный код логического нуля. Селектор выбирает источники и подключает их к АЛУ в зависимости от кода на входах I2 - I0 микрокоманды (табл. П2).

Результат выполнения операции АЛУ может быть записан в один из регистров массива РОН (по входу В), в регистр Q и выдан на выходы Y микросхемы. Важной особенностью приема результата является возможность одновременного сдвига результата влево или вправо. Приемник результата и вид сдвига определяется кодом I8-I6 микрокоманды в соответствии с табл. ПЗ. Код I8-I6 определяет также источник данных, которые селектор выходных данных передает на выход Y (если сигнал разрешает выдачу).

Таблица П2

Зависимость источника операнда от кода микрокоманд

№ п/п

Микрокод

Источник операнда АЛУ

I2

I1

I0

R

S

1

0

0

0

А

Q

2

0

0

1

А

B

3

0

1

0

0

Q

4

0

1

1

0

B

5

1

0

0

0

А

6

1

0

1

D

А

7

1

1

0

D

Q

8

1

1

1

D

0


где А - содержимое РОН по адресу АЗ-А0;

В - содержимое РОН по адресу ВЗ-В0;

Q - содержимое дополнительного регистра Q ;

D - значение данных с информационных входов D3 – D0 ;

0 - логический нуль.


Таблица П3

Зависимость приемника результата от кода микрокоманд

№ п/п

Микрокод

Загрузка

Выход Y

I8

I7

I6

1

0

0

0

Q : = F

F

2

0

0

1

Нет загрузки

F

3

0

1

0

B : = F

A

4

0

1

1

B : = F

F

5

1

0

0

B : = F/2;

Q : = Q/2

F

6

1

0

1

B : = F/2

F

7

1

1

0

B : = 2F ; Q : = 2Q

F

8

1

1

1

B : =2 F

F

где F - результат операции АЛУ (выходная шина АЛУ);

Y - выходная шина БИС KI804BCI.

При выполнении сдвига существенную роль играют входы/выходы PR3, PR0 и PQ3, РQ0 сдвигателей и регистра Q соответственно. При сдвигах вправо (I8-I6 = 100 или 101) PR3 и PQ3 настраиваются на прием в старший разряд, а PR0 и РQ0 - на выдачу младшего разряда. При сдвигах влево ( I8-I6 = 110 или 111) PR3 и РQЗ настраиваются на выдачу старшего разряда, а PR0 и РQ0 - на прием в младший разряд. Если сдвиг отсутствует, то PR3, PR0, РQЗ и PQ0 находятся в третьем состоянии.

Для правильного обращения к блоку внутренней памяти необходимо, чтобы выходные сигналы подавались за определенное время до и снимались через определенное время после подачи на микросхему перепада сигнала на входе Т . На рис. П2 приведена временная диаграмма входных сигналов, при соблюдении ограничений которой обеспечивается правильное функционирование микросхемы.













Рис. П2. Временная диаграмма входных сигналов микросхемы К1804ВС1.








2. МЕТОДИЧЕСКИЕ УКАЗАНИЯ К ИЗУЧЕНИИ РАБОТЫ УСТРОЙСТВА УПРАВЛЕНИЯ ПОСЛЕДОВАТЕЛЬНОСТЬЮ ВЫПОЛНЕНИЯ МИКРОКОМАНД К1804ВУ1 /I-3/

Микросхема К1804ВУ1 представляет собой устройство для формирования адреса микрокоманды и установления последовательности выборки микрокоманд, содержащихся в постоянном запоминающем устройстве, позволяющее наращивать разрядность устройства.

Структурная схема микросхемы К1804ВУ1 приведена на рис. ПЗ. Микросхема содержит следующие основные узлы:

мультиплексор с четырьмя различными входами для выбора адреса следующей микрокоманды;

счетчик микрокоманд, состоящий из регистра счетчика микрокоманд ( РгСМК ) и схемы приращения – инкрементора; счетчик микрокоманд используется для организации последовательного выполнения микрокоманд;

стек объемом 4х4, предназначенный для организации циклов и подпрограмм при выполнении микроопераций;

регистр для хранения внешнего четырехразрядного адреса (РгA);

Назначение выводов микросхемы К1804ВУ1:

вход регистра адреса R3 – R0 - четыре входа для приема информации во внутренний регистр адреса РгА ;

прямой вход адреса D3 —D0 - четыре входа адреса, поступающего из внешнего источника, который без каких-либо преобразований передается на выход устройства и используется для обращения к микропрограммной памяти;

вход маски OR3—OR0 - четыре входа, которые позволяют при наличии соответствующих управляющих сигналов выполнять переход по одному из двух, четырех, восьми и шестнадцати адресам;

выход адреса Y3 –Y0 - четыре трехстабильных выхода для формирования адреса управляющей памяти;

вход разрешения записи в регистр адреса - при низком уровне сигнала на данном входе разрешен прием информации с шин R3 - R0 в регистр адреса;

вход установки нулевого адреса - низкий уровень сигнала на данном входе устанавливает на выходах Y3-Y0 нулевой адрес;

вход выбора адреса SO , SI - два входа управления мультиплексором следующего адреса;

вход разрешения выбора адреса - высокий уровень сигнала на данном входе переводит выходные шины адреса устройства в третье состояние;

вход разрешения управления стеком - операции со стеком возможны только при низком уровне сигнала на данном входе;

вход управления стеком pup - сигнал, управляющий выбором типа операции, производимой со стеком, и обеспечивающий увеличение или уменьшение содержимого указателя стека (в зависимости от выполняемой операции - загрузка или извлечение);

вход тактовый Т - все изменения внутреннего состояния триггеров устройства происходят при поступлении нарастающего фронта тактового импульса;


Рис. П3. Структурная схема микросхемы К1804ВУ1
















вход переноса в счетчик микрокоманд СО - сигнал, поступающий с младшей секции устройства управления последовательностью, используется для наращивания разрядности устройства;

выход переноса счетчика микрокоманд C4 - сигнал, поступающий на старшую секцию устройства управления последовательностью микрокоманд, используется для наращивания разрядности.

Работа микросхемы К1804ВУ1 основывается на функционировании четырех основных узлов: блока выборки адреса, регистра адреса, счетчика микрокоманд и стека.

Блок выборки адреса содержит мультиплексор, с помощью которого выбирается источник адреса следующей микрокоманды. Входами мультиплексора являются: вход "прямого" адреса (D) ; вход адреса, передаваемого из внутреннего регистра адреса (R ); вход адреса, передаваемого из счетчика микрокоманд (M); вход адреса, передаваемого из стека подпрограмм и циклов ( F ). Выбор того или иного входа осуществляется в зависимости от значения управляющих сигналов мультиплексора SO и S1 (табл. П4).

Таблица П4

Управление мультиплексором адреса


S1

S0

Y

0

0

M

0

1

R

1

0

F

1

1

D


На выходе мультиплексора подключены четыре двухвходовые схемы ИЛИ, позволяющие модифицировать выбранный адрес с помощью маски, подаваемой на входы OR3-ORO . При выдаче соответствующих сигналов эти входы позволяют выполнить переход по одному из двух, четырех, восьми и шестнадцати адресов. Это осуществляется путем подачи высокого уровня напряжения на один или несколько входов маски OR (при наличии сигнала высокого уровня на входе ), что приводит к установлению напряжения высокого уровня на соответствующем выходе Y. При низком уровне сигнала на входе на выходе Y3 – Y0 устанавливается нулевой код, независимо от содержимого выбранного источника адреса. Буфер адреса, имеющий третье состояние, передает на выход адрес, сформированный мультиплексором следующего адреса, при наличии сигнала низкого уровня на входе . Совместное действие сигналов маски ORi ( i = 0¸ 3 ), управляющих сигналов и представлено в табл. П5.

Регистр адреса состоит из четырех триггеров D -типа. Он может использоваться для хранения адреса, принятого от внешнего источника по входам R3-RO . Запись информации в регистр адреса выполняется по положительному фронту тактового импульса на входе Т при = 0.



Таблица П5

Управление выходом


ORi

Y

X

Х

1

Z

Х

0

0

0

1

1

0

1

0

1

0

*

* - источник выбирается сигналами S1 , S0.


Счетчик микрокоманд состоит из регистра счетчика микрокоманд (РгСMК ) и устройства приращения. Последнее позволяет увеличить адрес с выхода блока выборки на единицу и подать его обратно на вход выборки адреса или на вход стека для запоминания. При выборе в качестве источника адреса регистра РгСМК мультиплексор адреса, инкрементор и собственно регистр СМК работают совместно как обычный двоичный счетчик. Наращивание адреса на единицу при передаче его с выходов мультиплексора на вход регистра СМК происходит только при наличии сигнала высокого уровня на входе C0. Если же на этом входе такой сигнал отсутствует, то в регистр СMК будет передаваться не модифицированный адрес, что позволяет выполнять одну и ту же команду любое количество раз. Если при формировании модифицированного адреса возникает сигнал переноса из старшего разряда схемы приращения, то на выходе C4 формируется сигнал высокого уровня. Сигналы С0 и C 4 позволяют строить устройства управления последовательностью выполнения микрокоманд любой разрядности, кратной четырем.

Стек состоит из собственно стека подпрограмм и циклов (работает в режиме ЗАГРУЗКА/ИЗВЛЕЧЕНИЕ), и связанного с ним указателя стека. Стек имеет объем 4х4. Он позволяет организовать выполнение подпрограмм и циклов с уровнем вложения не более четырех. Кроме того, вложенные циклы и подпрограммы могут чередоваться до тех пор, пока не будет исчерпан весь объем стека, состоящего из четырех слов. Для управления работой стека используются следующие управляющие сигналы (табл. П6):

сигнал разрешения доступа к стеку , выдаваемый всегда при обращении к стеку с целью выполнения операции загрузки или извлечения;

сигнал загрузка/извлечение PUP , управляющий выбором операции, производимой со стеком, и обеспечивающий увеличение или уменьшение содержимого указателя стека (в зависимости от выполняемой операции - загрузка или извлечение ). Для рассматриваемой микросхемы указатель стека всегда задает адрес микрокоманды, записанный в стек последним. Использование указателя стека позволяет в любой момент времени передавать содержимое стека в мультиплексор следующего адреса через вход F . При осуществлении такой передачи последнее слово, записанное в стек, используется для обращения к управляющей памяти.



Таблица П6

Управление стеком

PUP

О п е р а ц и я

1

X

Стек отключен

0

1

PUSH

: содержимое CMK загружается в стек

0

0

POP

: циклический сдвиг содержимого стека


Изменение информации в указателе стека происходит по переднему фронту тактового сигнала Т . Если на входе "0" и на входе PUP "0", то по переднему фронту тактового сигнала Т происходит изменение указателя стека по правилу:







2 1 0 3



Если на входе "0" и на входе PUP "1", то по переднему фронту сигнала Т происходит изменение указателя стека по правилу:






2 3 0 1



Сигналы с указателя стека поступают на С - входы одного из четырех регистров стека. Регистры стека построены на триггерах D -типа со статической записью. Запись выполняется, когда тактовый сигнал равен нулю. Схема записи и считывания под управлением сигналов Т, и PUP обеспечивает необходимую временную и логическую коммутацию при передаче информации из счетчика микрокоманд в стек (при записи в стек) или из стека на входы мультиплексора следующего адреса (при чтении из стека). Возможны три режима работы стека: увеличение содержимого указателя стека и запись ( = 0 , PUP = 1 ); считывание и уменьшение содержимого указателя стека ( = 0 , PUP=0 ); считывание без изменения содержимого указателя стека ( =1 , значение PUP безразлично).

Для нормального функционирования устройства управления последовательностью необходимы управляющие сигналы ORi, S1, S2, PUP, которые "зашиты" в ПЗУ управления выборкой следующего адреса с организацией 32х8 бит. Очевидно, что для выборки любого из 32 восьмиразрядных слов необходимо иметь в ПЗУ пять адресных входов. Четыре адреса входа поступают на ПЗУ непосредственно с выхода микропрограммной памяти P3-P0 (разряды 24 -27). Значение на пятом адресном входе формируется мультиплексором условий в зависимости от кода микрооперации /I/.

В данном лабораторном стенде на вход С0 подан высокий уровень, что обеспечивает постоянную модификацию адреса, поступающего на устройство приращения микросхемы К1804ВУ1.

БИС К1804ВУ1 ( DD22 ) выполняет 16 возможных переходов к адресу следующей микрокоманды согласно табл.П7. Код для программирования ПЗУ представлен в табл.П8. Рассмотрим выполнение функций переходов, реализуемых БИС К1804ВУ1, более подробно /2, З/.

Код операции 0 условный переход по адресу, выбираемому из регистра микрокоманд. Эта операция позволяет осуществить переход к различным последовательностям микрокоманд в зависимости от наличия тех или иных сигналов условий. В данной микрокоманде производится анализ результата операции АЛУ F на единичное состояние. Выборка нужного сигнала проверяемого условия выполняется при помощи мультиплексора кода условий ( DD38 ) под воздействием сигналов, поступающих из регистра микрокоманд. При выполнении условия осуществляется переход по адресу, принимаемому из РМК через шину D . Если условие не выполняется, то осуществляется переход к следующей по порядку микрокоманде, адрес которой поступает из счетчика адреса микрокоманд.

В качестве примера на рис. П4 показан условный переход по адресу, выбираемому из регистра микрокоманд, при выполнении микрокоманды, находящейся в слове управляющей памяти с адресом 52. Когда содержимое этого слова загружается в РМК, в качестве адреса следующей микрокоманды будет выбран либо адрес 53, либо адрес 30.

Код операции 1 - переход по адресу, выбираемому из регистра микрокоманд. Это безусловная операция перехода, выполняемая путем подачи сигнала низкого уровня на вход и сигналов выборки входа R мультиплексора следующего адреса на входы S0, S1 (см. рис. П4).

Код операции 2 - последовательная выборка. Приводит к приращению содержимого СМК, вследствие чего далее будет выполняться следующая по порядку микрокоманда.

Код операции 3 - переход по адресу вектора. Задается группой внешних адресных переключателей. Операция позволяет осуществить переход на любой адрес, выдаваемый внешним источником, что можно использовать при отладке микропрограммы. В приведенном на рис. П4 примере после выполнения микрокоманд с адресами 50 и 51 будет выполнена микрокоманда с адресом 52, которая задает переход к вектору. В данной момент на переключателях SA8-SA11 набран адрес 20, следовательно, после выполнения микрокоманды с адресом 52 последует микрокоманда с адресом 20.

Код операции 4 - условный переход к подпрограмме по адресу, выбираемому из РМК. Как показано на рис. П4. при выполнении данной операции производится загрузка стека (если условие выполняется, то есть значение флага F не равно нулю) и инициируется программа, расположенная по адресу, задаваемому регистром микрокоманд, который в данном случае равен 0. Если же условие не выполняется то, следующей будет выполняться микрокоманда, расположенная по адресу 53.

ТАБЛИЦА П7

ЗАВИСИМОСТЬ AДРЕCA ПЕРЕXOДA ОТ КОДА МИКРОКОМАНД

№ п/п

P3

P2

P1

P0

Функция

0

0

0

0

0

Переход на адрес из РМК, если F≠ 0 ( Z = 0 )

1

0

0

0

1

Переход на адрес из РМК ( БП ® R3 - R0 )

2

0

0

1

0

Переход на следующий адрес ( инкремент )

3

0

0

1

1

Переход на адрес по значению переключателей адреса SA8 - SA11

4

0

1

0

0

Переход к подпрограмме, если F≠ 0

5

0

1

0

1

Переход к подпрограмме ( БП ® R3 - R0, PC ® ST)

6

0

1

1

0

Возврат из подпрограммы (Чт из ST)

7

0

1

1

1

Переход по стеку ( БП ® ST, УС = const)

8

1

0

0

0

Окончить цикл и вытолкнуть из стека, если F = 0

( БП® ST, УС = УС - 1 )

9

1

0

0

1

Загрузить стек и продолжить ( вход в цикл)

10

1

0

1

0

Вытолкнуть из стека и продолжить, УС = УС - 1

11

1

0

1

1

Окончить цикл и вытолкнуть из стека, если С4 ≠ 1

( БП ST, УС = const; C4 = 1, БП ® РС, УС = УС - 1 )

12

1

1

0

0

Переход на адрес из РМК, если F = 0

13

1

1

0

1

Переход на адрес из РМК, если F3 = 1

14

1

1

1

0

Переход на адрес из РМК, если OVR = 1

15

1

1

1

1

Переход на адрес из РМК, если C4 =1


где Z - флаг нулевого результата;

F3 - флаг знакового разряда;

OVR - флаг переполнения;

С4 - флаг переноса;

F - результат операции АЛУ;

ST - стек;

УС - указатель стека;

БП - безусловный переход.


 

 

 


Таблица П8

Код для программирования ПЗУ

Код адреса ПЗУ

Выходной код

A4

P3

A3

P2

A2

P1

A1

P0

A0

CC

Q7

DD32

Q6

OR2

Q5

OR1

Q4

OR0

Q3

S0

Q2

S1

Q1

Q0

PUP

0

0

0

0

0

1

0

0

0

1

0

1

Х

0

0

0

0

1

1

0

0

0

0

0

1

Х

0

0

0

1

0

0

0

0

0

1

0

1

Х

0

0

0

1

1

0

0

0

0

1

0

1

Х

0

0

1

0

0

0

0

0

0

0

0

1

Х

0

0

1

0

1

0

0

0

0

0

0

1

Х

0

0

1

1

0

0

0

0

0

1

1

1

Х

0

0

1

1

1

0

0

0

0

1

1

1

Х

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

Х

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

Х

0

1

1

1

1

0

0

0

0

0

1

1

Х

1

0

0

0

0

1

0

0

0

0

1

1

Х

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

Х

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

Х

1

1

0

0

1

1

0

0

0

1

0

1

Х

1

1

0

1

0

1

0

0

0

0

0

1

Х

1

1

0

1

1

1

0

0

0

1

0

1

Х

1

1

1

0

0

1

0

0

0

0

0

1

Х

1

1

1

0

1

1

0

0

0

1

0

1

Х

1

1

1

1

0

1

0

0

0

0

0

1

Х

1

1

1

1

1

1

0

0

0

1

0

1

Х


Q7 – управляет регистром состояния (DD32);

X – означает произвольный логический уровень.


Рис. П4. Примеры выполнения операций

Рис. П4. Продолжение.

Переход к подпрограмме осуществляется при помощи следующих сигналов:

сигнал низкого уровня на входе при передаче адреса из РМК в БИС К1804ВУ1;

сигналов, обеспечивающих выбор входа мультиплексора следующего адреса на входы S0 и S1 ;

сигнал низкого уровня на вход для разрешения доступа к стеку ;

сигнала высокого уровня на вход PUP для записи содержимого регистра СМК в стек.

Код операции 5 - переход на подпрограмму, адрес которой задан в регистре микрокоманд. Выполнение данной микрокоманды осуществляется аналогично микрокоманде с кодом 4 в случае выполнения условия.

Код операции 6 - возврат из подпрограммы. Эта операция используется для обратного перехода из подпрограммы на выполнение микрокоманды, следующей за микрокомандой вызова подпрограммы. В примере, приведенном на рис. П4 , после выполнения микрокоманд подпрограммы с адресами 93 и 94 выполняется микрокоманда с адресом 95, задающая возврат из подпрограммы, который осуществляется путем подачи сигнала низкого уровня на вход для получения доступа к стеку, сигнала низкого уровня на вход РUР для осуществления операции чтения из стека и сигналов, обеспечивающих выбор входа мультиплексора следующего адреса, на входы S0, S1.

Код операции 7 - переход по стеку. По данной команде в качестве следующего адреса микрокоманды выбирается адрес, находящийся в стеке. Так, после выполнения микрокоманд 53 и 54 (см. рис. П4), будет выполняться микрокоманда с адресом 92, который до этого находился в стеке. Выполнение команды достигается подачей сигнала высокого уровня на вход , что блокирует изменение указателя стека, а на входы S0, S1 сигналов, которые приводят к выбору мультиплексором следующего адреса входа F.

Код операции 8 - проверка окончания цикла. Это условная операция, обеспечивающая в случае невыполнения условия (т.е. F не равно нулю) переход по находящемуся в стеке адресу для продолжения цикла в микропрограмме, а в противном случае - переход к выполнению следующей по порядку микрокоманды. В примере (рис. П4) микрокоманда, расположенная по адресу 56, задает операцию проверки условия окончания цикла. Если условие не выполняется, то в микропрограмме произойдет переход по адресу 52. Адрес 52 находится в стеке вследствие того, что при выборке из памяти микрокоманды с адресом 51 была выполнена операция загрузки стека. Если при выполнении микрокоманды с адресом 56 условие выполняется, то цикл завершается, и далее выполняется следующая по порядку микрокоманда с адресом 57. При этом производится также операция извлечения из стека в соответствии с требованиями к обслуживанию стека.

Код операции 9 - загрузка стека. Обычно используется для организации циклов в микропрограмме. Как показано на рассматриваемом рисунке, при подаче в РМК микрокоманды, находящейся в управляющей памяти по адресу 51, будет произведена операция загрузки стека. При загрузке стека в него всегда помещается адрес следующей по порядку микрокоманды, в данном случае - это адрес 52. Загрузка в стек происходит при наличии сигнала низкого уровня на входе для получения доступа к стеку и сигнала высокого уровня на входе pup для записи информации в стек.

Код операции 10 - вытолкнуть из стека. Последний адрес, находящийся в стеке, уничтожается. Такое действие происходит при наличии сигнала низкого уровня на входах и PUP, что вызывает соответствующее изменение указателя стека, а на входы S0 и S1 подаются сигналы, которые ведут к передаче на выход мультиплексора следующего адреса информации со входа М.

Код операции 11 - задает операцию полностью аналогичную микрокоманде с кодом 8, за исключением того, что проверяется флаг С4 на единичное состояние.

Коды 12, 13, 14 и 15 задают операции, полностью аналогичные микрокоманде с кодом 0, за исключением того, что в данных микрокомандах проверяются условия: F= 0, F3 = 1,OVR = 1, C4 = 1 соответственно.

3. Микротренажер. Схема принципиальная электрическая

Перечень элементов таблица П9

Позиционное

обозначение

Наименование

Колич.

Конденсаторы

С1… С42

К10 - 7В - Н90 - 0,022 мкФ гост.5.621 - 77

42

С43

К50 - 29 - 16В - 47 мкФ - В ожо. 464. 156ТУ

1

С44

К10 - 7В - М1500 - 680 пФ +/- 20% гост.5.621 - 77

1

Микросхемы

DD1,DD2

К155 ИД7 бко. 348.289 ТУ1

2

DD3...DD10

К155 РУ2 бко. 348.006 ТУ9

8

DD11...DD18

К1804 ИР1 бко. 348.620 - ОЗТУ

8

DD19

К155 ЛА3 бко. 348.006.ТУ1

1

DD20,DD21

К155 КП7 бко. 348.006.ТУ3

2

DD22

К1804 4ВУ1 бко. 348.620 - 02ТУ

1

DD23

К155 РЕ3 бко. 348.006.ТУ18

1

DD24,DD25

К155 КП7 бко. 348.006.ТУ3

2

DD26

К555 СП1 бко. 348.289.ТУ3

1

DD27

К531 КП11П бко. 348.118.ТУ7

1

DD28

К155 ЛА3 бко. 348.006.ТУ1

1

DD29

К1804 ВС1 бко. 348.620 - 01ТУ

1

DD30,DD31

К555 КП12 бко. 348.289.ТУ2

2

DD32

К531 ИР19П бко. 348.006.ТУ120

1

DD33

К155 ЛА3 бко. 348.006.ТУ1

1

DD34

К155 ТМ2 бко. 348.006.ТУ1

1




















Продолжение табл. П9

Позиционное

обозначение

Наименование

Колич.

DD35

К555 КП12 бко. 348.289 ТУ2

1

DD36

К1804 ИР1 бко. 348.620 - ОЗТУ

1

DD37

К531 КП11П бко. 348.118 ТУ7

1

DD38

К555 КП12 бко. 348.289.ТУ2

1

DD39...DD42

К155 КП7 бко. 348.006.ТУ3

4

Резисторы

R1…R38

МЛТ - 0.25 - 1 кОм +/- 5%

38

R39..R44

МЛТ - 0.25 - 360 Ом +/- 5%

6

R45..R54

МЛТ - 0.25 - 1 кОм +/- 5%

10

R55

МЛТ - 0.25 - 360 Ом+/- 5%

1

R56

МЛТ - 0.25 - 1 кОм+/- 5%

1

R57

МЛТ - 0.25 - 360 Ом +/- 5%

1

R58

МЛТ - 1 – 51 Ом +/- 5%

1

R59,R60

МЛТ - 0.25 - 470 Ом +/- 5%

2

R61…R67

МЛТ - 0.25 - 1 кОм +/- 5%

7

R68..R71

МЛТ - 0.25 - 360 Ом +/- 5%

4

Переключатели

SA1…SA11

ПДК - 1кр оюо.360.059 ТУ

11

SA14

ПДК - 1кр оюо.360.059 ТУ

1

SA15,SA16

ПТ 33 - 1 оюо.360.109 ТУ

2

SB1,SB2

ПДК - 2 б оюо.360.059 ТУ

1

VD1…VD12

Диод полупроводниковый АЛ 307АМ а АО.336.078 ТУ

12

XP1

Вилка СНП39 - 28 бро.364.057 ТУ

1