- •Лабораторная работа № 1 Изучение общей структуры арифметико-логического устройства эвм
- •Подготовка к работе
- •Программа работы
- •Методические указания к работе
- •Лабораторная работа № 2 Синтез управляющего устройства эвм на основе автоматов Мура и Мили
- •Подготовка к работе
- •Программа работы
- •Методические указания к работе
- •Лабораторная работа № 3 Изучение архитектуры и функциональных возможностей арифметико-логического устройства на базе вычислительной секции к1804вс1
- •Подготовка к работе
- •Программа работы
- •Методические указания к работе
- •Методические указания к работе
- •Литература: [1, c.277–316; 7, c.154–158; 8, c.355-358] Библиографический список
Лабораторная работа № 2 Синтез управляющего устройства эвм на основе автоматов Мура и Мили
Продолжительность работы – 4 часа.
Цель работы. Знакомство с методами разработки управляющих устройств (УУ) с жесткой логикой, как составных частей процессоров ЭВМ.
Описание лабораторного стенда. В качестве лабораторного стенда используется любой персональный IBM совместимый компьютер.
Подготовка к работе
Изучить следующие вопросы :
методы синтеза управляющих автоматов;
синтез управляющего автомата Мили;
синтез управляющего автомата Мура;
принципы построения комбинационных схем;
минимизация логических функций;
программирование постоянных запоминающих устройств (ПЗУ) и программируемых логических матриц (ПЛМ).
Разработать устройство управления процессора ЭВМ, реализующее операцию умножения, используя исходные данные из табл.6 (вариант задается преподавателем). Комбинационные схемы КС1, КС2, КС3 (рисунок 4 и 5) выполнить на ПЗУ, ПЛМ или жесткой логике, в качестве регистров состояния (РС) использовать RS–, JK– или D–триггеры. В итоге вы получите следующие результаты:
структурную схему устройства управления;
таблицу функционирования устройства управления;
таблицы кодирования ПЗУ или ПЛМ для автомата Мили (Мура);
схему устройства управления на основе автомата Мура (Мили).
Программа работы
В соответствии с заданным преподавателем вариантом (Таблица - 3), разработать структурную схему устройства управления реализующего операцию умножения. Использовать для этого структурные схемы автоматов ( рисунок унок 10 и рисунок 11), но определив при этом количество и назначение каждого из сигналов автомата.
Осуществить кодирование состояний автомата, реализующего УУ. Разработать таблицы переходов и состояний выходов автомата. Вывести логические выражения функционирования для автоматов Мили или Мура.
На основании полученных выражений составить таблицы программирования ПЗУ или ПЛМ и схемы для автоматов Мили (Мура).
Проверить работоспособность УУ, запустив программу моделирования LOGIC на персональном компьютере.
Оформить отчет и сделать выводы по лабораторной работе.
Таблица - 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 – операция умножения
В реализуемом алгоритме сдвиг влево множимого заменяют сдвигом промежуточной суммы вправо. В общем случае этапы алгоритма следующие:
в регистр R2 загружают множитель, в R1 – множимое, а регистр частичных сумм R3 обнуляют; в счетчик Сч1 загружают значение равное числу разрядов множителя (регистра R2);
анализируется значение счетчика Сч1; если значение Сч1=0 (сигнал X2=1), то умножение закончено и результат произведения находится в регистрах R3 (старшая часть) и R2 (младшая часть);
анализируется 0-разряд R2 (значение X1); если значение X1 = 1, то производят суммирование значений R1 и R3 и сумма, с выхода сумматора (АЛУ), заносится опять в R3, иначе (X1=0) суммирование не производят;
осуществляют сдвиг R3 и R2 на один разряд вправо, при этом 0-ой разряд R3 вдвигается в n-1-разряд R2; значение выдвигаемое из 0-разряда R2 определяет значение сигнала X1;
уменьшают на 1 значение счетчика Сч1;
если значение Сч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
Выходные сигналы устройства управления группируются в три сигнала управления появляющиеся в разное время.
Аналогично разрабатывается и структурная схема УУ на основе автомата Мили.
Таблица - 5
Состо-
Кодовая
яние
комбинация
Q2
Q1
A*
0
0
0
A*
1
0
1
A*
2
1
0
Этап 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
Кодовые комбинации текущего и следующего состояний устройства определяют необходимые сигналы установки триггеров 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
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
Составим таблицу программирования ПЗУ КС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
- -
Этап 6: Построим функциональную схему автомата Мура, используя в качестве КС2 и КС3 – ПЗУ, согласно выражениям (5) и (6), а также с прошивками, определяемыми Таблица - 81 и 12. Полученная схема приведена на 4.
рисунок 54 – Функциональная схема автомата Мура
Аналогичным образом осуществляется построение функциональной схемы УУ на основе автомата Мили.