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

Классы МПК:G05B19/18 числовое управление, те автоматически действующие устройства, в частности станки, например при обеспечении производственно-технических условий, таких как выполнение позиционирования, перемещения или координируемых операций с помощью программируемых данных в числовой форме
G06F9/22 микроуправление или устройства с микропрограммой
Автор(ы):
Патентообладатель(и):Курский государственный технический университет
Приоритеты:
подача заявки:
1998-11-02
публикация патента:

Изобретение относится к автоматике и вычислительной технике и может быть использовано при построении систем управления технологическими процессами. Технический результат заключается в расширении области применения устройства на основе включения дополнительных средств, позволяющих использовать устройство при формировании систем программного управления, обеспечивающих возможность реализации как последовательных, так и параллельных алгоритмов управления при сохранении минимальной сложности межмодульного интерфейса. Технический результат достигается за счет последовательного (временного) кодирования информации, передаваемой через межмодульные линии связи в различных режимах работы системы, а также за счет того, что модуль содержит блок памяти микрокоманд, счетчик адреса, счетчик времени задержки, регистр микроопераций, шифратор адреса, триггер режима, шину микроопераций, коммутатор направления приема адреса, десять элементов И, девять элементов ИЛИ, регистр, шифратор кода синхронизации, схему сравнения, блок тристабильных элементов, две группы триггеров, четыре группы элементов И, три группы элементов ИЛИ, два триггера, два элемента задержки и генератор импульсов. 5 ил.
Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4, Рисунок 5

Формула изобретения

Модуль системы программного управления, содержащий блок памяти микрокоманд, счетчик адреса, счетчик времени задержки, регистр микроопераций, шифратор адреса, триггер режима, шину микроопераций, коммутатор направления приема адреса, первый и второй элементы И, первый, второй, третий и четвертый элементы ИЛИ, причем прямой выход триггера режима соединен с первым входом первого элемента ИЛИ, выход которого подключен к первому входу первого элемента И и к первому входу второго элемента И, выход которого подключен к входу синхронизации регистра микроопераций, информационный вход которого соединен с выходом микроопераций блока памяти микрокоманд, выход адреса которого подключен к входам второго элемента ИЛИ и к первому информационному входу коммутатора направления приема адреса, выход шифратора адреса соединен со вторым информационным входом коммутатора направления приема адреса и с входами третьего элемента ИЛИ, выход которого соединен с инверсным и прямым управляющими входами коммутатора направления приема адреса, выход которого подключен к информационному входу счетчика адреса, выход которого подключен к адресному входу блока памяти микрокоманд, выход кода времени задержки которого соединен с информационным входом счетчика времени задержки, информационный выход которого подключен к входам четвертого элемента ИЛИ, выход которого соединен с управляющим входом счетчика времени задержки, отличающийся тем, что в него дополнительно введены регистр, шифратор кода синхронизации, схема сравнения, блок тристабильных элементов, первая и вторая группы триггеров, с первой по четвертую группы элементов И, с первой по третью группы элементов ИЛИ, первый и второй триггеры, с третьего по десятый элементы И, с пятого по девятый элементы ИЛИ, первый и второй элементы задержки и генератор импульсов, причем входы модуля с первого по (k - 1)-й (где K - число идентичных модулей в составе системы программного управления) соединены с первыми входами элементов И первой группы с первого по (k - 1)-й соответственно и с первыми входами элементов И второй группы с первого по (k - 1)-й соответственно, выходы которых подключены к первым входам элементов ИЛИ первой группы с первого по (k - 1)-й соответственно, выходы элементов И первой группы с первого по (k - 1)-й подключены к счетным входам триггеров первой группы с первого по (k - 1)-й соответственно, инверсные выходы которых соединены со вторыми входами элементов И первой группы с первого по (k - 1)-й соответственно, выходы элементов ИЛИ второй группы с первого по (k - 1)-й соединены с входами сброса триггеров первой группы с первого по (k - 1)-й соответственно, прямые выходы которых подключены ко вторым входам элементов И второй группы с первого по (k - 1)-й соответственно, а также к D-входам триггеров второй группы с первого по (k - 1)-й соответственно и к входу шифратора кода синхронизации, выход которого соединен с первым входом схемы сравнения, k-й вход модуля соединен с входом установки k-го триггера второй группы, D-вход которого подключен к шине нулевого потенциала, прямые выходы триггеров второй группы с первого по k-й подключены к входам шифратора адреса с первого по k-й соответственно, выход второго элемента ИЛИ соединен с прямым входом третьего элемента И, выход которого соединен с управляющим входом счетчика адреса, счетный вход и вход синхронизации которого подключены к выходу четвертого элемента И, выход регистра микроопераций подключен к информационному входу блока тристабильных элементов, выход которого соединен с шиной микроопераций, управляющий вход блока тристабильных элементов соединен с прямым выходом триггера режима, выход третьего элемента ИЛИ подключен к первому входу пятого элемента ИЛИ и к первому входу пятого элемента И, выход которого подключен ко вторым входам элементов ИЛИ первой группы с первого по (k - 1)-й и к входу синхронизации k-го триггера второй группы, прямые выходы триггеров второй группы с первого по (k - 1)-й соединены с первыми входами элементов ИЛИ второй группы с первого по (k - 1)-й соответственно, выходы элементов ИЛИ первой группы с первого по (k - 1)-й подключены к входам синхронизации триггеров второй группы с первого по (k - 1)-й соответственно, выход адреса блока памяти микрокоманд соединен с информационным входом регистра и со вторым входом схемы сравнения, выход которой подключен к первому входу шестого элемента И, выход которого соединен с первым входом седьмого элемента И и со вторым входом пятого элемента ИЛИ, выход которого соединен с J-входом триггера режима, выход метки передачи управления блока памяти микрокоманд подключен к первому инверсному входу третьего элемента И, к первым входам элементов И третьей группы с первого по (k - 1)-й и к первому входу шестого элемента ИЛИ, выход которого соединен с первым входом восьмого элемента И, выход которого соединен с входом синхронизации регистра, выход метки конца участка блока памяти микрокоманд подключен ко второму входу шестого элемента ИЛИ, к первому входу седьмого элемента ИЛИ, к первому входу четвертого элемента И и к первому входу девятого элемента И, выход которого соединен с входом сброса счетчика адреса, выход метки управления синхронизацией блока памяти микрокоманд подключен ко второму инверсному входу третьего элемента И, к первому входу десятого элемента И, ко второму входу шестого элемента И и ко второму входу седьмого элемента ИЛИ, выход которого соединен со вторым входом первого элемента ИЛИ и К-входом триггера режима, вход синхронизации которого соединен с первым выходом генератора импульсов, второй выход которого подключен ко второму входу второго элемента И, первый выход генератора импульсов подключен ко второму входу первого элемента И и ко второму входу седьмого элемента И, выход которого соединен со вторыми входами элементов ИЛИ второй группы с первого по (k - 1)-й, с первым входом восьмого элемента ИЛИ и с первым входом девятого элемента ИЛИ, выход которого подключен к счетному входу и входу синхронизации счетчика времени задержки, выход переноса которого соединен со вторыми входами четвертого, пятого и девятого элементов И и с входом установки первого триггера, прямой выход которого подключен ко второму входу восьмого элемента И, выход первого элемента И соединен со вторым входом девятого элемента ИЛИ, с входом первого элемента задержки, со вторыми входами элементов И третьей группы с первого по (k - 1)-й и со вторым входом десятого элемента И, выход которого подключен ко второму входу восьмого элемента ИЛИ, выход которого соединен со счетным входом второго триггера, прямой выход которого подключен к третьему входу шестого элемента И, а инверсный выход соединен с третьим входом первого элемента И и с третьим входом второго элемента И, выход которого подключен к третьему входу восьмого элемента И и к входу второго элемента задержки, выход которого соединен с входом сброса первого триггера и с первыми входами элементов И четвертой группы с первого по (k - 1)-й, выходы которых подключены к первым входам элементов ИЛИ третьей группы с первого по (k - 1)-й соответственно, выход первого элемента задержки соединен с входом сброса регистра, выходы с первого по (k - 1)-й которого подключены ко вторым входам элементов И четвертой группы с первого по (k - 1)-й соответственно и к третьим входам элементов И третьей группы с первого по (k - 1)-й соответственно, выходы которых соединены со вторыми входами элементов ИЛИ третьей группы с первого по (k - 1)-й соответственно, выходы которых являются выходами модуля с первого по (k - 1)-й соответственно.

Описание изобретения к патенту

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

Известно модульное устройство для программного управления и контроля, содержащее блок памяти, счетчик адреса, регистр микроопераций, мультиплексоры адреса и логических условий, демультиплексор, два регистра логических условий, регистр номера, два коммутатора, два дешифратора, шифратор, генератор тактовых импульсов, триггеры пуска и управления, блок элементов ИЛИ, группу элементов ИЛИ, два элемента И и два элемента ИЛИ (а.с. 1647519 СССР G 05 В 19/18; опубл. 07.05.91, БИ N17).

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

Наиболее близким к предлагаемому устройству по технической сущности является устройство для программного управления, содержащее блок памяти микрокоманд, счетчики адреса и времени задержки, регистр микроопераций, коммутатор направления приема адреса, триггер режима, шифратор направления приема управления, дешифратор направления передачи управления, шину микроопераций, элемент запрета, четыре элемента ИЛИ и два элемента И (а.с. 1800445 СССР G 05 В 19/18; опубл. 07.03.93; БИ N9).

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

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

