Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВМ отчёт №2.docx
Скачиваний:
37
Добавлен:
16.04.2015
Размер:
278.89 Кб
Скачать

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 -> ...