Вы находитесь на странице: 1из 110

Устройства ЭВМ

как композиция автоматов


Устройства ЭВМ

2015 год

() Устройства ЭВМ 2015 год 1 / 108


1 Содержание
2 Принцип микропрограммного управления
3 Операционный автомат
Разработка операционного автомата
Элементная база операционного автомата
Элементная база операционного автомата
Пример проектирования операционного автомата АЛУ
4 Управляющий автомат
Управляющий автомат c «жесткой» логикой
Пример проектирования управляющего автомата Мура
Пример проектирования управляющего автомата Мили
Управляющий автомат c программируемой логикой
Пример проектирования управляющего автомата с
программируемой логикой
5 Разработка и реализация арифметических алгоритмов в заданной
структуре ОА и УА
АЛУ-1
АЛУ-R
6 Приложение. Цифровой автомат
Абстрактный автомат
() Устройства ЭВМ 2015 год 2 / 108
Принцип микропрограммного управления.

Устройство как композиция автоматов

() Устройства ЭВМ 2015 год 3 / 108


Операционное устройство

Для выполнения операций над информацией используются


операционные устройства(или просто устройства) — процессоры,
контроллеры ВУ и т. п.
Функцией операционного устройства является выполнение заданного
множества операций F = {f1 , . . . , fK } над входными словами из
множества DI с целью вычисления выходных слов из множества DO,
представляющих результаты операций DO = fk (DI ), k = 1, . . . , K .

DI
DO
Операционное
F устройство

Clk

() Устройства ЭВМ 2015 год 4 / 108


Принципы микропрограммного управления

1. Любая операция fk , реализуемая устройством, рассматривается как


сложное действие, которое разделяется на последовательность
элементарных действий над словами информации, называемых
микрооперациями.
2. Для управления порядком следования микроопераций используются
логические условия, которые, в зависимости от значений слов,
преобразуемых микрооперациями, принимают значения «истина» или
«ложь» («1» или «0»).
3. Процесс выполнения операций в устройстве описывается в форме
алгоритма, представляемого в терминах микроопераций и логических
условий и называемого микропрограммой. Микропрограмма
определяет порядок проверки значений логических условий и
следования микроопераций, необходимый для получения требуемых
результатов.
4. Микропрограмма используется как форма представления функции
устройства, на основе которой определяется структура и порядок
функционирования устройства во времени.
() Устройства ЭВМ 2015 год 5 / 108
Устройство как композиция автоматов

В функциональном и структурном отношении операционное


устройство, входящее в состав ЦВМ, удобно представить разделенным
на две части: операционный и управляющий автоматы.

Операционный автомат (ОА) служит для


хранения слов информации, выполнения набора
микроопераций и вычисления значений
DI DO логических условий, то есть операционный
ÎÀ автомат является структурой, организованной
для выполнения действий над информацией.
{x} {y} На вход ОА подаются входные данные DI ,
C g которые в соответствии с алгоритмом операции
ÓÀ преобразуются в выходные данные DO.
Кроме того, ОА вырабатывает множество {x}
осведомительных сигналов (логических условий)
для управляющего автомата.
() Устройства ЭВМ 2015 год 6 / 108
Управляющий автомат

Управляющий автомат (УА) генерирует последовательность


управляющих сигналов {y }, обеспечивающую выполнение в
операционном автомате заданную последовательность элементарных
действий, которая реализует алгоритм выполняемой операции.
Управляющая последовательность генерируется в соответствии с
заданным алгоритмом и с учетом значений логических условий x,
формируемых ОА.

Часто операционное устройство может выполнять несколько


различных операций (например, арифметико-логическое устройство
может выполнять четыре арифметических действия и несколько
логических операций над входными словами). В этом случае на вход
УА поступает команда С, определяющая тип выполняемой операции.
Кроме того, поскольку различные операции над различными данными
выполняются за разное время, УА формирует сигнал g , отмечающий
окончание операции и готовность выходных данных.
() Устройства ЭВМ 2015 год 7 / 108
Декомпозиция устройства на автоматы

Таким образом, любое операционное устройство — процессор


(который, в свою очередь, обычно представляют состоящим из двух
операционных устройств — АЛУ (арифметико-логическое устройство)
и ЦУУ (центральное устройство управления)), канал ввода/вывода,
устройство управления внешним устройством — можно представить
как композицию операционного и управляющего автоматов.

Операционный автомат, реализуя действия над словами информации,


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

Такой подход позволяет разработать эффективные процедуры синтеза


ОА и УА, формализовать эти процедуры и, в некоторых случаях
автоматизировать процесс синтеза цифровых устройств.

() Устройства ЭВМ 2015 год 8 / 108


Операционный автомат

() Устройства ЭВМ 2015 год 9 / 108


Операционный автомат

Исходным для разработки структуры операционного автомата (ОА)


являются:
1) Описание входных и выходных слов ОА (множества DI и DO);
2) Алгоритмы выполнения множества операций из F в терминах
слов, определённых в п. 1 и стандартных операций над словами
(сложение, умножение, сдвиг, . . . ).

Процесс разработки ОА, таким образом, следует начинать с


определения форматов входных и выходных слов и разработки
алгоритмов выполнения операций в терминах слов, определённых в
п. 1, и стандартных действий над словами (сложение, копирование,
инверсия, сдвиг, . . . ).

() Устройства ЭВМ 2015 год 10 / 108


Разработка операционного автомата

Далее необходимо разработать структуру ОА. Операционный автомат


строится на базе операционных и логических элементов.

Разработать структуру — значит определить набор элементов,


входящих в неё, и установить связи между этими элементами.
Структура реализуется исходя из разработанных на предыдущем этапе
алгоритмов таким образом, чтобы обеспечить реализацию всех
действий, предусмотренных в операторных вершинах ГСА.

() Устройства ЭВМ 2015 год 11 / 108


Разработка операционного автомата

Действия в структуре ОА выполняются под управлением


микроопераций, поэтому при разработке ОА следует определить
полный список микроопераций, наличие которых обеспечит
выполнение в разработанной структуре всех предусмотренных в
алгоритмах преобразований слов.

Наконец, формирование последовательности микроопераций в


управляющем автомате осуществляется с учётом значений логических
условий, которые формируются в ОА. Поэтому при разработке ОА
следует сформировать список логических условий, определяемый
содержимым условных вершин ГСА, и предусмотреть в структуре ОА
(если это необходимо) специальные элементы для формирования этих
логических условий.

() Устройства ЭВМ 2015 год 12 / 108


Разработка операционного автомата

Итак, процесс разработки ОА можно представить состоящим из


следующих этапов:
1. Определение форматов входных и выходных данных (слов).
2. Разработка ГСА выполняемых операций.
3. Разработка структуры ОА — выбор элементов и организация
связей.
4. Определения множества {y } микроопераций, выполняемых в ОА.
5. Определения множества {x} логических условий, формируемых в
ОА.

() Устройства ЭВМ 2015 год 13 / 108


Элементная база операционного автомата
R S
a) R1 R2 Rs R
b) c)

.
.
.
P0
P8 y1 y1 y1
АЛБ MS DMS
yk ys yr

.
.
.
Q S S1 S2 Sr

R S R
d) e) b1 b2 f)

