Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВМСиС (часть1).doc
Скачиваний:
32
Добавлен:
31.08.2019
Размер:
1.43 Mб
Скачать

Лабораторная работа № 2 Синтез управляющего устройства эвм на основе автоматов Мура и Мили

Продолжительность работы – 4 часа.

Цель работы. Знакомство с методами разработки управляющих устройств (УУ) с жесткой логикой, как составных частей процессоров ЭВМ.

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

Подготовка к работе

  1. Изучить следующие вопросы :

методы синтеза управляющих автоматов;

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

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

принципы построения комбинационных схем;

минимизация логических функций;

программирование постоянных запоминающих устройств (ПЗУ) и программируемых логических матриц (ПЛМ).

  1. Разработать устройство управления процессора ЭВМ, реализующее операцию умножения, используя исходные данные из табл.6 (вариант задается преподавателем). Комбинационные схемы КС1, КС2, КС3 (рисунок 4 и 5) выполнить на ПЗУ, ПЛМ или жесткой логике, в качестве регистров состояния (РС) использовать RS–, JK– или D–триггеры. В итоге вы получите следующие результаты:

структурную схему устройства управления;

таблицу функционирования устройства управления;

таблицы кодирования ПЗУ или ПЛМ для автомата Мили (Мура);

схему устройства управления на основе автомата Мура (Мили).

Программа работы

  1. В соответствии с заданным преподавателем вариантом (Таблица - 3), разработать структурную схему устройства управления реализующего операцию умножения. Использовать для этого структурные схемы автоматов ( рисунок унок 10 и рисунок 11), но определив при этом количество и назначение каждого из сигналов автомата.

  2. Осуществить кодирование состояний автомата, реализующего УУ. Разработать таблицы переходов и состояний выходов автомата. Вывести логические выражения функционирования для автоматов Мили или Мура.

  3. На основании полученных выражений составить таблицы программирования ПЗУ или ПЛМ и схемы для автоматов Мили (Мура).

  4. Проверить работоспособность УУ, запустив программу моделирования LOGIC на персональном компьютере.

  5. Оформить отчет и сделать выводы по лабораторной работе.

Таблица - 3

Вариант

1

2

3

4

5

6

7

8

Регистр

D

RS

JK

D

RS

D

RS

JK

Эл.база

ПЛМ

ПЗУ

ПЛМ

ПЗУ

ПЛМ

ПЛМ

ПЛМ

ПЗУ

Автомат

Мура

Мили

Мура

Мили

Мура

Мили

Мили

Мили

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

К п.1. Разрабатываемое локальное устройство управления с жесткой логикой позволяет осуществить с помощью АЛУ операцию умножения целых чисел в ЭВМ.

Для реализации этой операции АЛУ (см. лаб. раб. № 1) дополняется тремя регистрами (R1, R2, R3) и вычитающим счетчиком сдвигов Сч1 множителя (рисунок 8 – унок 8).

рисунок 8 – схема АЛУ

УУ по мере проведения операции умножения осуществляет управления АЛУ с помощью сигналов управления Y1,…,Y7 (микроопераций). Контроль состояния АЛУ осуществляется с помощью оповещающих (возвратных) сигналов X1,X2 , которые поступают в УУ.

УУ реализует алгоритм умножения двух двоичных целых чисел "со сдвигом частичных сумм и множителя вправо" [1]. В основу реализуемого алгоритма умножения положено правило умножения "в столбик".

Пример: Умножим в столбик 1210 на 1310 (рисунок 9). Число суммирований в столбике равно числу двоичных разрядов множителя (т.е. 4). В каждом суммировании участвуют промежуточная сумма и множимое, сдвинутое на один разряд влево, либо нуль.

рисунок 9 – операция умножения

В реализуемом алгоритме сдвиг влево множимого заменяют сдвигом промежуточной суммы вправо. В общем случае этапы алгоритма следующие:

  1. в регистр R2 загружают множитель, в R1 – множимое, а регистр частичных сумм R3 обнуляют; в счетчик Сч1 загружают значение равное числу разрядов множителя (регистра R2);

  2. анализируется значение счетчика Сч1; если значение Сч1=0 (сигнал X2=1), то умножение закончено и результат произведения находится в регистрах R3 (старшая часть) и R2 (младшая часть);

  3. анализируется 0-разряд R2 (значение X1); если значение X1 = 1, то производят суммирование значений R1 и R3 и сумма, с выхода сумматора (АЛУ), заносится опять в R3, иначе (X1=0) суммирование не производят;

  4. осуществляют сдвиг R3 и R2 на один разряд вправо, при этом 0-ой разряд R3 вдвигается в n-1-разряд R2; значение выдвигаемое из 0-разряда R2 определяет значение сигнала X1;

  5. уменьшают на 1 значение счетчика Сч1;

  6. если значение Сч1 не равно 0, то умножение продолжается и переход на пункт b)

