Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Lab4

.pdf
Скачиваний:
12
Добавлен:
14.03.2016
Размер:
354.36 Кб
Скачать

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

Устройство управления микропрограммного типа на примере автомата для управления выполнением косвенного умножения

1. Содержание работы

Рассмотрим алгоритм выполнения косвенного умножения (см. работу № 3) с сигналом начала преобразования (Start)

Рисунок 1 Алгоритм работы управляющего автомата

Рассмотрим структуру управляющего автомата микропрограммного типа для реализации этого алгоритма (рисунок 2).

Yi

 

ACode

 

JMP Adr

 

 

 

 

 

Регистр микрокоманды (РМК)

Память микропрограмм

(ПМП, ROM)

Адрес ПМП

Схема формирования адреса ПМП

Start

Bn Zero

JMP Adr

 

 

Рисунок 2 – Схема устройства управления микропрограммного типа

Микропрограмма хранится в памяти микропрограмм (ПМП), которая представляет собой ПЗУ (ROM). На каждом такте из ПЗУ считывается очередная микрокоманда и загружается в регистр микрокоманды (РМК). В

микрокоманде несколько полей, рассмотренных в таблице 1. Поля Y0, Y1 и

Y2 формируют соответствующие микрооперации, поле ACode ( в данном случае – 3 бита) кодирует вариант формирования адреса следующей микрокоманды в соответствии с таблицей 2, поле JMP Adr представляет собой адрес перехода в ПМП (используется в микрокомандах передачи управления).

Схема формирования адреса ПМП выбирает адрес для ПМП из двух вариантов : либо – текущий адрес + 1 (NEXT), либо – адрес, указанный в поле JMP Adr соответствующей микрокоманды в зависимости от того, какой вариант формирования адреса микрокоманды используется, и какое значение имеют сигналы Start, Bn и Zero, поступающие в устройство.

Эта схема может быть построена на базе счетчика, двухканального многоразрядного мультиплексора и комбинационной схемы, у которой будут 6 входов (ACode2..0 , Start, Bn, Zero) и один выход, управляющий входом выбора мультиплексора (эту схему также можно представить как одноразрядный 3-канальный мультиплексор).

Микропрограмма, реализующая алгоритм косвенного умножения

(рисунок 1), приведена в таблице 3.

Таблица 1 - Формат микрокоманды (и регистра МК)

Y0-Load

Y1-Add

Y2-Shift

ACode2

ACode1

ACode0

JMP Adr (3)

Таблица 2 - Коды варианта формирования адреса микрокоманды

ACode2

ACode1

ACode0

Вариант формирования адреса

0

0

0

NEXT (Addr + 1)

0

0

1

JMP (безусловный)

0

1

0

JMP on Not Start (JNS)

0

1

1

JMP on Not Bn (JNB)

1

0

0

JMP on Not Zero (JNZ)

Таблица 3 - Микропрограмма косвенного умножения

Адрес

Y0-Load

Y1-Add

Y2-Shift

ACode

JMP Adr

000

0

0

0

JNS (010)

000

001

1

0

0

NEXT

000

010

0

0

0

JNB

100

011

0

1

0

NEXT

000

100

0

0

1

NEXT

000

101

0

0

0

JNZ

010

110

0

0

0

JMP

000

2. Порядок выполнения работы :

1.Изучить алгоритм , схему устройства управления (УА) и пример микрокода.

2.Построить схему формирования адреса (СФА) по приведенному описанию.

3.Построить СФА в Quartus II.

4.Построить схему всего устройства в Quartus II

5.Получить временные диаграммы работы устройства

6.Заменить управляющий автомат в косвенном умножителе (работа № 3) на разработанное устройство

7.Написать микропрограмму для полученного автомата для реализации другого алгоритма (по варианту из п. 3). При необходимости скорректировать схему автомата.

3. Варианты заданий для п. 2.6:

Во всех вариантах предполагается создание микропрограммы и получение диаграммы для немного видоизмененного (или совсем другого) алгоритма

1.Алгоритм без проверки сигнала Start

2.Алгоритм с проверкой сигнала Start после Load

3.Алгоритм с округлением (выдается еще один сигнал Y3)

4.Алгоритм сложения двух чисел

5.Алгоритм сдвига на 1 разряд

6.Алгоритм сдвига на 3 разряда

7.Алгоритм умножения на 5

8.Алгоритм сложения со сдвигом

9.Модифицировать микропрограмму для поддержки условий JZ, JB, JStart

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]