== y1
CMP M2 ИНВ y2
< = >

x1 x2 x3 x
Q

Комбинационные операционные элементы


a) Арифметико-логический блок d) Компаратор (схема сравнения)
b) Мультиплексор e) Сумматор по mod 2
c) Демультиплексор f) Блок инверторов
() Устройства ЭВМ 2015 год 14 / 108
Элементная база операционного автомата
Q Q [Q]
a) b) c) x1 [x2]

DL DR
Q Rg Q Rg CNT
D C OE R D C RL RR R +1 -1

y1 [y2] [y3] y1 y2 y3 y1 y2 y3

d) Q e) Q

T TT
R S D C

y1 y2 D y1

Операционные элементы с памятью


a) Регистр с выходным буфером
d) RS-триггер
b) Сдвиговый регистр
e) D-триггер
c) Счётчик

() Устройства ЭВМ 2015 год 15 / 108


Пример проектирования операционного автомата АЛУ
В качестве примера рассмотрим разработку операционного
автомата арифметического устройства, реализующего единственную
операцию — деление чисел с фиксированной запятой,
представленных в прямом коде.

Добавим к перечисленным ранее этапам разработки ОА ещё одну


позицию (6):
1. Определение форматов входных и выходных данных (слов).
2. Разработка граф-схемы алгоритма (ГСА) выполняемой операции.
3. Разработка структуры ОА – выбор элементов и организация
связей.
4. Определения множества {y } микроопераций, выполняемых в ОА.
5. Определения множества {x} логических условий, формируемых в
ОА.
6. Разработка микропрограммы.
() Устройства ЭВМ 2015 год 16 / 108
Определение форматов данных
Будем считать, что в арифметической операции деления участвуют
операнды A — делимое и B — делитель.
Результат операции C — частное.
Кроме того, устройство должно формировать признаки результата —
двоичные переменные:
Z — признак нулевого результата,
S — признак отрицательного результата,
OV — признак переполнения.
Алгоритм операции алгебраического деления разрабатываются для
16-разрядных двоичных чисел с фиксированной запятой,
представленных в прямом коде. Знак числа кодируется в старшем
(нулевом) разряде числа, запятая фиксирована после знакового
разряда, таким образом все числа могут быть только дробными.
0 1 15
Çí Ìîäóëü ÷èñëà
() Устройства ЭВМ 2015 год 17 / 108
Разработка алгоритма деления

В прямых кодах удобнее делить модули чисел. Знак результата не


зависит от соотношения модулей делимого и делителя, и определяется
по выражению c0 = a0 b 0 ∨ a0 b0 .

Деление чисел с фиксированной запятой в заданном формате


невозможно, если модуль делимого не меньше модуля делителя.
Поэтому сначала следует проверить соотношение операндов путем
вычитания делителя из делимого. Если разность окажется
положительной, то можно формировать признак переполнения
OV = 1 и завершать операцию. В противном случае модуль частного
оказывается меньше 1, т. е. переполнение отсутствует и деление
возможно.
Таким образом, условием корректности деления дробных чисел будет
соотношение A < B .

() Устройства ЭВМ 2015 год 18 / 108


Метод деления «без восстановления остатка»
Метод деления «без восстановления остатка»
Íà÷àëî

äà íåò
предполагает следующую циклическую
a0= b0

s:= 0 s:= 1
последовательность действий после проверки условия
корректности деления:
a0:= 0

b0:= 0 1. Увеличить вдвое (левый сдвиг) предыдущий


C:= A-B
остаток.
ñ0 0

1 2. Анализировать знак остатка:


OV:= 0 OV:= 1

n:= 16 – если остаток положительный, то


A:= C
необходимо вычесть из него делитель, а
A:= L1(A)

0 ñ0 1
очередной цифре частного присвоить
D[15]:= 1 D[15]:= 0 значение «1»;
C:= A-B C:= A+B
– если остаток отрицательный, то
D:= L1(D)
необходимо добавить к нему делитель, а
n:= n-1

íåò
n=0
очередной цифре частного присвоить
äà
C:= D
значение «0»;
c0:= s

Цикл продолжается до получения требуемого числа


Êîíåö

цифр частного (в нашем случае – 15). 8 10


() Устройства ЭВМ 2015 год 19 / 108
Разработка структуры операционного автомата
Анализ алгоритма деления (4) позволяет разработать структуру
операционного автомата. Учитывая действия, которые требуется
выполнить для реализации алгоритма, включим в состав
операционного автомата следующие элементы:
F два шестнадцатиразрядных регистра Рг A и Рг B для хранения
входных операндов и промежуточных результатов, причем регистр
Рг A должен обеспечить возможность сдвига своего содержимого
влево1 ;
F шестнадцатиразрядный регистр Рг C для размещения результата
арифметической операции сложения или вычитания (в нашем
случае в этом регистре формируется остаток); в конце операции в
нём будет размещён результат — частное;
F шестнадцатиразрядный регистр Рг D с возможностью левого
сдвига кода для размещения частного в процессе его
формирования;
1
Сдвиг можно осуществить и в процессе передачи C → A.
() Устройства ЭВМ 2015 год 20 / 108
Структура операционного автомата

F шестнадцатиразрядный двоичный параллельный


сумматор/вычитатель Сум/Выч;
F четырехразрядный вычитающий счетчик Сч n по модулю 16 для
подсчёта цифр частного;
F триггер переполнения Тг OV для хранения признака
переполнения разрядной сетки;
F триггер знака Тг s для временного хранения знака частного;
F схема сравнения на «равно» знаковых разрядов исходных
операндов;
F дешифратор DC «0» нулевой комбинации в разрядах C [1 : 15],
формирующий признак нулевого результата Z .

() Устройства ЭВМ 2015 год 21 / 108


Структурная схема ОА – элементы

A B

a0 Рг А b0 Рг В
Сч |n|

R S
a0 b 0
Сум/Выч
0 15
R S M2 Q d0 Рг D
Тг s

x1
s

c0 Рг C
0 15

R S
Тг OV

OV

() Устройства ЭВМ 2015 год 22 / 108


Структурная схема ОА – связи

A B

x3
a0 Рг А b0 Рг В
Сч |n|

R S
a0 b 0
Сум/Выч
0 15
R S M2 Q d0 Рг D
Тг s
s
x1
s

c0 Рг C
0 15

x2

R S
DC “0”
Тг OV

OV S Z C

() Устройства ЭВМ 2015 год 22 / 108


Структурная схема ОА – микрооперации

A B

y10
x3
y3 a0 Рг А y4 b0 Рг В y8
Сч |n| y15

y9 R S
y5
a0 b 0 y13
y1 y2 Сум/Выч y14
0 15
R S M2 Q d0 Рг D
Тг s
s
x1 y17 y11 y12
s
y16
c0 Рг C
0 15

x2

y6 y7

R S
DC “0”
Тг OV

OV S Z C

() Устройства ЭВМ 2015 год 22 / 108


Структурная схема операционного автомата
A B

y10
x3
y3 a0 Рг А y4 b0 Рг В y8
Сч |n| y15

y9 R S
y5
a0 b 0 y13
y1 y2 Сум/Выч y14
0 15
R
Тг s
S M2 Q d0 Рг D
s
x1 y17 y11 y12
s
y16
c0 Рг C
0 15

