- •© Иркутский государственный университет
- •Сокращения
- •Введение
- •Глава 1 базовые понятия и конструкции систем управления дискретной автоматики
- •1.1. Переменные и функции алгебры логики
- •1.2. Двоичные коды переменных
- •Запишем аналитическое выражение для y1 в виде логической суммы (дизъюнкции) конъюнкций тех переменных, которые определяют единичное значение булевой функции:
- •1.3. Логические функции одной и двух переменных
- •1.4. Одноразрядный сумматор двух переменных
- •1.5. Дешифратор и шифратор двоичного позиционного кода
- •1.6. Цифровой и аналоговый мультиплексоры
- •1.7. Основные понятия минимизации булевых функций
- •1.8. Структурный синтез самодиагностируемых обратимых функциональных преобразователей информации
- •1.9. Дискретные преобразователи информации
- •Глава 2 системы управления дискретной автоматики
- •2.1. Операционные автоматы
- •2.2. Базовые модели систем управления
- •Окончание рис. 32
- •Системная модель преобразования информации
- •Расширение двухблоковой модели системы
- •2.3. Организация связей в информационно-управляющих системах
- •2.4. Проектирование преобразователей информации
- •2.5. Операторные схемы алгоритмов систем управления
- •Глава 3 конечные автоматы систем управления
- •3.1. Абстрактный синтез автоматов
- •3.2. Структурный синтез автоматов
- •3.2.1. Организация памяти автоматов
- •3.3. Структурная схема автомата Мура
- •3.4. Функциональная реализация автоматов управления
- •3.4.1. Функциональная подсистема автомата
- •3.4.2. Адресная подсистема автомата
- •3.4.3. Реализация автоматов управления на программируемых логических интегральных схемах
- •3.5. Синтез быстродействующих автоматов
- •Глава 4 системы автоматов управления
- •4.1. Декомпозиция автоматов
- •4.2. Автоматы с объединенными операторами
- •4.3. Синтез многорежимных автоматов
- •4.3.1. Многопрограммные формирователи временных интервалов
- •4.3.2. Режим реализации нескольких последовательностей временных интервалов (от 8 до 64)
- •Режим реализации
- •4.4. Синтез автоматов по декомпозированной схеме алгоритма
- •4.5. Управление взаимосвязанными процессами
- •Глава 5 сложные автоматы систем реального времени
- •5.1. Структурная организация сложных автоматов
- •5.2. Контроль автоматов управления в системах реального времени
- •5.3. Моделирование автоматов управления
- •5.4. Управление спецпроцессором функционального контроля пзу
- •5.5. Система управления коммутаций сигналов
- •Основная литература
- •Дополнительная литература
4.5. Управление взаимосвязанными процессами
Если речь идет о системе взаимодействующих МПА, то ситуация меняется. В этом случае существуют обращения из одного МПА к выполнению подпрограмм, реализуемых другими МПА. Осуществляется такая система с помощью ведущего автомата Мура и автоматов подпрограмм Мили.
Эта
же задача может быть реализована
комплексом автоматов, если все
подпрограммы, включая ведущую,
рассматривать как единый автомат Мили.
Тогда при независимой разметке каждого
из алгоритмов для получения графов
автоматов Мили следует сделать зависимыми
номера состояний автоматов, т.е., если
в первом МПА состояния
,
то во втором автомате необходимо
занумеровать состояния, начиная с
,
в третьем – с
.
В работе [34] показано, что в таком случае для рекурсивного обращения к подпрограммам в структуру автомата целесообразно ввести дополнительную память в виде регистров с односторонней связью (стек первого типа) и устройства формирования МК управления стеком на основании анализа состояний регистра памяти (логическая подсистема). В отличие от работы [34], эта идея в данном параграфе проработана детально и изложена подробно.
На
рис. 90 представлены графы микропрограмм
с кодами
,
где
– логические условия переходов от a(t)
к a(t
+ 1), представленные в табл. 34, а
– выходные микрооперации. Здесь аR
– код
возврата из микропрограммы. В этом
случае структура МПУ приобретает вид
рис. 91. Кроме стека (блок СТ), отличие от
классической структуры МПА лишь в том,
что появился так называемый регистр
микрокоманд (РМК), рассчитанный на три
поля:
Z – поле кода подпрограмм;
K – поле кода a(t);
Y – поле кода микроопераций.
Функционирует данное МПУ в следующей последовательности:
Если
код поля Z
равен нулю, то МПУ работает как обычный
автомат Мили, т.е. код поля К, представляющий
собой a(t),
передается на Pг
a(t),
и автомат переходит к выполнению
следующего такта расшифровки a(t)
для определения нового состояния a(t
+ 1) той подпрограммы (например, ведущей),
которую он осуществляет. Если код поля
,
то код поля К сохраняется в стеке, а
содержимое кода Z
вместо a(t)
переписывается на Pг
a(t),
и автомат переходит к выполнению
подпрограммы точно так же, как и к
расшифровке обратного состояния МПА,
ибо состояния во всех графах подпрограмм
закодированы различными номерами (по
условию).
Стек,
используемый для реализации вложенных
вызовов микропрограмм, управляется
сигналами
Рис. 90
Таблица 33
Обозна-чение |
Логическое условие |
Обозна-чение |
Микрооперация |
X1 |
Сигнал «Пуск» |
Y1 |
Начальная установка |
X2 |
Тактовый сигнал (для Yi) |
Y2 |
Увеличение СчХ |
X3 |
[СчХ] = [PгA] |
Y3 |
|
X4 |
Сигнал из ЧБ1 |
Y4 |
Выборка
|
X5 |
Внешний сигнал «Стоп» |
Y5 |
;
|
X6 |
Сигнал «Продолжение» |
Y6 |
Ожидание |
Рис. 91
Таблица 34
a(t) |
Код К a(t) |
a(t + 1) |
Код К a(t + 1) |
X |
Y |
а(t) адрес ПЗУ |
N |
a1 |
0001 |
a2 a3 a3 |
0010 011 011 |
x1 x11 x11 |
y1y2 y6y7 z2 |
00001 00010 00011 |
1 2 3 |
a2 |
0010 |
a2 a5 a3 |
0010 0101 0011 |
x9 x10 x5 |
y3y4 y4 y3 |
00100 00101 00110 |
4 5 6 |
a3 |
0011 |
a4 |
0100 |
1 |
y6 |
00111 |
7 |
a4 |
0100 |
a1 a1 |
0001 0001 |
x2 x6 |
y1y2y3 z1 |
01000 01001 |
8 9 |
a5 |
0101 |
a2 |
0010 |
1 |
z1 |
01010 |
10 |
a6 |
0110 |
a7 ar a8 |
0111 0000 1000 |
x4 x14 x13 |
y5y6y7 y3y4 y7 |
01011 01100 01101 |
11 12 13 |
a7 |
0111 |
ar ar |
0000 0000 |
x8 x5 |
y7 y1y2y3 |
01110 01111 |
14 15 |
a8 |
1000 |
ar |
0000 |
1 |
z2 |
10000 |
16 |
a9 |
1001 |
a10 a9 ar |
1010 1001 0000 |
x1 x12 x11 |
y1 y2y3y4 – |
10001 10010 10011 |
17 18 19 |
a10 |
1010 |
a9 a9 |
1001 1001 |
x3 x7 |
y3y4 y5y6 |
10100 10101 |
20 21 |
– в
регистр a(t)
заносится код Z,
а код вершины из поля К по сигналу
записывается в стек.
команда
используется, если код поля К содержит
код вершины возврата, тогда из стека
по сигналу
«выталкивается» код a(t),
записанный перед вызовом микропрограммы
Z.
Синтез
МПУ такого типа не имеет особенностей,
т.е. по графам автоматов составляется
единая (как для одного автомата) таблица
переходов (табл. 34), которая является
основой составления системы булевых
функций для ПЛМ. Затем на основании этой
таблицы составляется табл. 36, являющаяся
основой формирования содержимого ПЗУ
по адресу A(t).
В табл. 35 символами
обозначены номера позиций 1 в коде a(t)
поля К, который заносится в стек.
Таблица 35
N |
а(t) |
Содержание |
Примечания |
||
Y |
Z |
K |
|||
|
00000 |
|
|
|
|
1 |
00001 |
y1y2 |
|
0010 |
|
2 |
00010 |
y6y7 |
|
0011 |
|
3 |
00011 |
|
S1S4 |
0011 |
Вызов z2 К(a9) = 1001 |
4 |
00100 |
y3y4 |
|
0010 |
|
5 |
00101 |
y4 |
|
0101 |
|
6 |
00110 |
y3 |
|
0011 |
|
7 |
00111 |
y6 |
|
0100 |
|
8 |
01000 |
y1y2y3 |
|
0001 |
|
9 |
01001 |
|
S2S3 |
0001 |
Вызов z1 К(a6) = 0110 |
10 |
01010 |
|
|
|
|
11 |
01011 |
y5y6y7 |
S2S3 |
0010 0111 |
Вызов z1 МПП z1 |
12 |
01100 |
y3y4 |
|
0000 |
|
13 |
01101 |
y7 |
|
1000 |
|
14 |
01110 |
y7 |
|
0000 |
|
15 |
01111 |
y1y2y3 |
|
0000 |
|
16 |
10000 |
|
S1S4 |
0000 |
Вызов z2 МПП z2 |
17 |
10001 |
y1 |
|
1010 |
|
18 |
10010 |
y2y3y4 |
|
1010 |
|
19 |
10011 |
|
|
0000 |
|
20 |
10100 |
y3y4 |
|
1011 |
|
21 |
10101 |
y5y6 |
|
1001 |
|
Таблица 36
Наименование сигнала |
Назначение |
С1 |
Запись в PгA |
С2 |
Запись в PгY |
С3 |
Увеличение счетчика СчХ |
С4 |
Сложение
|
С5 |
Сложение
|
С6 |
Выборка
|
С7 |
Выборка из числового блока 2 (ЧБ2) |
Заметим,
что в поле Z
нужно указывать вовсе не код микропрограммы
Z,
а код состояния a(t
+ 1), обозначающий начало этой микропрограммы.
Например, для перехода к
(см. рис. 90 и 91) нужно указать код
.
Т.е. поле К и поле Z
в РМК должны быть одной разрядности.
Независимо от того, что количество
подпрограмм может быть малым (например,
при числе микропрограмм меньше 8 хватило
бы для кода Z
всего 3 разрядов), необходимое число
разрядов в поле Z
значительно больше, чем для кода K.
Например, при общем количестве состояний
в микропрограммах, равном 63, разрядность
поля К и поля Z
равна 6, хотя число подпрограмм Z
< 8.
Таким образом, введение в структуру МПУ стековой памяти и логической подсистемы формирования признаков управления ею позволяет построить устройство для одновременной реализации комплекса взаимозависимых микропрограмм.