Техническая задача решается тем, что в модуль системы программного управления, содержащий блок памяти микрокоманд, счетчик адреса, счетчик времени задержки, регистр микроопераций, шифратор адреса, триггер режима, шину микроопераций, коммутатор направления приема адреса, первый и второй элементы И, первый, второй, третий и четвертый элементы ИЛИ, причем прямой выход триггера режима соединен с первым входом первого элемента ИЛИ, выход которого подключен к первому входу первого элемента И и к первому входу второго элемента И, выход которого подключен к входу синхронизации регистра микроопераций, информационный вход которого соединен с выходом микроопераций блока памяти микрокоманд, выход адреса которого подключен к входам второго элемента ИЛИ и к первому информационному входу коммутатора направления приема адреса, выход шифратора адреса соединен со вторым информационным входом коммутатора направления приема адреса и с входами третьего элемента ИЛИ, выход которого соединен с инверсным и прямым управляющими входами коммутатора направления приема адреса, выход которого подключен к информационному входу счетчика адреса, выход которого подключен к адресному входу блока памяти микрокоманд, выход кода времени задержки которого соединен с информационным входом счетчика времени задержки, информационный выход которого подключен к входам четвертого элемента ИЛИ, выход которого соединен с управляющим входом счетчика времени задержки, дополнительно введены регистр, шифратор кода синхронизации, схема сравнения, блок тристабильных элементов, первая и вторая группы триггеров, с первой по четвертую группы элементов И, с первой по третью группы элементов ИЛИ, первый и второй триггеры, с третьего по десятый элементы И, с пятого по девятый элементы ИЛИ, первый и второй элементы задержки и генератор импульсов, причем входы модуля с первого по (k-1)-й (где k- число идентичных модулей в составе системы программного управления) соединены с первыми входами элементов И первой группы с первого по (k-1)-й соответственно и с первыми входами элементов И второй группы с первого по (k-1)-й соответственно, выходы которых подключены к первым входам элементов ИЛИ первой группы с первого по (k-1)-й соответственно, выходы элементов И первой группы с первого по (k- 1)-й подключены к счетным входам триггеров первой группы с первого по (k-1)-й соответственно, инверсные выходы которых соединены со вторыми входами элементов И первой группы с первого по (k-1)-й соответственно, выходы элементов ИЛИ второй группы с первого по (k-1)-й соединены с входами сброса триггеров первой группы с первого по (k-1)-й соответственно, прямые выходы которых подключены ко вторым входам элементов И второй группы с первого по (k-1)-й соответственно, а также к D-входам триггеров второй группы с первого по (k-1)-й соответственно и к входу шифратора кода синхронизации, выход которого соединен с первым входом схемы сравнения, k-й вход модуля соединен с входом установки k-го триггера второй группы, D-вход которого подключен к шине нулевого потенциала, прямые выходы триггеров второй группы с первого по k-й подключены к входам шифратора адреса с первого по k-й соответственно, выход второго элемента ИЛИ соединен с прямым входом третьего элемента И, выход которого соединен с управляющим входом счетчика адреса, счетный вход и вход синхронизации которого подключены к выходу четвертого элемента И, выход регистра микроопераций подключен к информационному входу блока тристабильных элементов, выход которого соединен с шиной микроопераций, управляющий вход блока тристабильных элементов соединен с прямым выходом триггера режима, выход третьего элемента ИЛИ подключен к первому входу пятого элемента ИЛИ и к первому входу пятого элемента И, выход которого подключен ко вторым входам элементов ИЛИ первой группы с первого по (k-1)-й и к входу синхронизации k-го триггера второй группы, прямые выходы триггеров второй группы с первого по (k-1)-й соединены с первыми входами элементов ИЛИ второй группы с первого по (k-1)-й соответственно, выходы элементов ИЛИ первой группы с первого по (k-1)-й подключены к входам синхронизации триггеров второй группы с первого по (k-1)-й соответственно, выход адреса блока памяти микрокоманд соединен с информационным входом регистра и со вторым входом схемы сравнения, выход которой подключен к первому входу шестого элемента И, выход которого соединен с первым входом седьмого элемента И и со вторым входом пятого элемента ИЛИ, выход которого соединен с J-входом триггера режима, выход метки передачи управления блока памяти микрокоманд подключен к первому инверсному входу третьего элемента И, к первым входам элементов И третьей группы с первого по (k-1)-й и к первому входу шестого элемента ИЛИ, выход которого соединен с первым входом восьмого элемента И, выход которого соединен с входом синхронизации регистра, выход метки конца участка блока памяти микрокоманд подключен ко второму входу шестого элемента ИЛИ, к первому входу седьмого элемента ИЛИ, к первому входу четвертого элемента И и к первому входу девятого элемента И, выход которого соединен с входом сброса счетчика адреса, выход метки управления синхронизацией блока памяти микрокоманд подключен ко второму инверсному входу третьего элемента И, к первому входу десятого элемента И, ко второму входу шестого элемента И и ко второму входу седьмого элемента ИЛИ, выход которого соединен со вторым входом первого элемента ИЛИ и K-входом триггера режима, вход синхронизации которого соединен с первым выходом генератора импульсов, второй выход которого подключен ко второму входу второго элемента И, первый выход генератора импульсов подключен ко второму входу первого элемента И и ко второму входу седьмого элемента И, выход которого соединен со вторыми входами элементов ИЛИ второй группы с первого по (k-1)-й, с первым входом восьмого элемента ИЛИ и с первым входом девятого элемента ИЛИ, выход которого подключен к счетному входу и входу синхронизации счетчика времени задержки, выход переноса которого соединен со вторыми входами четвертого, пятого и девятого элементов И и с входом установки первого триггера, прямой выход которого подключен ко второму входу восьмого элемента И, выход первого элемента И соединен со вторым входом девятого элемента ИЛИ, с входом первого элемента задержки, со вторыми входами элементов И третьей группы с первого по (k-1)-й и со вторым входом десятого элемента И, выход которого подключен ко второму входу восьмого элемента ИЛИ, выход которого соединен со счетным входом второго триггера, прямой выход которого подключен к третьему входу шестого элемента И, а инверсный выход соединен с третьим входом первого элемента И и с третьим входом второго элемента И, выход которого подключен к третьему входу восьмого элемента И и к входу второго элемента задержки, выход которого соединен с входом сброса первого триггера и с первыми входами элементов И четвертой группы с первого по (k-1)-й, выходы которых подключены к первым входам элементов ИЛИ третьей группы с первого по (k-1)-й соответственно, выход первого элемента задержки соединен с входом сброса регистра, выходы с первого по (k-1)-й которого подключены ко вторым входам элементов И четвертой группы с первого по (k-1)-й соответственно и к третьим входам элементов И третьей группы с первого по (k-1)-й соответственно, выходы которых соединены со вторыми входами элементов ИЛИ третьей группы с первого по (k-1)-й соответственно, выходы которых являются выходами модуля с первого по (k-1)-й соответственно.

Сущность изобретения заключается в следующем.

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

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

Дополнительно, в системе, использующей предлагаемый модуль, имеется возможность синхронизации завершения подмножеств параллельных участков программ. Наличие данной возможности необходимо при реализации параллельных алгоритмов управления, критичных к рассогласованию моментов запуска некоторых параллельных участков. При синхронизации параллельных участков один из модулей (условно считающийся "ведущим") функционирует в режиме управления синхронизацией и производит опрос состояния участков (завершен / не завершен), исполняемых другими модулями системы. После окончания всех требуемых участков модуль выходит из режима управления синхронизацией и возобновляет выполнение программы. Передача информации о состоянии параллельных участков осуществляется с использованием тех же линий связи, которые служат для передачи управления.

Общее число межмодульных линий связи (сложность межмодульного интерфейса) в системе программного управления на базе рассматриваемого модуля составляет k(k-l), где k- число модулей в системе, т.е. для связи каждой пары модулей требуются две физические линии, что соответствует прототипу. Сохранение сложности межмодульного интерфейса в системе при одновременном введении дополнительных функциональных возможностей достигается представлением информации, передаваемой через межмодульные линии связи, последовательным кодом. В качестве квитанций окончания параллельных участков выступают одиночные импульсы, а в качестве сигналов передачи управления используются серии из двух следующих друг за другом импульсов.

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