x2
Список микроопераций и логиче
ских условий

y6 y7
y1: s := 0 y9: A := C
R S
DC “0”
y2: s := 1 y10: A := L1(A)
Тг OV y3: a0 := 0 y11: D[15] := 1
y4: b0 := 0 y12: D[15] := 0 x1: a0 = b0
OV S Z C x2: c0
y5: C := R + S y13: C := R - S x3: Сч = 0
y6: OV := 0 y14: D := L1(D)
y7: OV := 1 y15: Сч:=Сч-1
y8: n := 16 y16: C := D
y17: c0 := s

4
() Устройства ЭВМ 2015 год 23 / 108
От ГСА операции и структуры ОА – к микропрограмме
Связи между приведёнными на схеме элементами, а также
управляющие ими микрооперации показаны на рисунке 8. Там же
приведен полный список микроопераций и логических условий.

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


обозначенные в операторных вершинах алгоритма 4 могут быть
реализованы на разработанной нами структуре.

Теперь определим, какая последовательность микроопераций должна


быть реализована в разработанной структуре, чтобы выполнилась
операция деления, предусмотренная алгоритмом 4. Простейшее
решение – сохранить топологию графа алгоритма и заменить
содержимое его операторных вершин на соответствующие
микрооперации, а содержимое условных вершин – на соответствующие
логические условия. Полученный таким образом граф принято
называть микропрограммой.
() Устройства ЭВМ 2015 год 24 / 108
Микропрограмма
Íà÷àëî a1

1 0
x1 Микропрограмма рассматривается в качестве
y1 a2 y2 a3 исходных данных при проектировании
управляющего (микропрограммного) автомата.
y3, y4 a4
При этом содержимое операторной вершины графа
y5 a5
соответствует действиям, выполняемым устройством
x2 0

1
в один такт дискретного времени.
y6, y8 a6 y7 a7 При проектировании цифровых устройств обычно

y9 a8 стремятся достичь максимальной скорости их


y10 a9 работы. Один из путей достижения этой цели —
0 x2 1 параллельное выполнение некоторых операций.
Поэтому при преобразовании графа алгоритма в
y11, y5 a10 y12, y13 a11
граф микропрограммы следует объединять в одной
y14, y15 a12 операторной вершине те микрооперации, которые
0
x3 могут быть в данной структуре выполнены
1
y16 a13
одновременно с учётом реализуемого алгоритма.
y17 a14 Какие вершины ГСА 4 соответствуют вершинам
Êîíåö a1 a4 (y3 , y4 ) и a12 (y14 , y15 )?
() Устройства ЭВМ 2015 год 25 / 108
Первый этап

Таким образом, на первом этапе разработки устройства выполняются


следующие действия:
1. Синтезируется операционный автомат.
2. Формируются списки микроопераций и логических условий.
3. Разрабатывается микропрограмма.
Микропрограмму можно рассматривать как исходные данные для
проектирования управляющего автомата.

АЛУ 1

() Устройства ЭВМ 2015 год 26 / 108


Управляющий автомат

Цифровой автомат 1

() Устройства ЭВМ 2015 год 27 / 108


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

Различают два класса управляющих автоматов:


F с «жесткой» логикой:
– автомат Му́ра,
– автомат Мили,
– С-автомат;
F с программируемой логикой.
Исходными данными для проектирования управляющего автомата
можно считать микропрограмму, представленную в форме
граф-схемы или написанную на специальном языке. При этом
семантика микропрограммы на этом этапе уже не
рассматривается.
() Устройства ЭВМ 2015 год 28 / 108
Управляющий автомат c «жесткой» логикой

() Устройства ЭВМ 2015 год 29 / 108


Этапы проектирования управляющего автомата с
«жесткой» логикой

1. Разметка исходной микропрограммы.


2. Построение по размеченной микропрограмме графа автомата.
3. Кодирование алфавита входных и выходных символов автомата
двоичными кодами.
4. Кодирование внутренних состояний автомата.
5. Выбор элемента памяти (типа триггера).
6. Построение автоматной таблицы переходов.
7. Синтез комбинационной схемы, реализующей функцию переходов.
8. Синтез комбинационной схемы, реализующей функцию выходов.

() Устройства ЭВМ 2015 год 30 / 108


Разметка микропрограммы для построения автомата
Мура

Для автомата Мура разметка выполняется по следующим правилам:

F Символом a1 отмечается начальная и конечная вершина ГСА.


F Различные операторные вершины отмечаются различными
символами состояний.
F Все операторные вершины должны быть отмечены.

() Устройства ЭВМ 2015 год 31 / 108


Разметка микропрограммы для построения автомата
Мили

Для автомата Мили разметка выполняется по следующим правилам:

F Символом a1 отмечается вход вершины, следующей за начальной,


а также вход конечной вершины.
F Входы всех вершин, следующих за операторными, должны
быть отмечены символами состояний.
F Если вход вершины отмечается, то только одним символом.
F Входы различных вершин, за исключением конечной и начальной,
отмечаются различными символами.

() Устройства ЭВМ 2015 год 32 / 108


Пример проектирования управляющего автомата Мура

Начало

1 0
x1
Для выполнения примера возмём
y1 y2 фрагмент микропрограммы деления,
рассмотренной ранее (10).
y3, y4
Напомним, что семантика
y5
микропрограммы не влияет на процесс
x2 0 построения автомата, важно лишь,
1
чтобы она была синтаксически
y6, y8 y7 правильна.

Конец

() Устройства ЭВМ 2015 год 33 / 108


Шаг 1 – разметка микропрограммы

Начало
a1
1 0
x1

y1 a2 y2 a3
Каждой операторной вершине ставим
y3, y4 a4 в соответствие уникальное состояние
автомата (произвольно).
y5 a5
Начальной и конечной вершинам
x2 0 назначаем состояние a1 .
1 a7
a6 y6, y8 y7

Конец a1

() Устройства ЭВМ 2015 год 34 / 108


Шаг 2 – построение графа автомата

x1
a1 a2
Отмечаем на графе множества
x1 состояний A = {a1 , a2 , . . . a7 },
a7
a3 алфавит входных символов
X = {x1 , x2 } и функцию переходов
x2
(помеченные рёбра графа).
a6 x2 a4 Начальным состоянием автомата
a5 будем считать a1 .

() Устройства ЭВМ 2015 год 35 / 108


Функция выходов на графе автомата

yk
x1
Каждой вершине графа (состоянию
a1 y1
a2
автомата) сопоставим группу
x1
y2 выходных символов – содержимое
a7
a3 соответствующей операторной
y7
вершины микропрограммы.
x2
y3, y4
a6 x2 a4 В конечном состоянии автомат
y6, y8
a5
y5
должен формировать микрооперацию
yk – сигнал завершения операции.

() Устройства ЭВМ 2015 год 36 / 108


Шаги 3, 4 и 5

Шаг 3 – кодирование входных и выходных символов – пропускаем, так


как удобнее представлять их в унитарном коде.

Шаг 4 – кодирование состояний автомата. 7 состояний предполагают


трёхразрядный двоичный код. Закодируем состояния
соответствующими двоичными номерами (от 001 до 111).

