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

книги / Вычислительная техника и информационные технологии. Цифровые автоматы и микроконтролеры. Руководство к лабораторным работам в системе PROTEUS 7.2 SP6

.pdf
Скачиваний:
15
Добавлен:
12.11.2023
Размер:
4.8 Mб
Скачать

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

Разработка и исследование МПУУ с двумя типам

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

5.1.Краткие теоретические сведения

Дальнейшее углубление в область программного обеспечения заключается в сопоставлении каждому блоку ГСА некоторой микрокоманды, которая в простейшем случае формируется из микрокоманд двух типов: 1) операционной и 2) специальной, или перехода.

Признак микрокоманды ПМ = 1

Микрооперации

 

 

Операционная микрокоманда: ПМ = 1.

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

Код логического

Адрес

ПМ = 0

условия

перехода

 

 

 

Специальная, или переходов: ПМ = 0.

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

рационное устройство. Это

может быть реализовано путем

D0

Q0

 

перебора состояний счетчика

 

по счетному

входу +1 (рис.

D1

Q1

 

 

5.1).

Такой

счетчик будет

D2

Q2

 

 

называться счетчиком мик-

D3

Q3

 

PE

 

 

рокоманд. Конечно, для за-

R

 

 

дач

реальной размерности

+1

 

 

он должен иметь достаточ-

–1

 

 

 

 

ное число состояний.

 

 

 

Рис. 5.1. Условное графическое

 

В случае выполнения

специальной

микрокоман-

обозначение счетчика

 

со счетным входом +1

 

ды, если логическое усло-

 

 

 

71

 

 

вие равно единице, производится переход по указанному адресу с использованием входа предустановки РЕ по указанным в поле адреса данным Di. Если логическое условие равно нулю, то выбирается следующий адрес. Если номер логического условия равен нулю, то это безусловный переход, и производится передача управления по указанному адресу (на входах Di).

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

Получим, например, микропрограмму реализации алгоритма, изображенного на рис. 5.2, для автомата с двумя типами микрокоманд (табл. 5.1).

1

A1/z1

2

A2/z2

3

x1

4

 

5

 

x2

 

6

 

A3/z3

 

A4/z4

Рис. 5.2. Алгоритм работы автомата

72

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 5.1

 

 

 

 

 

 

 

 

 

 

 

 

 

Метка

 

Адрес

 

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

 

Комментарий

 

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

 

 

 

 

 

 

 

 

ПМ

1

2

3

4

5

 

M0:

0

 

0

 

0

1

1

0

0

0

0

Выдача z1 = 1 (A1)

М1:

0

 

0

 

1

1

0

1

0

0

0

Выдача z2 = 1 (A2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Переход, если

 

0

 

1

 

0

0

1

0

0

0

0

x1 = 1 к блоку 1

 

 

 

 

 

 

 

 

 

 

 

 

ГСА по адресу

 

 

 

 

 

 

 

 

 

 

 

 

000 (метка М0)

 

 

 

 

 

 

 

 

 

 

 

 

Переход, если

 

0

 

1

 

1

0

0

1

1

0

0

x2 = 1 к блоку 2

 

 

 

 

 

 

 

 

 

 

 

 

ГСА по адресу

 

 

 

 

 

 

 

 

 

 

 

 

001 (метка М1)

 

1

 

0

 

0

1

0

0

1

0

0

Выдача z3 = 1 (A3)

 

1

 

0

 

1

1

0

0

0

1

0

Выдача z4 = 1

 

 

 

(A4)

 

 

 

 

 

 

 

 

 

 

 

 

Возврат в 000

 

1

 

0

 

1

0

1

1

0

1

1

безусловно к

 

 

 

 

 

 

 

 

 

 

 

 

метке М0

5.2. Синтез блока управления

Для формирования блока управления введем две функции f1 и f2. Пусть если активируется f1, то счетчик микропрограмм осуществляет переход, а если активируется f2, то происходит переход по указанному адресу на входах предустановки.

Проанализировав словесное описание, приведенное выше, можно сделать следующие выводы:

1)функция f1 активируется, если признак микрооперации равен 1 и подается синхроимпульс;

2)функция f1 активируется, если признак микрооперации равен нулю и логическое условие x = 0 и подается синхроимпульс;

3)функция f2 активируется, если признак микрооперации равен нулю и логическое условие x = 1 и подается синхроимпульс.

73

Следует также отметить, что выполнение МПУУ со счетчиком микрокоманд требует двухфазной синхронизации. Это позволяет избавиться от «дребезга» контактов при переключении логических условий, устранить разницу во времени срабатывания различных микросхем устройства, т.е. устранить возможность появления гонок сигналов. Также возможно применениедругих технических средств, которые способны устранить вышеописанные негативные эффекты, которые могут отрицательным образом сказаться на работоспособности МПУУ. Посинхроимпульсу первой фазы будет осуществляться выборка команды, по синхроимпульсу второй фазы будет выполняться выполнение команды.