Модуль системы программного управления (фиг. 1) содержит блок 1 памяти микрокоманд с выходами 1.1 микроопераций, 1.2 адреса, 1.3 метки передачи управления, 1.4 метки конца участка, 1.5 метки управления синхронизацией, 1.6 кода времени задержки, счетчик 2 адреса, счетчик 3 времени задержки, регистр 4 микроопераций, шифратор 5 адреса, триггер 9 режима, шину 11 микроопераций, коммутатор 14 направления приема адреса, первый 15 и второй 16 элементы И, первый 17, второй 18, третий 19 и четвертый 20 элементы ИЛИ, причем прямой выход триггера 9 режима соединен с первым входом элемента ИЛИ 17, выход которого подключен к первому входу элемента И 15 и к первому входу элемента И 16, выход которого подключен к входу синхронизации регистра 4 микроопераций, информационный вход которого соединен с выходом 1.1 микроопераций блока 1 памяти микрокоманд, выход 1.2 адреса которого подключен к входам элемента ИЛИ 18 и к первому информационному входу коммутатора 14 направления приема адреса, выход шифратора 5 адреса соединен со вторым информационным входом коммутатора 14 направления приема адреса и с входами элемента ИЛИ 19, выход которого соединен с инверсным и прямым управляющими входами коммутатора 14 направления приема адреса, выход которого подключен к информационному входу счетчика 2 адреса, выход которого подключен к адресному входу блока 1 памяти микрокоманд, выход 1.6 кода времени задержки которого соединен с информационным входом счетчика 3 времени задержки, информационный выход которого подключен к входам элемента ИЛИ 20, выход которого соединен с управляющим входом счетчика 3 времени задержки, а также дополнительно введенные регистр 6, шифратор 7 кода синхронизации, схему 8 сравнения, блок 10 тристабильных элементов, первую группу триггеров 12.1-12. k-1 (где k- число идентичных модулей в составе системы программного управления), вторую группу триггеров 13.1-13.k, первую группу элементов И 21.1- 21.k-1, вторую группу элементов И 22.1-22. k-1, третью группу элементов И 23.1-23.k-l, четвертую группу элементов И 24.1-24.k-1, первую группу элементов ИЛИ 25.1-25.k-1, вторую группу элементов ИЛИ 26.1-26.k-1, третью группу элементов ИЛИ 27.1-27.k-1, первый 28 и второй 29 триггеры, третий 30, четвертый 31, пятый 32, шестой 33, седьмой 34, восьмой 35, девятый 36 и десятый 37 элементы И, пятый 38, шестой 39, седьмой 40, восьмой 41 и девятый 42 элементы ИЛИ, первый 43 и второй 44 элементы задержки и генератор 45 импульсов с выходами 45.1 и 45.2, причем входы 46.1-46.k-1 модуля соединены с первыми входами элементов И 21.1-21.k-l соответственно и с первыми входами элементов И 22.1-22.k-1 соответственно, выходы которых подключены к первым входам элементов ИЛИ 25.1-25.k-1 соответственно, выходы элементов И 21.1-21.k-1 подключены к счетным входам триггеров 12.1-12.k-1 соответственно, инверсные выходы которых соединены со вторыми входами элементов И 21.1-21.k-1 соответственно, выходы элементов ИЛИ 26.1-26. k-1 соединены с входами сброса триггеров 12.1-12.k-1 соответственно, прямые выходы которых подключены ко вторым входам элементов И 22.1-22.k-1 соответственно, а также к D-входам триггеров 13.1-13.k-1 соответственно и к входу шифратора 7 кода синхронизации, выход которого соединен с первым входом схемы 8 сравнения, вход 46.k модуля соединен с входом установки триггера 13.k, D-вход которого подключен к шине нулевого потенциала, прямые выходы триггеров 13.1-13.k подключены к входам шифратора 5 адреса с первого по k-й соответственно, выход элемента ИЛИ 18 соединен с прямым входом элемента И 30, выход которого соединен с управляющим входом счетчика 2 адреса, счетный вход и вход синхронизации которого подключены к выходу элемента И 31, выход регистра 4 микроопераций подключен к информационному входу блока 10 тристабильных элементов, выход которого соединен с шиной 11 микроопераций, управляющий вход блока 10 тристабильных элементов соединен с прямым выходом триггера 9 режима, выход элемента ИЛИ 19 подключен к первому входу элемента ИЛИ 38 и к первому входу элемента И 32, выход которого подключен ко вторым входам элементов ИЛИ 25.1-25.k-1 и к входу синхронизации триггера 13. k, прямые выходы триггеров 13.1-13.k-1 соединены с первыми входами элементов ИЛИ 26.1-26.k-1 соответственно, выходы элементов ИЛИ 25.1-25.k-1 подключены к входам синхронизации триггеров 13.1-13.k-1 соответственно, выход 1.2 адреса блока 1 памяти микрокоманд соединен с информационным входом регистра 6 и со вторым входом схемы 8 сравнения, выход которой подключен к первому входу элемента И 33, выход которого соединен с первым входом элемента И 34 и со вторым входом элемента ИЛИ 38, выход которого соединен с J-входом триггера 9 режима, выход 1.3 метки передачи управления блока 1 памяти микрокоманд подключен к первому инверсному входу элемента И 30, к первым входам элементов И 23.1-23.k-1 и к первому входу элемента ИЛИ 39, выход которого соединен с первым входом элемента И 35, выход которого соединен с входом синхронизации регистра 6, выход 1.4 метки конца участка блока 1 памяти микрокоманд подключен ко второму входу элемента ИЛИ 39, к первому входу элемента ИЛИ 40, к первому (инверсному) входу элемента И 31 и к первому входу элемента И 36, выход которого соединен с входом сброса счетчика 2 адреса, выход 1.5 метки управления синхронизацией блока 1 памяти микрокоманд подключен ко второму инверсному входу элемента И 30, к первому входу элемента И 37, ко второму входу элемента И 33 и ко второму входу элемента ИЛИ 40, выход которого соединен со вторым входом элемента ИЛИ 17 и K-входом триггера 9 режима, вход синхронизации которого соединен с первым 45.1 выходом генератора 45 импульсов, второй выход 45.2 которого подключен ко второму входу элемента И 16, выход 45.1 генератора 45 импульсов подключен ко второму входу элемента И 15 и ко второму входу элемента И 34, выход которого соединен со вторыми входами элементов ИЛИ 26.1-26.k-1, с первым входом элемента ИЛИ 41 и с первым входом элемента ИЛИ 42, выход которого подключен к счетному входу и входу синхронизации счетчика 3 времени задержки, выход переноса (р) которого соединен со вторыми входами элементов И 31, 36, 32 и с входом установки триггера 28, прямой выход которого подключен ко второму входу элемента И 35, выход элемента И 15 соединен со вторым входом элемента ИЛИ 42, с входом элемента 43 задержки, со вторыми входами элементов И 23.1-23.k-1 и со вторым входом элемента И 37, выход которого подключен ко второму входу элемента ИЛИ 41, выход которого соединен со счетным входом триггера 29, прямой выход которого подключен к третьему входу элемента И 33, а инверсный выход соединен с третьим входом элемента И 15 и с третьим входом элемента И 16, выход которого подключен к третьему входу элемента И 35 и к входу элемента 44 задержки, выход которого соединен с входом сброса триггера 28 и с первыми входами элементов И 24.1-24. k-1, выходы которых подключены к первым входам элементов ИЛИ 27.1-27. k-1 соответственно, выход элемента 43 задержки соединен с входом сброса регистра 6, выходы с первого по (k-1)-й которого подключены ко вторым входам элементов И 24.1-24.k- 1 соответственно и к третьим входам элементов И 23.1-23. k-1 соответственно, выходы которых соединены со вторыми входами элементов ИЛИ 27.1-27.k-1 соответственно, выходы которых являются выходами 47.1-47.k-1 модуля соответственно.

Назначение элементов модуля системы программного управления (фиг. 1) состоит в следующем.

Блок 1 памяти микрокоманд служит для постоянного хранения и выдачи микрокоманд, входящих в участки программ, закрепленные за текущим модулем. Очередная микрокоманда появляется на выходах блока 1 сразу (спустя некоторое время задержки) после подачи на его адресный вход соответствующего адреса.

Счетчик 2 адреса предназначен для приема, хранения, модификации и выдачи исполнительного адреса следующей микрокоманды. Счетчик 2 функционирует в одном из двух режимов в зависимости от сигнала на его управляющем входе (V). Если этот сигнал нулевой, то счетчик 2 работает в режиме счета и поступление заднего фронта очередного импульса на его счетный вход и вход синхронизации вызывает увеличение его содержимого на единицу. Если данный сигнал единичный, то счетчик 2 работает в режиме приема информации и появление заднего фронта импульса на его счетном входе и входе синхронизации обусловливает запись в него кода с информационного входа (D). (Вход синхронизации и счетный вход счетчика 2 соединены.)

Счетчик 3 времени задержки служит для отсчета времени обработки (выдачи) микрокоманд. Указанное время (выраженное числом периодов следования импульсов синхронизации, формируемых генератором 45) определяется разностью 2n+1-модуль системы программного управления, патент № 2145434, где 0 < модуль системы программного управления, патент № 2145434 < 2n+1 - код времени задержки, размещаемый в счетчике 3; n - разрядность счетчика 3. Максимальное время обработки микрокоманды задается кодом модуль системы программного управления, патент № 2145434 = 00...01; обработка микрокоманды без задержки осуществляется при модуль системы программного управления, патент № 2145434 = 11...11. Счетчик 3 аналогично счетчику 2 адреса работает либо в режиме счета импульсов, либо в режиме приема информации. Переход в первый из указанных режимов происходит при единичном сигнале на управляющем входе (V) счетчика 3; во втором режиме счетчик 3 работает при нулевом сигнале на управляющем входе. (Вход синхронизации и счетный вход счетчика 3 соединены.)

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

Шифратор 5 адреса предназначен для формирования адреса приема управления при поступлении сигналов передачи управления от других модулей или устройства управления верхнего уровня. Указанный адрес аналогично прототипу однозначно определяется номером входа или направлением, с которого поступает сигнал передачи управления.

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

Шифратор 7 кода синхронизации обеспечивает преобразование обобщенного состояния других модулей системы, определяемого кодом на прямых выходах триггеров 12.1-12.k-l, в соответствующий двоичный код.

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

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

Блок 10 тристабильных элементов используется для отключения выхода регистра 4 от шины 11 микроопераций при переходе модуля в режим ожидания или управления синхронизацией параллельных участков программ.

Шина 11 микроопераций предназначена для передачи сигналов микроопераций с выходов блоков 10 модулей системы на входы объекта управления.

Триггеры 12.1-12. k-1 введены для хранения обобщенного состояния других модулей системы при работе текущего модуля в режиме управления синхронизацией параллельных участков. Переключение триггеров 12.1-12.k-1 в единичное состояние происходит при поступлении импульсов от других модулей на входы 46.1-46.k-1 соответственно.