Шаг 5 – выберем в качестве элемента памяти двухтактный D-триггер.

() Устройства ЭВМ 2015 год 37 / 108


Шаг 6 – построение автоматной таблицы переходов
По графу автомата строим таблицу переходов, в которой каждому
ребру графа соответствует строка таблицы.

Исходное состояние Условие Состояние перехода Функции Di


Q1 Q2 Q3 перехода Q1 Q2 Q3 D1 D2 D3
0 0 1 x1 0 1 0 0 1 0
x1 0 1 1 0 1 1
0 1 0 1 1 0 0 1 0 0
0 1 1 1 1 0 0 1 0 0
1 0 0 1 1 0 1 1 0 1
1 0 1 x2 1 1 0 1 1 0
x2 1 1 1 1 1 1
1 1 0 1 0 0 1 0 0 1
1 1 1 1 0 0 1 0 0 1

3
() Устройства ЭВМ 2015 год 38 / 108
Выражения для функций Di

Если предположить, что состояния автомата a1 , a2 , . . . a7


сформированы дешифратором, то выражения для Di можно получить
непосредственно из автоматной таблицы переходов (6)

D1 = a2 ∨ a3 ∨ a4 ∨ a5
D2 = a1 ∨ a5
D3 = a1 x 1 ∨ a4 ∨ a5 x 2 ∨ a6 ∨ a7

По этим выражениям можно синтезировать комбинационные схемы,


реализующей функцию переходов (Шаг 7).

() Устройства ЭВМ 2015 год 39 / 108


Шаг 8 – синтез комбинационной схемы, реализующей
функцию выходов.

Известно, что выходные символы автомата Мура связаны только с его


текущими состояниями. Связь отражена на графе 4
Тогда функции выходов примут следующий вид:

y1 = a2 y5 = a5
y2 = a3 y6 = a6
y3 = a4 y7 = a7
y4 = a4 y8 = a6
yk = a1

() Устройства ЭВМ 2015 год 40 / 108


Функциональная схема управляющего автомата Мура

11 13 12 14
x1 11
1 1 2 y1
x2 12 3 y2
4 y3
2
1 4 y4
3
y5
C D TT
4 5
10
5 6 y6
10 7 y7
C
6 y8

1 yk
1
1
D TT DC 0 1
5
x1 1
2
2
x2 3
3
C x3 4
4
1 5
5
& 6
6
13 7
7
1
4

D TT
6
7

C
14
&
5

() Устройства ЭВМ 2015 год 41 / 108


Пример проектирования управляющего автомата Мили

Начало Спроектируем автомат Мили по той


же микропрограмме, которая
1 0
x1 использовалась для построения
автомата Мура.
y1 y2 Напомним основные правила разметки
микропрограммы для построения
y3, y4 автомата Мили:
y5 F Символом b1 отмечается вход
вершины, следующей за
x2 0
начальной, а также вход конечной
1 вершины.
y6, y8 y7 F Входы всех вершин, следующих
за операторными, должны быть
Конец отмечены символами состояний.

() Устройства ЭВМ 2015 год 42 / 108


Размеченная микропрограмма и граф автомата Мили
Начало
b1
1 0
x1
x1/y1
y1 y2
b1
b2 b2
x1/y2
y3, y4
b3
y5 x2/y6,y8
b4 x2/y7 1/y3,y4
x2 0

1
b4
1/y5 b3
y6, y8 y7

b1
Конец

() Устройства ЭВМ 2015 год 43 / 108


Построим автоматную таблицу

Исх. сост. Условие Сост. перехода Функции Di Выходные


Q1 Q2 перехода Q1 Q2 D1 D2 символы
0 0 x1 0 1 0 1 y1
x1 0 1 0 1 y2
0 1 1 1 0 1 0 y3 , y4
1 0 1 1 1 1 1 y5
1 1 x2 0 0 0 0 y6 , y8
x2 0 0 0 0 y7

Очевидно,

D 1 = Q 1 Q2 ∨ Q1 Q 2 , D 2 = Q 1 Q 2 ∨ Q1 Q 2 = Q 2 ;

y 1 = Q 1 Q 2 x1 , y2 = Q 1 Q 2 x 1 , y3 = Q 1 Q2 , y4 = Q 1 Q 2 ,
y 5 = Q 1 Q 2 , y6 = Q1 Q2 x2 , y7 = Q1 Q2 x 2 , y8 = Q1 Q2 x 2 .

() Устройства ЭВМ 2015 год 44 / 108


Функциональная схема управляющего автомата Мили

1 3 2 4
x1 1
5
& y1
1 1 1
x2 2
5
& y2
6 3
1
7 D TT
5
8
& y6
C Q1 DC 0
C x1 1
6 2
7 y8
2
x2 8
3 8
& y7
4
y3
D TT 6

Q2 y4
C
7 y5

() Устройства ЭВМ 2015 год 45 / 108


Автоматы с «жёсткой» логикой – выводы

В процессе работы управляющий автомат Мура формирует


микрокоманду, находясь в одном из своих устойчивых состояний, а
автомат Мили – в момент перехода из одного состояния в другое.
Заметим, что автомат Мили часто имеет меньшее число состояний,
чем построенный по той же исходной микропрограмме автомат Мура.

Итак, мы построили микропрограммный автомат с «жёсткой»


логикой. Давайте представим, что нам понадобилось незначительно
изменить исходную микропрограмму, например, добавить ещё одну
операторную вершину. Практически это приведёт к необходимости
полного перепроектирования всей схемы автомата. Это особенность
автоматов с жёсткой логикой является их серьёзным недостатком.

() Устройства ЭВМ 2015 год 46 / 108


Управляющий автомат
c программируемой логикой

() Устройства ЭВМ 2015 год 47 / 108


Автоматы с программируемой логикой

Для того, чтобы уменьшить зависимость структуры автомата от


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

() Устройства ЭВМ 2015 год 48 / 108


Общая структура управляющего автомата
с программируемой логикой (УАПЛ)

{y} {x}
Aíà÷.

Ðåãèñòð ìèêðîêîìàíä

Óñòðîéñòâî
DO ôîðìèðîâàíèÿ
àäðåñà
Çàïîìèíàþùåå ìèêðîêîìàíä
CLK
RD óñòðîéñòâî
ìèêðîêîìàíä A

() Устройства ЭВМ 2015 год 49 / 108


Принцип работы УАПЛ

В каждом такте дискретного времени из памяти микрокоманд


считывается одна микрокоманда, которая помещается в регистр
микрокоманд.

Микрокоманда содержит два поля (две группы полей), одно из


которых определяет набор микроопераций, которые в данном такте
поступают в операционный автомат, а другое — содержит
информацию для определения адреса следующей микрокоманды.

Y1 Y2 ... Yk x A1 A0

Ïîëå ìèêðîîïåðàöèé Ïîëå àäðåñàöèè

() Устройства ЭВМ 2015 год 50 / 108


Способы кодирования поля микроопераций

Различают три способа кодирования поля микроопераций:


1) горизонтальный;
2) вертикальный;
3) смешанный.
При горизонтальном способе кодирования каждой микрооперации
yi ∈ {y 1, ...yn} ставится в соответствие разряд поля микроопераций
микрокомандного слова. В этом случае количество разрядов поля
микроопераций N равно числу n различных микроопераций,
вырабатываемых УА.

() Устройства ЭВМ 2015 год 51 / 108


«Горизонтальный» способ кодирования

Достоинствами горизонтального способа кодирования являются:


F возможность формирования произвольных микрокоманд из
заданного набора микроопераций;
F простота реализации схем формирования микроопераций,
фактически – их отсутствие, так как выход каждого разряда поля
микроопераций регистра микрокоманд является выходной линией
УА – соответствующей микрооперацией.

Недостаток – чаще всего неэффективно используется память


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

() Устройства ЭВМ 2015 год 52 / 108


«Вертикальный» способ кодирования

При вертикальном способе кодирования в поле микроопераций


помещается номер выполняемой микрооперации. При этом количество
разрядов N, которое следует предусмотреть в поле микроопераций,
определяется выражением N = k = log2 n.

Достоинство способа – в экономном использовании памяти


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

Недостаток – в невозможности реализовать в микрокоманде более


одной микрооперации.

() Устройства ЭВМ 2015 год 53 / 108


Смешанный способ кодирования

Рассмотрим смешанный способ кодирования, идея которого состоит в


следующем. Если во всех микропрограммах, реализуемых УА, нет
микрокоманды с большим, чем s, числом микроопераций, то в поле
микроопераций можно предусмотреть s подполей разрядностью k, в
каждом из которых помещать номер нужной микрооперации.

Такой способ позволяет в любой микрокоманде реализовать


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

() Устройства ЭВМ 2015 год 54 / 108


Смешанный способ кодирования

Эффективность применения смешанного кодирования существенно


зависит от значения s, которое может лежать в диапазоне 1 6 s 6 n.
При s = 1 имеем случай вертикального кодирования,
при s = n случай горизонтального кодирования.

Канонический способ смешанного кодирования предполагает, что


каждое из s подполей микроопераций содержит k разрядов,
следовательно в любом подполе можно закодировать любую
микрооперацию yi ∈ Y .
Возможно, например, построение микрокоманды, содержащей
s одинаковых микроопераций yi yi . . . yi, что является явно
бессмысленным.

() Устройства ЭВМ 2015 год 55 / 108


Кодирование подмножеств

С целью сокращения разрядности полей микроопераций множество


микроопераций Y разбивается на подмножества Y1 , Y2 , . . . Yp , такие,
что
[p
Yi = Y ; ∀(Yi ∩ Yj ) = ∅ при i 6= j.
i=1

Каждое подполе поля микроопераций кодирует микрооперации только


одного подмножества Yi ⊂ Y . Поскольку ∀|Yi| < |Y |, разрядность ki
каждого из подполей может быть меньше k.

() Устройства ЭВМ 2015 год 56 / 108


Разбиение на подмножества

Разбиение исходного множества микроопераций связано с понятием


совместимости (несовместимости) микроопераций.

Свойство совокупности микроопераций, гаранти-


рующее возможность их одновременного выпол-
нения, называется совместимостью.

Микрооперации, не обладающие указанным свой-


ством, называются несовместимыми.

() Устройства ЭВМ 2015 год 57 / 108


Функциональная совместимость

Рассматриваются два аспекта совместимости. Совместимость,


обусловленная содержанием операторов, реализуемых под действием
микроопераций, называется функциональной.
Примером двух функционально несовместимых микроопераций могут
(Сч := 0)
служить следующая пара: и вообще любые
(Сч := Сч – 1)
микрооперации, присваивающие различные значения одной и той же
переменной.

() Устройства ЭВМ 2015 год 58 / 108


Структурная и алгоритмическая совместимость

Если невозможность одновременного выполнения микроопераций


связана с ограничениями возможностей структуры операционного
автомата, то такая несовместимость называется структурной.
(Рг С := Рг А)
Например, операторы (Рг D := Рг В) функционально совместимы, но

если в конкретной структуре ОА связь между этими регистрами


осуществляется через общую магистраль (шину), то они структурно
несовместимы.

Наконец, алгоритмически несовместимыми будем считать такие


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

() Устройства ЭВМ 2015 год 59 / 108


Выбор типа совместимости

При разбиения исходного множества микроопераций на подмножества


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

При проектировании УА возникает вопрос – какой тип совместимости


микроопераций учитывать при разбиении исходного множества Y на
подмножества?

Если несовместимыми считать только те микрооперации, которые


принципиально нельзя реализовать на заданной (спроектированной)
структуре ОА, то таких пар окажется немного, большинство
микроопераций будут попарно совместимыми, следовательно их
необходимо включать в разные подмножества. При этом число
подмножеств может превысить значение s и приближаться к n.

() Устройства ЭВМ 2015 год 60 / 108


Выбор типа совместимости

Если рассматривать в качестве совместимых только те


микрооперации, которые размещаются в одной операторной вершине
реализуемых алгоритмов, а все остальные считать несовместимыми,
даже, если их можно выполнить одновременно в структуре ОА
(но не требуется при реализации данных алгоритмов), то p → s,
эффективность кодирования будет значительно выше.

Недостаток такого подхода: при возможной модификации


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

() Устройства ЭВМ 2015 год 61 / 108


Способы адресации микрокоманд

Исходными данными для проектирования УАПЛ является


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

() Устройства ЭВМ 2015 год 62 / 108


Варианты следования вершин ГСА

à) á)
y4

0 1 0
x2 x2
1
y6, y8 1 0 0
x1 x5
1 x5
1
y10 0
1 0 0
1 x3 x4 x4

y11 0 1

y13 y18 y23 y16

y13

() Устройства ЭВМ 2015 год 63 / 108


Выбор адреса перехода

В первом случае (16) осуществляется безусловный переход к


следующей микрокоманде и адрес этой единственной микрокоманды
(A1) должен размещаться в поле адреса выполняемой микрокоманды.

Во втором случае необходимо сделать выбор одного из двух


возможных адресов следующей микрокоманды. В поле адреса
микрокоманды следует разместить:
F номер x логического условия, по значению которого
осуществляется выбор;
F адрес A1 микрокоманды, которая будет выполняться, если
указанное условие истинно;
F адрес A0 микрокоманды, которая будет выполняться, если
указанное условие ложно.

() Устройства ЭВМ 2015 год 64 / 108


Выбор адреса перехода

В третьем случае количество проверяемых в микрокоманде условий и


адресов переходов может быть произвольным, в том числе и
достаточно большим.
В этом случае длина микрокоманды может быть весьма велика.

При выборе формата микрокоманды необходимо учитывать


следующие обстоятельства:
F следует эффективно использовать разряды поля, обеспечив по
возможности минимальную его длину;
F желательно ограничится единственным форматом микрокоманды,
в крайнем случае выбирать минимально возможное разнообразие
форматов.

() Устройства ЭВМ 2015 год 65 / 108


Принудительная адресация микрокоманд
Как правило, в УАПЛ используют две разновидности способов
адресации – принудительная и естественная.
При принудительной адресации явно указываются оба возможных
адреса перехода, а расположение микрокоманд в ячейках памяти
может быть произвольным.

Y1 Y2 ... Yk x A1 A0