Каждой из описанных микроопераций на схеме рисунок 8 – , соответствует свой сигнал, так:

  • Y1 – сдвиг вправо множителя R2;

  • Y2 – запись 0-разряда R3 (частичной суммы) в n-1 разряд R2;

  • Y3 – запись суммы в R3;

  • Y4 – обнуление регистра частичной суммы R3;

  • Y5 – сдвиг вправо регистра частичной суммы R3;

  • Y6 – запись в счетчик сдвигов Сч1 значения n (n – число разрядов множителя);

  • Y7 – уменьшение счетчика Сч1 на 1.

Оповещающими (возвратными) сигналами, поступающими из АЛУ в УУ, являются:

  • X1 – значение 0-разряда множителя R2;

  • X2 – нулевое значение счетчика Сч1.

Алгоритм работы УУ, осуществляющего операцию умножения с помощью АЛУ, изображенного на рисунке 8, будет иметь вид рисунок 12.

УУ ЭВМ строят в виде конечных логических автоматов с памятью Мура или Мили [2]. Отличие автомата от КС состоит в том, что состояние его выходов определяется не только входными сигналами, но и внутренним состоянием (сигналами регистра состояния).

Структурные схемы автоматов Мили и Мура представлены соответственно на рисунок 10 и 11 соответственно, при этом:

рисунок 10 – автомат Мили рисунок 21 – автомат Мура

X1...Xn – входные сигналы УУ (оповещающие сигналы из АЛУ);

Q1...Qi - выходные сигналы регистра состояния УУ;

q1...q i - входы установки регистра состояния (РС);

Y1...Yk – выходные сигналы управления УУ, подаваемые в АЛУ;

C - вход синхронизации работы УУ;

КС1, КС2, КС3 – комбинационные логические схемы (КС);

РС – регистр состояния автомата.

Этап 0: Определим число состояний автомата, реализующего алгоритм изображенный на рисунок 3.

Для автомата Мура число состояний равно числу микрокоманд реализуемых последовательно алгоритмом на рисунок 32. Микрокоманда - это набор сигналов УУ, подаваемых одновременно. В нашем случае число состояний автомата Мура равно четырем: А0 - начальное состояние все управляющие сигналы нулевые; А1 – выдаются управляющие сигналы Y6 ,Y4 , и так далее до А3.

Число внутренних состояний автомата Мили определяется также по алгоритму рисунок 32. Обозначаются "" и нумеруются как состояние, входы блоков схемы алгоритма, стоящие после блоков, содержащих управляющие сигналы (микрокоманды). Начало и конец схемы алгоритма нумеруются как начальное нулевое состояние . В нашем случае число состояний автомата Мили равно трем: .

рисунок 32 – алгоритм, реализующий операцию умножения

Этап 1: Состояние, в котором находится автомат, хранится в регистре состояния автомата в виде двоичного числа. Каждый бит числа хранится в отдельном триггере РС. Определим необходимое число триггеров состояния N по формуле:

S  2N, где

S – количество состояний автомата;

N – число триггеров регистра состояния.

В автомате Мили потребуется:

триггера.

Число N округляется до большего целого.

В автомате Мура потребуется:

триггера.

рисунок 43 – автомат Мура

Этап 2: Разработаем структурную схему устройства управления реализующего операцию умножения на основе автомата Мура (для реализации РС используются D-триггеры).

Таблица - 4

Состо-

Кодовая

яние

комбинация

Q2

Q1

A0

0

0

A1

0

1

A2

1

0

А3

1

1

Число входных сигналов РС зависит от типа применяемых триггеров. Если используется D-триггер, то для управления каждым из них достаточно одного сигнала D. Если используется JK- или RS-триггер, то для управления каждым из них потребуется по 2 сигнала (сигнал J и K или R и S).

