ПРОГРЕСИВН1 1НФОРМАЦ1ЙН1 ТЕХНОЛОГIÏ
ПРОГРЕССИВНЫЕ ИНФОРМАЦИОННЫЕ
ТЕХНОЛОГИИ
PROGRESSIVE INFORMATION TECHNOLOGIES
Бабаков Р. М.
Канд. техн. наук, доцент, доцент кафедры компьютерных наук Донецкого национального технического университета,
г. Красноармейск, Украина
Решена задача формализации задания микропрограммного автомата, в структуре которого часть автоматных переходов реализуется неканоническим способом. Предложен новый подход к организации функции переходов микропрограммного автомата, в соответствии с которым функция переходов представляется в виде семейства частичных функций, каждая из которых определена лишь на части области определения функции переходов автомата и соответствует некоторому подмножеству автоматных переходов.
С учетом предложенного подхода традиционное представление автомата в виде многоосновной алгебры претерпевает ряд изменений. Во-первых, взаимная независимость функций переходов и выходов, образующих сигнатуру алгебры, позволяет рассматривать их отдельно друг от друга, что приводит к представлению автомата в виде двух алгебр: алгебры переходов, сигнатура которой содержит только функцию переходов, и алгебры выходов, сигнатура которой содержит только функцию выходов. Во-вторых, представление функции переходов в виде множества частичных функций приводит к замене алгебры переходов множеством подалгебр переходов, в каждой из которых сигнатура образована частичной функцией переходов.
На примере микропрограммного автомата со счетчиком показано, что закон преобразования кодов состояний в рамках некоторого подмножества переходов может быть задан некоторой алгебраической функцией (операцией переходов), использующей скалярную интерпретацию кодов состояний структурного автомата. Скалярную интерпретацию кодов состояний совместно с операцией переходов предлагается представлять в виде т.н. промежуточной алгебры переходов, изоморфной соответствующим подалгебрам переходов абстрактного и эквивалентного ему структурного автоматов.
Ключевые слова: микропрограммный автомат, частичная функция переходов, промежуточная алгебра переходов, автомат на счетчике.
УДК 681.324
ПРОМЕЖУТОЧНАЯ АЛГЕБРА ПЕРЕХОДОВ В МИКРОПРОГРАММНОМ АВТОМАТЕ
НОМЕНКЛАТУРА
МПА - микропрограммный автомат; ^ - абстрактный автомат;
Л - множество состояний абстрактного автомата; 2 - входной алфавит абстрактного автомата; Ж - выходной алфавит абстрактного автомата; ОЛ - абстрактная алгебра, задающая абстрактный ав-
Ох - абстрактная алгебра выходов;
- носитель абстрактной алгебры выходов;
- сигнатура абстрактной алгебры выходов; а - начальное состояние автомата;
н 7
Од - область определения функции переходов абст-
рактного автомата;
8. - частичная функция переходов абстрактного ав-
томат;
томата;
- количество частичных функций переходов 5.; В - количество переходов автомата; а. - текущее состояние абстрактного автомата; 2. - входной сигнал абстрактного автомата; ак - состояние перехода абстрактного автомата; Од. - область определения функции 5.; Од. - частичная абстрактная подалгебра переходов;
Ал - носитель абстрактной алгебры;
^Тл - сигнатура абстрактной алгебры;
8 - функция переходов абстрактного автомата;
х - функция выходов абстрактного автомата;
Од - абстрактная алгебра переходов;
Ад - носитель абстрактной алгебры переходов;
^8 - сигнатура абстрактной алгебры переходов;
© Бабаков Р. М., 2016
DOI 10.15588/1607-3274-2016-1-8
р-К8К 1607-3274. Радюелектронжа, шформатика, управлiння. 2016. № 1 е-ЕЗБЫ 2313-688Х. Каёю Е1еойоп^, Сошриег Баепое, Сопйо1. 2016. № 1
- носитель частичной абстрактной подалгебры переходов ;
- сигнатура частичной абстрактной подалгебры переходов 0§ ;
Ац - подмножество состояний, встречающихся в кортежах функции 5,;
2 5 - подмножество входных сигналов, встречающихся в кортежах функции 5,;
- структурный автомат; 0$ - структурная алгебра переходов; •3 - носитель структурной алгебры переходов;
- сигнатура структурной алгебры переходов; ( - структурная функция переходов;
I - структурная функция выходов;
X - множество структурных входных сигналов;
У - множество структурных выходных сигналов;
0( - структурная алгебра переходов;
•( - носитель структурной алгебры переходов;
- сигнатура структурной алгебры переходов; 0[ - структурная алгебра выходов;
•х - носитель структурной алгебры выходов;
- сигнатура структурной алгебры выходов;
- область определения структурной функции переходов;
( - частичная структурная функция переходов; Ы( - количество частичных структурных функций переходов;
- область определения функции (,; Р - мощность множества 2;
Ь - мощность множества X;
0 - мощность множества Ж; N - мощность множества У;
К$ (а) - структурный код состояния автомата;
К$ (г) - структурный код входного сигнала; Т - структурный код текущего состояния автомата; К - разрядность кода Т;
КС(¡^ - комбинационная схема, реализующая структурную функцию переходов ( ; МХ - мультиплексор;
КС 1пс - схема управления мультиплексором МХ; РП - регистр памяти;
СФМО - схема формирования микроопераций; СТ - инкрементный счетчик состояний; К1 (а,) - промежуточный код состояния а;
01 - промежуточная алгебра переходов;
ЯI - носитель промежуточной алгебры переходов;
- сигнатура промежуточной алгебры переходов; 01пс - операция инкремента;
К1(А5 ¡) - множество кодов К (а,), используемых в функции 5,.
ВВЕДЕНИЕ
Важным компонентом современных вычислительных систем является устройство управления, одним из способов реализации которого является микропрограммный автомат [1]. Наблюдаемый сегодня рост сложности алгоритмов, интерпретируемых МПА, способствует увеличению аппаратурных затрат в логической схеме автомата. В данном аспекте актуальной является задача снижения аппаратурных затратах в схеме МПА, одно из решений которой состоит в разработке новых структур МПА и их формальных математических моделей. Классические математические модели абстрактного и структурного автоматов подходят для описания предложенной В. М. Глушковым канонической структуры МПА, однако при использовании иных структур данные модели в некоторых случаях не отражают внутренние информационные процессы, ограничивая возможности проектировщика цифровых устройств в вопросах оптимизации логической схемы синтезируемого устройства.
Объектом исследования в работе выступает микропрограммный автомат, предметом исследования - математическая модель МПА, предполагающая специальное представление функции переходов автомата. Цель работы состоит в разработке и формализации такой модели и достигается путем анализа и обобщения свойств одной из известных структур МПА - автомата на счетчике.
1 ПОСТАНОВКА ЗАДАЧИ
Основной научной задачей, решаемой в данной работе, является разработка формальных математических моделей абстрактного и структурного автоматов, использующих представление функции переходов автомата в виде множества частичных функций. Модели должны обеспечивать выражение закономерностей преобразования информации в части функции переходов структурного автомата, подчеркивая эквивалентность данной функции с функцией переходов тождественного абстрактного автомата. Подтверждение состоятельности предлагаемых моделей должно быть продемонстрировано на примере одной из известных структур МПА.
2 ОБЗОР ЛИТЕРАТУРЫ
Современная теория автоматов имеет тесную связь с теорией универсальных алгебр. Алгебраический подход находит применение в теории автоматов, способствуя установлению связи теории автоматов с другими областями математики. Математический аппарат универсальных алгебр лежит в основе алгебраической теории автоматов, изучающей дискретные автоматы с абстрактно-алгебраической точки зрения [2, 3].
Базовым объектом изучения в теории универсальных алгебр является алгебраическая система, определяемая как абстрактный объект
О =< Я, /Р >, (1)
состоящий из трех множеств: непустого множества Я,
множества операций / = 1/0,..., Д,.} определенных на Я, и множества предикатов (отношений)
р = р0,... ,р|...> заданных на Я [4]. Под операцией
здесь понимается функциональное отношение любой арности, заданное на множестве А. Под предикатом понимается функция на множестве А, значения которой, называемые модальностями или степенями истинности, лежат в особом множестве, состоящем из двух элементов - «истина» и «ложь» [4, 5].
Множество А называют носителем системы О. Набор множеств < Г, Р > образует сигнатуру или структуру алгебраической системы. В случае конечности носителя данные множества также конечны. Сигнатуру с пустым множеством отношений называют функциональной, с пустым множеством операций - предикатной [6].
Алгебраическая система (1) называется универсальной алгеброй или просто алгеброй, если ее сигнатура функциональна, и моделью (реляционной системой), если ее сигнатура предикатна [4]. Таким образом, алгеброй является следующий двухэлементный объект [4, 5]:
О =< А, Г > . (2)
Иногда носитель алгебры представляется несколькими совокупностями разнородных объектов, объединение которых в единое множество является неестественным [7]. В этом случае оказывается удобным представлять носитель в виде семейства непересекающихся множеств. Пусть А = {А\,..., Як} - множество основ (носителей), Г = {/1. ■■■./т} - сигнатура, причем
/ : А1 х А. х ... х Ак ^ Я.. Тогда система (2) называется многоосновной (к-основной) алгеброй [5, 7]. Многоосновная алгебра имеет несколько носителей, а каждая операция сигнатуры является соответствием, действующим из прямого произведения некоторых носителей в некоторый носитель [8].
В теории автоматов абстрактный и структурный автоматы иногда рассматриваются как алгебры, поскольку их структура как математических объектов подобна структуре алгебраической системы [9]. Представление автомата в виде алгебры дает возможность использовать алгебраические приемы при решении таких задач, как декомпозиция автоматов, их классификация, описание поведения и другие [3].
3 МАТЕРИАЛЫ И МЕТОДЫ
Дадим собственную алгебраическую интерпретацию конечных автоматов.
Абстрактный автомат.
Как известно, конечный абстрактный автомат БЛ представляется совокупностью трех конечных множеств -состояний, входных и выходных слов, и двух детерминированных функций - переходов и выходов: Бл =< А, 2, Ж, 5, X > [10]. В таком виде автомат может рассматриваться как трехосновная алгебра с двумя операциями [7]. Будем называть алгебру, отождествляемую с абстрактным автоматом, абстрактной алгеброй ОЛ:
ОЛ =< АЛ , Г Л >, (3)
Ал = {А, 2, Ж}, (4)
ГЛ = {8, X}. (5)
Фактически, выражения (3)-(5) перечисляют объекты, которые должны быть определены для задания абстрактного автомата. При этом способ задания объектов не имеет значения и может быть различным [2].
Функции 8 и X реализуют различные соответствия и могут рассматриваться отдельно друг от друга. Это оказывается полезным, например, в тех случаях, когда выходные реакции автомата неизвестны или не представляют интереса, а объектом исследования является доступная наблюдению эволюция его внутренних состояний под воздействием входных сигналов. В работах [3, 7, 11] упоминаются т.н. автоматы без выходов (полуавтоматы, Х-автоматы, редукты) - объекты, задаваемые только с помощью множества состояний, входного алфавита и функции переходов.
Абстрактный автомат без функции выходов есть двухосновная алгебра:
Од = < Ад, Г8> = < {А, 2}, {5} > , (6)
без функции переходов - трехосновная алгебра
Ох= < А, Гх> = < {А. г. ж }, {X} >. (7)
Выражение (7) справедливо для автомата Мили. Для автомата Мура необходимо исключить компонент 2:
Ох= < Ах, Гх> = <{Л. Ж}, {X} >. (8)
Будем называть алгебру (6) абстрактной алгеброй переходов, алгебры (7) и (8) - абстрактной алгеброй выходов. Тогда абстрактный автомат есть двойка
Бл =< О д, О X > . (9)
В случае выделения на множестве состояний специального начального состояния (инициальный автомат) в выражение (9) может быть добавлен компонент ан е А:
бл =< О д, О X, ан >. (10)
Как известно, в абстрактном автомате функция с1 есть соответствие
д :(Одс Л х 2) ^ Л . (11)
Будучи представленной в виде (11), функция д считается, в общем случае, частично определенной на множестве А х 2. Исходя из математического определения соответствия, даваемого в [12], функция (11) есть множество кортежей
< а,, 2., ак > е д, (12)
каждый из которых соответствует одному автоматному переходу из состояния а. е А под воздействием входного сигнала 2. е 2 в состояние ак е А.
Разобьем некоторым образом множество кортежей вида (12) на несколько непустых, попарно непересекающихся подмножеств, максимально возможное число которых равно числу переходов автомата. Каждое такое подмножество переходов автомата, будем называть частичной функцией переходов д,, понимая здесь под термином «частичная» ее неполное определение на области определения Од функции переходов д:
д, :(с Од) ^ Л. (13)
р-К8К 1607-3274. Радюелектронжа, шформатика, управлiння. 2016. № 1 е-ЕЗБЫ 2313-688Х. Каёю Е1еойоп^, Сошриег Баепое, Сопйо1. 2016. № 1
В этом случае функция переходов 5 есть множество подмножеств кортежей (12), то есть множество частичных функций переходов:
5= {51, ..., 5„ }
(14)
N
где 1 < N5 < B . При этом и 5г- =5 .
¡=1
Подобное разбиение может быть выполнено и для функции выходов.
Свяжем с каждой частичной функцией переходов d¡ собственную алгебру вида
= <Л,, Я, >=<{\, 25;}, й}> . (15)
В данном выражении А5 с А есть множество всех состояний, присутствующих в кортежах вида (12) функции 5,. Иными словами, в А5. входят те и только те состояния, переходы из которых или переходы в которые реализуются функцией 5,. Множество 25, с 2 есть множество входных сигналов, присутствующих в кортежах вида (12) функции 5,. Поскольку А5, с А, с 2 и для
любых а е и г е выполняется равенство 5, (а, г) = 5(а, г), выражение (15) есть подалгебра алгебры (6) [4]. Будем называть алгебру (15) абстрактной подалгеброй переходов. В алгебраической теории автоматов понятию подалгебры соответствует понятие подавтомата [2, 3].
Множество частичных функций переходов приводит ко множеству абстрактных подалгебр переходов, отож -дествляемому с абстрактной алгеброй переходов (6):
05 = ^ ..., }. (16)
Компоненты —> и Л5 алгебры 05 формируются путем объединения соответствующих компонентов всех подалгебр:
N5 N5 N5 N5 N5
— = и-А = (и А5,, и }, Л5 = и Л = {и 5-}.
¡=1 ¡=1 ¡=1 ¡=1 ¡=1
Отметим, что в то время как частичные функции 5¡ образуют разбиение, т.е.
У^, у е [1, N5 ],¡ Ф у): 5¡ п5 j = 0, семейства множеств
А5. и 25. образуют на множествах А и 2 соответствующие покрытия, что в общем случае допускает У^,] е [1,N5]): А5, п А5 , Ф0 и 25 п 25 Ф0. Присутствие одного и того же состояния а е А в носителях нескольких подалгебр означает, что переходы в данное состояние и/или из него выполняются с помощью разных частичных функций 5^
По аналогии с (16), в виде множества подалгебр представляются абстрактная алгебра выходов (7) автомата Мили и абстрактная алгебра выходов (8) автомата Мура.
Структурный автомат.
Модель структурного автомата ^ =< X, У, А, d, I > также является трехосновной алгеброй, носитель которой образован конечными множествами структур-
ного автомата, а сигнатура Л5 - структурной функцией переходов d и структурной функцией выходов I:
= {X, А, У}, (17)
Л5 = ^, I}. (18)
Отметим, что в выражении (17) множество состояний А отличается от одноименного множества в выражении (4) тем, что содержит не абстрактные, а структурные состояния, представленные своими структурными кодами [10].
Назовем алгебру, отождествляемую со структурным автоматом, структурной алгеброй 0$:
05 =< >=<{X, А, У}, {Л, 1} >. (19)
Разделение функций переходов и выходов дает две отдельные алгебры: структурную алгебру переходов:
Ол = <—, Л > = < {А, X}, {Л} > (20)
и структурную алгебру выходов (выражение (21) - для автомата Мили, (22) - для автомата Мура):
01 = <Я1, Л > = < {А, X, У}, {/} >, (21) 01 = <Я1, Л > = < {А, У}, {/} > . (22)
При этом структурный автомат может рассматриваться как двойка
= < 0а, 01 >. (23)
Согласно модели =< X, У, А, Л, I > , функция Л есть соответствие
Л: (РЛ с X х А) ^ А. (24)
В структурном автомате все элементы множеств абстрактного автомата представляются в виде слов в структурном (двоичном) алфавите. Предположение о том, что память структурного автомата строится в базисе триггеров Б-типа, дает возможность отождествлять результат структурной функции переходов (структурный код состояния перехода) со множеством функций возбуждения элементов памяти структурного автомата.
При XI = Ь и 1 (|А\) Г= К выражение (24) принимает вид:
Л: (Рл с Х1 х %2 х ... х %ь х е х е2 х ... х ек) ^ е х е2 х ... х ек , (25)
где каждый из элементов х и е есть множество букв структурного (двоичного) алфавита, т.е. множество {0, 1} [9]. Фактически, (25) есть соответствие:
(26)
Л :(Рё с {0, 1}Ь+ К) ^ {0, 1}К.
элементами которого являются кортежи, состоящие из (Ь+2К) букв де{0, 1}:
< Чъ ..., Чь+2К > е РЛ .
(27)
Структурная функция переходов (24), являясь множеством кортежей (27), может быть представлена в виде множества частичных структурных функций переходов:
Л = {¿1, ..., dNd },
:(Рл с Рй) ^ А .
(28) (29)
Отметим, что в выражении (28) максимально возможное количество частичных функций Nс определяется числом кортежей (27). Если в случае абстрактного автомата имеем 1 < N < В, то для значения N1 дело обстоит иначе.
В процессе кодирования каждому символу 2 / входного алфавита абстрактного автомата ставится в соответствие вектор вида < х^, ..., х^ > , образованный значениями переменных х^ ..., х^, соответствующих одноименным входным структурным сигналам. Поскольку способ кодирования элементов множества 2 может быть произвольным, возможны ситуации, когда в векторе < Х1, ..., х1 >, соответствующем входному символу 2/ е 2, некоторая переменная х1 может принимать произвольное значение [13]. В этом случае каждому переходу, выполняющемуся под воздействием входного сигнала 2 / , в структурной функции с соответствуют два вектора вида (27), в первом из которых компонент, соответствующий х1, равен нулю, во втором - единице.
В общем случае количество фиктивных переменных в коде символа 2 / может быть больше единицы. Такие ситуации часто возникают в процессе структурного синтеза МПА, заданных в виде ГСА, когда переход из состояния в состояние зависит лишь от части логических условий, отождествляемых со структурными входными сигналами. В работе [13] предлагается каждый структурный входной сигнал условно представлять заданным на трехзначном множестве {0, 1, -}, где элемент «-» соответствует произвольному значению из {0, 1}. Будем полагать, что каждая из функций с, есть множество кортежей вида (27) с трехзначным представлением структурных входных сигналов. Тогда, как и для абстрактных частичных функций, имеем 1 < N1 < В. Понятно, что при N1 = В каждому переходу автомата будет сопоставлена отдельная функция вида (29), в то время как при N1 = 1 все переходы автомата реализуются одной общей структурной функцией переходов.
Установим теперь формальную связь между абстрактной и структурной алгебрами переходов. Однотипность алгебраических систем характеризуется возможностью установления между ними различных отображений, таких как гомоморфизм, изоморфизм и др. [4]. Воспользуемся понятием гомоморфизма автоматов, которое В. М. Глушков определяет следующим образом [11]. Го -моморфизм у автомата А(2л, Ал, Жл , д л , X л ) в автомат В(2в, Ав, Жв, д в, X в ) есть совокупность трех однозначных отображений: у1 : 2л ^ 2в, у 2 : Ал ^ Ав, У 3 : Жл ^ Жв, удовлетворяющих для любых элементов а е Ал и 2 е 2л соотношениям:
У1(8л (а, 2)) = дв (У1 (а), у 2(2)), (30)
у 3(1 л (а, 2)) = Xв (У 1 (а), у 2(2)). (31)
Хотя МПА в части функции переходов может быть задан как абстрактной алгеброй (3), так и структурной алгеброй (19), установление гомоморфизма между данными алгебрами, с формальной точки зрения, невозможно. Причиной является несоответствие носителей (4) и
(17), а точнее - различные мощности множеств, образующих носители. Тот факт, что в общем случае
(|2| = £) Ф (|Х| = Ь) и (|Ж = О) Ф (|У| = N), не позволяет установить между элементами соответствующих множеств взаимно однозначное соответствие, обязательное для гомоморфизма.
Преобразуем структурную алгебру (19) следующим образом.
1. Пусть носитель А б содержит следующие три множества
- множество Кб(2) = { Кб(21), ..., Кб(2р)} структурных кодов входных сигналов абстрактного автомата, где каждый элемент Кб (2/ ) есть вектор < х1, ..., хь > значений структурных входных сигналов, определенных на трехэлементном алфавите {0, 1, -};
- множество Кб(А) = { Кб(а1), ..., Кб(а^)} структурных кодов состояний абстрактного автомата, заданных векторами < е1,..., ед >, ег е {0, 1};
- множество Кб (Ж) = [К$ (м^), ., Кб (мо)} структурных кодов выходных сигналов абстрактного автомата, заданных векторами < У1, ..., yN >, уп е {0,1}.
2. Структурные функции переходов С и выходов I, образующие сигнатуру ГБ , определим выражениями (32) и (33), (34) соответственно:
С: (Ос С Кб (2) х Кб (А)) ^ Кб (А). (32)
I: (Ос с К8 (2) х Кб (А)) ^ Кб (Ж). (33)
I: (Ос с Кб (А)) ^ Кб (Ж). (34)
Выражение (33) справедливо для автомата Мили, (34) -для автомата Мура.
Тогда структурная алгебра (19) принимает следующий вид:
Об =< А Б ,ГБ >=< {Кб (2), К8(Л), К8(Ж)}, {С, /} >. (35)
Структурные алгебры переходов и выходов определяются аналогично (20)-(22) следующим образом:
Ос =< Ас, ГСс > = < {Кб (Л). КБ (2)}. {С} >, (36) О1 =< А1, Г > = < {КБ (Л). КБ (2), К8 (Ж)}. {/} > ,(37)
О1 =< А1, Г > = < {КБ (Л). КБ (Ж)}. {/} > . (38)
Структурная алгебра (35) отличается от (19) тем, что формальными аргументами и значениями ее операций являются не отдельные структурные сигналы, а элементы носителей абстрактной алгебры, представленные в виде векторов элементарных структурных сигналов. Это позволяет установить гомоморфизм абстрактной алгебры (3) в структурную алгебру (35). Поскольку между носителями структурной алгебры (35) и носителями абстрактной алгебры (3) могут быть установлены однозначные соответствия Кб (А) ^ А, Кб (2) ^ 2, Кб (Ж) ^ Ж, гомоморфизм алгебр (3) и (35) является изоморфизмом (взаимно однозначным гомоморфизмом, [11]). Очевидно, что существуют также изоморфизмы между алгебрами переходов (6) и (36), а также между алгебрами выходов: (7) и (37) для автомата Мили, (8) и (38) для автомата Мура.
р-^Ы 1607-3274. Радюелектронжа, iнформатика, управлiння. 2016. № 1 е-^Ы 2313-688Х. Каёю ЕЬ^гоп^, Coшputer Science, Contro1. 2016. № 1
Функция переходов (32) есть множества кортежей следующего вида:
< К$ (а,), К$ (), К$ (ак) >еБ(
(39)
и может быть представлена в виде семейства частичных функций переходов (28), причем
( :(Д, с ) ^ К$ (А).
(40)
Изоморфизм алгебр (3) и (35) устанавливает, в том числе, отображение между элементами соответствующих носителей данных алгебр. Сопоставляя каждому компоненту любого кортежа (12) соответствующий ему элемент из носителей структурной алгебры, можно получить тождественный кортеж (39). Следовательно, каждой частичной функции переходов 5, абстрактного автомата, определяемой выражением (13) и являющейся некоторым подмножеством множества кортежей (12), может быть поставлена в соответствие частичная функция переходов ( , определяемая выражением (40) и являющаяся подмножеством множества кортежей (39). При этом изоморфизм абстрактной и структурной алгебр возможен при любом разбиении функций абстрактного автомата на множества частичных функций. Данное утверждение также справедливо как алгебр переходов (6) и (36) и для алгебр выходов (7)/( 8) и (37)/(38).
По аналогии с (15), структурной подалгеброй переходов будем называть алгебру вида:
0(1 = < Я(1, л, > = < К(А(), Кз(2,,)}, {(,} > . (41)
Здесь К$ (А,,) с К$ (А) - множество структурных кодов состояний, присутствующих в кортежах (39) частичной структурной функции (; К$ (2,.) с К$ (2) -множество структурных кодов входных сигналов, используемых для кодирования входных сигналов в кортежах (39) функции ё,. Структурную алгебру переходов (35), по аналогии с (16), представим в виде множества структурных подалгебр переходов:
0ё = 0dNd (42)
Как и в случае абстрактного автомата, компоненты структурной алгебры переходов (42) формируются объединением элементов соответствующих компонентов своих подалгебр. Аналогичным образом в виде множества своих подалгебр могут быть представлены структурные алгебры выходов (37) и (38). 4 ЭКСПЕРИМЕНТЫ
Рассмотрим отдельно функцию переходов автомата. В соответствии с предложенным В. М. Глушковым каноническим методом структурного синтеза функция переходов представляется в векторном виде и задается системой канонических скалярных уравнений [10]. Система скалярных уравнений строится известным способом [10,
13], при котором для каждой пары < Кз (а, X К3 () > кортежа (39), соответствующего одному переходу автомата, формируется терм, присутствие которого в том или ином уравнении системы определяется элементом
В структурной теории автоматов известен класс устройств, называемых автоматами на счетчике или С-автома-тами [14]. В их основе лежит принцип специального кодирования состояний, при котором на множестве состояний заданной ГСА выделяются т. н. линейные последовательности состояний, внутри которых коды состояний задаются в естественном (последовательном) порядке.
Применим принцип представления функции переходов автомата в виде множества частичных функций к автомату на счетчике. Пусть произвольный абстрактный автомат задан алгеброй (3), а реализующий его автомат на счетчике - алгеброй (35). Функции переходов данных автоматов образуют сигнатуры абстрактной алгебры переходов (6) и структурной алгебры переходов (36) соответственно. В силу изоморфизма алгебр (3) и (35), алгебры переходов (6) и (36) также изоморфны:
О5О . (43)
Тот факт, что в С-автомате часть переходов реализуется с использованием инкрементного счетчика, часть -в виде системы канонических уравнений, позволяет представить функцию ё в виде двух частичных функций и ё 2, образующих сигнатуры двух подалгебр переходов:
0,1 = < Я,1, > = < К(А,1), К$(2,1)}, й} >; (44) 0,2 = < Я(2, /ё2 > = < К(А,2), (2,2)}, {,2} > . (45)
Представление функции ё в виде двух частичных функций предполагает аналогичное представление абстрактной функции переходов 5. Частичные абстрактные функции переходов 51 и 52 образуют сигнатуры двух абстрактных подалгебр переходов:
051 =< Я51, /51 > = < {А51, 251}, >;
(46)
052 =< Я52 , /52 > = <{А52, 252 }, {¿2> >. (47)
Из изоморфизма (43) вытекают изоморфизмы соответствующих подалгебр:
05, О 0,х ;
О, О О,
(48)
(49)
Структурная схема С-автомата, отражающая представление структурной функции переходов в виде двух частичных функций, приведена на рис. 1.
Здесь схема КС ,1 реализует частичную структурную функцию переходов ,1 и представляет собой К-разряд-ный инкрементор. Структурный код Т текущего состояния, представленный набором структурных переменных < Т1,..., Тк >, в котором Тг е{0, 1}, интерпретируется на входе КС,1 как К-разрядное беззнаковое целое, представленное в структурном (двоичном) алфавите. На выходе инкрементора формируется структурный код состояния перехода, обозначенный символом ,1 и отож-дествляемый со значением одноименной функции переходов.
РП '—► Т СФМО
У
Рисунок 1 - Структурная схема С-автомата
Частичная функция d 2 представлена комбинационной схемой КС d2■ Данная схема строится по известной методике [14] и реализует систему канонических уравнений, соответствующую функции d2 На вход КСd2 поступают структурный код текущего состояния Т =< 71, ■■■, Т^ > и структурный код входного слова, представленный набором X =<Х1, ■■■, хI >, в котором XI е{0, 1, -}■ Код, формируемый на выходе КСd2, обозначен символом d2 и отождествляется с значением одноименной функции переходов.
Поскольку каждая функция di, представленная в виде логической схемы, определена на всех наборах аргументов, но при этом отдельный автоматный переход реализуется всегда какой-то одной частичной функцией, на этапе структурного синтеза возникает задача организации выбора нужной частичной функции при каждом переходе автомата. В С-автомате данная задача решается мультиплексированием одновременно формируемых значений двух частичных функций. На рис. 1 схема КС ¡пс вырабатывает сигнал 1пс, управляющий мультиплексором МХ. Формируемый на выходе мультиплексора структурный код d состояния перехода отождествляется со значением структурной функции переходов автомата и поступает в регистр памяти РП. Отметим, что в структуре С-автомата, приведенной в [14], блокам МХ и РП соответствует инкрементный счетчик СТ.
Увеличение числа переходов, реализуемых функцией dl, приводит, в общем случае, к снижению аппаратурных затрат в схеме формирования переходов С-авто-мата по сравнению с канонической структурой МПА. В связи с этим С-автоматы рекомендуется использовать для линейных ГСА, в которых не менее 75% вершин являются операторными [14].
Не смотря на то, что каждая частичная функция реализует собственное подмножество переходов, одно и то же состояние автомата может встречаться в кортежах нескольких частичных функций. Например, переход в
состояние а^ может выполняться с помощью частичной функции 81, переход из этого состояния - с помощью частичной функции 82. Если изоморфизмы (48) и (49) задавать независимо друг от друга, возможны ситуации, когда один и тот же структурный код присвоен двум различным состояниям, либо одному и тому же состоянию присвоено два различных структурных кода. Сказанное относится также и к структурным кодам входных сигналов. Подобные неоднозначности делают невозможным последующий синтез логической схемы автомата.
Решение данной проблемы заключается во взаимосвязанном задании изоморфизмов (48) и (49), при котором:
- каждое состояние а^ е А получает единственный и уникальный структурный код К$ (аг-) в соответствующих носителях всех структурных подалгебр, в которых оно встречается;
- каждый входной сигнал Zj е 2 получает единственный и уникальный структурный код КБ (z j) в соответствующих носителях всех структурных подалгебр, в которых он встречается.
В алгебраической форме данные требования могут быть выражены требованием существования изоморфизма (43). Данный изоморфизм устанавливает, в том числе, взаимно однозначные соответствия между каждым состоянием а^ е А и его структурным кодом К$ (аг-) е К$ (А), а также между каждым входным сигналом Zj е 2 и его структурным кодом (zj ) е (2). В результате за каждым состоянием и входным сигналом закрепляется единственный структурный код независимо от количества используемых подалгебр.
Применяемая в С-автомате операция инкремента является арифметической операцией и определена для скалярных величин. В процессе синтеза С-автомата на этапе формирования линейных последовательностей состояний каждое состояние а^ е А^ получает уникальный «скалярный» код КI (аг-) из множества натуральных чисел. «Скалярные» коды назначаются всем состояниям, переходы в которые или переходы из которых
выполняются с помощью операции инкремента. Таким образом, результатом кодирования всех состояний множества А5^ является множество скалярных кодов К1(^ ). В то же время состояния, отсутствующие в кортежах функции 51, «скалярных» кодов не получают.
Обозначим операцию инкремента символом 01пс. Заметим, что множество К1 (А5 ) совместно с операцией 01пс можно рассматривать как алгебру
О1 =< •, / >=< К1 (А51), 0пс >. (50) Здесь операция 01пс формально представляется множеством кортежей вида < К1 (а,), К1 (а^ ) >е 01пс . Компонент К1 (а,) е К1 (А51) есть «скалярный» код исходного состояния, компонент К1 (а^) е К1 (А51) - «скалярный» код состояния перехода. Очевидно, что подобный кортеж не содержит информации о входном сигнале, под воздействием которого выполняется переход, и в таком виде не может быть поставлен в соответствие кортежам частичных функций 51 и ,1.
Введем в алгебру (50) дополнительный носитель 25 ,
идентичный одноименному носителю из абстрактной подалгебры 051 . В результате получим двухосновную алгебру:
О1 =< Я1, >=< {К1 (А51), 2 51}, {01пс } >, (51)
в которой операция 0пс задается множеством кортежей вида:
< К1 (а,), 2], К1 (ак) >е 0Ыс, (52)
где К1 (а,), К1 (а}) е К1 (А51), е 25!.
Теперь, учитывая возможность установления попарных взаимно однозначных соответствий между носителями А51, К1(А51) и Кз (А,1 ), а также между носителями 25[ и (2,1), каждому кортежу вида (12) в функции 51 и соответствующему ему кортежу вида (39) в функции ,1 может быть поставлен в соответствие единственный кортеж вида (52). Это позволяет задать операцию 01пс таким множеством кортежей (52), чтобы в рамках алгебры (51) она выполняла преобразования «скалярных» кодов состояний по тому же закону, что и функции 51 и ,1 в своих подалгебрах, реализуя, таким образом, те же автоматные переходы, что и функции 51 и ,1.
Все это позволяет говорить о взаимном изоморфизме трех алгебр: алгебры (51), абстрактной подалгебры 051 и структурной подалгебры 0,1:
051 О 01 О 0,1. (53)
Данное выражение содержит три изоморфизма: 051 О 0,1, 05; О 01 и 01 О 0,1. Учитывая требование их одновременного существования, будем для краткости рассматривать данные изоморфизмы как единый изоморфизм (53).
Если структурные коды состояний, встречающиеся в кортежах частичной функции d2, могут задаваться произвольно (из допустимого множества структурных кодов), то в случае функции й?1 структурные коды должны задаваться таким образом, чтобы сделать возможным их преобразование с помощью операции инкремента. Задание «скалярных» кодов состояний в естественном (инкрементном) порядке есть задание транзитивного замыкания для отношения инкремента на некотором множестве скалярных чисел. На произвольном множестве структурных кодов, для которых неизвестна их «скалярная» интерпретация, отношение инкремента не может быть определено. По этой причине выбор «скалярных» кодов состояний множества A^ должен предшествовать выбору их структурных кодов. В свою очередь, задание структурных кодов состояний множества Ag^ выполняется после задания структурных кодов состояний множества Ag[, а синтез схем KCd2 и КСjnc возможен лишь после задания структурных кодов всех состояний автомата. 5 РЕЗУЛЬТАТЫ
Применение принципа представления функции переходов автомата в виде множества частичных функций позволяет, в случае автомата на счетчике, сформировать следующий порядок задания алгебр:
1. Задание абстрактных подалгебр переходов (46) и (47) в соответствии со сформированными линейными последовательностями состояний.
2. Задание алгебры (51), изоморфной подалгебре (46).
3. Задание структурной подалгебры (44), изоморфной алгебре (51).
4. Задание структурной подалгебры (45), изоморфной подалгебре (44).
Учитывая то, что алгебра (51) играет в C-автомате вспомогательную роль при построении структурной алгебры переходов по заданной абстрактной алгебре переходов, назовем алгебру Gj промежуточной алгеброй переходов, понимая под нижним индексом «I» термин «intermediate» - «промежуточный». «Скалярные» коды состояний, образующие носитель промежуточной алгебры, назовем промежуточными кодами состояний. Операцию, образующую сигнатуру промежуточной алгебры, назовем операцией переходов.
В алгебраической форме эквивалентность абстрактного автомата и реализующего его структурного C-автомата выражается существованием следующих изоморфизмов:
1. Изоморфизм (53) промежуточной алгебры Gj с соответствующими ей абстрактной и структурной подалгебрами G^ и G^. Данный изоморфизм выражает
реализацию части переходов автомата с помощью операции инкремента.
2. Изоморфизм (43) абстрактной и структурной алгебр переходов. Данный изоморфизм обеспечивается совместным заданием изоморфизмов (48) и (49), при котором сохраняются уникальность и однозначность структурных кодов состояний и входных сигналов независимо от способа разбиения функции переходов на частичные функции.
Если хотя бы один из данных изоморфизмов не может быть задан, то не может быть построен С-автомат, эквивалентный заданному абстрактному автомату. Таким образом, каждый из изоморфизмов является необходимым условием существования С-автомата, а достаточным условием является одновременное существование обоих изоморфизмов. Сведем изоморфизмы (53) и (43) в систему (54), которую будем рассматривать в качестве математической модели автомата на счетчике:
^ ^ ^
вИ.
(54)
а-
Процесс построения системы (54) включает выполнение следующих этапов структурного синтеза С-авто-мата: формирование линейных последовательностей состояний, кодирование состояний, формирование таблицы переходов [14].
После задания системы (54) следует завершающий этап структурного синтеза - реализация в заданном элементном базисе логической схемы автомата (комбина -
ционных схем КС^2 , КС¡пс и схемы формирования
микроопераций) в соответствии со сформированными множеством структурных кодов состояний и разбиением функции переходов на частичные функции. Таким образом, метод структурного синтеза С-автомата может быть сокращенно представлен двумя этапами:
1. Задание системы изоморфизмов (54).
2. Реализация логической схемы автомата в заданном элементном базисе.
6 ОБСУЖДЕНИЕ
Представление функции переходов С-автомата в виде двух частичных функций наряду с использованием промежуточной алгебры переходов отражает совмещение в одной структуре двух различных способов реализации переходов автомата - канонического и инкрементного. Разбиение функции переходов на частичные функции в случае канонической структуры МПА не имеет смысла, поскольку в этом случае каждая частичная функция будет лишь реализовывать некоторый фрагмент единой системы канонических уравнений, а требуемая при этом реализация выбора частичной функции путем мультиплексирования приведет к увеличению аппаратурных затрат в схеме устройства.
Приведенный пример использования промежуточной алгебры на базе операции инкремента позволяет предположить возможность формирования сигнатуры промежуточной алгебры из других операций, например, операции декремента. Подобный подход может способствовать снижению аппаратурных затрат в схеме проектируемого микропрограммного автомата за счет использования в схеме формирования переходов таких комбинационных схем, аппаратурные затраты в которых не зависят или зависят незначительно от количества реализуемых автоматных переходов.
ВЫВОДЫ
В настоящей работе предложены новые математические модели абстрактного и структурного автоматов, в основе которых лежит представление функции переходов в виде множества частичных функций. Результатом исследований является представление процессов преобразования кодов состояний в структурном автомате в виде промежуточной алгебры переходов, описывающей закон преобразования кодов состояний для некоторого подмножества автоматных переходов.
Использование различных операций переходов позволяет выделять на функции переходов структурного автомата различные законы преобразования кодов состояний, что может способствовать снижению аппаратурных затрат в логической схеме автомата в сравнении с другими известными структурами МПА. Вопрос целесообразности применения предложенного подхода для оптимизации аппаратурных затрат в логической схеме микропрограммного автомата не является очевидным из предложенных моделей и требует самостоятельного исследования.
СПИСОК ЛИТЕРАТУРЫ
1. Баранов С. И. Синтез микропрограммных автоматов / С. И. Баранов. - Л. : Энергия, 1979. - 232 с.
2. Алгебраическая теория автоматов, языков и полугрупп / под ред. М. Арбиба ; пер. с англ. - М. : Статистика, 1975. - 335 с.
3. Плоткин Б. И. Элементы алгебраической теории автоматов: учеб. пособие для вузов / Б. И. Плоткин, Л. Я. Гринглаз, А. А. Гварамия. - М. : Высшая школа, 1994. - 191 с.
4. Мальцев А. И. Алгебраические системы / А. И. Мальцев. -М. : Наука, 1970. - 392 с.
5. Плоткин Б. И. Универсальная алгебра, алгебраическая логика и базы данных / Б. И. Плоткин. - М. : Наука, гл. ред. физ.-мат. лит., 1991. - 448 с.
6. Судоплатов С. В. Элементы дискретной математики : учебник / С. В. Судоплатов, Е. В. Овчинникова. - М. : ИНФРА-М, Новосибирск : Изд-во НГТУ 2002. - 280 с.
7. Богомолов А. М. Алгебраические основы теории дискретных систем / А. М. Богомолов, В. Н. Салий. - М. : Наука-Физмат-лит, 1997. - 368 с.
8. Новиков Ф. А. Дискретная математика для программистов / Ф. А. Новиков. - СПб. : Питер, 2000. - 304 с.
9. Кудрявцев В. Б. Введение в теорию автоматов / В. Б. Кудрявцев, С. В. Алешин, А. С. Подколзин. - М. : Наука, 1985. - 320 с.
10. Глушков В. М. Синтез цифровых автоматов / В. М. Глушков. -М. : Физматгиз, 1962. - 476 с.
11. Глушков В. М. Абстрактная теория автоматов / В. М. Глушков // Успехи математических наук. - 1961. - Т. XVI, Вып. 5. -С. 3-62.
12. Трахтенброт Б. А. Конечные автоматы (поведение и синтез) / Б. А. Трахтенброт, Я.М. Бардзинь. - М. : Наука, 1970. - 400 с.
13. Шиханович Ю. А. Введение в современную математику (начальные понятия) / Ю. А. Шиханович. - М. : Наука, 1965. -376 с.
14. Баркалов А. А. Синтез устройств управления на программируемых логических устройствах / А. А. Баркалов. - Донецк : ДонНТУ, 2002. - 262 с.
Статья поступила в редакцию 24.09.2015.
После доработки 05.10.2015.
Бабаков Р. М.
Канд. техн. наук, доцент, доцент кафедри комп'ютерних наук Донецького нащонального техщчного ушверситету, м. Красно-армшськ, Укра'на
ПРОМ1ЖНА АЛГЕБРА ПЕРЕХОД1В В М1КРОПРОГРАМНОМУ АВТОМАТ1
Вирiшено задачу формалiзацiï завдання мiкропрограмного автомата, в структурi якого частина автоматних переходiв реалiзуeться неканонiчним шляхом. Запропоновано новий шлхщ до органiзацiï функцiï переходiв мжропрограмного автомата, вiдповiдно до якого функщя переходiв представляеться у виглядi амейства часткових функцiй, кожна з яких визначена лише на частит област визначення функци переходiв автомата i вщповщае певнiй пiдмножинi автоматних переходiв.
З урахуванням запропонованого пiдходу традицшне представлення автомата у виглядi багатоосновноï алгебри матиме певнi змiни. По-перше, взаемна незалежнiсть функцiй переходiв i виходiв, що утворюють сигнатуру алгебри, дозволяе розглядати 'х окремо одна вщ iншоï, що призводить до представлення автомата у виглядi двох алгебр: алгебри переходiв, сигнатура яко' мiстить лише функцiю переходiв, i алгебри виходiв, сигнатура яко'' мютить лише функцiю виходiв. По-друге, представлення функци переходiв у виглядi множини часткових функцш виводить до замши алгебри переходiв множиною пiдалгебр переходiв, в кожнiй з яких сигнатура утворена частковою функцiею переходiв.
На прикладi мiкропрограмного автомата з лiчильником показано, що закон перетворення кодiв станiв в рамках певно'' шдмножини переходiв може бути заданий алгебра'чною функцiею (операцiею переходiв), що використовуе скалярну штерпретащю кодiв станiв структурного автомата. Скалярну штерпретащю кодiв сташв разом з операцiею переходiв пропонуеться представляти у виглядi так звано'' промiжноï алгебри переходiв, яка iзоморфна вiдповiдним пiдалгебрам переходiв абстрактного i е^валентного йому структурного автомата.
Ключовi слова: мiкропрограмний автомат, часткова функщя переходiв, промiжна алгебра переходiв, автомат iз лiчильником.
Babakov R. M.
PhD, Associate Professor of the Department of Computer Sciences of the Donetsk National Technical University, Krasnoarmiysk, Ukraine
INTERMEDIATE ALGEBRA OF TRANSITIONS IN MICROPROGRAM FINAL-STATE MACHINE
The problem of formalization of representation of final-state machine, where the part of automaton transition is realized in non-canonical way, is solved. A new approach for organization of the function of transitions of the final-state machine is proposed. According to it the function of transitions is represented as a family of partial functions, each of which is defined only on the part of the domain of the function of transitions, and corresponds to a subset of the automaton transitions.
According to the proposed approach the traditional representation of the final-state machine as a polybasic algebra is changed. First, the mutual independence of the function of transitions and function of outputs that form the signature of algebra, allows us to consider them separately from each other. This way leads to presentation of the final-state machine as two algebras: the algebra of transitions whose signature contains only the function of transitions and algebra of outputs whose signature contains only the function of outputs. Second, the representation of the function of transitions in the form of a set of partial functions leads to the replacement of the algebra of transitions by the set of subalgebras of transitions, a signature of each of which is formed by partial function of transitions.
The example of the final-state machine with a counter shows that the law of transformation of codes of states within a certain subset of transitions can be set by an algebraic function (operation of transitions) using scalar interpretation of codes of states of the structural finalstate machine. The representation of scalar interpretation of codes of states and the operation of transitions as so-called intermediate algebra of transitions isomorphic to both according subalgebras of transitions of the abstract and equivalent structural final-state machines is proposed.
Keywords: microprogram final-state machine, partial function of transitions, intermediate algebra of transitions, final-state machine with counter.
REFERENCES
1. Baranov S. I. Sintez mikroprogramnih avtomatov. Leningrad, Energiya, 1979, 232 p.
2. Algebraicheskaya teoriya avtomatov, yazikov i polugrupp. Pod red. M. Arbiba. Per. s angl. Moscow, Statistika, 1975, 335 p.
3. Plotkin B. I., Gringlaz L. Y., Gvaramiya A. A. Elementi algebraicheskoy teorii avtomatov: ucheb. posobie dlya vuzov. Moscow, Vish. shk., 1994, 191 p.
4. Maltsev A. I. Algebraicheskie sistemi. Moscow, Nauka, 1970, 392 p.
5. Plotkin B. I. Universalnaya algebra, algebraicheskaya logika i bazi dannih. Moscow, Nauka. Gl. red. fiz.-mat. lit., 1991, 448 p.
6. Sudoplatov S. V., Ovchinnikova E. V. Elementi diskretnoy matematiki: uchebnik. Moscow, INFRA-M, Novosibirsk, Izdatelstvo NGTU, 2002, 280 p.
7. Bogomolov A. M., Saliy V. N. Algebraicheskie osnovi teorii diskretnih sistem. Moscow, Nauka, Fizmatlit, 1997, 368 p.
8. Novikov F. A. Diskretnaya matematika dlya programmistov. SPb, Piter, 2000, 304 p.
9. Kudryavtsev V. B., Alyoshin S. V., Podkolzin A. S. Vvedenie v teoriju avtomatov. Moscow, Nauka, 1985, 320 p.
10. Glushkov V. M. Sintez tsifrovih avtomatov. Moscow, Fizmatgiz, 1962, 476 p.
11.Glushkov V. M. Abstraktnaya teoriya avtomatov, Uspehi matematicheskih nauk, 1961, Vol. XVI, Issue 5, pp. 3-62.
12.Trahtenbrot B. A., Bardzin Y. M. Konechnie avtomati (povedenie i sintez). Moscow, Nauka, 1970, 400 p.
13. Shihanovich U. A. Vvedenie v sovremennuju matematiku (nachalnie ponyatiya). Moscow, Nauka, 1965, 376 p.
14. Barkalov A. A. Sintez ustroystv upravleniya na programmiruemih logicheskih ustroystvah. Donetsk, DonNTU, 2002, 262 p.