Номер проверяемого Перейти по этому адресу,


логического условия если значение проверяемого
условия ложно
Перейти по этому адресу,
если значение проверяемого
условия истинно.

Очевидно, принудительная адресация наиболее эффективна для


реализации алгоритмов, в ГСА которых преобладают
фрагменты типа 17,a.
() Устройства ЭВМ 2015 год 66 / 108
Цепочка переходов

Если в ГСА встречаются цепочки из k последовательных условных


вершин (тип 17,б), последняя из которых связана с операторной
вершиной, то для их реализации в рамках рассмотренного формата
микрокоманды потребуется k микрокоманд, в каждой из которых,
кроме последней, поле микроопераций будет пустым.

При выполнении таких микрокоманд в операционном автомате никаких


действий не выполняется, а управляющий автомат тратит k − 1 тактов
на определение адреса следующей «операционной» микрокоманды.

Однако, существуют и другие способы реализации микропрограмм с


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

() Устройства ЭВМ 2015 год 67 / 108


Граф-схема логического алгоритма

Для быстрой реализации этого фрагмента достаточно выбрать


некоторый базовый адрес (кратный 8), начиная с которого в памяти
микропрограмм расположить последовательно блок микрокоманд
y 13 . . . y 20. Для определения адреса очередной микрокоманды
достаточно к базовому адресу прибавить (приписать справа) значение
вектора логических условий e x1 e x3 .
x2 e
() Устройства ЭВМ 2015 год 68 / 108
Естественная адресация

Если в ГСА преобладают линейные участки и, следовательно,


безусловные переходы между микрокомандами, то применение
принудительной адресации ведёт к неэффективному использованию
памяти.
Действительно, при безусловном переходе информативным является
только поле адреса перехода A1, а поля x и A0 – не используются.
В целях уменьшения длины поля адреса микрокоманды можно
использовать так называемую естественную адресацию,
напоминающую механизм адресации команд в программе.

Y1 Y2 ... Yk x i A1
Поле микроопераций Поле адресации

() Устройства ЭВМ 2015 год 69 / 108


Естественная адресация

В этом случае в состав устройства формирования адреса


микрокоманды включают регистр-счётчик адреса микрокоманд, а в
адресном поле микрокоманды – два поля: x и A12 .
Если заданное полем x логическое условие истинно, то выполняется
микрокоманда по адресу A1, иначе – микрокоманда по адресу
текущего значения счётчика адреса микрокоманд, предварительно
увеличенного на единицу («следующая»).
При безусловном переходе на A1 в качестве логического условия
используют константу «1». Тождественно ложное условие (константа
«0») – всегда переход на следующую микрокоманду.
В формате микрокоманды можно предусмотреть поле i – инверсия
логического условия. При i = 1 передача управления на A1
производится при x = 0, а при x = 1 – переход к следующей
микрокоманде.

2
Иногда добавляют однобитовое поле i.
() Устройства ЭВМ 2015 год 70 / 108
Достоинства и недостатки естественной адресации

Достоинство:
длина микрокоманды уменьшается на длину поля одного адреса.
Недостатки:
1) усложняется блок формирования адреса микрокоманд;
2) снижается гибкость в размещении микрокоманд в памяти.

() Устройства ЭВМ 2015 год 71 / 108


Форматы микрокоманд с естественной и принудительной
адресацией

{y} {x}
Aíà÷.

Ðåãèñòð ìèêðîêîìàíä

Óñòðîéñòâî
DO ôîðìèðîâàíèÿ
àäðåñà
Çàïîìèíàþùåå ìèêðîêîìàíä
CLK
RD óñòðîéñòâî
ìèêðîêîìàíä A

Y1 Y2 ... Yk x A1 A0
– принудительная адресация
Ïîëå ìèêðîîïåðàöèé Ïîëå àäðåñàöèè

Y1 Y2 ... Yk x i A1 – естественная адресация


Поле микроопераций Поле адресации

() Устройства ЭВМ 2015 год 72 / 108


Микропрограммный автомат с естественной адресацией

() Устройства ЭВМ 2015 год 73 / 108


Различные форматы микрокоманд

На линейном участке ГСА форматы с естественной адресацией так же


являются избыточными. Действительно, безусловные переходы
«обслуживает» СчАМК, а поля x и A1 – не используются.

Можно сэкономить на длине микрокоманды за счёт некоторой потери


быстродействия и усложнения структуры автомата. Для этого
предусматривают два различных формата микрокоманд –
операторный и переадресации:

0 Y1 Y2 ... Yk - операторная микрокоманда

1 x i A1 - микрокоманда переадресации

() Устройства ЭВМ 2015 год 74 / 108


Работа УА ПЛ с различными форматами микрокоманд

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


микрокоманды, следующий адрес определяется содержимым СчАМК.
Для реализации условной вершины используется микрокоманда
переадресации, которая содержит поле номера проверяемого условия
и поле адреса перехода 1. Если значение условия «ложь», то адрес
следующей микрокоманды формируется СчАМК.

Недостаток этого способа – потеря времени на выбор адреса перехода


(в тактах выполнения микрокоманд переадресации операционный
автомат «простаивает»).

Попробуйте самостоятельно построить структуры УА ПЛ, подобные


показанной на рисунке 27
F с принудительной адресацией;
F использующего два различных формата микрокоманд.

() Устройства ЭВМ 2015 год 75 / 108


Пример проектирования управляющего автомата
с программируемой логикой
Исходным для проектирования УА
Íà÷àëî
является микропрограмма.
y2, y6 0

0 1
x1 На этапе проектирования управляющего
автомата семантика ГСА
1 y1, y4, y7 y1, y5, y8 7
не рассматривается.
2 y3, y5 y2, y9 8
Просто имеется синтаксически правильно
построенная ГСА и требуется разработать
3 y4 устройство, реализующее это поведение.
4 y11,y12,y13

1
Построим автомат с естественной
x2
адресацией и смешанным способом
0
5 y10 кодирования микроопераций.
Ограничимся единственным форматом
6 Êîíåö
микрокоманды.
() Устройства ЭВМ 2015 год 76 / 108
Определение формата микрокоманды

На разрядность полей микрокоманды влияют следующие параметры:


F количество различных микроопераций, формируемых УА, в
конечном итоге определяет (с учётом выбранного способа
кодирования) длину поля микроопераций;
F количество различных логических условий определяет длину поля
x;
F количество вершин ГСА связано с общим числом микрокоманд, а
следовательно, с объёмом памяти микропрограмм и
разрядностью поля адреса микрокоманды.

() Устройства ЭВМ 2015 год 77 / 108


Разбиение исходного множества Y на подмножества
взаимно-несовместимых микроопераций

В микропрограмме (1) s = 3. Попробуем разбить множество


микроопераций на три подмножества, при этом микрооперации,
содержащиеся в одной операторной вершине всегда должны попадать
в разные подмножества. Например, такое разбиение:

Y 1 = {y1 , y11 , y2 , y3 , y10 }

Y 2 = {y4 , y5 , y12 , y6 , yk }
Y 3 = {y7 , y8 , y13 , y9 }
В множество Y 2 дополнительно включена со всеми совместимая
микрооперация yk , которая извещает автомат верхнего уровня о
завершении выполнения микропрограммы.