Триггеры 13.1-13.k служат для временной фиксации сигналов передачи управления, поступающих на входы 46.1-46.k от других модулей и устройства управления верхнего уровня соответственно.

Коммутатор 14 направления приема адреса обеспечивает подключение информационного входа счетчика 2 адреса либо к выходу 1.2 блока 1 памяти микрокоманд, либо к выходу шифратора 5 адреса.

Элементы И 15, 16 служат для блокировки передачи импульсов синхронизации с выходов генератора 45 импульсов на входы элементов 37, 42, 43, 23.1-23. k-1, а также элементов 35, 44 и регистра 4 соответственно.

Элемент ИЛИ 17 служит для объединения сигналов с выхода элемента ИЛИ 40 и прямого выхода триггера 9 режима.

Элемент ИЛИ 18 предназначен для формирования сигнала - признака режима адресации следующей микрокоманды. При единичном сигнале на выходе элемента 18 реализуется режим принудительной адресации, при нулевом - режим естественной адресации.

Элемент ИЛИ 19 используется для формирования сигнала - признака приема управления.

Элемент ИЛИ 20 служит для формирования сигнала управления счетчиком 3 времени задержки.

Элементы И 21.1-21. k-1 служат для запрещения прохождения импульсов с входов 46.1-46.k-1 модуля на счетные входы триггеров 12.1-12.k-1 соответственно.

Элементы И 22.1-22-k-1 предназначены для запрещения прохождения импульсов с входов 46.1-46. k-1 модуля на входы элементов ИЛИ 25.1- 25.k-1 соответственно.

Элементы И 23.1-23.k-1 используются для блокировки /разрешения передачи импульсов с выхода элемента И 15 на вторые входы элементов ИЛИ 27.1-27.k-1 соответственно.

Элементы И 24.1-24.k-1 используются для блокировки /разрешения передачи импульсов с выхода элемента 44 задержки на первые входы элементов ИЛИ 27.1-27.k-1 соответственно.

Элементы ИЛИ 25.1-25.k-1 служат для формирования сигналов переключения триггеров 13.1-13.k-1 соответственно.

Элементы ИЛИ 26.1-26.k-1 служат для формирования сигналов сброса триггеров 12.1-12.k-1 соответственно.

Элементы ИЛИ 27.1-27.k-1 предназначены для объединения сигналов с выходов элементов И 24.1-24.k-1 и 23.1-23.k-1 соответственно.

Триггер 28 предназначен для управления блокировкой элемента И 35.

Триггер 29 служит для попеременной блокировки элемента И 33 и элементов И 15,16.

Элемент И 30 предназначен для формирования сигнала управления счетчиком 2 адреса.

Элементы И 31, 36 введены для блокировки прохождения импульсов с выхода переноса счетчика 3 на вход синхронизации и счетный вход счетчика 2, а также на вход сброса (R) счетчика 2 соответственно.

Элемент И 32 предназначен для блокировки прохождения импульсов с выхода переноса счетчика 3 на входы элементов ИЛИ 25.1-25.k-1 и вход синхронизации триггера 13.k.

Элемент И 33 служит для формирования сигнала - признака окончания подмножества параллельных участков программ.

Элемент И 34 служит для блокировки прохождения импульсов синхронизации с выхода 45.1 генератора 45 при отсутствии признака окончания параллельных участков на выходе элемента И 33.

Элемент И 35 предназначен для блокировки /разрешения поступления импульсов синхронизации на вход синхронизации регистра 6.

Элемент И 37 введен для блокировки поступления импульсов синхронизации на вход элемента ИЛИ 41 с выхода элемента И 15.

Элемент ИЛИ 38 служит для объединения сигнала - признака приема управления с выхода элемента ИЛИ 19 и сигнала - признака окончания параллельных участков с выхода элемента И 33.

Элемент ИЛИ 39 предназначен для формирования обобщенного сигнала - метки передачи управления /окончания участка программы.

Элемент ИЛИ 40 предназначен для формирования обобщенного сигнала - метки окончания участка программы /управления синхронизацией параллельных участков.

Элемент ИЛИ 41 предназначен для объединения сигналов с выходов элементов И 34 и 37.

Элемент ИЛИ 42 служит для объединения сигналов с выходов элементов И 15 и 34.

Элемент 43 задержки обеспечивает сдвиг импульсов сброса регистра 6 на время, достаточное для передачи импульсов с выхода элемента И 15 через элементы И 23.i1-23.ip, i1,...,ip модуль системы программного управления, патент № 2145434 {1,2,...,k-1}, открытые единичными сигналами с соответствующих выходов регистра 6.

Элемент 44 задержки обеспечивает сдвиг импульсов сброса триггера 28 на время, достаточное для прохождения этих импульсов на выход элемента И 35.

Генератор 45 импульсов служит для формирования двух сдвинутых друг относительно друга импульсных последовательностей t1 и t2, синхронизирующих работу различных узлов модуля.

Рассмотрим работу предлагаемого модуля. Учитывая, что модуль предназначен для включения в состав системы управления, его функционирование будем рассматривать во взаимосвязи с другими аналогичными модулями. (Структура системы программного управления на базе предлагаемого модуля, содержащей шесть идентичных модулей, представлена на фиг.3.)

Первоначально все элементы памяти (триггеры, регистры и счетчики) модуля находятся в состоянии логического нуля. (Цепи начальной установки на фиг.1 для упрощения условно не показаны.) В ячейках блока 1 памяти микрокоманд размещены микрокоманды, входящие в участки программ, закрепленные за рассматриваемым модулем. В ячейке блока 1 с адресом "00...0" хранится микрокоманда специального формата ФН (фиг.2), соответствующая исходному состоянию модуля.

Синхронизация работы различных элементов модуля аналогично прототипу осуществляется двумя сдвинутыми друг относительно друга импульсными последовательностями t1 и t2. В отличие от прототипа, где импульсы t1 и t2 поступают от внешнего генератора импульсов, общего для всех модулей системы, синхронизация в предлагаемом модуле является "внутренней": импульсы t1 и t2 вырабатываются генератором 45 (фиг.1). Формирование импульсов t1 и t2 на выходах генератора 45 начинается сразу после включения питания модуля и происходит непрерывно вплоть до отключения питания.

Поскольку на выходе счетчика 2 адреса присутствует нулевой код, на выходах блока 1 находится микрокоманда формата ФН. Нулевые сигналы с выходов 1.3 и 1.5 блока 1 в объединении с единичным кодом с выхода 1.2 блока 1, который обусловливает наличие сигнала логической единицы на выходе элемента ИЛИ 18, формируют единичный сигнал на выходе элемента И 30 и тем самым переводят счетчик 2 в режим приема информации с выхода коммутатора 14. Нулевой сигнал с прямого выхода триггера 9 закрывает блок 10, отключая выход регистра 4 от шины 11 микроопераций. Нулевые сигналы с выходов 1.3 и 1.4 блока 1 формируют нулевой сигнал на выходе элемента ИЛИ 39 и, таким образом, закрывают элемент И 35. Нулевой сигнал с выхода 1.4 блока 1, кроме того, блокирует элемент И 36, открывает элемент И 31, а также совместно с нулевым сигналом с выхода 1.5 блока 1 формирует нулевой сигнал на выходе элемента ИЛИ 40. Нулевые сигналы с выхода элемента 40 и прямого выхода триггера 9 обусловливают блокировку элементов И 15 и 16. Сигнал логического нуля с выхода 1.5 блока 1 закрывает элементы И 33 и 37, а следовательно, и элемент И 34. Нулевой код с информационного выхода счетчика 3 времени задержки устанавливает сигнал логического нуля на выходе элемента ИЛИ 20, в связи с чем счетчик 3 работает в режиме приема информации.

Функционирование модуля (и системы программного управления в целом) начинается с момента прихода на вход 46.k модуля импульса запуска от устройства управления верхнего уровня. Данный импульс поступает на вход установки триггера 13.k и переводит его в единичное состояние. Единичный сигнал с прямого выхода триггера 13.k совместно с нулевыми сигналами с прямых выходов триггеров 13.1-13. k-1 подается на входы шифратора 5 адреса. На выходе шифратора 5 образуется фиксированный ("жесткий") адрес первой микрокоманды начального участка реализуемой программы в блоке 1 Анач. Адрес Анач. поступает на входы элемента ИЛИ 19 и, будучи ненулевым, устанавливает на его выходе единичный сигнал. Этот сигнал подается на управляющие входы коммутатора 14, коммутирует его выход с выходом шифратора 5 и обеспечивает передачу адреса Анач. на информационный вход счетчика 2. Одновременно этот же сигнал открывает элемент И 32 и, проходя также через элемент ИЛИ 38 на J-вход триггера 9, подготавливает последний к переключению в единичное состояние.

Очередной импульс t1 с выхода 45.1 генератора 45 поступает на вход синхронизации триггера 9 и задним фронтом устанавливает этот триггер в состояние логической единицы. Единичный сигнал с прямого выхода триггера 9 через элемент ИЛИ 17 проходит на входы элементов И 15 и 16 и разрешает дальнейшее поступление импульсов t1 и t2 на их выходы. Этот же сигнал поступает на управляющий вход блока 10, переводит его в активный режим и подключает тем самым выход регистра 4 к шине 11.