Выходные сигналы устройства управления группируются в три сигнала управления появляющиеся в разное время.

Аналогично разрабатывается и структурная схема УУ на основе автомата Мили.

Таблица - 5

Состо-

Кодовая

яние

комбинация

Q2

Q1

A* 0

0

0

A* 1

0

1

A* 2

1

0

К п.2. Осуществим кодирование состояний автомата.

Этап 3: УУ, реализованное на основе автомата Мура имеет четыре состояния: А0, А1, А2, А3. Каждому состоянию устройства поставим в соответствие двоичную кодовую комбинацию Q2, Q1 триггеров регистра состояния (4).

Кодирования состояний автомата Мили представлено в Error: Reference source not found5.

Разработаем таблицу переходов и состояний выходов автомата.

В качестве регистров состояния используем D–триггеры. Управление состоянием этого триггера осуществляется с помощью единственного входного сигнала D (см. Error: Reference source not found6).

Таблица переходов и состояний выходов автомата Мура для УУ операцией умножения будет иметь вид (Error: Reference source not found).

Таблица - 6

Вид перехода

D

0  0

0

0  1

1

1  0

0

1  1

1

Колонки "Текущее состояние", "Следующее состояние", "Условие перехода" и "Управл. сигналы УУ" являются исходными и заполняются по алгоритму работы УУ (рисунок 32).

Кодовые комбинации текущего и следующего состояний устройства определяют необходимые сигналы установки триггеров D2,D1 , которые и выбираются в соответствии с таблицей переходов D–триггера (Error: Reference source not found6).

Таблица переходов и состояний выходов автомата Мили для УУ операцией умножения будет иметь вид (Error: Reference source not found8).

Колонки "Текущее состояние", "Следующее состояние", "Условие перехода" и "Управл. сигналы УУ" являются исходными и заполняются по алгоритму работы УУ (рисунок 32), но в соответствии с состояниями автомата Мили.

Таблица - 7

Текущее состояние

Следующее состояние*

Условие

Выходные

Обо

Код.комб

Обоз

Код.комб.

перехода

сигналы

знач

Q2

Q1

нач.

Q2

Q1

D2

D1

Управл.сигналы УУ

A0

0

0

A1

0

1

0

1

Y6 Y4

A1

0

1

A0

0

0

0

0

-

A1

0

1

A2

1

0

1

0

Y3

A1

0

1

A3

1

1

1

1

Y2 Y5 Y1 Y7

A2

1

0

A3

1

1

-

1

1

Y2 Y5 Y1 Y7

A3

1

1

A0

0

0

0

0

-

A3

1

1

A3

1

1

1

1

Y2 Y5 Y1 Y7

A3

1

1

A2

1

0

1

0

Y3

Таблица - 8

Текущее состояние

Следующее состояние *

Условие

Выходные

Обо

Код.комб

Обоз

Код.комб.

перехода

сигналы

знач

Q2

Q1

нач.

Q2

Q1

D2

D1

Управл.сигналы УУ

A*0

0

0

A*1

0

1

0

1

Y6 Y4

A*1

0

1

A*0

0

0

0

0

-

A*1

0

1

A*2

1

0

1

0

Y3

A*2

1

0

A*1

0

1

-

0

1

Y2 Y5 Y1 Y7

A*1

0

1

A*2

1

0

1

0

-

Замечание: В случае использования триггеров типа отличного от D-триггеров в Error: Reference source not found7 и Error: Reference source not found8 вместо выходов управления триггеров D2 и D1, вносятся другие линии управления триггерами (в частности, для JK-триггеров: выходы J и K, для RS-триггеров – R и S).

Кодовые комбинации текущего и следующего состояний устройства в этом случае определяют необходимые сигналы установки триггеров, которые и выбираются в соответствии с таблицами переходов JK– или RS-триггеров (Таблица - 969 и 10).

Таблица - 96

Вид перехода

J

K

0  0

0

0

0  1

1

0

1  0

0

1

1  1

0

0

Таблица - 70

Вид перехода

R

S

0  0

0

0

0  1

0

1

1  0

1

0

1  1

0

0

Этап 4: Логические выражения для выходных величин КС составляются исходя из следующих зависимостей:

Yk = F(Xk,Qk) ; Q*k = F(Xk,Qk) – для автомата Мили ( 0 )

Yk = F(Q*k) ; Q*k = F(Xk,Qk) – для автомата Мура ( 0 )

