УДК 004.2
Бабаков Р. М.
Канд. техн. наук, доцент, доцент кафедры прикладной механики и компьютерных технологий Донецкого национального
университета, г. Винница, Украина
ОБОБЩЕНИЕ МАТЕМАТИЧЕСКОЙ МОДЕЛИ _МИКРОПРОГРАММНОГО АВТОМАТА НА СЧЕТЧИКЕ_
Актуальность. Решена задача разработки структурных модификаций микропрограммного автомата на счетчике, которые могут способствовать снижению аппаратурных затрат в логической схеме микропрограммного автомата по сравнению с известными структурами.
Цель работы - обобщение структурных особенностей микропрограммного автомата на счетчике с использованием математической модели на основе промежуточной алгебры переходов.
Метод. Проанализирована известная математическая модель микропрограммного автомата на счетчике, основанная на представлении функции переходов в виде двух частичных функций. Использование в структуре автомата инкрементного счетчика выражается в данной модели промежуточной алгеброй переходов, сигнатура которой образована единственной функцией инкремента. При этом аргументом функции является код текущего состояния автомата, интерпретируемый как целое число без знака. Для рассмотренной математической модели сделан ряд обобщений в части количества промежуточных алгебр переходов, их сигнатур и носителей. Проанализированы изменения в математической модели и структуре автомата на счетчике, являющиеся следствием сделанных обобщений.
Результаты. На основании сделанных обобщений получены обобщенные структурная схема и математическая модель микропрограммного автомата с неканоническим способом реализации функции переходов. Проведены экспериментальны исследования эффективности разработанной обобщенной структуры МПА по критерию аппаратурных затрат.
Выводы. Полученные в данной работе результаты могут быть использованы при разработке новых структур и формальных методов синтеза микропрограммных автоматов с неканонической реализацией функции переходов, ориентированных на оптимизацию аппаратурных затрат в логической схеме автомата.
Ключевые слова: микропрограммный автомат на счетчике, математическая модель, промежуточная алгебра переходов, аппаратурные затраты.
НОМЕНКЛАТУРА
МПА - микропрограммный автомат; КС - комбинационная схема; MX - мультиплексор; РП - регистр памяти;
СФМО - схема формирования микроопераций;
ГСА - граф-схема алгоритма;
ЛПС - линейная последовательность состояний;
ПК - прямой код;
ДК - дополнительный код;
T - структурный (двоичный) код текущего состояния;
T - разряд структурного кода текущего состояния; R - разрядность кода состояния; X - множество входных сигналов; Y - множество микроопераций, формируемых автоматом;
5 - абстрактная функция переходов; d - структурная функция переходов (структурный код состояния перехода);
Di - разряд структурного кода состояния перехода; 5i - частичная абстрактная функция переходов; di - частичная структурная функция переходов; G5 - абстрактная алгебра переходов; Gd - структурная алгебра переходов; G5. - абстрактная подалгебра переходов; Gdi - структурная подалгебра переходов; G¡ - промежуточная алгебра переходов;
© Бабаков Р. М., 2018
DOI 10.15588/1607-3274-2018-1-12
А - множество состояний автомата; ц - состояние автомата; К (а.) - промежуточный код состояния а.; А§. - множество состояний, входящих в носитель подалгебры ;
К1(А51 ) - множество промежуточных кодов состояний из множества А5..;
0[пс - операция инкремента; О^ес - операция декремента;
N1 - количество промежуточных алгебр переходов;
(а.) - структурный (двоичный) код состояния а.; х. - входной сигнал автомата;
К1 (х.) - промежуточный код входного сигнала X. ; X§ - множество входных сигналов, входящих в носитель подалгебры ;
К1(Х § . ) - множество промежуточных кодов входных сигналов из множества Х§.;
Ь - блок логического сдвига на один разряд влево; 2 - сумматор;
2 - сигнал управления мультиплексором; Ъ - структурный блок, формирующий сигнал 2 (Ъ-подсхема).
М - количество состояний автомата; В - количество переходов автомата;
N - количество микроопераций, формируемых автоматом;
Е - эффективность МПА по критерию аппаратурных затрат;
к1 - коэффициент минимизации аппаратурных затрат;
к2 - доля автоматных переходов, реализуемых операционным способом;
к3 - коэффициент эффективности использования блочной памяти ПЛИС ГРОЛ.
ВВЕДЕНИЕ
Одним из центральных узлов современных вычислительных систем является устройство управления, координирующее работу всех блоков системы [1]. Одним из способов реализации устройства управления является МПА, логическая схема которого характеризуется относительно высоким быстродействием при значительных аппаратурных затратах [2]. При этом актуальной научной задачей является разработка новых структур МПА, обладающих меньшими затратами аппаратуры по сравнению с известными структурами [2-4].
Одной из структурных разновидностей МПА является микропрограммный автомат на счетчике (С-автомат) [3]. В нем часть микропрограммных переходов реализуется каноническим способом по системе булевых уравнений, часть - с помощью инкрементного счетчика. Поскольку аппаратурные затраты в схеме счетчика не зависят от числа реализуемых с его помощью автоматных переходов, выигрыш в аппаратурных затратах в логической схеме МПА со счетчиком возрастает с увеличением доли таких переходов.
В настоящей работе для микропрограммного автомата на счетчике предлагается ряд обобщений, приводящих к различным структурным модификациям. Целью работы является формализация данных обобщений на уровне математических и структурных моделей.
1 ПОСТАНОВКА ЗАДАЧИ
Основной научной задачей, решаемой в данной работе, является разработка новых модификаций формальной математической модели автомата на счетчике, при-
водящих к соответствующим модификациям структуры автомата. Модификации математической модели представлены в виде обобщений, логически следующих из структурных особенностей автомата. Данную задачу следует рассматривать как часть более общей научно-практической задачи разработки новых структур и методов синтеза микропрограммных автоматов, способствующих уменьшению аппаратурных затрат в логической схеме автомата.
2 ОБЗОР ЛИТЕРАТУРЫ
Структурная схема автомата на счетчике приведена на рис. 1 [5]. Здесь комбинационная схема КС^ представляет собой К-разрядный инкрементор, где К - разрядность структурного (двоичного) кода состояния автомата. На вход инкрементора подается код текущего состояния Т, на выходе формируется т.н. частичная структурная функция переходов, обозначенная символом Термин «частичная» подразумевает, что с помощью инкрементора реализуется лишь часть переходов автомата, причем, согласно [3], выигрыш в аппаратурных затратах при использовании С-автомата по сравнению с каноническим МПА [2] оказывается тем выше, чем большая доля переходов реализуется данным способом. Под термином «структурная» следует понимать представление аргументов и значений функции в виде векторов структурного (двоичного) алфавита.
Вторая часть переходов реализуется блоком КС ^ ,
который синтезируется по системе булевых уравнений аналогично схеме формирования переходов в каноническом МПА [2] и формирует частичную структурную функцию переходов ё2 на основании кода Т и множества структурных входных сигналов X = {х1, ..., х¿}.
Выходы блоков КСи КС^2 поступают в К-разряд-ный мультиплексор МХ, формирующий структурную функцию перехода ё, соответствующую коду состояния перехода автомата. Управление мультиплексором осуществляется блоком ксппс в соответствии со значениями сигналов Т и X. Сигнал 1пс принимает нулевое значе-
1
РП Т СФМО
У
Рисунок 1 - Структурная схема автомата на счетчике
ние при переходах, реализуемых функцией й^, и единичное значение при переходах, реализуемых функцией й^.
Также в структуру входят регистр памяти и схема формирования микроопераций, назначение и архитектура которых аналогичны канонической структуре МПА [2]. Наличие связи, показанной пунктиром, позволяет считать данную структуру автоматом Мили, отсутствие - автоматом Мура.
В работе [5] предложена математическая модель автомата на счетчике, основанная на представлении функции переходов автомата в виде двух частичных функций и представляемая следующей системой изоморфизмов алгебр:
О§ о О,
\О.
§1 ° О1 ° Оё1.
(1)
Здесь каждая алгебра представляет собой совокупность сигнатуры и носителя [6, 7]. Структура алгебр подробно рассмотрена в [5]. Сигнатура каждой алгебры образована соответствующей функцией, носитель -множествами ее аргументов и значений.
Изоморфизм О§ о Ой устанавливает взаимно-однозначное соответствие между абстрактным автоматом (задаваемым, например, в форме ГСА, [2]) и структурным С-автоматом. Это выражается в том, что каждому состоянию и входному сигналу автомата ставится в соответствие уникальный структурный код, а каждому переходу в абстрактном автомате - единственный переход в структурном автомате. В С-автомате существование данного изоморфизма не зависит от способа разбиения функции переходов автомата на частичные функции [5].
Второй изоморфизм в системе (1) включает в себя три изоморфизма: О§1 о Ой1, О51 о О1 и О1 о О^. Подалгебры О§1 и Ой соответствуют той части переходов автомата, которая реализуется с помощью инкре-ментора. Возможность использования инкрементора обеспечивается существованием изоморфизмов данных подалгебр с промежуточной алгеброй переходов О1 , сигнатура которой образована функцией инкремента, а носитель представляет собой подмножество натуральных чисел. Это вызвано тем, что в используемая в С-автомате операция инкремента 01пс определена для скалярных величин. Согласно [3], в процессе синтеза С-автомата на этапе формирования линейных последовательностей состояний каждое состояние а. е А, входящее в носитель подалгебры О§1, получает уникальный «скалярный» (промежуточный) код К1 (а.) из множества натуральных чисел. «Скалярные» коды назначаются всем состояниям, переходы в которые или переходы из которых выполняются с помощью операции инкремента. Таким образом, результатом кодирования состояний, присутствующих в носителе подалгебры О§ , является множество скалярных кодов К1 (А§1). Состояния,
отсутствующие в носителе О§1, «скалярных» кодов не получают.
Таким образом, носитель алгебры переходов О1 содержит множество К1(А§, ), сигнатура - операцию 01пс : О1 =< {К1 (А§1)}, (Ощс) >. (2)
В данном выражении операция 01пс есть множество кортежей вида
< К1 (а,), К1 (а}) >, (3)
где К1 (а.), К1(а] ) е К1 (А§1). Поскольку множество входных сигналов X не является аргументом операции 01пс , оно отсутствует в носителе алгебры О1 , а его элементы - в кортеже (3).
3 МАТЕРИАЛЫ И МЕТОДЫ
Сделаем для автомата на счетчике ряд обобщений.
Обобщение 1. В сигнатуре промежуточной алгебры переходов может использоваться операция, отличная от операции инкремента.
В процессе синтеза С-автомата при кодировании состояний в исходной ГСА выделяют т. н. линейные последовательности состояний (ЛПС), в пределах которых переходы выполняются с помощью операции инкремента [4]. Кодирование состояний в пределах ЛПС выполняется в естественном порядке - так, чтобы десятичная интерпретация кода каждого следующего состояния была на единицу больше, чем у предыдущего состояния.
Заметим, что ничто не мешает в пределах ЛПС выполнить кодирование состояний в порядке убывания десятичных значений кодов состояний, что позволит ре-ализовывать соответствующие переходы с помощью операции декремента. При этом в выражении (2) операция инкремента 01пс будет заменена операцией декремента 0дес, а в структуре на рис. 1 блок КС^ будет представлять собой Л-разрядный декрементор. Такой автомат может быть назван Д-автоматом, а методика его синтеза подобна С-автомату.
В более общем случае можно утверждать, что в сигнатуре промежуточной алгебры переходов может использоваться любая операция над кодами состояний (не только инкремент или декремент). Операция может быть определена как на множестве промежуточных кодов состояний (сложение или вычитание с константой, умножение или деление на константу, возведение в квадрат, извлечение корня и т. п.), так и на множестве структурных (двоичных) кодов состояний (конъюнкция или дизъюнкция с константой, логический или циклический сдвиг, инверсия всех или отдельных битов и т.п.) Допустимо выполнение таких операций над частью двоичных разрядов кода состояния. Таким образом, никаких принципиальных ограничений на выбор операции, используемой в сигнатуре промежуточной алгебры, не существует.
Как было отмечено, эффективность С-автомата по аппаратурным затратам обусловлена тем, что затраты аппаратуры в инкременторе не зависят (при фиксированной разрядности структурного кода состояния) от числа автоматных переходов, реализуемых данным блоком. Выдвинем подобное требование к любой операции, используемой в сигнатуре промежуточной алгебры переходов. Как и в случае С-автомата, эффективность
по аппаратурным затратам будет тем выше, чем большее число переходов реализуется посредством данной операции.
Обобщение 2. Алгебраический синтез автомата допускает использование нескольких промежуточных алгебр.
Пусть микропрограммный автомат Мура задан ГСА
Г1 (рис. 2).
Выделим в Г две ЛПС: <а0, а а2, а3> и <а0, а4, а5>. Зададим состояниям промежуточные коды из множества натуральных чисел следующим образом: К1 (ао) = 2, К1 (ах) = 3, К7 (а2) = 4, К7 (аз) = 5, К (а 4) = 1, К1 (а 5) = 0. Можно заметить, что при данных значениях промежуточных кодов состояний переходы в пределах первой ЛПС могут быть выполнены с помощью операции инкремента, в пределах второй ЛПС -с помощью операции декремента. Переход из состояния а5 с кодом 0 в состояние а0 с кодом 2 не может быть выполнен с помощью одной из этих операций и должен быть реализован каноническим способом по системе булевых уравнений.
Таким образом, можно говорить о трех частичных функциях переходов: функция 81 определяет переходы внутри первой ЛПС, 82 - внутри второй ЛПС, 83 определяет «канонический» переход а5 ^ а0. Подобное разбиение позволяет сформировать две промежуточных алгебры переходов, первая из которых определяется выражением (1), вторая - выражением (1), в котором 0тпс
заменена на 0^гс. Соответственно, математическая модель полученного автомата, по аналогии с (1), представляется выражением (4).
°8 о ; Gi
С8
81 о С11 о Сё1 ; о От о Оа
(4)
( НАЧАЛО ) а0 1 ^^ 0
У1 У2
У3
У 4 У5
а1
а2
а3
У1 У3
У3 У 4 У5
а4
а5
КОНЕЦ ^
а0
В общем случае количество промежуточных алгебр может быть больше двух (в предельном случае - равно количеству переходов автомата). При этом система (4) примет следующий вид:
08 0 О" ;
^ 0 0 0ё1';
08 о 0т о Оа .
8 И! "И!
(5)
Рисунок 2 - Граф-схема алгоритма Г
Отметим, что целесообразность использования нескольких промежуточных алгебр определяется, помимо выигрыша в аппаратурных затратах, сложностью синтеза автомата, связанной с поиском необходимого разбиения функции переходов на частичные функции, выбором операций и специальным кодированием состояний.
Обобщение 3. В промежуточных алгебрах допустимы различные интерпретации структурных кодов состояний.
В структурной алгебре переходов О" код состояния есть битовый вектор, уникальный в рамках используемого множества структурных кодов состояний. В вычислительной технике битовый вектор рассматривается не только как уникальный набор битов, но и допускает различную числовую (скалярную) интерпретацию [8]. Такими интерпретациями могут быть: число с фиксированной запятой (без знака, в прямом, обратном или дополнительном кодах), число с плавающей запятой (нормализованное, денормализованное, различной точности), число в двоично-десятичном формате (упакованное, неупакованное) и другие.
При фиксированном количестве двоичных разрядов каждый из данных форматов соответствует некоторому множеству чисел, над которым может быть определено множество операций различной арности. При этом любая операция может быть реализована схемным путем в большинстве известных элементных базисов, зачастую допуская различные архитектурные варианты реализации, характеризующиеся затратами аппаратуры, быстродействием, регулярностью, универсальностью и т. д.
Один и тот же автоматный переход, рассматриваемый как преобразование одного структурного (двоичного) вектора в другой, может быть реализован при различных интерпретациях структурных кодов состояний. Пусть, например, для состояния известен структурный код (щ )=111010112. Данный код может интерпретироваться как целое без знака, равное 23510, либо как целое в прямом коде, равное -107 , либо как целое в дополнительном коде, равное -21ДК.
Пусть в автомате выполняется переход из состояния
а в состояние а^, при котором требуется преобразовать код состояния (а^) = 111010112 = 23510 = -107ПК = -21 дк в код Кз а) = 000101002 = 20ю = ^ = +20да. Понятно, что в зависимости от числового формата кодов состояний буду использованы различные операции. Так, в беззнаковом десятичном формате такой опера-
ций будет сложение с константой 41 , в прямом коде -сложение с константой +127ПК, в дополнительном коде -
сложение с константой +41„,,. При этом каждая из этих
дк *
операций дает в результате нужный битовый вектор К3 (а,) = 111010112.
Более того, при использовании некоторого числового формата одно и то же преобразование двоичных векторов может быть выполнено с помощью различных операций. Так, преобразование кода К$ (а, )= -21ДК в код К3 а )= +20 ДК может быть выполнено с помощью операций «Ks(а,)+41дк», «К(аг)+1)*(-1)», «К5(а,)*(-1)+1». Все эти операции, фактически, выполняют преобразование двоичного вектора 11101011 в вектор 00010100.
Заметим, что в рассматриваемом примере наиболее быстрым и экономным способом преобразования К3 а )=111010112 в К5 (а, )=111010112 является операция поразрядной инверсии. Однако целесообразность использования той или иной операции зависит от того, какое суммарное количество автоматных переходов может быть реализовано с помощью данной операции в проектируемом МПА.
Обобщение 4. Входные сигналы автомата могут выступать в качестве аргументов операции, образующей сигнатуру промежуточной алгебры переходов.
В соответствии с обобщением 3, в промежуточной алгебре переходов структурный код состояния интерпретируется как некоторая скалярная или векторная величина. Вместе с тем свою интерпретацию могут иметь и структурные коды входных сигналов, причем интерпретации кодов состояний и входных сигналов могут как совпадать, так и быть различными.
Пусть некоторая ГСА Г2, отмеченная состояниями автомата Мили, содержит фрагмент, изображенный на рис. 3. Данный фрагмент содержит два условных перехода из состояния а1, которым в каноническом МПА соответствуют два различных терма в системе булевых уравнений функции переходов.
В автомате на счетчике любой из этих переходов (но не оба сразу) может быть реализован с помощью операции инкремента, другой - каноническим способом. Способ реализации того или иного перехода определяет блок КС 1пс, реализующий функцию
1пс = 1пс(Т, X).
(6)
Как и в каноническом МПА, в системе уравнений блока КС 1пс каждому переходу соответствует уникальный булев терм, включающий прямое или инверсное значение переменной х} . В то же время на вход инкре-
ментора сигналы X не поступают, поскольку не являются аргументами операции инкремента.
По аналогии с С-автоматом дадим кодам состояний скалярную интерпретацию в формате целых чисел без знака, получив таким образом множество промежуточных кодов состояний КI (а,). Реализуем оба перехода из состояния а^ с помощью одной операции С\, представляемой в виде интервальной функции (7).
С, =
К1 (а,) • 2, х-{ = 1; К1 (а,) • 2 +1, х! = 0.
(7)
Интерпретируем логическое значение переменной х1 как скалярную величину в том же формате, что и промежуточные коды состояний. Таким образом, промежуточными кодами переменной х1 могут быть коды К1 (х1)=010 или К1 (х1)=110. Это позволяет преобразовать выражение (7) к неинтервальному виду:
С = КI (а,) • 2 + КI (х1). (8)
Пусть К1 (а^)=5. Тогда могут быть определены промежуточные коды состояний переходов К1 (а2) и К1 (а2) : при Х1 = 1 получаем К1 (а2) = = К1 (а^) • 2 + К1 (Х1 )=5 2+1 = 1110, при х^=0 получаем
К1 (аз) = К1 (а^) • 2 + К1 (X}) =5-2+0=10. Результаты использования выражения (8) должны учитываться при кодировании остальных состояний ГСА.
Логическая схема блока КСс1, реализующая операцию Су, может быть такой, как на рис. 4. В ней блок «¿1» реализует операцию логического сдвига Л-разрядного структурного кода состояния на один разряд влево, что для беззнаковых целых чисел эквивалентно умножению на 2. Сумматор (блок «£») организован таким образом,
Рисунок 3 - Фрагмент ГСА Г2
А ... пк
Рисунок 4 - Функциональная схема, соответствующая операции С
что значение сигнала Х1 прибавляется к младшему разряду кода текущего состояния.
Особенностью блока КСо! является то, что на его вход, помимо кода состояния Т, подается входной сигнал Х1, используемый в операции О1 в качестве слагаемого и непосредственно влияющий на ее результат. Таким образом, в отличие от операции инкремента, 01 является операцией условного перехода и должна выполняться автоматом при переходе из состояния а1 независимо от текущего значения Х1.
При использовании операций, подобных 01 , в структуре автомата должен использоваться блок, управляющий мультиплексором подобно блоку КС1пс в автомате на счетчике. Поскольку в нашем примере операция 01 сопоставляется не отдельному автоматному переходу, а всем переходам из состояния а1, блок управления мультиплексором (назовем его 2-подсхемой) инициирует ее выполнение лишь по коду состояния а1, что в системе булевых уравнений 2-подсхемы соответствует единственному терму, образованному переменными Т1, ..., Тк и не содержащему переменных из множества X. Если бы переходы из состояния а1 (рис. 3) реализовывались двумя различными операциями, каждой из них соответствовал в системе уравнений 2-подсхемы соответствовал бы отдельный терм, образованный переменными Т1, ..., Тк , Х1. Таким образом, применение условных операций, использующих входные сигналы в качестве аргументов, может способствовать упрощению схемы управления мультиплексором. Однако при этом следует учитывать аппаратурные затраты в схеме, реализующей условную операцию, которые могут нивелировать выигрыш в 2-подсхеме.
Как было отмечено при изложении обобщения 1, выигрыш в аппаратурных затратах от использования операций оказывается тем выше, чем больше переходов реализует каждая операция. В отношении условных операций переходов, подобных О1, следует ожидать, что количество переходов, реализуемых такой операцией в рамках заданной ГСА, будет относительно небольшим (по сравнению с той же операцией инкремента). Однако, поскольку (исходя из обобщения 2) использование условных операций не исключает одновременного использования операций, не использующих входные сигналы в качестве аргументов, целесообразность подхода, определяемого обобщением 4, может следовать только из результирующих характеристик логической схемы автомата.
Способы использования входных сигналов в операциях переходов могут быть различными. Все способы интерпретации структурных кодов состояний (см. обобщение 3) в той или иной степени применимы и к структурным входным сигналам. В общем случае выбор способа интерпретации входных сигналов не является очевидным.
Если входные сигналы являются аргументам операции из сигнатуры промежуточной алгебры переходов, выражение (2), задающее данную алгебру, принимает следующий вид:
От =< {Кт А ),К! (Х81)}, {О1} >, (9)
где операция О1 формально представлена множеством векторов вида (10).
< Кт (а), Кт (а}), К1 (хк) >, (10)
в которых где К (а), КI(aj) е КI(А81), Кт (хк )е Кт (X81).
Обобщение 5. Количество промежуточных алгебр может совпадать с количеством частичных функций переходов.
В примере, приведенном для обобщения 2 (ГСА Г , рис. 2) переход из состояния а5 в состояние а 0 при выбранных значениях промежуточных кодов состояний (Кт (05) = 0, Кт (00) = 2) не может быть выполнен с помощью операций инкремента или декремента, вследствие чего должен быть реализован каноническим способом по системе булевых уравнений.
Однако ничто не мешает для реализации данного перехода использовать третью операцию, результатом которой над аргументом 0 является значение 2. Согласно обобщению 2, данное преобразование может быть выполнено с помощью различных операций: сложение с константой 2, инверсия второго справа двоичного разряда и т. п. При этом в математическую модель автомата добавится третья промежуточная алгебра переходов, носитель которой образован промежуточными кодами состояний а0 и а5 , а сигнатура содержит выбранную операцию.
В результате все переходы автомата будут реализованы операционным способом, и не один переход не будет реализован каноническим способом по системе булевых уравнений. Хотя реализация единственного перехода с помощью отдельной операции с точки зрения аппаратурных затрат обычно менее оптимальна, чем его каноническая реализация, ничто не мешает использовать данную операцию для реализации других переходов автомата. В общем случае допустимы ситуации, когда в автомате, содержащем сотни переходов, все без исключения переходы реализуются с помощью нескольких операций, каждая из которых обеспечивает реализацию нескольких десятков переходов. Поскольку затраты аппаратуры в логической схеме каждой из операций не зависят от количества реализуемых переходов, следует ожидать существенной экономии аппаратурных затрат по сравнению с каноническим автоматом. Безусловно, данный подход требует разработки специальных методов синтеза МПА, включающих такие этапы, как выбор множества операций, разбиение функции переходов на частичные функции, кодирование состояний, схемная реализация операций и другие.
4 ЭКСПЕРИМЕНТЫ
Сделанные обобщения позволяют построить обобщенную структуру микропрограммного автомата, использующего неканонические способы преобразования кодов состояний (рис. 5).
В данной структуре блоки КС"1, ..., КСсоответствуют операциям, образующим сигнатуры Мт проме-
X ■
кс
а.
КС,
а
И,
КС
ЛМ1 +1
а
Иг +1
Ъ
2
МХ
а
РП т СФМО
-> у
Рисунок 5 - Обобщенная структурная схема микропрограммного автомата, использующего неканонические способы преобразования кодов состояний
жуточных алгебр переходов. Согласно обобщению 1, каждый из этих блоков может имплементировать любую операцию, которая входит в сигнатуру промежуточной алгебры переходов. При этом аппаратурные затраты в таком блоке не должны зависеть от количества переходов, реализуемых данным блоком. Блок КС 1 не отождествляется с промежуточной алгеброй переходов и реализует подмножество переходов автомата каноническим способом по системе булевых уравнений. Согласно
обобщению 4, каждый из блоков КС^1, ..., КСможет
использовать входные сигналы автомата в качестве аргументов операции, реализуемой данным блоком.
Отметим, что в соответствии с обобщением 3 в каждой промежуточной алгебре переходов может использоваться свой способ интерпретации структурных кодов состояний, определяющий внутреннюю схемную реализацию соответствующего блока КС а.. Следует, однако, отметить, что, если несколько блоков используют одну и ту же интерпретацию структурных кодов состояний, существует возможность совместной реализации блоков, при которой один и тот же функциональный узел (например, сумматор) используется обоими блоками одновременно (метод обобщенных операторов, [9]). Данный подход может способствовать уменьшению аппаратурных затрат в схеме автомата, а на структурном уровне приводит к представлению двух совместно реализуемых блоков КС а. и КС^. в виде одного блока с
двумя выходами, каждый из которых соответствует своей частичной структурной функции переходов.
На основании обобщения 5 блок КС +1, реализующий часть переходов автомата каноническим способом, в частном случае может отсутствовать. Но поскольку на структурном уровне внутренняя архитектура блоков не детализируется, данный блок никак не выделяется среди других блоков КСа. .
Ъ-подсхема подобна блоку 1пс в автомате на счетчике и формирует код 2, поступающий на управляющие входы мультиплексора. В результате, в каждом такте работы структурная функция перехода а принимает одно из значений ..., +1, представляющее собой структурный код состояния перехода.
В остальном данный автомат подобен автомату на счетчике. Наличие связи, показанной пунктиром, позволяет считать данную структуру автоматом Мили, отсутствие связи - автоматом Мура. Математическая модель данного автомата в части функции переходов задается выражением (5), в котором каждая промежуточная алгебра переходов формально представляется аналогично выражению (9).
Для МПА, изображенного на рис. 5, проведены экспериментальные исследования эффективности по критерию аппаратурных затрат в сравнении с МПА с канонической структурой. Методология исследований изложена в [10] и тезисно определяется следующими положениями:
- эффективность структуры определяется отношением численно выраженной величины аппаратурных затрат в эквивалентном каноническом МПА к величине аппаратурных затрат исследуемой структуре МПА;
- экспериментальные исследования проведены с помощью УИБЬ-моделирования; в качестве среды моделирования использован САПР ХШпх ^^еЪраск V. 9.2;
- в качестве элементного базиса выбраны ПЛИС РРСА компании ХШпх; в качестве единицы измерения аппаратурных затрат - таблицы поиска (ШГ-элементы), являющиеся регулярными функциональными узлами данного класса ПЛИС;
- затраты аппаратуры в логической схеме МПА есть сумма затрат в каждом блоке структуры;
- для блоков, которые могут быть синтезированы в базисе запоминающих устройств, допускается реализация в базисе блочной памяти ПЛИС РРСА;
1
- аппаратурные затраты в блоке СФМО для обеих структур приняты одинаковыми.
Исследования проведены отдельно для автоматов Мили и Мура. Для каждого типа автоматов рассмотрены четыре класса сложности, определяемые значениями параметров М, К и В: автоматы малой сложности (М=100, К=7, В=200), средней сложности (М=500, К=9, В=1000), большой сложности (М=1000, К=10, В=2000) и сверхбольшой сложности (М=2000, К=11, В=4000).
5 РЕЗУЛЬТАТЫ
В табл. 1 приведены результаты исследований, отражающих зависимость эффективности МПА Мура со структурой, изображенной на рис. 5, от ряда параметров автомата [10].
Содержимое таблицы представляет собой выборку наборов значений параметров, при которых значение эффективности оказывается не ниже 1,10, что соответствует превышению аппаратурных затрат в каноническом МПА на 10% по сравнению с затратами в исследуемой структуре. Таким образом, для всех наборов значений параметров, приведенных в табл. 1, структура МПА, изображенная на рис. 5, по критерию аппаратурных затрат является эффективной, т.е. более предпочтительной, чем каноническая структура.
Анализ табл. 1 позволяет сделать следующие выводы:
- с увеличением сложности автомата возрастает количество микроопераций, при которых исследуемая структура остается эффективной (столбец М);
- в автоматах более высокой сложности допустимо использование большего количества операций переходов (столбец N1);
- исследуемая структура остается эффективной в том случае, если после использования известных методов минимизации результирующие затраты аппаратуры в структурных блоках, синтезируемых по системе булевых уравнений, составляют около 90% от исходных (столбец к{);
- обязательным условием эффективности исследуемой структуры является возможность операционной реализации не менее 90% автоматных переходов (столбец к 2);
Таблица 1 - Результаты эксперим
- для исследуемой структуры относительная стоимость базиса блочной памяти ПЛИС ГРОЛ по отношению к базису ШТ-элементов составляет 0,1 (столбец кз), что говорит о целесообразности использования данного базиса при синтезе блоков с малым числом входных сигналов, которые могут быть реализованы в базисе запоминающих устройств.
Сделанные выводы позволяют оценить область эффективного применения структуры МПА, изображенной на рис. 5, а также могут быть учтены при разработке формализованных методов синтеза данной структуры.
6 ОБСУЖДЕНИЕ
Сделанные в работе обобщения для автомата на счетчике могут быть использованы при разработке новых структур и методов синтеза микропрограммных автоматов, направленных на оптимизацию аппаратурных затрат. Каждое из сделанных обобщений является самостоятельным и не связано с другими, вследствие чего проектируемый автомат может базироваться на одном или нескольких обобщениях. В общем случае логический синтез автомата сводится к формированию системы изоморфмизмов (5), структурный синтез - к построению логической схемы автомата со структурой, изображенной на рис. 5.
Отметим, что результаты, полученные в данной работе (обобщения и модификации математической и структурной моделей), относятся к функции переходов автомата и не затрагивают функцию выходов, реализуемую схемой формирования микроопераций СФМО.
7 БЛАГОДАРНОСТИ
Исследования выполнены в соответствии с приоритетным направлением развития науки и техники в Укра -ине до 2020 года «Информационные и коммуникационные технологии» и содержат некоторые результаты НИР «Методологические аспекты синтеза микропрограммного автомата с операционным автоматом переходов» (номер государственной регистрации 0117И004098), финансируемой за счет средств исполнителей.
ВЫВОДЫ
В настоящей работе для микропрограммного автомата на счетчике сделан ряд обобщений в отношении
альных исследований МПА Мура
Сложность МПА Параметры Е
N N к, к2 кз
Малая 50 4 0,8 0,95 0,1 1,16
30 4 0,9 0,95 0,1 1,12
30 4 0,9 1 1 1,11
30 4 0,8 0,95 0,1 1,10
Средняя 30 8 0,9 0,95 0,1 1,20
100 8 0,9 0,95 0,1 1,16
100 8 0,9 0,9 0,1 1,10
90 16 0,9 0,97 0,1 1,10
Большая 100 16 0,9 0,95 0,1 1,13
200 16 0,5 0,95 0,1 1,12
100 8 0,8 0,9 0,1 1,10
100 32 0,8 0,97 0,1 1,10
Сверхбольшая 200 16 0,8 0,95 0,1 1,15
100 32 0,8 0,95 0,1 1,10
100 16 0,8 0,91 0,1 1,10
300 8 0,85 0,9 0,1 1,10
возможных модификаций его математической модели и структуры. Показано, что в общем случае для преобразования кодов состояний могут использоваться несколько различных операций, каждая из которых предполагает собственную интерпретацию структурных кодов состояний и входных сигналов. Допускается реализация всех переходов автомата операционным способом, а также реализация части переходов реализуется каноническим способом по системе булевых уравнений.
В процессе исследований получены обобщенная математическая модель и структурная схема микропрограммного автомата с неканонической реализацией переходов. Данные результаты могут стать основой для разработки новых структур микропрограммных автоматов и формализованных методов их синтеза, ориентированных на уменьшение аппаратурных затрат в логической схеме автомата.
Проведенные экспериментальны исследования предложенной обобщенной структуры МПА показали, что ее эффективность по критерию аппаратурных затрат в сравнении с каноническим МПА находится в диапазоне 1,10-1,20. Данный факт позволяет обозначить область эффективного использования данной структуры в виде наборов или диапазонов значений некоторых параметров микропрограммного автомата.
СПИСОК ЛИТЕРАТУРЫ
1. Глушков В. М. Синтез цифровых автоматов / В. М. Глушков. -
М. : Физматгиз, 1962. - 476 с.
2. Баранов С. И. Синтез микропрограммных автоматов / С. И. Баранов. - Л. : Энергия, 1979. - 232 с.
3. Баркалов А. А. Синтез устройств управления на программируемых логических устройствах / А. А. Баркалов. - Донецк, ДонНТУ 2002. - 262 с.
4. DeMicheli G. Synthesis and Optimization of Digital Circuits / G. DeMicheli. - NY. : McGraw-Hill, 1994. - 576 p.
5. Бабаков Р. М. Промежуточная алгебра переходов в микропрограммном автомате // Радиоэлектроника, информатика, управление. - 2016. - № 1. - С. 64-73.
6. Мальцев А. И. Алгебраические системы / А. И. Мальцев. - М. : Наука, 1970. - 392 с.
7. Плоткин Б. И. Элементы алгебраической теории автоматов : учеб. пособие для вузов / Б. И. Плоткин, Л. Я. Гринглаз, А. А. Гварамия. - М. : Высш. шк., 1994. - 191 с.
8. Поспелов Д. А. Арифметические основы вычислительных машин дискретного действия. Учебное пособие для втузов / Д. А. Поспелов. - М. : Высш. школа, 1970. - 308 с.
9. Майоров С. А. Структура электронных вычислительных машин / С. А. Майоров, Г. И. Новиков. - Л. : Машиностроение, 1979. - 384 с.
10. Babakov R. Research of Efficiency of Microprogram Final-State Machine with Datapath of Transitions / Roman Babakov, Alexander Barkalov, Larysa Titarenko // Proceedings of 14th International Conference "The Experience of Designing and Application of CAD Systems in Microelectronics (CADSM)". -February 21-25, 2017. - Polyana, Ukraine. - P. 203-206.
Статья поступила в редакцию 02.08.2017.
После доработки 25.09.2017.
Бабаков Р. М.
Канд. техн. наук, доцент, доцент кафедри прикладно! мехашки та комп'ютерних технологш Донецького нацюнального ушверсите-ту, м. Вшниця, Укра!на
УЗАГАЛЬНЕННЯ МАТЕМАТИЧНО1 МОДЕЛ1 М1КРОПРОГРАМНОГО АВТОМАТА НА Л1ЧИЛЬНИКУ
Актуальшсть. Виршено задачу розробки структурних модифжацш мжропрограмного автомата на л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зацii функцп переходiв. Проведенi експериментальнi дослщження ефективностi розроблено! узагальнено! структури МПА за крш^ем апаратурних витрат.
Висновки. Отриманi в данiй роботi результати можуть бути використаш при розробщ нових структур i формальних метсдав синтезу мiкропрограмних автоматiв з неканошчною реалiзацiею функцii переходiв, орiентованих на оптимiзацiю апаратурних витрат в лопчнш схемi автомата.
Ключовi слова: мжропрограмний автомат на лiчильнику, математична модель, промiжна алгебра переходiв, апаратурнi витрати.
Babakov R. M.
PhD, Associate professor of the Department of Applied Mechanics and Computer Technologies of the Donetsk national university, Vinnitsya, Ukraine
GENERALIZING OF THE MATHEMATICAL MODEL OF MICROPROGRAM FINITE STATE MACHINE ON COUNTER
Context. The problem of developing of structural modifications of the microprogram finite state machine on the counter has been solved, which can help reduce hardware expenses in the logical circuit of the microprogram finite state machine in comparison with the known structures.
Objective. The goal of the work is to generalize the structural features of the microprogram finite state machine on the counter using a mathematical model based on the intermediate algebra of transitions.
Method. The known mathematical model of a microprogram finite state machine on a counter, based on the representation of the transition function in the form of two partial functions, is analyzed. The use of an incremental counter in the structure of the finite state
machine is expressed in this model by an intermediate algebra of transitions whose signature is formed by a single incremental function. In this case, the argument of the function is the code of the current state of the finite state machine, interpreted as an unsigned integer. For the considered mathematical model, a number of generalizations are made regarding the number of intermediate algebras of transitions, their signatures and carriers. Changes in the mathematical model and the structure of the finite-state machine on the counter, which are a consequence of the generalizations made, are analyzed.
Results. On the basis of the generalizations made, a generalized structural scheme and a mathematical model of a microprogram finite-state machine with a noncanonical way of realizing the transition function are obtained. Experimental research of the effectiveness of the developed generalized structure of MPA on the criterion of hardware costs has been carried out.
Conclusions. The results obtained in this paper can be used in the development of new structures and formal methods for the synthesis of microprogram finite state machines with noncanonical realization of the transition function, oriented to optimizing the hardware expenses in the logical circuit of the automaton.
Keywords: microprogram finite state machine on counter, mathematical model, intermediate algebra of transitions, hardware expenses.
REFERENCES
1. Glushkov V. M. Sintez tsifrovih avtomatov. Moscow, Fizmatgiz, 1962, 476 p.
2. Baranov S.I. Sintez mikroprogramnih avtomatov. Leningrad, Energiya, 1979, 232 p.
3. Barkalov A. A., Palagin A. V. Sintez mikroprogrammnih ustroistv upravleniya. Kiev, Institut kibernetiki NAN Ukraini, 1997, 135 p.
4. Barkalov A.A. Sintez ustroistv upravleniya na programmiruemih logicheskih ustroystvah. Donetsk, DonNTU, 2002, 262 p.
5. Babakov R. M. Promezhutochnaya algebra perehodov v mikroprogrammnom avtomate, Radio Electronics, Computer Science, Control, 2016, No. 1, pp. 64-73.
6. Maltsev A.I. Algebraicheskie sistemi. Moscow, Nauka, 1970, 392 p.
7. Plotkin B. I., Gringlaz L. Ya., Gvaramiya A. A. Elementi algebraicheskoy teorii avtomatov: Ucheb. posobie dlya vuzov. Moscow, Vish. Shk., 1994, 191 p.
8. Pospelov D. A. Arifmeticheskie osnovi vichislitelnih mashin diskretnogo deistviya. Uchebnoe posobie dlya vtuzov. Moscow, Vish. shkola, 1970, 308 p.
9. Majorov S. A., Novikov G. I. Struktura elektronnih vichislitelnih mashin. Leningrad, Mashinostroenie, 1979, 384 p.
10. Babakov R., Barkalov Al., Titarenko L. Research of Efficiency of Microprogram Final-State Machine with Datapath of Transitions, Proceedings of 14th International Conference "The Experience of Designing and Application of CAD Systems in Microelectronics (CADSM), February 21-25, 2017. Polyana, Ukraine, pp. 203-206.