Следующий импульс t2 с выхода 45.2 генератора 45 через элемент И 16 проходит на вход синхронизации регистра 4 и задним фронтом фиксирует в нем нулевой код с выхода 1.1 блока 1. Этот же импульс через элемент 44 задержки поступает на вход сброса триггера 28 и подтверждает его нулевое состояние. Поскольку элементы И 35, 24.1-24.k-1 заблокированы, импульс t2 других действий не производит: регистр 6 остается в нулевом состоянии, уровень сигнала на выходах 47.1-47.k-1 модуля остается нулевым.

Очередной импульс t1 поступает на вход синхронизации триггера 9 и подтверждает его единичное состояние. Этот же импульс через элемент И 15 и элемент ИЛИ 42 передается на вход синхронизации и счетный вход счетчика 3 и задним фронтом фиксирует в нем код "11...1", поступающий с выхода 1.6 блока 1. На выходе элемента ИЛИ 20 образуется сигнал логической единицы, и счетчик 3 переключается в режим счета. Одновременно импульс t1 с выхода элемента 15 через элемент 43 задержки подается на вход сброса регистра 6 и подтверждает его нулевое состояние.

Следующий импульс 12 подтверждает нулевое состояние регистра 4 и триггера 28.

Очередной импульс t1 через элемент 15 и элемент 42 поступает на счетный вход счетчика 3 и задним фронтом инициирует добавление единицы к текущему коду, размещенному в счетчике 3. Поскольку указанный код является единичным, прибавление к нему единицы вызывает переполнение счетчика 3. Счетчик 3 переходит в состояние "00...0", нулевой код с информационного выхода счетчика 3 формирует нулевой потенциал на выходе элемента 20 - счетчик 3 снова переключается в режим приема информации. Одновременно на выходе переноса (р) счетчика 3 появляется импульс переполнения p, по форме и длительности аналогичный импульсам t1 и t2.

Импульс p с выхода переноса счетчика 3 поступает на вход установки триггера 28 и переводит его в единичное состояние. Кроме того, импульс p через открытый элемент И 31 проходит на вход синхронизации счетчика 2 и задним фронтом фиксирует в нем адрес Анач, установленный на выходе шифратора 5. Одновременно этот же импульс через открытый элемент И 32 поступает на вход синхронизации триггера 13. k и - через элементы ИЛИ 25.1-25.k-1 - на входы синхронизации триггеров 13.1- 13. k-1 соответственно. Так как триггеры 12.1-12. k-1 находятся в исходном (нулевом) состоянии (и, следовательно, на D-входах триггеров 13.1-13. k-1 находятся нулевые сигналы), а на D-входе триггера 13. k постоянно присутствует потенциал логического нуля, импульс p задним фронтом возвращает триггер 13.k в нулевое состояние и подтверждает исходное состояние триггеров 13.1-13.k-1. На выходе шифратора 5 восстанавливается нулевой код, а на выходе элемента 19, соответственно, появляется сигнал логического нуля. Этот сигнал блокирует элемент И 32 и, поступая, кроме того, на управляющие входы коммутатора 14, настраивает последний на прием информации с выхода 1.2 блока 1. На этом процесс инициализации текущего модуля и запуска системы программного управления в целом завершается и осуществляется переход к считыванию первой микрокоманды реализуемой программы.

Временные диаграммы работы модуля в режиме запуска от устройства управления верхнего уровня показаны на фиг.4.

Адрес Анач с выхода счетчика 2 поступает на адресный вход блока 1 и формирует на выходах 1.1-1.6 блока 1 соответствующие поля считываемой микрокоманды. Дальнейший ход работы модуля полностью определяется форматом считанной микрокоманды (фиг.2).

Далее будем считать, что рассматриваемый модуль системы управления (который будем условно обозначать через Mi) выполняет q-й участок программы, в общем случае не являющийся начальным последовательным участком; кроме того, для общности предположим, что некоторые модули Mj,..., Mt одновременно с Мi исполняют другие (параллельные) участки программы.

Случай 1. Пусть очередная считанная из блока 1 микрокоманда имеет формат Ф1 (фиг. 2). Тогда на выходе 1.1 блока 1 (фиг. 1) образуется код микроопераций (МО), на выходах 1.3-1.5 устанавливаются сигналы логического нуля, на выходе 1.2 формируется адресная часть микрокоманды, а на выходе 1.6 блока 1 появляется код времени задержки (B3)модуль системы программного управления, патент № 2145434, обеспечивающий задержку считывания очередной микрокоманды на требуемое время.

Очередной импульс t2 через элемент И 16 поступает на вход синхронизации регистра 4 и фиксирует в регистре 4 код МО. Код МО через открытый блок 10 передается на шину 11 и затем поступает на вход объекта управления. Поскольку на выходах 1.3 и 1.4 блока 1 присутствуют сигналы логического нуля, а регистр 6 обнулен (предыдущим импульсом t1), импульс t2 не проходит ни на вход синхронизации регистра 6, ни на выходы элементов И 24.1-24.k.-1. В то же время импульс t2 через элемент 44 задержки поступает на вход сброса триггера 28 и возвращает его в состояние логического нуля (триггер 28 был установлен в единичное состояние импульсом p с выхода переноса счетчика 3 времени задержки при записи адреса текущей микрокоманды в счетчик 2).

Следующий импульс t1 через элемент И 15 и элемент ИЛИ 42 поступает на вход синхронизации и счетный вход счетчика 3 и, учитывая, что на выходе элемента ИЛИ 20 находится нулевой сигнал, записывает в счетчик 3 код времени задержки модуль системы программного управления, патент № 2145434. Указанный код с информационного выхода счетчика 3 подается на входы элемента 20 и формирует на его выходе сигнал логической единицы. Данный сигнал переводит счетчик 3 в режим счета. Помимо записи кода времени задержки в счетчик 3 импульс t1 с выхода элемента 15 через элемент 43 задержки проходит на вход сброса регистра 6 и подтверждает его нулевое состояние. Поскольку на выходах 1.3-1.5 блока 1 находятся сигналы логического нуля, импульс t1 не проходит ни на выходы элементов И 34 и 37, ни на выходы элементов И 23.1-23.k-1.

Следующий импульс t2 осуществляет те же действия, что и предыдущий импульс t2, т.е. переписывает код микроопераций в регистр 4 и подтверждает нулевое состояние триггера 28.

Очередной импульс t1 через элементы 15 и 42 подается на счетный вход счетчика 3 и инициирует увеличение его содержимого (кода времени задержки модуль системы программного управления, патент № 2145434) на единицу; в остальном воздействие данного импульса аналогично воздействию предшествующего импульса t1. Так как код, появляющийся на информационном выходе счетчика 3, не является нулевым, очередной импульс t1 вновь вызовет увеличение содержимого счетчика 3 на единицу, а импульс t2 снова зафиксирует код микроопераций в регистре 4.

После поступления на счетный вход счетчика 3 (модуль системы программного управления, патент № 2145434-1)-го импульса t1 код на его информационном выходе становится единичным и появление на счетном входе счетчика 3 заднего фронта модуль системы программного управления, патент № 2145434-го импульса t1 вызывает переход счетчика 3 в состояние "00. . . 0", а также формирование на выходе переноса импульса переполнения р. На выходе элемента 20 образуется нулевой потенциал, и счетчик 3 переходит из режима счета в режим приема информации. В то же время импульс переполнения p устанавливает триггер 28 в единичное состояние, а также через открытый элемент И 31 передается на вход синхронизации и счетный вход счетчика 2 и формирует на выходе последнего исполнительный адрес следующей микрокоманды. После этого на выходах блока 1 появляется очередная микрокоманда выполняемого участка программы.

Адрес следующей микрокоманды может быть образован двумя способами в зависимости от содержимого адресной части текущей микрокоманды на выходе 1.2 блока 1. При этом возможны два следующих случая (фиг.2).

а). Код на выходе 1.2 блока 1 является нулевым. В этом случае на выходе элемента ИЛИ 18 формируется сигнал логического нуля. Данный сигнал поступает на прямой вход элемента И 30, устанавливает на его выходе нулевой потенциал и переводит тем самым счетчик 2 в режим счета. Импульс p с выхода элемента 31 поступает на счетный вход и вход синхронизации счетчика 2 и задним фронтом увеличивает его содержимое на единицу, обеспечивая естественный порядок адресации следующей микрокоманды: Аслтек+1, где Асл- адрес следующей микрокоманды; Атек - адрес текущей микрокоманды.

б). Код на выходе 1.2 блока 1 является ненулевым и интерпретируется как адрес принудительного перехода (Апп). Данный код проходит через коммутатор 14 и устанавливается на информационном входе счетчика 2. На выходе элемента ИЛИ 18 формируется сигнал логической единицы. Единичный сигнал с выхода элемента 18 поступает на прямой вход элемента И 30 и, так как на остальных (инверсных) входах этого элемента находятся сигналы логического нуля (поступающие с выходов 1.3 и 1.5 блока 1), обусловливает образование на его выходе потенциала логической единицы. Таким образом, счетчик 2 адреса переходит в режим приема информации. Импульс переполнения счетчика 3 p через элемент 31 проходит на вход синхронизации счетчика 2 и записывает в него адрес Апп, поступающий через коммутатор 14, обеспечивая принудительную адресацию следующей микрокоманды: Аслпп.

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

Случай 2. Допустим, что очередная считанная микрокоманда имеет формат Ф2 (фиг. 2). После считывания микрокоманды формата Ф2 модуль Мi (i-й модуль) переходит в режим передачи управления другим аналогичным модулям системы, т. е. в режим запуска группы параллельных участков программ, закрепленных за указанными модулями. При функционировании i-го модуля в режиме передачи управления возможны два следующих случая: а) модуль Мi после передачи управления прекращает выполнение программы, переходит в исходное состояние и ожидает поступления сигналов инициализации от других модулей; б) модуль Mi после передачи управления приступает к выполнению очередного участка программы и функционирует параллельно с запускаемыми им модулями.

