Достоинство формального языка, основанного на концепции недетерминизма, при структурной реализации параллельных систем логического управления процессами и ресурсами

ИНФОРМАТИКА, ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА И УПРАВЛЕНИЕ

УДК 50.03.03;50.09.47

Н. П. Вашкевич, Р. А. Бикташев

ДОСТОИНСТВО ФОРМАЛЬНОГО ЯЗЫКА, ОСНОВАННОГО НА КОНЦЕПЦИИ НЕДЕТЕРМИНИЗМА, ПРИ СТРУКТУРНОЙ РЕАЛИЗАЦИИ ПАРАЛЛЕЛЬНЫХ СИСТЕМ ЛОГИЧЕС КОГО УПРАВЛЕНИЯ ПРОЦЕССАМИ И РЕСУРСАМИ1

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

Ключевые слова: недетерминированные автоматы, алгоритмы логического управления, параллельная декомпозиция, распределенные системы, нанокоманды.

Abstract. The article considers two approaches to resolving the stated problem, which are based on the use of results of determinisation of initial control algorithm (CA) and its parallel-serial decomposition for the subsets of incompatible and compatible private events realised in CA. According to results of such decomposition, the CA is realised either on the basis of parallel distributed SLC, or on the basis of one microprogram automatic machine with parallel performance of microoperations.

Key words: nondeterministic automata, logical control algorithms, parallel decomposition, distributed systems, nanoinstructions.

Введение

В работе предполагается, что исходные управляющие алгоритмы (УА), заданные моделью недетерминированных автоматов (НДА), представляются в аналитической форме в виде системы рекуррентных канонических уравнений (СКУ), описывающих все частные события, реализуемые в УА [1, 2]. После детерминизации таких УА получим представление УА моделью детерминированного автомата (ДА), эквивалентного исходному НДА [1, 3]. Тогда структуру системы логического управления можно в принципе построить в виде одного общего управляющего автомата на основе использования из-

Работа выполнена в рамках аналитической ведомственной целевой программы «Развитие научного потенциала высшей школы» (2009-2010 года), № гос. регистрации НИР 01200952061.

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

В связи с изложенным в статье рассматриваются другие методы и подходы к построению структуры системы логического управления для УА, заданных моделью НДА, которые позволили бы в той или иной степени не только избежать отмеченных выше недостатков использования классического метода синтеза структуры управляющего автомата, но и развить новые более эффективные методы, которые вытекают из достоинств представления УА моделью НДА. Такое достоинство моделей НДА, заключающееся в скрытом в них параллелизме, проявляется в том, что под действием одного и того же входного сигнала возможен переход от некоторого частного события к нескольким частным событиям, совокупность которых и будет представлять собой одно из внутренних состояний ДА, эквивалентного исходному НДА. Откуда следует, что использование модели НДА является самым компактным представлением УА, поскольку при детерминизации НДА с т реализуемыми

в нем частными событиями эквивалентный ему ДА будет иметь М < 2т состояний. В данном случае под частными событиями, в зависимости от уровня детализации УА, понимаются: для вычислительных алгоритмов - выполнение некоторых актов обработки информации, к которым могут относиться выполнение микроопераций и макроопераций, функциональных операторов и подпрограмм и т.д., а для УА промышленной автоматики и объектами - выполнение отдельных технологических операций или групп операций.

В статье рассматриваются методы и подходы к построению структур систем логического управления, обеспечивающие параллельную обработку информации, основанные на параллельно-последовательной декомпозиции УА, представленных моделями НДА. Статья является продолжением рассмотрения достоинств формального языка, основанного на концепции неде-терминизма, представленных в [4].

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

Если исходный УА, заданный моделью НДА, допускает разбиение всех частных событий на группы несовместимых событий, то структуру такого алгоритма в самом общем виде можно представить в виде графа, включающего последовательную и параллельную компоненты (рис. 1) [5]. Такая декомпозиция УА базируется на использовании результатов детерминизации исходного УА, когда будет определен состав всех состояний ДА, эквивалентного исходному НДА, каждое из состояний ДА будет представлено совокупностью частных событий, одновременное существование которых в соответствии с исходным УА возможно. Такая информация о состояниях ДА позволит построить вспомогательную матрицу совместимости частных событий,