Введем обозначения: ПМ – p, ЛУ – x, синхросигнал – c1, c2. Тогда логические функции можно записатьв следующем виде:

f1( p, x, c2 ) = pc pxc2 = pc pxc2 ,

f2 ( p, x, c2 ) = pxc2 = pxc2.

По этим логическим выражениям осуществляется синтез блока управления (рис. 5.3).

MS

 

p

 

+1

 

 

 

 

 

 

 

 

 

X

c

C/c

 

x

Амк

 

СТ2

Рис. 5.3. Блок управления: MS – мультиплексор; СТ2 – счетчик микрокоманд; БУС – блок управления СТ2; x – текущая переменная; X – переменные; Ап – адрес перехода; Амк – адрес очередной микрокоманды; c – синхросигнал тактового генератора; С/с – переход по заданному адресу, +1 – счет, выбор очередного адреса, инкремент

5.3. Построение схемы и моделирование в Proteus*

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

* Материал подготовлен с участием студента О.А. Громова.

74

из входных логических условий и подключать данный сигнал на выход. На мультиплексор должен поступать код микрокоманды.

Выход счетчика должен подключаться на адресные входа ПЗУ. На вход счетчика заводятся функции f1 и f2, которые формируются блоком управления, и адрес перехода, который формируется на выходе элемента памяти.

Для моделирования схемы в Proteus на окно редактирования необходимо поместить из библиотеки компонентов следующие элементы: мультиплексор 74150, счетчик 74191, ПЗУ 2732, инверторы NOT, схема 2И-НЕ NAND_2, схема 3И-НЕ NAND_3, схемы ИЛИ OR, D-триггер DTFF, резисторы RES, светодиоды LED-GREEN, двухпозиционные переключатели SW-SPDT. Также для отладки нам понадобятся два тактовых генератора, их можно найти на вкладке Generator Mode и выбрать DPATTERN. В настройках первого генератора установить галочку Clock, на вкладке Clock Type выбрать Low-High-Low Clock, на вкладке Timing в поле Frequency ввести требуемую частоту, например 1 Гц. В настройках второго генератора установить галочку Clock, на вкладке Clock Type выбрать High-Low- High Clock, на вкладке Timing в поле Frequency ввести требуемую частоту, например 1 Гц. Как видно, генераторы должны работать в противофазе с одинаковой частотой. Рекомендуется, при соединении элементов схемы пользоваться режимом «BUSшина», так как данный режим позволяет избежать излишней путаницы, снижает количество ошибок при сборке и делает схему более наглядной. Подробнее о работе в среде Proteus см. прил.

Далее все элементы соединяются заданным образом, в результате должна получиться следующая схема (рис. 5.4).

МПУУ со счетчиком микрокоманд работает согласно заданной ГСА (рис. 5.5):

75

Рис. 5.4. Схема устройства

A1/z1

A2/z2

x1

x2

A3/z3

A4/z4

Рис. 5.5. Графическая схема алгоритма

76

При x1 = x2 = 0 выдается z1, z2, z3, z4. При x1 = 1, x2 = 0 выдается z1, z2.

При x1 = 0, x2 = 1 выдается z2.

Микрооперациям z1, z2, z3, z4 соответствуют светодиоды

D1, D2, D3, D4.

Логические условия x1, x2 задают ключи SW1, SW2 .

Рис. 5.6. Ключ

Проблема может быть в том, что для переключения ключа надо «кликать» не на само изображение ключа (рис. 5.6), а на

маленький красный кружок .

77

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

Синтез автомата-распознавателя заданной последовательности на ПЗУ

Пусть дан автомат-распознаватель последовательности 0132. Таблица переходов имеет следующий вид (рис. 6.1).

ab

y1y2 (t +1)

z1z2

Рис. 6.1. Таблица переходов

Получим таблицу констант в байтовом формате. База переменных у2у1ab, функции – у2(t+1)у1(t+1)z2z1. Незаполненные клетки доопределим нулями:

00Н, 04Н,02Н,00Н, 0ЕH,04Н, 00H,0СН,

00H, 00H, 00H, 00H, 0ЕH, 0ЕH, 0DН, 0CH.

Сформируем файл программы (рис. 6.2), откомпилируем его и получим HЕХ-файл (рис. 6.3).

78

Рис. 6.2. Файл программы

Рис. 6.3. HEX-файл

Схема автомата имеет вид (рис. 6.4).

79

Рис. 6.4. Схема автомата

Проверимсхемуна функционирование(автомат 0→1→3→2):

– 0→1 (рис. 6.5),

Рис. 6.5. Переход 0→1

– 1→3 (рис. 6.6),

80

Соседние файлы в папке книги