На выходе 1.1 блока 1 образуется код микроопераций, на выходе 1.3 формируется единичный сигнал - метка передачи управления (Мпу), определяющая формат микрокоманды, уровень сигнала на выходе 1.5 остается нулевым, на выходе 1.6 блока 1 появляется код "11...1" (текущая микрокоманда обрабатывается без задержки), а на выходе 1.2 устанавливается ненулевой код передачи управления (КПУ), единичные разряды которого однозначно определяют подмножество запускаемых модулей системы. На выходе 1.4 блока 1 формируется либо нулевой, либо единичный сигнал, соответствующий одному из указанных выше случаев функционирования i-го модуля в режиме передачи управления.

Единичная метка Мпу с выхода 1.3 блока 1 открывает элементы И 23.1-23. к-1, формирует нулевой потенциал на выходе элемента И 30, а также через элемент ИЛИ 39 поступает на первый вход элемента И 35. Так как на втором входе элемента 35 присутствует единичный сигнал, обусловленный единичным состоянием триггера 28 (триггер 28 был переключен в единичное состояние импульсом p с выхода переноса счетчика 3 при записи адреса текущей микрокоманды в счетчик 2), элемент И 35 открывается.

Очередной импульс t2 через элемент И 16 и элемент 35 проходит на вход синхронизации регистра 6 и передним фронтом заносит в этот регистр код передачи управления. Разряды данного кода с первого по (k-1)-й с соответствующих выходов регистра 6 поступают на вторые входы элементов И 24.1-24.k-1 соответственно и на третьи входы элементов И 23.1-23.k-1 соответственно и открывают те элементы И 23.s1-23.sp, 24.s1-24.sp, s1,...,sp модуль системы программного управления, патент № 2145434 {1,2,...,k-1}, которые соответствуют запускаемым модулям системы, т.е. выходам 47.s1-47.sp, к которым подключены запускаемые модули. Импульс t2 проходит через элемент 44 задержки и далее поступает на выходы элементов 24.s1-24.sp. Импульсы с выходов элементов 24.s1-24.sp через соответствующие элементы ИЛИ 27.s1-27.sp передаются на выходы 47.s1-47.sp модуля и далее поступают на входы 46.i1-46. ip запускаемых модулей системы. Одновременно импульс t2 с выхода элемента 44 задержки подается на вход сброса триггера 28 и переводит этот триггер в состояние логического нуля. Нулевой сигнал с прямого выхода триггера 28 закрывает элемент И 35. Этот же импульс t2 поступает на вход синхронизации регистра 4 и фиксирует в нем код микроопераций с выхода 1.1 блока 1.

Очередной импульс t1 через элемент 15 поступает на вторые входы элементов И 23.1-23.k-1 и проходит на выходы элементов 23.s1-23.sp. Далее импульсы, образующиеся на выходах элементов И 23.s1-23.sp, проходят через элементы ИЛИ 27. s1-27.sp на выходы 47.s1-47.sp модуля, после чего аналогично импульсу t2 передаются на входы 46.i1-46.ip запускаемых модулей системы. Таким образом, при передаче управления модулю Mj на соответствующий выход 47.j" модуля Мi выдаются два следующих друг за другом импульса (t2 и t1).

Одновременно рассматриваемый импульс t1 выполняет еще несколько функций, а именно: а) через элемент 43 задержки возвращает регистр 6 в нулевое состояние - нулевые сигналы с выходов регистра 6 снова закрывают все элементы И 23.1- 23. k-1, 24.1-24.k-1; б) через элемент ИЛИ 42 подается на вход синхронизации счетчика 3 и задним фронтом записывает в него единичный код ("11.. . 1") времени задержки с выхода 1.6 блока 1; на выходе элемента ИЛИ 20 образуется сигнал логической единицы, и счетчик 3 переходит в режим счета. Кроме того, импульс t1 поступает на вход синхронизации триггера 9.

Дальнейший ход работы i-го модуля зависит от уровня сигнала на выходе 1.4 блока 1 (фиг.2).

2.1. Предположим, что на выходе 1.4 блока 1 установлен сигнал логического нуля. В этом случае модуль Мi после передачи управления другим модулям переходит к реализации очередного участка программы. Нулевой сигнал с выхода 1.4 блока 1 открывает элемент И 31 и закрывает элемент И 36. На выходе элемента ИЛИ 40 сохраняется нулевой уровень сигнала, и поэтому появление на входе синхронизации триггера 9 импульса t1 не вызывает переход этого триггера в состояние логического нуля. На выходе элемента 17 по-прежнему присутствует единичный сигнал, а выход регистра 4 остается подключенным к шине 11.

Следующий импульс t2 снова вызывает перезапись кода микроопераций с выхода 1.1 блока 1 в регистр 4. Этот же импульс через элементы 16 и 44 проходит на вход сброса триггера 28 и подтверждает его нулевое состояние, блокируя тем самым элемент И 35 и предотвращая повторную запись кода передачи управления в регистр 6.

Следующий импульс t1 через элемент И 15 и элемент ИЛИ 42 поступает на счетный вход счетчика 3 и производит добавление единицы к содержимому счетчика 3. Однако поскольку в последнем размещен код "11...1", добавление единицы вызывает переполнение счетчика 3: на его информационном выходе образуется код "00. ..0", на выходе элемента 20, соответственно, формируется сигнал логического нуля и счетчик 3 переходит в режим приема информации. Одновременно на выходе переноса счетчика 3 возникает импульс р.

Импульс p поступает на вход установки (S) триггера 28 и переключает триггер 28 в состояние логической единицы. Единичный сигнал с прямого выхода триггера 28 подается на второй вход элемента И 35 и тем самым вновь обеспечивает возможность перезаписи в регистр 6 очередного кода передачи управления. (Такой случай возможен, если очередная считываемая из блока 1 микрокоманда снова будет иметь формат Ф2.) В то же время импульс p через открытый элемент И 31 передается на счетный вход и вход синхронизации счетчика 2. Поскольку на выходе элемента И 30 находится сигнал логического нуля (обусловленный наличием на выходе 1.3 блока 1 единичной метки Мпу) и счетчик 2, соответственно, функционирует в режиме счета, содержимое счетчика 2 (адрес текущей микрокоманды Атек) по заднему фронту импульса p увеличивается на единицу и на выходе счетчика 2 формируется адрес следующей микрокоманды Аслтек+1. Затем адрес Асл подается на адресный вход блока 1 и формирует на его выходе очередную микрокоманду. Таким образом, i-й модуль продолжает выполнение программы и далее функционирует аналогично рассмотренному (см. случай 1).

2.2. Теперь предположим, что на выходе 1.4 блока 1 установлен единичный сигнал - метка конца участка программы (Мку). В этом случае модуль Мi после передачи управления другим модулям не переходит к реализации очередного участка программы (что имело место в вышерассмотренном случае), а завершает работу и переходит в исходное состояние. Теперь единичный сигнал с выхода 1.4 блока 1 открывает элемент И 36, закрывая элемент 31, и, кроме того, через элемент ИЛИ 40 проходит на K-вход триггера 9, а также подтверждает единичный уровень сигнала на выходе элемента ИЛИ 17.

Импульс t1 с выхода 45.1 генератора 45 поступает на вход синхронизации триггера 9 и восстанавливает его нулевое состояние. Нулевой сигнал с прямого выхода триггера 9 подается на управляющий вход блока 10, переводит его в состояние "отключено" и тем самым отключает выход регистра 4 от шины 11. В то же время переход триггера 9 в нулевое состояние не ведет к образованию нулевого сигнала на выходе элемента 17, поскольку на втором входе этого элемента все еще находится единичный сигнал с выхода элемента 40.

Далее этот же импульс t1, проходя через элементы 15 и 42, возвращает счетчик 3 в состояние "00...0" и формирует на выходе переноса счетчика 3 импульс р. Этот импульс через открытый элемент И 36 проходит на вход сброса (R) счетчика 2 и устанавливает его в нулевое состояние. Нулевой код с выхода счетчика 2 поступает на адресный вход блока 1 и обусловливает появление на его выходе микрокоманды формата Фн.

На выходах 1.3 и 1.4, а также 1.1 блока 1 восстанавливается нулевой уровень сигнала, а на выходах 1.2 и 1.6 появляются единичные коды. Единичный код с выхода 1.2 блока 1 поступает на входы элемента ИЛИ 18, формирует на его выходе сигнал логической единицы и совместно с нулевыми сигналами с выходов 1.3 и 1.5 блока 1 обусловливает появление единичного сигнала на выходе элемента И 30. Единичный сигнал с выхода элемента 30 поступает на управляющий вход счетчика 2 и переводит его в режим приема информации с выхода коммутатора 14. На выходе элемента ИЛИ 39 образуется нулевой сигнал, который блокирует элемент И 35 и запрещает прохождение импульсов t2 на вход синхронизации регистра 6. На выходе элемента ИЛИ 40 также формируется сигнал логического нуля. Этот сигнал обусловливает появление нулевого сигнала на выходе элемента ИЛИ 17 и, таким образом, блокирует элементы И 15, 16. Текущий модуль переходит в исходное состояние и ожидает поступления сигнала передачи управления от другого модуля системы (или, возможно, от устройства управления верхнего уровня).