на основе которой можно построить матрицу включения, которая и определит разбиение всех частных событий на подмножества несовместимых событий. Формальный алгоритм такого разбиения частных событий представлен в [2, 5]. Каждая такая группа несовместимых частных событий войдет в одну из ветвей параллельной компоненты граф-схемы алгоритма (ГСА) (рис. 1) и может быть реализована отдельным рабочим подавтоматом (п/А). В данном случае частные события, входящие в одну из параллельных ветвей, могут выполняться только последовательно, а между группами параллельно.

Хр - сигнал приведения системы управления в начальное состояние;

510 - первое событие начальной части последовательной компоненты;

- событие, определяющее начало распараллеливания алгоритмического процесса;

5^ - событие, свидетельствующее о выходе алгоритмического процесса за вершину объединения параллельных ветвей;

Бк - событие, свидетельствующее об окончании алгоритмического процесса в г-й ветви;

Бк - заключительное событие алгоритма управления;

- разветвительная вершина;

Jp - соединительная вершина

Рис. 1. ГСА обобщенной структуры управляющего алгоритма с параллельными ветвями: а - начальная часть последовательной компоненты; б - параллельная компонента; в - заключительная часть последовательной компоненты

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

ного из сочетаний частных событий, образующих состояния ДА. Такая группа событий образует последовательную компоненту УА, которая реализуется главным п/А, на который будут возлагаться также и функции синхронизации параллельных ветвей. Обычно последовательная компонента УА для реальных управляющих систем состоит из двух частей (рис. 1): первая, начальная, часть служит в основном для выполнения подготовительных операций алгоритма управления, связанных с инициализацией и подготовкой информации для реализации параллельных ветвей. Конечным событием этой части является событие . Вторая, заключительная, часть последовательной компоненты общего УА служит для выполнения функций, связанных с обработкой информации, полученной в результате выполнения параллельных ветвей исходного УА.

Декомпозиция УА в виде структуры, представленной на рис. 1, как было отмечено выше, может быть реализована распределенной системой управляющих автоматов, состоящей из нескольких параллельно работающих рабочих п/А и одного главного п/А. Обобщенные ГСА таких подавтоматов представлены на рис. 2, 3.

Рис. 2. ГСА /'-го рабочего п/А Рис. 3. ГСА главного п/А

Примечание. Рассматриваемые в данной работе автоматы являются автоматами Мура и для простоты их графического представления выходные сигналы, отмечающие каждое событие (состояние), на ГСА опущены.

Из рис. 2, 3 видно, что в алгоритмы работы рабочих п/А и главного п/А введены дополнительные события, обеспечивающие синхронизацию работы системы логического управления. К ним относятся частные события:

50) - событие, определяющее начальное состояние 7-го рабочего п/А;

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

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

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

только от событий типа . Например, для так называемой барьерной синхронизации событие 5в определится в виде конъюнкций

событий типа

о о1 о2 о/ пй

дв - дкдк ...дк...дк

Следует отметить, что возможен и другой вариант реализации функций главного п/А, когда его функции возлагаются на один из рабочих п/А. Тогда ГСА одного из рабочих п/А примет следующий вид (рис. 4).

Рассмотренный метод декомпозиции исходного управляющего алгоритма на параллельно-последовательные составляющие с возможностью их структурной реализации отдельными п/А базировался на учете связи частных событий исходного УА только по управлению и информации без учета связи событий по данным и ресурсам. Поэтому, если отдельные пары частных событий, зависимые по данным и ресурсам, размещаются в разных параллельных ветвях, то при реализации алгоритма обработки информации могут возникнуть критические тупиковые ситуации. Чтобы избежать таких ситуаций, необходимо выполнить коррекцию состава подмножеств несовместимых частных событий.

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

Рис. 4. ГСА 7-го рабочего п/А, выполняющего функции главного п/А

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

Второй вариант коррекции состава подмножеств несовместимых частных событий базируется на такой коррекции исходного УА путем его эквивалентного преобразования, когда частные события, связанные по данными ресурсам, ни при каких условиях не могли бы выполняться совместно. Такая коррекция исходного УА возможна в том случае, если в отдельных параллельных ветвях имеются такие частные события, которые хотя и связаны по данным и ресурсам с событиями, входящими в другие параллельные ветви, но внутри своей ветви они не связаны жестко по информации и управлению [7]. В этом случае необходимо корректировать размещение таких событий в отдельных параллельных ветвях таким образом, чтобы в результате детер-минизации скорректированного исходного УА не имели место состояния ДА, в которые вошли бы совместно события, зависящие по данным и ресурсам [6].

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

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