() Устройства ЭВМ 2015 год 78 / 108


Разбиение множества Y на подмножества

Для кодирования элементов каждого из трёх подмножеств потребуется


по три двоичных разряда, в том числе и для Y 3, так как один код
следует выделить для кодирования отсутствия микрооперации из
подмножества.

Оптимальным разбиением исходного множества будет такое, когда


∀|Yi| = 2r − 1, где r – натуральное число.

В нашем случае в подмножестве Y 3 всего одна «лишняя»


микрооперация, а среди кодов Y 1 и Y 2 есть свободные.
Перенесём микрооперацию y9 из Y 3 в Y 2, поскольку она совместима
только с y2 ∈ Y 1.

() Устройства ЭВМ 2015 год 79 / 108


Разбиение множества Y на подмножества

Окончательно получим (упорядочив по алфавиту):

Y 1 = {y1 , y2 , y3 , y10 , y11 }

Y 2 = {y4 , y5 , y6 , y9 , y12 , yk }
Y 3 = {y7 , y8 , y13 }
Теперь можно определить размеры полей микрокоманды.
Поле микроопераций будет состоять из трёх подполей – Y 1, Y 2, Y 3
длиной 3, 3 и 2 бита соответственно.

() Устройства ЭВМ 2015 год 80 / 108


Выбор размера полей
номера логического условия и адреса

Исходная ГСА содержит всего два логических условия: x1 и x2 , но для


повышения гибкости процесса микропрограммирования удобно иметь
возможность выбирать ещё и тождественно истинное и/или
тождественно ложное условия.
Тогда поле условий x в микрокоманде займёт 2 бита.

Наконец, поле адреса определяется объёмом памяти микропрограмм.


Оценивая количество вершин ГСА, можно предположить, что для его
реализации потребуется не более 16 микрокоманд.
Тогда длина поля адреса – 4 бита.

() Устройства ЭВМ 2015 год 81 / 108


Формат микрокоманды и кодирование микроопераций
Окончательно формат микрокоманды будет иметь вид

Y1 Y2 Y3 X A1
3 3 2 2 4
Закодируем поля микрокоманды

Код Y 1 Y 2 Y 3
000 ∅ ∅ ∅
001 y1 y4 y7 Код x
010 y2 y5 y8 00 Const «0»
011 y3 y6 y13 01 x1
100 y10 y9 10 x2
101 y11 y12 11 Const «1»
110 − yk
111 − −
() Устройства ЭВМ 2015 год 82 / 108
Теперь можно составлять таблицу «прошивки» ПЗУ

Адрес Y1 Y2 Y3 x A1
0 010 011 00 01 0111(7)
1 001 001 01 00 xxxx
2 011 010 00 00 xxxx
3 000 001 00 00 xxxx
4 101 101 11 10 1001(9)
5 100 000 00 00 xxxx
6 000 110 00 00 xxxx
7 001 010 10 00 xxxx
8 010 100 00 11 0011(3)
9 000 000 00 01 0111(7)
10 000 000 00 11 0001(1)

() Устройства ЭВМ 2015 год 83 / 108


Структурная схема УАПЛ

() Устройства ЭВМ 2015 год 84 / 108


Пример реализации
арифметического устройства
на базе программных моделей
АЛУ

() Устройства ЭВМ 2015 год 85 / 108


Разработка и реализация арифметических алгоритмов в
заданной структуре ОА и УА

Задача несколько другого рода возникает, когда необходимо


«погрузить» разработанный алгоритм в заданную структуру ОА с
фиксированным набором микроопераций и логических условий.