Выражения (3) и (4) показывают, что в автомате Мили выходные сигналы и сигналы состояния УУ находятся в зависимости от входных сигналов и сигналов текущего состояния устройства, а в автомате Мура выходные сигналы зависят только от состояния устройства.

В соответствии с (4) и Error: Reference source not found7 запишем логические выражения для автомата Мура:

( 0 )

( 0 )

Выражение (5) описывают работу комбинационной схемы КС2, а (6) описывают работу КС3 автомата Мура (см. рисунок 4). В соответствии с (3) и Error: Reference source not found запишем логические выражения для автомата Мили:

( 0 ) ( 0 )

К п. 3.На основании полученных выражений составим таблицы программирования ПЗУ или ПЛМ и функциональные схемы для автоматов Мили (Мура).

Этап 5: Выражения (5),(6), (7) и (8) являются исходными данными для программирования ПЗУ или ПЛМ, на которых строятся комбинационные схемы КС1, КС2, КС3.

Составим таблицу программирования ПЗУ КС2 для автомата Мура. Результаты программирования сведены в Таблица - 81, в которой:

D2,D1- выходы данных (D1,D0);

Q2,Q1,X2,X1 - адресные входы ПЗУ (A3,A2,A1,A0).

Таблица - 81

X2X1Q2Q1

D2

D1

0000

0

1

0001

1

1

0010

1

1

0011

1

1

0100

0

1

0101

1

0

0110

1

1

0111

1

0

1000

0

1

1001

0

0

1010

1

1

1011

0

0

1100

0

1

1101

0

0

1110

1

1

1111

0

0

Заполнение таблицы осуществляется следующим образом: генерируются все возможные состояния адресных входов ПЗУ (16 комбинации) и затем в соответствии с выражениями (8) формируются сигналы D2 и D1.

Составим таблицу программирования ПЗУ КС3 для автомата Мура. Результаты программирования сведены в Таблица - 92, в которой:

Y4,6, Y3 , Y1,2,5,7 - выходы данных (D2,D1,D0);

Q2,Q1 - адресные входы ПЗУ (A1, A0).

Заполнение таблицы осуществляется следующим образом: генерируются все возможные состояния адресных входов ПЗУ (4 комбинации) и затем в соответствии с выражениями (5) формируются сигналы Y4,6, Y3 , Y1,2,5,7.

Составим таблицу программирования ПЛМ в качестве схемы КС1 (см. рисунок 10) для автомата Мили, используя выражения (7) и (8).

При программировании ПЛМ пользователь последовательно программирует две матрицы: “И” и “ИЛИ”, входящие в состав ПЛМ. Это позволяет получить любые функциональные зависимости между входными и выходными величинами. Результаты кодирования сведем в Таблица - 103. В матрицу "И" включаются все возможные логические произведения входных переменных, которые имеются в выражениях (7) и (8).

Таблица - 92

Q2

Q1

Y4,6

Y3

Y1,2,5,7

0

0

0

0

0

0

1

1

0

0

1

0

0

1

0

1

1

0

0

1

Например, логическое произведение будет запрограммировано:

Q2Q1X2X1

H L L H – где L(Low – низкий)– инверсное значение входной переменной; H (High– высокий)– прямое значение входной переменной; "-" – отсутствие переменной в произведении.

Таблица - 103

Q2Q1X2X1

Y3Y4,6Y1,2,5,7D2D1

L H L -

- - - A -

- L - -

- - - - A

L L - -

- A - - -

L H L H

A - - - -

H L - -

- - A - -

Таким образом заполняется левая колонка Таблица - 103. Далее в правой колонке, соответствующей матрице “или”, указывается наличие данной конъюнкции в описании логических функций Y1–Y4, D2,D1. Например, состояние присутствует только в функции Y3, а состояние встречается в функции D2. Поэтому при наличии конъюнкции в описании функции пишем A (активная) в соответствующем столбце таблицы, в противном случае ставим прочерк.

Этап 6: Построим функциональную схему автомата Мура, используя в качестве КС2 и КС3 – ПЗУ, согласно выражениям (5) и (6), а также с прошивками, определяемыми Таблица - 81 и 12. Полученная схема приведена на 4.

рисунок 54 – Функциональная схема автомата Мура

Аналогичным образом осуществляется построение функциональной схемы УУ на основе автомата Мили.

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