Для некоторых вариантов УА, представленных моделью НДА, частные события не могут быть разложены на группы несовместимых событий из-за их большой связности, что выясняется после детерминизации исходного УА. Поэтому такой УА невозможно реализовать на основе структуры, состоящей из параллельно работающих п/А. Для таких УА может быть предложен другой подход и методы построения структуры системы управления, основанные на использовании унитарного кодирования частных событий [9]. В этом случае возможны два варианта построения структуры системы управления, соответствующие одноуровневой и двухуровневой организации функций выходов системы управления.

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

47 (*)=а (*+1)=«7 ({+1),

где д^ ^) - функция возбуждения 7-го Д-триггера, а Qi ^) - его состояние.

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

построенной на основе использования модели ДА, эквивалентного НДА, является ее значительная простота и компактность. Это объясняется тем, что функции переходов в алгоритме управления представляются не в терминах состояний ДА, а в терминах частных событий, число которых значительно меньше числа m состояний ДА.

Второй вариант построения структурной схемы для двухуровневой реализации функций выходов целесообразно использовать для построения систем микропрограммного управления (МПУ), для которых в операционном блоке должны параллельно выполняться различные микрооперации, а управляющий алгоритм содержит много повторяющихся комбинаций из них. Такие комбинации микроопераций, выполняемые одновременно, принято называть нанокомандой [10].

Для такого варианта структуры системы МПУ первый уровень, определяющий функции переходов управляющего алгоритма, представляется многовыходной комбинационной схемой, которая будет полностью соответствовать структуре первого варианта, реализующей функции возбуждения элементов памяти. Второй уровень, реализующий функции выходов системы управления, представляется нанопамятью со схемой формирования адресов нанокоманд (ФАНК). Блок ФАНК, в свою очередь, реализуется комбинационной схемой, которая строится по результатам детерминизации исходного УА, в соответствии с которым определяются все возможные подмножества (сочетания) одновременно существующих частных событий. Каждому такому подмножеству ставится в соответствие адрес нанопамяти, по которому в нанопамять записывается код совокупности управляющих выходных сигналов, которыми отмечаются частные события, входящие в конкретное подмножество (так как используется модель автомата Мура). Отсюда следует, что подмножества выходных управляющих сигналов, представляющие нанокоманды, будут инициировать параллельное выполнение частных событий исходного УА, реализуемых в операционном блоке системы управления.

Из отмеченного выше следует, что многовыходную схему блока ФАНК, определяющую адреса нанокоманд, можно представить в виде следующей таблицы соответствия (табл. 1).

Таблица 1

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

¿0 slS2...si ..\ У0 У1У2... Ук Р1Р2...Р} ...Рп

Следует отметить, что для большинства практических управляющих алгоритмов булевы функции pj {), определяющие коды адресов нанокоманд, будут не полностью определенными, что позволит в значительной степени уменьшить их сложность. Это объясняется тем обстоятельством, что функции р^ {) зависят практически не от всех комбинаций частных событий, реализуемых в управляющем алгоритме.

Двухуровневая реализация системы МПУ дает большой эффект при высокой частоте появления одинаковых адресов нанокоманд для некоторых

подмножеств частных событий. Двухуровневая организация системы управления позволяет: сохранить возможность параллельного выполнения микроопераций и эффективно использовать память системы МПУ, так как исключаются адреса с одинаковыми подмножествами управляющих сигналов; упростить структуру блока, реализующего функции переходов УА (так как используется унитарное кодирование частных событий), а основой его построения является модель НДА, представляющая самое компактное описание алгоритма управления по сравнению с другими языками [4, 5]. Следует также отметить, что многовыходные булевы функции, определяющие функции переходов управляющего алгоритма и функции формирования адресов нанокоманд, а также функции синхронизации параллельных процессов, могут быть эффективно реализованы на основе использования ПЛИС [11]. Подобная двухуровневая структурная организация системы МПУ используется, например, в микропроцессоре МС 68010 фирмы «Моторола» [10].

Заключение

Рассмотренные в статье методы и подходы к структурной реализации управляющих алгоритмов свидетельствуют об эффективности использования языка НД СКУ для построения систем логического управления, которая заключается в следующем:

- обеспечивается параллельная реализация УА на основе их наглядных, простых и компактных формальных представлений, в том числе аналитически и графически;

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

Список литературы

1. Вашкевич, Н. П. Синтез микропрограммных управляющих автоматов : учебное пособие / Н. П. Вашкевич. - Пенза : Изд-во Пенз. политехн. ин-та, 1990. -115 с.

2. Вашкевич, Н. П. Недетерминированные автоматы и их использование для синтеза систем управления : учебное пособие / Н. П. Вашкевич, С. Н. Вашкевич. -Пенза : Изд-во Пенз. гос. техн. ун-та, 1996. - 88 с.

3. Зубков, В. А. Алгоритм синтеза цифровых автоматов Мура с использованием языка исчисления предикатов / В. А. Зубков, Н. П. Вашкевич // Вычислительная техника: ученые записки. - Пенза : Изд-во Пенз. политехн. ин-та, 1969. - Вып. 3. -С. 25-36.

4. Вашкевич, Н. П. Достоинства формального языка, основанного на концепции недетерминизма, для функционального описания и преобразования алгоритмов логического управления процессами и ресурсами в параллельных системах обработки информации / Н. П. Вашкевич, Р. А. Бикташев // Телекоммуникации. - 2011. -№ 1. - С. 18-26.

5. Вашкевич, Н. П. Об одном способе синтеза цифровых автоматов по граф-схеме алгоритма с параллельными ветвями / Н. П. Вашкевич // Вычислительная техника : межвуз. сб. науч. тр. - Вып. 1, 2. - Пенза : Изд-во Пенз. политехн. ин-та, 1973. - С. 49-57.

6. Вашкевич, Н. П. Параллельная декомпозиция алгоритмов управления вычислительными и технологическими процессами / Н. П. Вашкевич // Новые информационные технологии и системы : труды VIII МНТК. - М., 2008. - Ч. 1. - С. 81-98.

7. Мищенко, В. А. Теория эквивалентных преобразований алгоритмов в САПР СБИС / В. А. Мищенко. - Минск : Навука і тэхшка, 1991. - 263 с.

8. Вашкевич, Н. П. Автоматный подход к формализации алгоритмов управления взаимодействующими параллельными процессами при обращении к общим переменным (общему ресурсу) для п-процессов / Н. П. Вашкевич // Вычислительные системы и технологии : межвуз. сб. науч. тр. - Вып. 1 (27). - Пенза : Изд-во Пенз. гос. ун-та, 2002. - С. 3-10.

9. Вашкевич, Н. П. Синтез цифровых управляющих автоматов на основе систем канонических уравнений : учебное пособие / Н. П. Вашкевич, В. Г. Пучков. -Пенза : Изд-во Пенз. политехн. ин-та, 1980. - 102 с.

10. Мотоока, Т. Компьютеры на СБИС : в 2-х кн. / Т. Мотоока, С. Толента, Х. Танака, Т. Сайто, Т. Уэхара. - М. : Мир, 1988. - Кн. 1. - 392 с.

11. Вашкевич, Н . П . Аппаратная реализация функций синхронизации параллельных процессов при обращении к разделяемому ресурсу на основе ПЛИС / Н. П. Вашкевич, Р. А. Бикташев, Е. И. Гурин // Известия высших учебных заведений. Поволжский регион. Технические науки. - 2007. - № 2. - С. 3-12.

Вашкевич Николай Петрович

доктор технических наук, профессор, кафедра вычислительной техники, Пензенский государственный университет

E-mail: vt@alice.pnzgu.ru

Бикташев Равиль Айнулович

кандидат технических наук, доцент, кафедра вычислительных машин и систем, Пензенская государственная технологическая академия

E-mail: bra559620@sura.ru

Vashkevich Nikolay Petrovich Doctor of engineering sciences, professor, sub-department of computer science, Penza State University

Biktashev Ravil Aynulovich Candidate of engineering sciences, associate professor, sub-department of computer science, Penza State Technological Academy

УДК 50.03.03;50.09.47 Вашкевич, А. П.

Достоинство формального языка, основанного на концепции неде-терминизма, при структурной реализации параллельных систем логического управления процессами и ресурсами / Н. П. Вашкевич, Р. А. Бикташев // Известия высших учебных заведений. Поволжский регион. Технические науки. - 2011. - № 1 (17). - С. 3-11.