Рассмотрим функционирование j-го модуля в режиме приема управления от другого аналогичного модуля Мi. До момента приема управления j-й модуль пассивен и находится в исходном состоянии: счетчик 2 установлен в состояние логического нуля, на выходах блока 1 присутствует микрокоманда формата Фн, счетчик 3, регистр 6, а также триггеры 9, 12.1-12.k-1, 13.1-13.k, 28, 29, регистр 4 установлены в нулевое состояние, элементы И 15, 16 закрыты нулевым сигналом с выхода элемента ИЛИ 17.

Процесс приема управления начинается с поступлением первого импульса (t2, см. случай 2) на вход 46.i"от i-го модуля (здесь i" - номер входа j-го модуля, к которому подключен один из выходов 47.j" i-го модуля (фиг. 1, 3)). Поскольку триггер 12.i" j-го модуля находится в состоянии логического нуля и нулевой сигнал с прямого выхода триггера 12.i" блокирует элемент И 22.i", импульс t2 не проходит через элемент 22.i". В то же время сигнал с инверсного выхода триггера 12.i" открывает элемент И 21.i", указанный импульс проходит через элемент 21.i" на счетный вход триггера 12.i" и задним фронтом переключает данный триггер в единичное состояние. Единичный сигнал с прямого выхода триггера 12. i" открывает элемент И 22.i", одновременно блокируя элемент 21.i".

Вслед за импульсом t2 на входе 46.i"j-го модуля появляется импульс t1. Указанный импульс аналогично t2 поступает на входы элементов 21.i" и 22.i", однако проходит только на выход элемента 22.i". С выхода элемента 22.i" рассматриваемый импульс через элемент ИЛИ 25.i" передается на вход синхронизации триггера 13.i" и задним фронтом переводит его в единичное состояние (на D-входе триггера 13.i" находится единичный сигнал с прямого выхода триггера 12.i"). Единичный сигнал с прямого выхода триггера 13.i" через элемент ИЛИ 26.i" сбрасывает триггер 12.i" в исходное (нулевое) состояние, что снова ведет к блокировке элемента И 22.i" и обусловливает открывание элемента И 21. i". Одновременно указанный сигнал в объединении с нулевыми сигналами с прямых выходов триггеров 13.1-13.i"-1, 13.i"+1-13.k воздействует на шифратор 5 и формирует на его выходе адрес приема управления Апу.

Далее j-й модуль функционирует аналогично работе модуля при приеме управления от устройства управления верхнего уровня. Адрес Апу с выхода шифратора 5 поступает на входы элемента ИЛИ 19 и, будучи отличным от нулевого, формирует на его выходе единичный сигнал. В результате коммутатор 14 настраивается на прием информации с выхода шифратора 5, и адрес Апу передается на информационный вход счетчика 2. Одновременно единичный сигнал с выхода элемента 19 открывает элемент И 32 и, поступая через элемент ИЛИ 38 на J-вход триггера 9, подготавливает последний к установке в единичное состояние.

Очередной импульс t1 с выхода 45.1 генератора 45 поступает на вход синхронизации триггера 9 и задним фронтом переводит его в состояние логической единицы. Единичный сигнал с прямого выхода триггера 9 открывает блок 10 и обеспечивает подключение выхода регистра 4 j-го модуля к шине 11 микроопераций. Одновременно этот же сигнал проходит через элемент ИЛИ 17 и разблокирует элементы И 15, 16. Следующий импульс t2 проходит через элемент 16 на вход синхронизации регистра 4 и фиксирует в нем нулевой код с выхода 1.1 блока 1. (Поскольку элементы 24.1-24.k-1 и 35 заблокированы нулевыми сигналами, данный импульс других действий не производит.)

Следующий импульс t1 подтверждает единичное состояние триггера 9 и проходит на выход элемента И 15. С выхода указанного элемента импульс t1 через элемент ИЛИ 42 передается на счетный вход и вход синхронизации счетчика 3 и записывает в него единичный код с выхода 1.6 блока 1. На выходе элемента ИЛИ 20 образуется единичный сигнал, и счетчик 3 переходит в режим счета. (Так как элементы И 23.1-23.k-1, 37 заблокированы, а регистр 6 находится в нулевом состоянии, импульс t1 никаких действий, кроме отмеченных, не производит. ) Очередной импульс t2 вновь перезаписывает в регистр 4 нулевой код с выхода 1.1 блока 1.

Следующий импульс t1 вновь подтверждает единичное состояние триггера 9. Одновременно этот импульс через открытый элемент 15 и элемент 42 поступает на счетный вход счетчика 3 и задним фронтом увеличивает его содержимое на единицу. Поскольку в счетчике 3 находится единичный код, счетчик 3 переключается в нулевое состояние, вырабатывая при этом импульс p на выходе переноса. Импульс p через элемент 31, открытый нулевым сигналом с выхода 1.4 блока 1 (см. формат Фн, фиг.2), подается на счетный вход и вход синхронизации счетчика 2 и фиксирует в нем адрес приема управления Апу, поступающий с выхода шифратора 5. (Счетчик 2 работает в режиме приема информации, что обеспечивается единичным сигналом на выходе элемента 18 и нулевыми сигналами на выходах 1.3 и 1.5 блока 1.)

В то же время импульс p через элемент И 32 поступает на входы синхронизации триггера 13.k и - через элементы ИЛИ 25.1-25.k-1 - на входы синхронизации триггеров 13.1-13.k-1 и задним фронтом устанавливает их в исходное (нулевое) состояние. (Переключение триггеров 13.1-13.k-1 в нулевое состояние обеспечивается наличием нулевых сигналов на прямых выходах триггеров 12.1-12. k-1. ) На выходе шифратора 5 устанавливается нулевой код, на выходе элемента 19, соответственно, образуется сигнал логического нуля, который блокирует элемент И 32 и настраивает коммутатор 14 на передачу информации с выхода 1.2 блока 1. На этом процесс приема управления j-м модулем завершается.

Далее адрес Aпу с выхода счетчика 2 подается на адресный вход блока 1 и обеспечивает считывание первой микрокоманды реализуемого участка программы. Исполнение программы в дальнейшем происходит аналогично рассмотренному выше. Временные диаграммы для режима приема /передачи управления представлены на фиг.4.

Случай 3. Предположим, что считанная из блока 1 микрокоманда имеет формат Ф3 (фиг.2). В этом случае рассматриваемый модуль завершает исполнение закрепленного за ним параллельного /последовательного участка программы и переходит в исходное состояние. На выходах 1.3 и 1.5 блока 1 формируется нулевой уровень сигнала, на выходе 1.4 появляется единичная метка конца участка программы Мку, а на выходе 1.2 образуется код окончания участка (КОУ).

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

Единичный сигнал с выхода 1.4 блока 1 открывает элемент И 36, блокирует элемент И 31, через элемент ИЛИ 39 открывает элемент И 35 и через элемент ИЛИ 40 поступает на K- вход триггера 9, подготавливая последний к сбросу в нулевое состояние. Очередной импульс t2 через элемент И 16 фиксирует код микроопераций, передаваемый с выхода 1.1 блока 1, в регистре 4. Кроме того, поступая через элемент И 35, открытый единичным сигналом с прямого выхода триггера 28, на вход синхронизации регистра 6, указанный импульс t2 записывает в регистр 6 код окончания участка. Одновременно импульс t2 проходит через элемент 44 задержки, поступает на вход сброса триггера 28 и возвращает его в нулевое состояние.

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

3.1. Если код окончания участка содержит единицу, например, в m-м разряде, m модуль системы программного управления, патент № 2145434 {1,2,...,k-1}, то на m-м выходе регистра 6 появляется сигнал логической единицы. Этот сигнал открывает элемент И 24.m. Импульс t2 с выхода элемента 44 задержки проходит через элемент 24.m и через элемент ИЛИ 27.m передается на выход 47.m модуля для последующей выдачи модулю Мp, управляющему синхронизацией параллельных участков программы (работа модуля в режиме управления синхронизацией будет рассмотрена ниже). Отметим, что при окончании параллельного участка в отличие от режима передачи управления (см. случай 2) на выход 47.m передается только импульс t2; выдача следующего импульса t1 не производится вследствие блокировки элементов И 23.1 -23.k-1 нулевым сигналом с выхода 1.3 блока 1 (см. фиг.2).

3.2. Если код окончания участка является нулевым, то все элементы И 24.1-24. k-1 остаются заблокированными и очередной импульс t2 не проходит ни на один из выходов 47.1-47.k-1.

Дальнейшая работа модуля не зависит от кода в регистре 6.

Следующий импульс t1 поступает на вход синхронизации триггера 9 и устанавливает его в нулевое состояние. Нулевой сигнал с прямого выхода триггера 9 закрывает блок 10, запрещая выдачу сигналов микроопераций на шину 11. Этот же импульс, проходя через элемент И 15 и элемент ИЛИ 42, задним фронтом записывает в счетчик 3 код "11...1" с выхода 1.6 блока 1. На выходе элемента ИЛИ 20 формируется единичный уровень сигнала, и счетчик 3 переходит в режим счета. Одновременно импульс t1 с выхода элемента 15 через элемент 43 задержки проходит на вход сброса регистра 6 и переводит регистр 6 в нулевое состояние (подтверждает нулевое состояние регистра 6- в случае окончания конечного последовательного участка программы). Нулевые сигналы с выходов регистра 6 блокируют элементы И 24.1- 24.k-1.

Очередной импульс t2 не проходит на вход синхронизации регистра 6 вследствие закрытия элемента И 35 нулевым сигналом с выхода триггера 28.

