Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа по МП №1-2 печать.doc
Скачиваний:
1
Добавлен:
19.11.2019
Размер:
1.98 Mб
Скачать

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

Выполнение пункта 1 задания аналогично пункту 2 лабораторной работы №1. Необходимо помнить, что отрицательные числа в МТ представляются в дополнительном коде.

Микрокоманды реализации арифметических и логических операций формируются на основе таблиц 2 ÷ 4. Контроль за результатами выполнения операций и состоянием флагов осуществляется с помощью светодиодных индикаторов «Данные» при соответствующем положении переключателей «Мультиплексор» Таблица 6.

Для реализации сдвига содержимого РОН необходимо извлечь содержимое этого регистра и переправить его на один из входов АЛУ. Обеспечить выбором второго операнда и типа операции прохождение данных без преобразования через АЛУ и с выхода АЛУ записать со сдвигом в тот же регистр. Вид сдвига определяется битами I8 - I6 (табл. 4) и S1,S0 (табл.5). Каждую сдвиговую операцию необходимо выполнять многократно, контролируя результат сдвига содержимого регистра на индикаторах «Данные», подключенных к выходу Y ЦПЭ.

В данной лабораторной работе во всех микрокомандах поле «Адрес перехода» не заполняется, а в поле «Управление следующим адресом» заносится код – 0010, что обеспечивает последовательное выполнение команд.

Содержание отчета

  1. Таблицы кодов всех команд и комментарии к ним.

  2. Результаты и флаги выполнения операций.

  3. Последовательность изменения содержимого регистров при выполнении сдвиговых операций.

Вопросы и задания для самоконтроля

  1. Каков состав и назначение флагов МП?

  2. Какие функции выполняет АЛУ?

  3. В чем различия простого и арифметического сдвига?

  4. Составьте команду не производящую никакого преобразования – NOP (No OPeratoin).

  5. Составьте команду поразрядной инверсии содержимого одного из регистров.

  6. Составьте команду инверсии знака.

  7. Каким образом одной командой реализовать умножение на 2?

Лабораторная работа №3

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

Цель работы

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

Задание к лабораторной работе

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

Рис. 5. Блок-схема программы умножения.

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

Необходимую последовательность выполнения команд в МТ обеспечивает УУ, построенное на основе СУАМ К1804ВУ1. В зависимости от содержимого шестой тетрады микрокоманды - «Управление следующим адресом», УУ реализует восемь безусловных и восемь условных переходов к следующей микрокоманде (таблица 8). Предложенная для реализации программа перемножения двух четырех разрядных чисел иллюстрирует возможности МТ в организации условных, безусловных переходов и циклического выполнения микрокоманд.

Если перемножить два четырехразрядных числа в столбик,

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

В программе умножения сомножители загружаются в регистры R0 и R1, для хранения результата умножения используется регистровая пара R3 и RQ (R3 – старший полубайт). На основе регистра R2 организован счетчик количества циклов сложения со сдвигом множимого. Микрокоманды, начиная с 0 по 4, осуществляют загрузку исходных данных (R0-R2) и очистку регистров предназначенных для хранения результата умножения (R3, RQ). Микрокоманда 5 осуществляет проверку содержимого старшего разряда множителя (флаг F3). В микрокоманде 6 выполняется сдвиг двойной длины суммы (R3, RQ) влево на один разряд и при установленном флаге F3 (сформирован в 5 операции) переход к микрокомандам 11-14. Микрокоманды 11-14 выполняют операцию прибавления множимого к регистрам результата (R3, RQ) с учетом переноса в старшую тетраду С4. Циклическое выполнение команд с 5 по 8 организовать с использованием стека. Чтение результата умножения обеспечивают микрокоманды 9, 10.

Содержание отчета

  1. Таблицы кодов всех команд и комментарии к ним.

  2. Результаты и флаги выполнения каждой операций в каждом цикле.

Вопросы и задания для самоконтроля

  1. Объясните назначение, структуру и принцип работы УУ МТ.

  2. Объясните назначение, структуру и принцип работы СУАМ К1804ВУ1.

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

  4. Составьте фрагмент программы, выполняющий переход к микрокоманде по адресу 1101 при наличии 1 во втором разряде R7.

  5. Определите несколько способов циклического выполнения команд.

Лабораторная работа №4

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

Цель работы

Изучение возможностей использования подпрограмм.

Задание к лабораторной работе

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

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

В качестве примера применения подпрограмм в УУ с микропрограммным управлением рассмотрим программу подсчета количества единиц содержащихся в регистрах R0, R1, R2 в соответствии с блок-схемой приведенной на рис. 6.

Рис.6. Блок-схема программы подсчета количества единиц.