Здесь необходимо изучить существующую структуру ОА (элементы и


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

() Устройства ЭВМ 2015 год 86 / 108


Структура операционного автомата АЛУ-1

() Устройства ЭВМ 2015 год 87 / 108


Граф-схема алгоритма вычитания ОК-ПК-ДК-ПК

() Устройства ЭВМ 2015 год 88 / 108


Микропрограмма для АЛУ-1

В операторных
()
вершинах опущенУстройства
префиксЭВМ«y» перед номерами2015 год 89 / 108
Микропрограмма на языке микроассемблера АЛУ-1

Начало: y1, y3, y29 m2: y14


y4, y32, y17, y24 y4, y6, y8, y16, y24
y26, y2 y4, y6, y13, y16, y25
y4, y6, y13, y16, y24 y26, y2, y15
y26, y3 y4, y32, y18; x2, 1, m3
y0, y2, y15 y5, y8, y16, y24
y4, y32, y18; x2, 1, m1 m3: y27, y2, y14
y4, y8, y16, y24 y4, y32, y18; x2, 0, m4
y26, y2 y26, y2
m1: y6, y12, y18; x2, 1, m2 y4, y6, y13, y18; 1, 0, m5
y7, y8, y16, y24 m4: y28
y26, y3 m5: y21 # конец

# Не забудьте снять флаг "Инверсия старшего разряда"!!

() Устройства ЭВМ 2015 год 90 / 108


Вариант ОА АЛУ – с двухпортовым регистровым СОЗУ

() Устройства ЭВМ 2015 год 91 / 108


УА АЛУ с двухпортовым регистровым СОЗУ

() Устройства ЭВМ 2015 год 92 / 108


Построим микропрограмму вычитания ОК-ПК-ДК-ПК
для АЛУ-R

Предположим, что первый операнд (ОК) расположен в R0, второй


(ПК) – в R1, а результат (ПК) должен появиться в R2.
Для инверсии знака второго операнда можно воспользоваться
операцией сложение по модулю два кода второго операнда с
константой $80.
Для проверки знаков преобразуемых операндов следует сдвинуть
операнд влево и проанализировать значение логического условия X2.
Значение переполнения можно определить по выражению

OV = (a7 ≡ b7 )&(c7 ⊕ b7 )

() Устройства ЭВМ 2015 год 93 / 108


Микропрограмма операции вычитания ОК-ПК-ДК-ПК для АЛУ-R

Адрес A B F !a !b АЛБ Сдв. Адрес


Сч. x i
МК OV P0 DL DR – – 111 перех.
0 0 1 1 DR - - C Ch 0 0 0
1 R7 R1 R7 A 0 R R Ch 0 0 0
2 R7 R1 R1 A B XOR Q Ch 0 0 0
3 R0 R1 R7 A B R L Ch X2 1 5
4 R0 R1 R0 A 0 ADD Q Ch 0 0 0
5 R0 R1 R7 A B S L Ch X2 1 8
6 OV 1 DL DR - - C Ch 0 0 0
7 R0 R1 R1 0 b! ADD Q Ch 0 0 0
8 OV 0 DL DR - - C Ch 0 0 0
9 R0 R1 R2 A B ADD Q Ch 0 0 0
10 R2 R1 R7 A B R L Ch X2 1 13
11 OV 1 DL DR - - C Ch 0 0 0
12 R2 R1 R2 a! 0 ADD Q Ch 0 0 0
13 R0 R1 R7 A B XOR L Ch X2 0 16
14 R0 R2 R7 A B XOR L Ch X2 1 16
15 1 P8 DL DR - - C Ch 0 0 0
16 R2 R1 R2 A B R Q Ch 0 1 16
() Устройства ЭВМ 2015 год 94 / 108
Приложение. Цифровой автомат

() Устройства ЭВМ 2015 год 95 / 108


Абстрактный автомат

Абстрактный автомат рассматривается как шестерка объектов:

S = {A, X , Y , δ, λ, a1 },

где
A = {a1 , a2 , . . . , aM } — множество (алфавит) внутренних состояний;
X = {x1 , x2 , . . . , xF } — алфавит входных сигналов;
Y = {y1 , y2 , . . . , yG } — алфавит выходных сигналов;
δ — функция переходов, реализующая отображение множества
Dδ ⊆ A × X в A: as = δ(am , xf );
λ — функция выходов, реализующая отображение множества
Dλ ⊆ A × X в Y : yg = λ(am , xf );
a1 — начальное состояние автомата.

() Устройства ЭВМ 2015 год 96 / 108


Свойства абстрактного автомата

Автомат называется конечным, если конечны множества A, X , Y .


Автомат называется полностью определенным, если Dδ = Dλ = A × X .
Абстрактный автомат имеет один вход и один выход. В каждый
момент дискретного времени t = 0, 1, 2, . . . автомат находится в
определенном состоянии a(t) ∈ A, причем a(0) = a1 . В момент
времени t, будучи в состоянии a(t), автомат способен воспринять
входной символ x(t) ∈ X и выдать на выходе y (t) ∈ Y :

y (t) = λ(a(t), x(t))

При этом автомат переходит в состояние

a(t + 1) = δ(a(t), x(t)).

Таким образом, абстрактный автомат реализует отображение


множества слов входного алфавита во множество слов выходного
алфавита
() Устройства ЭВМ 2015 год 97 / 108
Автоматы Мили́ и Му́ра

На практике наибольшее распространение получили автоматы Мили и


Мура, законы функционирования которых представляются
соответственно следующими выражениями:

a(t + 1) = δ(a(t), x(t)); y (t) = λ(a(t), x(t)); t = 0, 1, 2, . . .


a(t + 1) = δ(a(t), x(t)); y (t) = λ(a(t)); t = 0, 1, 2, . . .

() Устройства ЭВМ 2015 год 98 / 108


Способы задания абстрактных автоматов

Для задания абстрактного автомата необходимо задать три конечных


множества — A, X , Y , описать две логические функции — δ, λ и
отметить, какое из состояний a1 ∈ A считать начальным (в этом
состоянии автомат находится в момент времени t = 0).
Наиболее часто используются табличный или графический способы
задания автомата.

() Устройства ЭВМ 2015 год 99 / 108


Варианты табличного задания автомата Мили

Таблицы переходов и выходов полностью определенного автомата

δ a1 a2 a3 λ a1 a2 a3
x1 a3 a1 a1 x1 y1 y1 y2
x2 a1 a3 a2 x2 y1 y2 y1

Таблицы переходов и выходов частичного автомата

δ a1 a2 a3 a4 λ a1 a2 a3 a4
x1 a2 a3 a4 − x1 y1 y3 y3 −
x2 a3 − a2 a2 x2 y2 − y1 y2

() Устройства ЭВМ 2015 год 100 / 108


Табличное задание автомата Мура

Поскольку в автомате Мура выходной сигнал зависит только от


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

Отмеченная таблицы переходов полностью определенного автомата

λ y1 y1 y3 y2 y3
δ a1 a2 a3 a4 a5
x1 a2 a5 a5 a3 a3
x2 a4 a2 a2 a1 a1

() Устройства ЭВМ 2015 год 101 / 108


Задание автомата с помощью графа

Граф автомата — ориентированный связный граф, вершины которого


соответствуют состояниям, а дуги — переходам между ними.

Две вершины графа — исходное состояние am и состояние перехода as


соединяются дугой, направленной от am к as , если в автомате имеется
переход из am в as , т. е. если as = δ(am , xf ) при некотором xf ∈ X .
Дуге графа автомата (am , as ) приписывается входной символ xf и
выходной символ yg = λ(am , xf ). Для автомата Мура выходной символ
yg = λ(am ) приписывается вершине графа.
Если переход из am в as происходит под действием нескольких
входных символов, то дуге (am , as ) приписываются все эти символы и
соответствующие выходные символы, если они определены.

() Устройства ЭВМ 2015 год 102 / 108


Графы автоматов

() Устройства ЭВМ 2015 год 103 / 108


Пример описания устройства с помощью автомата

Построим автомат Мура для последовательного сравнения


многоразрядных положительных чисел начиная с младших разрядов.
Пусть имеется комбинационная схема, сравнивающая
соответствующие разряды двух чисел и формирующая на своих
выходах три признака отношений — «больше», «меньше» и «равно».
Обозначим их соответственно b, s, e.
Очевидно
b ∨ s ∨ e = 1;
bs ∨ be ∨ se = 0.
Построим автомат Мура, выходной символ которого будет
соответствовать признаку отношений многоразрядных чисел.

() Устройства ЭВМ 2015 год 104 / 108


Пример описания устройства с помощью автомата
(продолжение)

Очевидно, число состояний автомата должно быть равно трем — по


числу возможных исходов сравнения.
Обозначим эти состояния символами B, S, E , а соответствующие им
выходные сигналы — >, <, =.
Таким образом мы определили алфавит состояний, выходной алфавит
и функцию выходов. В качестве входного алфавита используем
выходные сигналы комбинационной схемы.
Итак: A = {B, S, E }; X = {b, s, e}; Y = {>, <, =}.
Осталось задать функцию переходов и начальное состояние автомата.
Очевидно, начальным должно быть состояние E . Функцию переходов
зададим на графе.

() Устройства ЭВМ 2015 год 105 / 108


Граф автомата сравнения многоразрядных чисел

e
=
E

e, b e, s
s
B S
> b <

Абстрактный автомат с заданными свойствами построен.

() Устройства ЭВМ 2015 год 106 / 108


Структурный автомат

Если абстрактный автомат — лишь математическая модель


дискретной системы с памятью, то в структурном автомате
учитывается структура входных и выходных сигналов, а так же его
внутреннее устройство на уровне структурных или функциональных
схем. В общем случае структура автомата может быть представлена
следующей схемой.
Âíóòðåííåå ñîñòîÿíèå

Ïàìÿòü
ÊÑõ 1 ÊÑõ 2 Âûõîä
Âõîä (Ôóíêöèÿ
àâòîìàòà (Ôóíêöèÿ
ïåðåõîäîâ) (âíóòðåííèå âûõîäîâ)
ñîñòîÿíèÿ)

Связь, показаная на рисунке пунктиром, характерно только для


автомата Мили.

() Устройства ЭВМ 2015 год 107 / 108


Этапы структурного синтеза автомата

1) кодирование алфавита входных и выходных символов автомата


двоичными кодами;
2) кодирование внутренних состояний автомата;
3) выбор элемента памяти (типа триггера);
4) построение автоматной таблицы переходов;
5) синтез комбинационной схемы, реализующей функцию переходов
КСх 1;
6) синтез комбинационной схемы, реализующей функцию выходов
КСх 2.

() Устройства ЭВМ 2015 год 108 / 108

Вам также может понравиться