Очередной импульс t1 подтверждает нулевое состояние триггера 9 и - через элементы 15 и 43 - нулевое состояние регистра 6, а также проходит на счетный вход счетчика 3. При появлении заднего фронта импульса t1 счетчик 3 формирует импульс переполнения p и переходит в нулевое состояние. Импульс p через элемент И 36 поступает на вход сброса (R) счетчика 2 и устанавливает счетчик 2 в нулевое состояние - на выходах блока 1 вновь появляется микрокоманда формата Фн (фиг. 2). Таким образом, модуль переходит в исходное состояние. Временные диаграммы работы модуля в режиме окончания участка программы показаны на фиг.4.

Случай 4. Если очередная считанная из блока 1 микрокоманда имеет формат Ф4 (фиг.2), то текущий модуль Мi переходит в состояние ожидания и работает в режиме управления синхронизацией параллельных участков. В этом режиме текущий модуль опрашивает состояние модулей, реализующих требуемые (синхронизируемые) параллельные участки, и в зависимости от результатов опроса либо остается в состоянии ожидания, либо возобновляет исполнение закрепленных за ним участков программы.

Состояние опрашиваемых модулей (участков) фиксируется в триггерах 12.1-12. k-1 i-го модуля и изменяется по мере поступления импульсов t2 при выполнении этими модулями микрокоманд окончания параллельных участков формата Ф3 (см. случай 3). После окончания параллельного участка модулем Ms импульс t2, переданный на выход 47.i" s-го модуля, поступает на вход 46.s" i-го модуля. Так как триггер 12.s"i-го модуля находится в состоянии логического нуля и, следовательно, элемент И 21.s" открыт единичным сигналом с инверсного выхода этого триггера, импульс t2 с входа 46.s" проходит на счетный вход триггера 12.s" и задним фронтом устанавливает его в единичное состояние. В то же время поскольку элемент И 22.s" закрыт нулевым сигналом с прямого выхода триггера 12.s", импульс t2 не проходит через элемент 22.s", что обусловливает сохранение нулевого состояния триггера 13.s". Аналогичным образом происходит переключение других триггеров 12.r, r модуль системы программного управления, патент № 2145434 sмодуль системы программного управления, патент № 2145434, при передаче импульсов t2 от других модулей.

Единичные сигналы с прямых выходов триггеров 12.j1, 12.j2, ..., 12.jp, j1, j2,..., jp модуль системы программного управления, патент № 2145434 {1,2,...,k-1}, поступают на вход шифратора 7 и преобразуются в код синхронизации, соответствующий обобщенному состоянию других модулей (опрашиваемых параллельных участков). По мере завершения параллельных участков и поступления на входы 46.1- 46.k-1 импульсов t2 код на выходах триггеров 12.1- 12.k-1 и, соответственно, на выходе шифратора 7 изменяется и после окончания всех требуемых участков приобретает вполне определенное значение. Решение о завершении требуемых параллельных участков принимается модулем Мi в зависимости от результатов сравнения кода с выхода шифратора 7 с кодом, указываемым в поле 1.2 микрокоманды формата Ф4 (фиг.2).

После считывания микрокоманды формата Ф4 на выходе 1.5 блока 1 формируется единичная метка управления синхронизацией Мус, на выходе 1.6 появляется код "11. . . 1", а на выходе 1.2 образуется код синхронизации (КС), определяющий множество опрашиваемых параллельных участков (модулей системы). Единичный сигнал с выхода 1.5 блока 1 блокирует элемент И 30. На выходе элемента 30 образуется сигнал логического нуля. Счетчик 2 переводится в режим счета. Одновременно сигнал с выхода 1.5 блока 1 открывает элементы И 33 и 37 и через элемент ИЛИ 40 поступает на K-вход триггера 9, подготавливая последний к установке в нулевое состояние.

Очередной импульс t2 через элемент И 16 подается на вход синхронизации регистра 4 и записывает в него код микроопераций с выхода 1.1 блока 1. Этот же импульс через элемент 44 задержки поступает на вход сброса триггера 28 и устанавливает его в нулевое состояние. Следующий импульс t1 с выхода 45.1 генератора 45 передается на вход синхронизации триггера 9 и переключает его в состояние логического нуля. Нулевой сигнал с прямого выхода триггера 9 закрывает блок 10 и временно отключает выход регистра 4 от шины 11. В то же время импульс t1 через элемент 15 и элемент 42 поступает на вход синхронизации счетчика 3 и обеспечивает запись в счетчик 3 кода "11...1" с выхода 1.6 блока 1. На выходе элемента 20 формируется сигнал логической единицы, счетчик 3 переходит в режим счета.

Одновременно импульс t1 через элемент И 37 и элемент ИЛИ 41 передается на счетный вход триггера 29 и задним фронтом переводит его в состояние логической единицы. Единичный сигнал с прямого выхода триггера 29 открывает элемент И 33, а нулевой сигнал с инверсного выхода блокирует элементы И 15, 16, запрещая тем самым прохождение следующих импульсов синхронизации t1 и t2 на их выходы. Кроме того, импульс t1 подтверждает нулевое состояние регистра 6 через элемент 43 задержки.

Код синхронизации с выхода 1.2 блока 1 поступает на второй вход схемы 8 сравнения и сопоставляется с кодом, образующимся на выходе шифратора 7. Если все требуемые параллельные участки не завершены, то коды на входах схемы 8 сравнения не совпадают и на выходе схемы 8 сохраняется сигнал логического нуля, что обусловливает наличие нулевого сигнала на выходе элемента И 33 и блокирует элемент И 34. Очередной импульс t1 подтверждает нулевое состояние триггера 9. Модуль продолжает работать в режиме управления синхронизацией параллельных участков.

При совпадении кодов на входах схемы 8 (все требуемые участки завершены) на входах элемента И 33 происходит совпадение единиц и на выходе элемента 33 появляется сигнал логической единицы. Единичный сигнал с выхода элемента 33 через элемент ИЛИ 38 передается на J-вход триггера 9 и подготавливает указанный триггер к переключению в единичное состояние (единичные сигналы на входах J и К - триггер 9 работает в счетном режиме). Этот же сигнал разрешает прохождение импульсов через элемент И 34.

Очередной импульс t1 переводит триггер 9 в единичное состояние. Единичный сигнал с прямого выхода указанного триггера разрешает работу блока 10 и подтверждает единичный сигнал на выходе элемента ИЛИ 17. Этот же импульс проходит на выход элемента И 34 и с выхода элемента 34 одновременно поступает на выходы элементов ИЛИ 26.1-26.k-1, 41, 42. С выходов элементов 26.1-26. k-1 импульс t1 подается на входы сброса (R) триггеров 12.1-12.k-1 и возвращает (ранее установленные в единичное состояние) в состояние логического нуля. С выхода элемента ИЛИ 41 импульс подается на счетный вход триггера 29 и задним фронтом возвращает его в нулевое состояние. Сигнал логического нуля с прямого выхода триггера 29 вновь блокирует элемент И 33, а единичный сигнал с инверсного выхода разрешает прохождение импульсов через элементы И 15 и 16. На выходе элемента ИЛИ 38 восстанавливается нулевой уровень сигнала.

Одновременно с выхода элемента ИЛИ 42 импульс t1 поступает на счетный вход счетчика 3 и задним фронтом увеличивает его содержимое на единицу. Однако поскольку в счетчике 3 содержится код "11...1", счетчик 3 переходит в нулевое состояние и вырабатывает на выходе переноса импульс р. Импульс p устанавливает в единичное состояние триггер 28 и через открытый элемент И 31 поступает на счетный вход и вход синхронизации счетчика 2. Учитывая, что на управляющем входе счетчика 2 находится нулевой сигнал, обусловленный блокировкой элемента 30 единичным сигналом с выхода 1.5 блока 1, счетчик 2 работает в режиме счета и при появлении заднего фронта импульса p переключается в очередное состояние. Адрес, размещенный в счетчике 2, увеличивается на единицу. Измененный адрес с выхода счетчика 2 подается на адресный вход блока 1 и обеспечивает считывание следующей микрокоманды программы - модуль Мi приступает к реализации следующего участка программы. Дальнейшая работа i-го модуля не отличается от рассмотренной ранее. Временные диаграммы работы модуля в режиме управления синхронизацией параллельных участков представлены на фиг.5.

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

Класс G05B19/18 числовое управление, те автоматически действующие устройства, в частности станки, например при обеспечении производственно-технических условий, таких как выполнение позиционирования, перемещения или координируемых операций с помощью программируемых данных в числовой форме

моделирующий комплекс для станков с чпу -  патент 2438156 (27.12.2011)
устройство обработки информации, способ управления устройством обработки информации, компьютерная программа и среда хранения -  патент 2402080 (20.10.2010)
способ поддержания предельно допустимых технологических режимов -  патент 2379737 (20.01.2010)
программирующее устройство и способ программирования -  патент 2362200 (20.07.2009)
способ управления процессом выходного контроля термоморегуляторов -  патент 2338234 (10.11.2008)
устройство для повышения точности работы привода подач металлорежущего станка -  патент 2307964 (10.10.2007)
многоканальная система нагружения -  патент 2303804 (27.07.2007)
микроконтроллерная сеть -  патент 2280887 (27.07.2006)
блок контроля и управления -  патент 2275669 (27.04.2006)
автоматизированная система управления процессом приготовления шлакообразующих смесей -  патент 2275668 (27.04.2006)

Класс G06F9/22 микроуправление или устройства с микропрограммой

Наверх