Микрокоманды 0 – 4 осуществляют загрузку исходных данных в регистры R0, R1, R2, маски 0001 в R3 и очистку регистра R4 предназначенного для хранения результата выполнения программы. Микрокоманды 5,6,7 выполняют передачу содержимого регистров R0, R1, R2 в регистр R5 и вызывают подпрограмму 9, которая производит подсчет количества единиц в этом регистре. Первая микрокоманда подпрограммы 9 загружает счетчик количества циклов подсчета 4 в R6. В 10 микрокоманде проверяется содержимое младшего разряда R5. Следующая микрокоманда при наличии единицы в младшем разряде (Z == 0)вызывает подпрограмму 15, в которой производится инкремент счетчика количества единиц R4. В микрокомандах 12,13 определяется условия окончания циклов подсчета и выхода из подпрограммы 9. Микрокоманда 8 осуществляет чтение результата выполнения программы.

Содержание отчета

  1. Таблицы кодов всех команд и комментарии к ним.

  2. Результаты и флаги выполнения каждой операций в каждом цикле.

Вопросы и задания для самоконтроля

  1. Какие действия происходят в СУАМ К1804ВУ1 при обращении к подпрограмме и выходе из нее?

  2. Какие сигналы необходимо сформировать на выходах СУАМ S0, S1, , PUP при вызове подпрограммы?

  3. Как изменится содержимое стека при последовательном вызове трех подпрограмм?

  4. В чем состоят ограничения при обращении к подпрограммам?

Порядок работы на микротренажере

Микротренажер, в зависимости от положения переключателя «Загрузка - Работа», может работать в режиме «Загрузка», когда осуществляется ручное программирование микропрограммной памяти, и в режиме «Работа», когда выполняется программа.

Для программирования микропрограммной памяти необходимо:

  1. Переключатель «Загрузка - Работа» установить в положение «Загрузка».

  2. Переключателями «Адрес» в двоичном коде набрать адрес ячейки памяти, в которую будет записываться микрокоманда. Необходимо помнить, что нижнее положение переключателей соответствует логическому «0», а верхнее – логической «1».

  3. Переключателями «Мультиплексор» установить номер тетрады микрокоманды.

  4. Переключателями «Данные» набрать нужный код данных для записи в выбранную тетраду.

  5. Нажав кнопку «Загрузка», произвести запись данных в микрокомандную память выбранной тетрады.

  6. Контроль за записываемой информацией осуществляется по показаниям светодиодных индикаторам «Память».

Пункты 3 - 6 повторить для всех тетрад, устанавливая в соответствующее положение «Мультиплексор».

Для записи следующей микрокоманды необходимо набрать новый адрес ячейки памяти, в которую будет записываться следующая микрокоманда (пункт 2) и повторить пункты 3 - 6.

Для запуска программы необходимо произвести начальную установку (инициализацию), т. е. ввести в РМК микрокоманду, соответствующую начальному адресу программы. Для этого после окончания загрузки программы, переключателями «Адрес» установить значение стартового адреса программы и нажать кнопку «Пуск».

В режиме «Работа» МТ может выполнять программу по шагам или автоматически от внутреннего либо внешнего источника синхроимпульсов.

Для выполнения программы в пошаговом режиме, необходимо установить переключатель «Загрузка – Работа» в положение «Работа», а переключатель «Шаг – Автомат» - в положение «Шаг». При этом синхронизация МТ будет осуществляться от кнопки «Пуск». При однократном нажатии кнопки «Пуск» вырабатывается один синхроимпульс и выполняется одна микрокоманда.

Для автоматического выполнения программы переключатель «Шаг – Автомат» установить в положение «Автомат». Когда переключатель «Внутренний – Внешний» находится в положении «Внутренний», синхронизация осуществляется от встроенного в МТ генератора на частоте 1МГц. В положении переключателя «Внешний» синхронизация МТ осуществляется от внешнего генератора подключенного к клеммам «Генератор», на частоте до 2 МГц. Для выполнения одной микрокоманды необходимо переключатель «Загрузка – Работа» установить в положение «Загрузка», переключателями «Адрес» набрать адрес нужной микрокоманды и нажать кнопку «Пуск» столько раз, сколько раз необходимо выполнить данную команду.

Для контроля за работой МТ используются светодиодные индикаторы, расположенные в верхней части стенда. Светодиодные индикаторы «Память» отражают содержимое ячейки микропрограммной памяти по указанному адресу. Светодиодные индикаторы «Микрокоманда» позволяют контролировать содержимое регистра микрокоманд. Отображение 32-разрядного содержимого ячейки памяти и регистра микрокоманд выполняется по тетрадно. Номер тетрады задается положением переключателей «Мультиплексор» в двоичном коде. Светодиодные индикаторы «Данные» осуществляют индикацию прохождения данных в различных точках МТ. Подключение индикаторов к различным элементам схемы определяются положением переключателей «Мультиплексор» (таблица 6).

Точки подключения индикаторов «Данные» в зависимости от

кода переключателей «Мультиплексор»

Таблица 6

Код

«Мультиплексор»

Индикаторы «Данные»

Функция

8

4

2

1

000

Y3

Y2

Y1

Y0

Выход К1804ВУ1

001

Y3

Y2

Y1

Y0

Выход К1804ВС1

010

C4

OVR

F3

Z

Флаги К1804ВС1

101

PQ3

PQ0

PR3

PR0

Входы/выходы сдвигателей К1804ВС1