![](/user_photo/2706_HbeT2.jpg)
- •Отчёт о лабораторной работе №2
- •С микропрограммным управлением серии к1804
- •1. Цель работы
- •2. Структурная схема цпэ к1804вс1
- •3. Структурная схема секции управления адресом микрокоманды к1804ву1
- •4. Система команд мп1804
- •5. Функциональная схема микротренажера мт2 1804
- •6. Программа работы на стенде мт2 1804
- •5. Микропрограмма организации цикла с помощью стека
- •7. Микропрограмма, организации вложения подпрограмм.
- •8. Микропрограмма, организации условных переходов.
- •7. Выполнение индивидуального задания
- •8. Выводы:
5. Функциональная схема микротренажера мт2 1804
Микротренажер МТ2 1804 (модель 2), реализован на базе стенда DiLAB со встроенной моделью ядра микропроцессорной системы с секционным микропроцессором. Внутренняя организация микротренажера соответствует типовой структуре микропроцессорной системы, выполненной на СБИС микропроцессорного комплекта К1804. Моделируемое ядро микропроцессорной системы объединяет модель блока центрального процессора, состоящего из одной 4-разрядной секции ЦПЭ К1804ВС1, регистра состояния с флагами результатов, мультиплексора сдвига и регистра выходных данных К1804ИР1, и модель блока микропрограммного управления в составе двух 4-разрядных секций схемы управления адресом микрокоманд (СУАМ) К1804ВУ1, ЗУ микрокоманд емкостью 256 36-разрядных слова, 36-разрядного регистра микрокоманд и схемы управляющих сигналов СУАМ, реализованной в виде ПЗУ емкостью 32 восьмиразрядных слова. Для обеспечения возможности оперативного программирования микропрограммная память выполнена в виде ОЗУ. Эмуляция модели ядра микропроцессорной системы реализована с помощью СБИС программируемой логики (ПЛИС EP2C8F256-8). Функциональная схема микротренажера кроме перечисленных блоков содержит устройство ввода информации, реализованное в виде клавишных переключателей адреса, данных и других элементов управления, обеспечивающих загрузку информации в ЗУМК и синхронизацию работы различных устройств тренажера, и устройство вывода информации, представленное в виде набора светодиодных индикаторов и табло жидкокристаллических индикаторов (ЖКИ), отражающих состояние выходных шин различных элементов процессорного блока, содержимое ячеек микропрограммной памяти и регистра микрокоманд.
6. Программа работы на стенде мт2 1804
Микропрограмма 1. Иллюстрирует методы загрузки данных в РОН ЦПЭ.
Таблица 1.1
Адрес памяти |
Микрокоманда |
Выполняемая функция | ||||||||
адрес перехода |
инструкция перехода |
приёмник результата |
источник операндов |
АЛУ |
А |
В |
D | |||
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 | |||
0000 |
хххх |
0010 |
х011 |
х111 |
х011 |
хххх |
0000 |
0010 |
Загрузка РОН0 | |
0001 |
хххх |
0010 |
х001 |
х011 |
х011 |
хххх |
0000 |
хххх |
Чтение РОН0 | |
0010 |
хххх |
0010 |
х011 |
х111 |
х011 |
хххх |
0001 |
0100 |
Загрузка РОН1 | |
0011 |
хххх |
0010 |
х001 |
х011 |
х011 |
хххх |
0001 |
хххх |
Чтение РОН1 | |
0100 |
хххх |
0010 |
х011 |
х111 |
х011 |
хххх |
1001 |
0101 |
Загрузка РОН9 | |
0101 |
0101 |
0001 |
х001 |
х011 |
х011 |
хххх |
1001 |
хххх |
Чтение РОН9 |
Анализ и результат работы: Выполнили микропрограмму в пошаговом режиме, фиксируя результат выполнения отдельных микрокоманд по индикатором «данные» (установка мультиплексора- 001 при выполнении программы – содержимое выходной шины данных ЦПЭ К1804ВС1):
Адрес
|
Индикатор «данные» |
0000 |
|
0001 |
|
0010 |
|
0011 |
|
0100 |
|
0101 |
|
С помощью указанных микрокоманд убедились, что можно загрузить любой из шестнадцати РОН произвольным числом меняя только содержимое полей В и D.
Микрокоманда с адресом 0101 в этой микропрограмме, передающая управление самой себе, является микрокомандой «останова». С помощью индикатора «данные» убеждаемся, что микропрограмма «зацикливаеться» на микрокоманде с адресом 0101, при этом любое последующее нажатие кнопки ПУСК не изменяет содержимое счетчика микрокоманд.
Загрузка Q выполняется аналогичными командами, однако для этого необходимо изменить приёмник результата.
Дополнение к микропрограмме 1 : Загрузка и чтение регистра Q.
Таблица 1.2
Адрес памяти |
Микрокоманда |
Выполняемая функция | ||||||||
адрес перехода |
инструкция перехода |
приёмник результата |
источник операндов |
АЛУ |
А |
В |
D | |||
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 | |||
0000 |
хххх |
0010 |
х000 |
х111 |
х011 |
хххх |
xxxx |
0010 |
Загрузка Q | |
0001 |
0001 |
0001 |
х001 |
x010 |
х011 |
хххх |
xxxx |
хххх |
Чтение Q |
Результат работы: число 2 в регистре Q
Микропрограмма 2. Иллюстрирует выполнение сдвиговых операций операндов 4-разрядной и 8-
разрядной длины
Таблица 1.3
Адрес памяти |
Микрокоманда |
Выполняемая функция | ||||||||
адрес перехода |
инструкция перехода |
приёмник результата |
источник операндов |
АЛУ |
А |
В |
D | |||
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 | |||
0000 |
хххх |
0010 |
x011 |
x111 |
x011 |
хххх |
0000 |
0010 |
Загр. РОН0 | |
0001 |
хххх |
0011 |
0111 |
1011 |
x011 |
хххх |
0000 |
хххх |
Сдвиг РОН0 влево цикл. | |
0010 |
хххх |
0011 |
0101 |
1011 |
x011 |
хххх |
0000 |
хххх |
Сдвиг РОН0 вправо цикл. | |
0011 |
хххх |
0010 |
x000 |
x010 |
x100 |
хххх |
хххх |
хххх |
Обнуление Q | |
0100 |
хххх |
0011 |
1110 |
0011 |
x011 |
хххх |
0000 |
хххх |
Цикл сдвиг двойной длины влево | |
0101 |
хххх |
0011 |
1100 |
0011 |
x011 |
хххх |
0000 |
хххх |
Цикл сдвиг двойной длины влево | |
0110 |
0110 |
0001 |
x001 |
x011 |
x011 |
хххх |
хххх |
хххх |
Пустая операция |
Анализ и результат работы: В результате выполнения команды по адресу 0 в РОН0 загружается число 2 после чего происходит переход на следующий адрес. В процессе работы программы в командах сдвига осуществляется переход на адрес вектора, задаваемый клавишным переключателем АДРЕС, что позволяет производить сдвиг РОН необходимое число раз. Необходимо учитывать, что по приходу тактового импульса, сдвиг РОН происходит вне АЛУ из-за этого при наблюдении выходной шины данных виден еще не сдвинутый РОН. Пустая операция в конце программы не производит никаких модификаций значений регистров и ссылается сама на себя.
Дополнительные задания к микропрограмме 2:Выполнение арифметического сдвига 8-разрядной длины вправо и влево, а также 4-разрядного сдвига с вводом лог.0 в старшие(при сдвиге влево) или младшие(при сдвиге вправо) разряды РОН и регистра Q
Таблица 1.4
Адрес памяти |
Микрокоманда |
Выполняемая функция | ||||||||
адрес перехода |
инструкция перехода |
приёмник результата |
источник операндов |
АЛУ |
А |
В |
D | |||
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 | |||
0000 |
хххх |
0010 |
x011 |
x111 |
x011 |
хххх |
0000 |
0010 |
Загр. РОН0 | |
0001 |
хххх |
0010 |
х000 |
х111 |
х011 |
хххх |
xxxx |
0010 |
Загрузка Q | |
0010 |
хххх |
0011 |
1 100 |
1 011 |
x011 |
xxxx |
0000 |
xxxx |
Арифм. сдвиг(8-разр.) -> | |
0011 |
хххх |
0011 |
1 110 |
1 011 |
x011 |
xxxx |
0000 |
xxxx |
Арифм. сдвиг(8-разр) <- | |
0100 |
хххх |
0011 |
0 100 |
0 011 |
x011 |
xxxx |
0000 |
xxxx |
Сдвиг(4-разр,0 в ст.р.) -> | |
0101 |
хххх |
0011 |
1 110 |
1 011 |
x011 |
xxxx |
0000 |
xxxx |
Сдвиг(4-разр,0 в мл.р.) <- | |
0110 |
0110 |
0001 |
x001 |
x011 |
x011 |
хххх |
хххх |
хххх |
Пустая операция |
Микропрограмма 3. Иллюстрирует выполнение арифметических операций.
Таблица 1.7
Адрес памяти |
Микрокоманда |
Выполняемая функция | ||||||||
адрес перехода |
инструкция перехода |
приёмник результата |
источник операндов |
АЛУ |
А |
В |
D | |||
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 | |||
0000 |
хххх |
0010 |
х011 |
x111 |
x011 |
хххх |
0000 |
0000 |
Загрузка R0 | |
0001 |
хххх |
0011 |
х011 |
х011 |
1000 |
хххх |
0000 |
хххх |
R0+1 | |
0010 |
хххх |
0011 |
х011 |
х011 |
0001 |
хххх |
0000 |
хххх |
R0-1 | |
0011 |
хххх |
0011 |
х011 |
х101 |
0000 |
0000 |
0000 |
0011 |
R0+3 | |
0100 |
хххх |
0011 |
х011 |
х101 |
1001 |
0000 |
0000 |
0101 |
R0-5 | |
0101 |
хххх |
0010 |
х011 |
х011 |
х100 |
хххх |
0000 |
хххх |
Обнуление R0 | |
0110 |
хххх |
0010 |
х011 |
х111 |
х011 |
хххх |
0001 |
0101 |
Загрузка R1 | |
0111 |
хххх |
0011 |
х011 |
х001 |
0000 |
0001 |
0000 |
хххх |
R0<-R0+R1 | |
1000 |
1000 |
0001 |
х001 |
хххх |
хххх |
хххх |
хххх |
хххх |
Пустая операция |
Результат работы: Данная программа демонстрирует возможные арифметические операции с разным типом и числом операндов: РОН и D, РОН и РОН и т.д. В данную микропрограмму, как и в предыдущих пунктах, включены микрокоманды, в которых реализуется переход по адресу, формируемому клавишным регистром адреса, что позволяет выполнять арифметические операции, произвольное число раз.
Пример выполнения микропрограммы 3:
Загрузка R0 |
R0 = 0000 |
R0+1 |
R0 = 0001 |
R0+3 |
R0 = 0100 |
R0-1 |
R0 = 0011 |
R0+3 |
R0 = 0110 |
R0-5 |
R0 = 0001 |
Загрузка R1 |
R1 = 0101 |
R0<-R0+R1 |
R0 = 0110 |
Микропрограмма 4. Выполняет операцию выборки следующей микрокоманды при безусловных переходах.
Таблица 1.8
Адрес памяти |
Микрокоманда |
Выполняемая функция | ||||||||
адрес перехода |
инструкция перехода |
приёмник результата |
источник операндов |
АЛУ |
А |
В |
D | |||
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 | |||
0000 |
1001 |
0001 |
хххх |
хххх |
хххх |
хххх |
хххх |
хххх |
БП по адресу 9 | |
0011 |
хххх |
0010 |
хххх |
хххх |
хххх |
хххх |
хххх |
хххх |
БП продолжить | |
0100 |
1111 |
0001 |
хххх |
хххх |
хххх |
хххх |
хххх |
хххх |
БП по адресу 15 | |
1001 |
xxxx |
0010 |
хххх |
хххх |
хххх |
хххх |
хххх |
хххх |
БП продолжить | |
1010 |
0011 |
0001 |
хххх |
хххх |
хххх |
хххх |
хххх |
хххх |
БП по адресу 3 | |
1111 |
0000 |
0001 |
хххх |
хххх |
хххх |
хххх |
хххх |
хххх |
БП по адресу 0 |
Результат работы: В процессе работы программы осуществляются безусловные переходы к следующему адресу, либо переходы указанные в инструкции адреса. Последовательность адресов при выполнении программы:
0000 -> 1001 -> 1010 -> 0011 -> 0100 -> 1111 -> 0000 -> ...