RU2116665C1 - Unit of microprogram system - Google Patents

Unit of microprogram system Download PDF

Info

Publication number
RU2116665C1
RU2116665C1 RU97102631A RU97102631A RU2116665C1 RU 2116665 C1 RU2116665 C1 RU 2116665C1 RU 97102631 A RU97102631 A RU 97102631A RU 97102631 A RU97102631 A RU 97102631A RU 2116665 C1 RU2116665 C1 RU 2116665C1
Authority
RU
Russia
Prior art keywords
input
output
elements
inputs
trigger
Prior art date
Application number
RU97102631A
Other languages
Russian (ru)
Other versions
RU97102631A (en
Inventor
И.В. Зотов
В.А. Колосков
В.С. Титов
Original Assignee
Курский государственный технический университет
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Курский государственный технический университет filed Critical Курский государственный технический университет
Priority to RU97102631A priority Critical patent/RU2116665C1/en
Application granted granted Critical
Publication of RU2116665C1 publication Critical patent/RU2116665C1/en
Publication of RU97102631A publication Critical patent/RU97102631A/en

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Abstract

FIELD: automation and computer engineering, in particular, design of distributed microprogram control systems which implement parallel information processing algorithms. SUBSTANCE: device has microprogram memory unit, generator of microinstruction address, microinstruction register, N branch-control registers, control flip-flop, two clock oscillators, access and request counters, comparison circuit, access and request decoders, two groups of N units of three-state elements, group of N NOR gates, three groups of N AND gates, three OR gates, group of N delay gates, univibrator, generator of membership feature, delay counter, four flip-flops, two units of three-state elements, NOR gate, thirteen AND gates, four delay gates. EFFECT: increased speed. 2 cl, 5 dwg

Description

Изобретение относится к области автоматики и цифровой вычислительной техники и может быть использовано при построении алгоритмически распределенных устройств микропрограммного управления вычислительных и управляющих систем высокой производительности, проектируемых на базе однотипных БИС (СБИС) и реализующих параллельные алгоритмы обработки информации. The invention relates to the field of automation and digital computing and can be used to build algorithmically distributed microprogram devices for computing and high-performance control systems designed on the basis of the same type of LSI (VLSI) and implementing parallel information processing algorithms.

Известно микропрограммное устройство управления, содержащее блок постоянной памяти, блок формирования адреса микрокоманд, регистр микрокоманд, регистр начала микропрограммы, регистр конца микропрограммы, дешифратор адреса, триггер управления, генератор импульсов, четыре элемента ИЛИ, группу из N-1 элементов ИЛИ, блок элементов ИЛИ, пять элементов И, два блока элементов И, элемент задержки, триггер конца микропрограммы, триггер начала микропрограммы, пять одновибраторов, N-1 коммутатор и элемент ИЛИ-НЕ (а. с. N 1168936 СССР, кл. G 06 F 9/22; опубл. 23.07.85, БИ N 27). A microprogram control device comprising a read-only memory unit, a micro-command address generation unit, a micro-command register, a micro-program start register, a micro-program end register, an address decoder, a control trigger, a pulse generator, four OR elements, a group of N-1 OR elements, an OR element block , five AND elements, two blocks of AND elements, a delay element, a microprogram end trigger, a microprogram start trigger, five one-shots, an N-1 switch and an OR-NOT element (A.S. N 1168936 USSR, class G 06 F 9/22 ; publ. 23.07.85, BI N 27).

Недостатком этого устройства является значительное число внешних входов/выходов, используемых для организации взаимодействия с другими аналогичными устройствами (приема и выдачи адресов передачи управления), что обуславливает резко ограниченную наращиваемость формируемых на его основе управляющих систем, а следовательно, и узкую область применения устройства. The disadvantage of this device is the significant number of external inputs / outputs used to organize interaction with other similar devices (receiving and issuing control transfer addresses), which leads to a sharply limited scalability of the control systems formed on its basis, and therefore the narrow scope of the device.

Наиболее близким к предлагаемому устройству по технической сущности является микропрограммное устройство управления с контролем, включающее блок постоянной памяти, блок формирования адреса микрокоманд, регистр микрокоманд, группу из N регистров записи (где N - количество автономных микропрограмм), коммутатор управления счетчиком, счетчик выборки, дешифратор выборки, четыре группы из N шинных формирователей, блок управления пуском, блок управления остановом, группу из N элементов задержки, группу из N коммутаторов записи, счетчик опроса, дешифратор опроса, N+1 блоков элементов И, 2N+1 элементов И, группу из N элементов ИЛИ-НЕ, элемент ИЛИ, триггер режимов работы, триггер управления, генератор импульсов (а.с. N 1142832 СССР, кл. G 06 F 9/22; G 06 F 11/00; опубл. 28.02.85, БИ N 8). Closest to the proposed device in technical essence is a microprogram control device with control, including a read-only memory block, micro-command address generation unit, micro-command register, a group of N write registers (where N is the number of stand-alone microprograms), a counter control switch, a sample counter, a decoder samples, four groups of N bus drivers, a start control unit, a stop control unit, a group of N delay elements, a group of N record switches, a polling counter, d survey interrogator, N + 1 blocks of AND elements, 2N + 1 AND elements, a group of N elements OR NOT, an OR element, an operating mode trigger, a control trigger, a pulse generator (A.S. N 1142832 USSR, class G 06 F 9/22; G 06 F 11/00; publ. 28.02.85, BI N 8).

Недостатком указанного устройства является отсутствие возможности опроса состояния (завершены/не завершены) параллельных участков микропрограмм, закрепленных за другими аналогичными устройствами в составе мультимикропрограммной управляющей системы, и, как следствие, узкая область его применения. The disadvantage of this device is the lack of the ability to poll the status (completed / not completed) of parallel sections of microprograms assigned to other similar devices as part of a multicroprogram control system, and, as a result, a narrow scope of its application.

Технической задачей изобретения является расширение области применения устройства на основе организации возможности опроса состояния других аналогичных устройств и синхронизации завершения произвольных групп параллельных участков микропрограмм при функционировании устройства в составе мультимикропрограммной управляющей системы. An object of the invention is to expand the scope of the device based on the organization of the ability to interrogate the status of other similar devices and synchronize the completion of arbitrary groups of parallel sections of microprograms when the device operates as part of a multi-microprogram control system.

Техническая задача решается тем, что модуль мультимикропрограммной системы, содержащий блок памяти микропрограмм, блок формирования адреса микрокоманд, регистр микрокоманд, N регистров передачи управления, триггер управления, первый генератор тактовых импульсов, счетчики выборки и опроса, первый триггер, дешифраторы выборки и опроса, схему сравнения, первую и вторую группы из N блоков тристабильных элементов, группу из N элементов ИЛИ-НЕ, первую и вторую группы из N элементов И, с первого по третий элементы И, с первого по третий элементы ИЛИ, группу из N элементов задержки, одновибратор, шину передачи управления и шину синхронизации параллельных участков, причем прямой выход триггера управления соединен с управляющим входом первого генератора тактовых импульсов, первый и второй информационные входы блока формирования адреса микрокоманд являются соответственно входами логических условий и кода операции модуля, информационный выход блока формирования адреса микрокоманд соединен с адресным входом блока памяти микропрограмм, выход которого соединен с информационным входом регистра микрокоманд, выходы адреса и кода логического условия которого подключены к третьему информационному и управляющему входам блока формирования адреса микрокоманд соответственно, выход микроопераций регистра микрокоманд является выходом микроопераций модуля, выход счетчика выборки соединен с входом дешифратора выборки, выходы с первого по N-й которого подключены к первым входам элементов И первой группы с первого по N-й соответственно, выходы которых соединены с входами синхронизации регистров передачи управления с первого по N-й соответственно, прямые выходы которых подключены к информационным входам блоков тристабильных элементов первой группы с первого по N-й соответственно, выходы которых подключены к шине передачи управления, которая соединена с информационными входами блоков тристабильных элементов второй группы с первого по N-й, выходы которых соединены с входами элементов ИЛИ-НЕ группы с первого по N-й соответственно, выход N-го элемента ИЛИ-НЕ группы соединен с первым входом первого элемента И, выход которого подключен к счетному входу счетчика опроса, выход которого соединен с входом дешифратора опроса, выходы с первого по N-й которого подключены к первым входам элементов И второй группы с первого по N-й соответственно, выходы которых соединены с управляющими входами блоков тристабильных элементов первой и второй групп с первых по N-е соответственно, а также с входами элементов задержки группы с первого по N-й соответственно, выходы которых соединены с входами сброса регистров передачи управления с первого по N-й соответственно, выходы элементов ИЛИ-НЕ группы с первого по N-й подключены к вторым входам элементов И второй группы с первого по N-й соответственно, первый вход, второй вход и выход первого элемента ИЛИ соединены с управляющим входом модуля, выходом второго элемента И и входом сброса триггера управления соответственно, дополнительно включает формирователь признака принадлежности, второй генератор тактовых импульсов, счетчик времени ожидания, второй, третий и четвертый триггеры, первый и второй блоки тристабильных элементов, третью группу из N элементов И, элемент ИЛИ-НЕ, элемент И-НЕ, с четвертого по тринадцатый элементы И, с первого по четвертый элементы задержки, линию состояния параллельных участков, причем выход метки передачи управления/инициализации регистров микрокоманд соединен с первыми входами третьего и четвертого элементов И, выходы которых соединены с входом сброса и счетным входом счетчика выборки соответственно, выход управляющей информации регистра микрокоманд подключен к первому входу схемы сравнения, к информационному входу первого блока тристабильных элементов и к информационным входам регистров передачи управления с первого по N-й, инверсные выходы которых соединены с входами элементов И третьей группы с первого по N-й соответственно, выход статуса регистра микрокоманд соединен с первым входом пятого элемента И, выход которого соединен с входом одновибратора, выход которого подключен к входу первого элемента задержки и входу установки второго триггера, инверсный выход которого подключен к управляющему входу второго блока тристабильных элементов, прямой выход второго триггера соединен с управляющим входом первого блока тристабильных элементов, выход которого подключен к шине синхронизации параллельных участков, которая соединена с информационным входом второго блока тристабильных элементов, выход которого подключен к входам элемента ИЛИ-НЕ, адресному входу формирователя признака принадлежности и к второму входу схемы сравнения, первый и второй выходы первого генератора тактовых импульсов подключены к первым входам шестого и седьмого элементов И, выход шестого элемента И соединен с входом синхронизации блока формирования адреса микрокоманд, четвертый информационный вход которого подключен к шине передачи управления, выход седьмого элемента И соединен с входом синхронизации регистра микрокоманд и с входом второго элемента задержки, выход которого соединен с вторым входом третьего элемента И, инверсный выход второго триггера подключен к первому входу элемента И-НЕ, второй вход которого подключен к выходу формирователя признака принадлежности, выход элемента И-НЕ соединен с первым входом второго элемента ИЛИ, выход которого подключен к линии состояния параллельных участков, выход первого элемента задержки соединен со счетным входом второго триггера, а также с первыми входами восьмого и девятого элементов И, вторые входы которых подключены к линии состояния параллельных участков, выходы восьмого и девятого элементов И соединены соответственно с входом установки первого триггера и первым входом третьего элемента ИЛИ, прямой выход первого триггера соединен с управляющим входом второго генератора тактовых импульсов, выход которого соединен со счетным входом счетчика времени ожидания, выход которого подключен к входам десятого элемента И, выход которого подключен к входам сброса первого триггера и счетчика времени ожидания, выходы элементов И третьей группы с первого по N-й подключены к третьему входу третьего элемента И, третий выход первого генератора тактовых импульсов соединен с вторым входом четвертого элемента И, первым входом одиннадцатого элемента И и с входом третьего элемента задержки, выход которого подключен к вторым входам элемента И первой группы с первого по N-й, второму входу первого элемента И и к входу четвертого элемента задержки, выход которого соединен с первым входом двенадцатого элемента И, второй вход и выход которого подключены к N-му выходу дешифратора опроса и к входу сброса счетчика опроса соответственно, выход метки конца участка регистра микрокоманд подключен к первому входу тринадцатого элемента И, второй вход которого соединен с выходом второго элемента задержки, выход тринадцатого элемента И подключен к счетному входу третьего триггера, прямой выход которого подключен к вторым входам шестого и седьмого элементов И, инверсный выход третьего триггера соединен с вторым входом пятого элемента И, третий, четвертый и пятый входы которого соединены соответственно с инверсным выходом четвертого триггера, инверсным выходом первого триггера и с выходом элемента ИЛИ-НЕ, выход схемы сравнения подключен к второму входу второго элемента ИЛИ, выход метки конца микропрограммы регистра микрокоманд соединен с выходом конца микропрограммы модуля и с первым входом второго элемента И, второй вход которого подключен к третьему выходу первого генератора тактовых импульсов, управляющий выход блока формирования адреса микрокоманд подключен к входу установки триггера управления и к второму входу третьего элемента ИЛИ, выход которого подключен к входу установки четвертого триггера, прямой выход которого соединен с вторым входом одиннадцатого элемента И, выход которого соединен с входом установки третьего триггера и счетным входом четвертого триггера, а в блок формирования адреса микрокоманд, включающий шифратор начального адреса, мультиплексор, первый блок элементов ИЛИ, первый элемент ИЛИ и регистр адреса микрокоманды, причем вход шифратора начального адреса является четвертым информационным входом блока формирования адреса микрокоманд, управляющий и информационный входы мультиплексора являются соответственно управляющим и первым информационным входами блока формирования адреса микрокоманд, n-1 старших разрядов третьего информационного входа которого (где n - разрядность адреса микрокоманды) соединены с n-1 старшими разрядами первого входа первого блока элементов ИЛИ, а младший разряд подключен к первому входу первого элемента ИЛИ, второй вход и выход которого соединены соответственно с выходом мультиплексора и младшим разрядом первого входа первого блока элементов ИЛИ, вход синхронизации регистра адреса микрокоманды подключен к входу синхронизации блока формирования адреса микрокоманд, а выход является информационным выходом блока формирования адреса микрокоманд, дополнительно введены второй блок элементов ИЛИ, второй элемент ИЛИ, регистр и одновибратор, причем второй информационный вход блока формирования адреса микрокоманд соединен с первым входом второго элемента ИЛИ и первым входом второго блока элементов ИЛИ, выход которого соединен с информационным входом регистра, вход сброса которого соединен с входом синхронизации блока формирования адреса микрокоманд, а выход подключен к второму входу первого блока элементов ИЛИ, выход которого подключен к информационному входу регистра адреса микрокоманды, выход шифратора начального адреса соединен с вторым входом второго блока элементов ИЛИ и вторым входом второго элемента ИЛИ, выход которого соединен с входом одновибратора, выход которого подключен к входу синхронизации регистра и управляющему выходу блока формирования адреса микрокоманд. The technical problem is solved by the fact that the multicroprogram system module containing the microprogram memory block, the micro-command address generation block, the micro-command register, N control transfer registers, the control trigger, the first clock pulse generator, sampling and polling counters, the first trigger, the sampling and polling decoders, the circuit comparison, the first and second groups of N blocks of tristable elements, a group of N elements OR NOT, the first and second groups of N elements AND, from the first to third elements AND, from the first to third elements of the IL And, a group of N delay elements, a one-shot, control transfer bus and a synchronization bus of parallel sections, with the direct output of the control trigger connected to the control input of the first clock pulse generator, the first and second information inputs of the micro-command address generation unit are respectively inputs of logical conditions and operation code module, the information output of the micro-command address generation unit is connected to the address input of the microprogram memory unit, the output of which is connected to the information input ohms of the micro-command register, the outputs of the address and logical condition code of which are connected to the third information and control inputs of the micro-command address generation unit, respectively, the micro-operation output of the micro-command register is the micro-operation output of the module, the output of the sample counter is connected to the input of the sample decoder, the outputs from the first to the Nth of which connected to the first inputs of the AND elements of the first group from the first to the Nth respectively, the outputs of which are connected to the synchronization inputs of the control transfer registers from the first on the Nth, respectively, the direct outputs of which are connected to the information inputs of the blocks of tristable elements of the first group from the first to the Nth, respectively, the outputs of which are connected to the control bus, which is connected to the information inputs of the blocks of the tristable elements of the second group from the first to the Nth the outputs of which are connected to the inputs of the elements of the OR-NOT group from the first to the Nth, respectively, the output of the Nth element of the OR-NOT groups is connected to the first input of the first element And, the output of which is connected to the counting input of the counter CA, the output of which is connected to the input of the polling decoder, the outputs from the first to the Nth of which are connected to the first inputs of the elements And of the second group from the first to the Nth, respectively, the outputs of which are connected to the control inputs of the blocks of tristable elements of the first and second groups from the first to Nth, respectively, as well as the inputs of the delay elements of the group from the first to the Nth, respectively, the outputs of which are connected to the reset inputs of the control transfer registers from the first to the Nth, respectively, the outputs of the elements OR NOT of the group from the first to the Nth are connected to the second inputs of the AND elements of the second group, from the first to the Nth, respectively, the first input, the second input and the output of the first OR element are connected to the control input of the module, the output of the second AND element and the reset trigger input, respectively, additionally includes an attribute indicator driver, a second generator clock pulses, latency counter, second, third and fourth triggers, first and second blocks of tristable elements, a third group of N elements AND, an OR-NOT element, an AND-NOT element, from the fourth to thirteen And elements, from the first to the fourth delay elements, the status line of parallel sections, and the output of the control transfer / initialization register of micro command registers is connected to the first inputs of the third and fourth And elements, the outputs of which are connected to the reset input and the counting input of the sample counter, respectively, the output of control information microcommand register is connected to the first input of the comparison circuit, to the information input of the first block of tristable elements and to the information inputs of control transfer registers with first in the Nth direction, the inverse outputs of which are connected to the inputs of the elements of the third group I from the first to the Nth, respectively, the status output of the micro-command register is connected to the first input of the fifth element And, the output of which is connected to the input of the one-shot, the output of which is connected to the input of the first element the delay and the installation input of the second trigger, the inverse output of which is connected to the control input of the second block of tristable elements, the direct output of the second trigger is connected to the control input of the first block of tristable elements, output which is connected to the synchronization bus of parallel sections, which is connected to the information input of the second block of tristable elements, the output of which is connected to the inputs of the OR-NOT element, the address input of the membership attribute generator and to the second input of the comparison circuit, the first and second outputs of the first clock generator are connected to the first inputs of the sixth and seventh elements AND, the output of the sixth element AND is connected to the synchronization input of the micro-command address generation unit, the fourth information input of which o connected to the control bus, the output of the seventh element And is connected to the synchronization input of the micro command register and to the input of the second delay element, the output of which is connected to the second input of the third AND element, the inverse output of the second trigger is connected to the first input of the AND gate, the second input of which connected to the output of the shaper of an attribute of ownership, the output of the AND-NOT element is connected to the first input of the second OR element, the output of which is connected to the status line of parallel sections, the output of the first delay element is connected inen with a counting input of the second trigger, as well as with the first inputs of the eighth and ninth AND elements, the second inputs of which are connected to the status line of parallel sections, the outputs of the eighth and ninth AND elements are connected respectively to the installation input of the first trigger and the first input of the third OR element, direct output the first trigger is connected to the control input of the second clock generator, the output of which is connected to the counting input of the timeout counter, the output of which is connected to the inputs of the tenth element And, the output which is connected to the reset inputs of the first trigger and the latency counter, the outputs of the And elements of the third group from the first to the Nth are connected to the third input of the third And element, the third output of the first clock generator is connected to the second input of the fourth And element, the first input of the eleventh element And and with the input of the third delay element, the output of which is connected to the second inputs of the element And of the first group from the first to the Nth, the second input of the first element And and the input of the fourth delay element, the output of which is connected to the input of the twelfth element And, the second input and output of which is connected to the Nth output of the polling decoder and the reset input of the polling counter, respectively, the output of the mark of the end of the micro-register register section is connected to the first input of the thirteenth And, the second input of which is connected to the output of the second delay element , the output of the thirteenth element And is connected to the counting input of the third trigger, the direct output of which is connected to the second inputs of the sixth and seventh elements And, the inverse output of the third trigger is connected to the second input of the fifth of the And element, the third, fourth, and fifth inputs of which are connected respectively with the inverse output of the fourth trigger, the inverse output of the first trigger, and the output of the OR-NOT element, the output of the comparison circuit is connected to the second input of the second OR element, the output of the label mark of the micro-register of the microcommands is connected to the output of the end of the module firmware and with the first input of the second AND element, the second input of which is connected to the third output of the first clock pulse generator, the control output of the micro-command address generation unit It is connected to the installation input of the control trigger and to the second input of the third OR element, the output of which is connected to the installation input of the fourth trigger, the direct output of which is connected to the second input of the eleventh element AND, the output of which is connected to the installation input of the third trigger and the counting input of the fourth trigger, and in a micro command address generation unit including a start address encoder, a multiplexer, a first block of OR elements, a first OR element and a micro command address register, wherein the input of the start address encoder is is the fourth information input of the micro-command address generation unit, the control and information inputs of the multiplexer are respectively the control and first information inputs of the micro-command address formation unit, n-1 high-order bits of the third information input (where n is the bit capacity of the micro-command address) are connected to n-1 high-order bits the first input of the first block of OR elements, and the least significant bit is connected to the first input of the first OR element, the second input and output of which are connected respectively to the output the multiplexer’s house and the low-order bit of the first input of the first block of OR elements, the synchronization input of the micro command address register is connected to the synchronization input of the micro command address generation block, and the output is the information output of the micro command address generation block, the second block of OR elements, the second OR element, the register and the one-shot are introduced wherein the second information input of the micro-instruction address generating unit is connected to the first input of the second OR element and the first input of the second block of OR elements, the course of which is connected to the information input of the register, the reset input of which is connected to the synchronization input of the micro-command address generation unit, and the output is connected to the second input of the first block of OR elements, the output of which is connected to the information input of the micro-command address register, the output address encoder output is connected to the second input of the second block of OR elements and the second input of the second OR element, the output of which is connected to the input of a single-vibrator, the output of which is connected to the register synchronization input and the control output row block forming microinstruction addresses.

Сущность предлагаемого изобретения состоит в следующем. The essence of the invention is as follows.

Предлагаемый модуль совместно с другими аналогичными устройствами образует мультимикропрограммную систему (ММПС), которая предназначается для реализации сложных комплексов микропрограмм, предусматривающих как последовательное, так и параллельное выполнение различных микрокоманд, образующих соответственно последовательные и параллельные участки. Каждый модуль реализует некоторое подмножество параллельных и последовательных участков, выделяемых при разбиении (декомпозиции) исходного комплекса микропрограмм. The proposed module, together with other similar devices, forms a multi-microprogram system (MMS), which is intended for the implementation of complex microprogram complexes that provide for both sequential and parallel execution of various microcommands, forming respectively sequential and parallel sections. Each module implements a subset of parallel and sequential sections allocated during the partition (decomposition) of the original microprogram complex.

В процессе выполнения тех или иных участков микропрограмм модули системы могут обмениваться управляющей информацией через соответствующие информационные шины и осуществлять запуск параллельных или последовательных участков, закрепленных за другими модулями, а также производить опрос модулей ММПС с целью определения состояния реализуемых ими параллельных участков. Наряду с инициализацией участков микропрограмм (основных микропрограмм) модули ММПС аналогично прототипу могут выдавать задания на выполнение автономных микропрограмм, стандартных микроподпрограмм, а также инициировать передачу результатов их реализации, при этом в отличие от прототипа шины системы используются только для передачи управляющих сообщений, в то время как данные между операционными устройствами транслируются по собственной шине данных (или через собственную коммуникационную подсистему) управляемой системы (объекта). During the execution of certain sections of microprograms, the system modules can exchange control information through the corresponding information buses and launch parallel or serial sections assigned to other modules, as well as interrogate the MMS modules in order to determine the status of parallel sections implemented by them. Along with the initialization of sections of microprograms (main microprograms), the MMSM modules, similarly to the prototype, can issue tasks for executing stand-alone microprograms, standard microprograms, and also initiate the transfer of the results of their implementation, while, unlike the prototype, bus systems are used only for transmitting control messages, while how data between operating devices is transmitted via its own data bus (or through its own communication subsystem) of the managed system (object).

Для идентификации участков микропрограмм при их запуске используются специальные признаки (коды), присваиваемые таким образом, что одновременно инициализируемые в соответствии с реализуемым алгоритмом участки (участки, открывающиеся единой вершиной распараллеливания) получают одинаковые признаки, а признаки участков микропрограмм, относящихся к различным вершинам (микрокомандам) распараллеливания, являются различными. Аналогичные признаки применяются и для идентификации автономных микропрограмм и стандартных микроподпрограмм, однако в дальнейшем для упрощения описания между автономными микропрограммами, стандартными микроподпрограммами и участками микропрограмм различий условно не делается. To identify the sections of microprograms at their launch, special features (codes) are used that are assigned in such a way that sections (sections that open with a single parallelization vertex) that are initialized in accordance with the algorithm receive the same signs, and signs of sections of the microprograms belonging to different vertices (microcommands) a) parallelization are different. Similar features are used to identify stand-alone microprograms and standard microprograms, however, in the future, to simplify the description between stand-alone microprograms, standard microprograms, and sections of microprograms, conditionally no differences are made.

Процедура параллельных участков состоит в следующем. The procedure for parallel sections is as follows.

Модуль Mi, инициирующий запуск, формирует и выдает на шину ММПС (шину передачи управления) код признака инициализируемых параллельных участков Пs. Данный код одновременно воспринимается всеми остальными модулями ММПС и, если за некоторым модулем Mj, j ≠ i, закреплен участок с признаком Пs, то в соответствии с кодом Пs j-й модуль формирует адрес начала этого участка Аjsнач) и начинает выполнение микропрограммы с адреса Аjs, в противном случае запуск модуля Мj не производится.The module M i , which initiates the start, generates and issues on the MMPS bus (control transfer bus) a sign code of initialized parallel sections P s . This code is simultaneously perceived by all other IMF modules and, if a module with the attribute П s is assigned to some module M j , j ≠ i, then, in accordance with the code П s, the j-th module forms the address of the beginning of this section А jsbeg ) and starts the firmware from address A js , otherwise the module M j is not started.

В отличие от прототипа, где возможность синхронизации завершения различных групп параллельных участков отсутствует, предлагаемый модуль в ходе реализации закрепленного за ним участка микропрограммы может опрашивать состояние других модулей и переходить к выполнению определенных микрокоманд только после завершения требуемых параллельных участков. Для реализации возможности синхронизации параллельных участков (ветвей параллельного алгоритма) все точки слияния различных групп параллельных участков (точки синхронизации) помечаются номерами 1, 2,..., R, где R - число точек синхронизации параллельных участков во всех реализуемых системой микропрограммах (предполагается, что указанные номера и упомянутые выше признаки участков не совпадают). В формат микрокоманд, реализуемых устройством, включается специальное поле, в котором фиксируется код номера точки синхронизации (НТС), закрывающей соответствующий участок микропрограммы. Данное поле заполняется только если соответствующая микрокоманда является последней в реализуемом участке, причем этот участок является параллельным (в противном случае содержимое рассматриваемого поля является нулевым). Unlike the prototype, where there is no possibility of synchronization of the completion of various groups of parallel sections, the proposed module, during the implementation of the microprogram section assigned to it, can interrogate the state of other modules and proceed to the execution of certain microcommands only after completion of the required parallel sections. To realize the possibility of synchronizing parallel sections (branches of the parallel algorithm), all the merging points of various groups of parallel sections (synchronization points) are labeled with numbers 1, 2, ..., R, where R is the number of synchronization points of parallel sections in all the firmware implemented by the system (it is assumed that the indicated numbers and the above-mentioned features of the sites do not match). A special field is included in the format of the microcommands implemented by the device, in which the code of the synchronization point number (NTS) is fixed, which closes the corresponding section of the firmware. This field is filled only if the corresponding microcommand is the last in the realizable section, and this section is parallel (otherwise the contents of the field in question is zero).

Синхронизация окончания параллельных участков осуществляется следующим образом. Synchronization of the end of parallel sections is as follows.

Модули ММПС после выполнения соответствующих параллельных участков микропрограммы переходят в состояние ожидания. Один из указанных модулей (например, Мi), считающийся ведущим, выдает на шину системы (шину синхронизации параллельных участков) код НТС Тr, закрывающий выполненный и опрашиваемые участки. Данный код поступает на входы всех остальных модулей и формирует на их выходах сигналы состояния. Формирование сигнала Sk модуля Mk, k≠i, осуществляется согласно следующему правилу.IMPS modules after the execution of the corresponding parallel sections of the firmware go into standby mode. One of the indicated modules (for example, М i ), considered to be the leader, issues the NTS code Т r to the system bus (synchronization bus for parallel sections), closing the executed and interrogated sections. This code goes to the inputs of all other modules and generates status signals at their outputs. The signal S k of the module M k , k ≠ i, is generated according to the following rule.

1. Сигнал состояния Sk приобретает нулевое значение, если за k-м модулем закреплен участок, завершающийся точкой синхронизации Tr, но выполнение этого участка не окончено.1. The state signal S k acquires a zero value if a section ending in the synchronization point T r is assigned to the k-th module, but this section is not completed.

2. Сигнал состояния Sk принимает единичное значение, если за k-м модулем закреплен участок, закрываемый точкой Tr, и, кроме того, этот участок завершен, либо участка, завершающегося точкой Tr и закрепленного за k-м модулем, не существует.2. The state signal S k takes a single value if the kth module is secured by a section that is closed by the point T r , and, in addition, this section is completed, or the section ending by the point T r and assigned to the kth module does not exist .

Сигнал состояния ведущего модуля Si является единичным.The status signal of the master module S i is single.

Сигналы состояния с выходов модулей ММПС передаются на общую линию состояния параллельных участков и формируют сигнал обобщенного состояния Z. Если хотя бы один из требуемых параллельных участков не завершен (т.е. для некоторого модуля Mt - St = "0"), то имеет место Z="0", иначе Z приобретает единичное значение. Модуль Mi (ведущий) опрашивает состояние уровня сигнала Z на линии состояния параллельных участков и при Z = "0" на некоторое время T освобождает шину ММПС, по истечении которого осуществляет повторный опрос состояния параллельных участков, а при Z = "1" выходит из режима ожидания и возобновляет выполнение микропрограммы.The state signals from the outputs of the MIMS modules are transmitted to the common status line of parallel sections and form a signal of a generalized state Z. If at least one of the required parallel sections is not completed (ie, for some module M t - S t = "0"), then Z = "0" takes place, otherwise Z takes on a single value. The module M i (master) interrogates the state of the signal level Z on the status line of parallel sections and for Z = "0" for some time T releases the MMS bus, after which it re-polls the status of parallel sections, and when Z = "1" leaves standby mode and resumes the execution of the firmware.

На фиг. 1 дана функциональная схема модуля мультимикропрограммной системы; на фиг. 2 - функциональная схема блока формирования адреса микрокоманд; на фиг. 3 представлены форматы микрокоманд, реализуемые устройством; на фиг. 4 изображена структурная схема мультимикропрограммной системы; на фиг. 5 приведены временные диаграммы работы устройства в режиме опроса состояния параллельных участков. In FIG. 1 is a functional diagram of a module of a multi-microprogram system; in FIG. 2 is a functional block diagram of the formation of the address of microcommands; in FIG. 3 shows the microcommand formats implemented by the device; in FIG. 4 depicts a block diagram of a multi-microprogram system; in FIG. 5 shows the timing diagrams of the operation of the device in the mode of polling the status of parallel sections.

Модуль мультимикропрограммной системы (фиг. 1) содержит блок 1 памяти микропрограмм, блок 2 формирования адреса микрокоманд, регистр 3 микрокоманд, регистры 4.1-4. N передачи управления, триггер 5 управления, первый генератор 6 тактовых импульсов, счетчики 7 выборки и 8 опроса, дешифраторы 9 выборки и 10 опроса, схему 11 сравнения, первый триггер 13, первую 16.1-16.N и вторую 17.1-17.N группы блоков тристабильных элементов, группу элементов ИЛИ-НЕ 18.1-18. N, первую 19.1-19.N и вторую 20.1-20.N группы элементов И, первый 22, второй 23 и третий 24 элементы И, первый 25, второй 26 и третий 27 элементы ИЛИ, группу элементов задержки 28.1-28.N, одновибратор 29, шину 49 передачи управления и шину 50 синхронизации параллельных участков, причем прямой выход триггера 5 управления соединен с управляющим входом генератора 6 тактовых импульсов, первый и второй информационные входы блока 2 формирования адреса микрокоманд являются соответственно входами 52 логических условий и 53 кода операции модуля, информационный выход блока 2 формирования адреса микрокоманд соединен с адресным входом блока 1 памяти микропрограмм, выход которого соединен с информационным входом регистра 3 микрокоманд, выходы 3.1 адреса и 3.2. кода логического условия которого подключены к третьему информационному и управляющему входам блока 2 формирования адреса микрокоманд соответственно, выход 3.3 микроопераций регистра 3 микрокоманд является выходом 54 микроопераций модуля, выход счетчика 7 выборки соединен с входом дешифратора 9 выборки, выходы с первого по N-й которого подключены к первым входам элементов И 19.1-19.N соответственно, выходы которых соединены с входами синхронизации регистров 4.1-4.N передачи управления соответственно, прямые выходы которых подключены к информационным входам блоков тристабильных элементов 16.1-16. N соответственно, выходы которых подключены к шине 49 передачи управления, которая соединена с информационными входами блоков тристабильных элементов 17.1-17.N, выходы которых соединены с входами элементов ИЛИ-НЕ 18.1-18.N соответственно, выход элемента ИЛИ-НЕ 18.N соединен с первым входом элемента И 22, выход которого подключен к счетному входу счетчика 8 опроса, выход которого соединен с входом дешифратора 10 опроса, выходы с первого по N-й которого подключены к первым входам элементов И 20.1-20. N соответственно, выходы которых соединены с управляющими входами блоков тристабильных элементов 16.1, 17.1; ...; 16.N, 17.N соответственно, а также с входами элементов задержки 28.1-28.N соответственно, выходы которых соединены с входами сброса регистров 4.1-4-N передачи управления соответственно, выходы элементов ИЛИ-НЕ 18.1-18.N подключены к вторым входам элементов И 20.1-20.N соответственно, первый вход, второй вход и выход элемента ИЛИ 25 соединены с управляющим входом модуля, выходом элемента И 23 и входом сброса триггера 5 управления соответственно, а также дополнительно включенные формирователь 12 признака принадлежности, второй генератор 14 тактовых импульсов, счетчик 15 времени ожидания, третью группу элементов И 21.1-21. N, второй 30, третий 31 и четвертый 32 триггеры, первый 33 и второй 34 блоки тристабильных элементов, элемент ИЛИ-НЕ 35, элемент И-НЕ 36, четвертый 37, пятый 38, шестой 39.1, седьмой 39.2, восьмой 40.1, девятый 40.2, десятый 41, одиннадцатый 42, двенадцатый 43 и тринадцатый 44 элементы И, первый 45, второй 46, третий 47 и четвертый 48 элементы задержки, линию 51 состояния параллельных участков, причем выход 3.5 метки передачи управления/инициализации регистра 3 микрокоманд соединен с первыми входами элементов И 24 и 37, выходы которых соединены с входом сброса и счетным входом счетчика 7 выборки соответственно, выход 3.4 управляющей информации регистра 3 микрокоманд подключен к первому входу схемы 11 сравнения, к информационному входу блока 33 тристабильных элементов и к информационным входам регистров управления 4.1-4.N, инверсные выходы которых соединены с входами элементов И 21.1.-21.N соответственно, выход 3.6 статуса регистра 3 микрокоманд соединен с первым входом элемента И 38, выход которого соединен с входом одновибратора 29, выход которого подключен к входу элемента 45 задержки и входу установки триггера 30, инверсный выход которого подключен к управляющему входу блока 34 тристабильных элементов, прямой выход триггера 30 соединен с управляющим входом блока 33 тристабильных элементов, выход которого подключен к шине 50 синхронизации параллельных участков, которая соединена с информационным входом блока 34 тристабильных элементов, выход которого подключен к входам элемента ИЛИ-НЕ 35, адресному входу формирователя 12 признака принадлежности и к второму входу схемы 11 сравнения, первый и второй выходы генератора 6 тактовых импульсов подключены к первым входам элементов И 39.1 и 39.2, выход элемента И 39.1 соединен с входом синхронизации блока 2 формирования адреса микрокоманд, четвертый информационный вход которого подключен к шине 49 передачи управления, выход элемента И 39.2 соединен с входом синхронизации регистра 3 микрокоманд и с входом элемента 46 задержки, выход которого соединен с вторым входом элемента И 24, инверсный выход триггера 30 подключен к первому входу элемента И-НЕ 36, второй вход которого подключен к выходу формирователя 12 признака принадлежности, выход элемента И-НЕ 36 соединен с первым входом элемента ИЛИ 26, выход которого подключен к линии 51 состояния параллельных участков, выход элемента 45 задержки соединен со счетным входом триггера 30, а также с первыми входами элементов И 40.1 и 40.2, вторые входы которых подключены к линии 51 состояния параллельных участков, выходы элементов И 40.1 и 40.2 соединены соответственно с входом установки триггера 13 и первым входом элемента ИЛИ 27, прямой выход триггера 13 соединен с управляющим входом генератора 14 тактовых импульсов, выход которого соединен со счетным входом счетчика 15 времени ожидания, выход которого подключен к входам элемента И 41, выход которого подключен к входам сброса триггера 13 и счетчика 15 времени ожидания, выходы элементов И 21.1-21.N подключены к третьему входу элемента И 24, третий выход генератора 6 тактовых импульсов соединен с вторым входом элемента И 37, первым входом элемента И 42 и с входом элемента 47 задержки, выход которого подключен к вторым входам элементов И 19.1-19. N, второму входу элемента И 22 и к входу элемента 48 задержки, выход которого соединен с первым входом элемента И 43, второй вход и выход которого подключены к N-му выходу дешифратора 10 опроса и к входу сброса счетчика 8 опроса соответственно, выход 3.7 метки конца участка регистра 3 микрокоманд подключен к первому входу элемента И 44, второй вход которого соединен с выходом элемента 46 задержки, выход элемента И 44 подключен к счетному входу триггера 31, прямой выход которого подключен к вторым входам элементов И 39.1 и 39.2, инверсный выход триггера 31 соединен с вторым входом элемента И 38, третий, четвертый и пятый входы которого соединены соответственно с инверсным выходом триггера 32, инверсным выходом триггера 13 и с выходом элемента ИЛИ-НЕ 35, выход схемы 11 сравнения подключен к второму входу элемента ИЛИ 26, выход 3.8 метки конца микропрограммы регистра 3 микрокоманд соединен с выходом 55 конца микропрограммы модуля и с первым входом элемента И 23, второй вход которого подключен к третьему выходу генератора 6 тактовых импульсов, управляющий выход блока 2 формирования адреса микрокоманд подключен к входу установки триггера 5 управления и к второму входу элемента ИЛИ 27, выход которого подключен к входу установки триггера 32, прямой выход которого соединен с вторым входом элемента И 42, выход которого соединен с входом установки триггера 31 и счетным входом триггера 32. The multi-microprogram system module (Fig. 1) contains a microprogram memory block 1, a micro-command address generating unit 2, a micro-command register 3, registers 4.1-4. N control transmission, trigger 5 control, the first generator 6 clock pulses, counters 7 samples and 8 polls, decoders 9 samples and 10 polls, circuit 11 comparison, the first trigger 13, the first 16.1-16.N and the second group 17.1-17.N blocks of tristable elements, a group of elements OR NOT 18.1-18. N, the first 19.1-19.N and the second 20.1-20.N of the group of AND elements, the first 22, the second 23 and the third 24 elements AND, the first 25, the second 26 and the third 27 elements OR, the group of delay elements 28.1-28.N, a single vibrator 29, a control transfer bus 49 and a parallel section synchronization bus 50, the direct output of the trigger 5 of the control being connected to the control input of the clock generator 6, the first and second information inputs of the micro-command address generating unit 2 are respectively inputs 52 of the logical conditions and 53 of the module operation code , information output of the block 2 f rmirovaniya microinstruction address connected to the address input of the memory unit 1 firmware whose output is connected to data input register 3 microinstructions, address outputs 3.1 and 3.2. the logical condition code of which is connected to the third information and control inputs of the microcommand address generation block 2, respectively, the output 3.3 of microoperations register 3 of the microcommands is the output of 54 microoperations of the module, the output of the sample counter 7 is connected to the input of the decoder 9, the outputs of which are connected from the first to the Nth to the first inputs of the elements AND 19.1-19.N, respectively, the outputs of which are connected to the synchronization inputs of the registers 4.1-4.N of the control transmission, respectively, the direct outputs of which are connected to information to the input entrances of blocks of tristable elements 16.1-16. N, respectively, the outputs of which are connected to the control transfer bus 49, which is connected to the information inputs of the blocks of tristable elements 17.1-17.N, the outputs of which are connected to the inputs of the elements OR NOT 18.1-18.N, respectively, the output of the element OR NOT 18.N connected to the first input of the And 22 element, the output of which is connected to the counting input of the poll counter 8, the output of which is connected to the input of the poll decoder 10, the first through Nth outputs of which are connected to the first inputs of And 20.1-20 elements. N, respectively, the outputs of which are connected to the control inputs of the blocks of tristable elements 16.1, 17.1; ...; 16.N, 17.N, respectively, as well as with the inputs of delay elements 28.1-28.N, respectively, the outputs of which are connected to the reset inputs of the control transfer registers 4.1-4-N, respectively, the outputs of the elements OR NOT 18.1-18.N are connected to the second inputs of the elements AND 20.1-20.N, respectively, the first input, the second input and the output of the element OR 25 are connected to the control input of the module, the output of the element And 23 and the reset input of the trigger 5 of the control, respectively, as well as additionally included shaper 12 attribute of ownership, the second generator 14 clock pulses, count a timer 15, a third group of elements AND 21.1-21. N, second 30, third 31 and fourth 32 triggers, first 33 and second 34 blocks of tristable elements, element OR NOT 35, element NOT 36, fourth 37, fifth 38, sixth 39.1, seventh 39.2, eighth 40.1, ninth 40.2 , tenth 41, eleventh 42, twelfth 43 and thirteenth 44 elements And, the first 45, second 46, third 47 and fourth 48 delay elements, a line 51 of the status of parallel sections, and the output 3.5 mark transfer control / initialization register 3 microcommands connected to the first inputs elements 24 and 37, the outputs of which are connected to the reset input and the counting input of the midrange sensor 7 of the sample, respectively, the output 3.4 of the control information of the register 3 microcommands is connected to the first input of the comparison circuit 11, to the information input of the block 33 of the tristable elements and to the information inputs of the control registers 4.1-4.N, the inverse outputs of which are connected to the inputs of the elements And 21.1.- 21.N, respectively, the output 3.6 of the status of the register of 3 microcommands is connected to the first input of the AND element 38, the output of which is connected to the input of the single-shot 29, the output of which is connected to the input of the delay element 45 and the trigger input of the trigger 30, inverted the stroke of which is connected to the control input of the block 34 of the tristable elements, the direct output of the trigger 30 is connected to the control input of the block 33 of the tristable elements, the output of which is connected to the synchronization bus 50 of parallel sections, which is connected to the information input of the block 34 of the tristable elements, the output of which is connected to the inputs of the element OR NOT 35, to the address input of the driver 12 of the sign of belonging and to the second input of the comparison circuit 11, the first and second outputs of the clock generator 6 are connected to the first inputs of the electronic I 39.1 and 39.2, the output of the And 39.1 element is connected to the synchronization input of the micro-command address generating unit 2, the fourth information input of which is connected to the control transfer bus 49, the output of the And 39.2 element is connected to the synchronization input of the micro-command register 3 and with the input of the delay element 46, the output which is connected to the second input of the AND element 24, the inverse output of the trigger 30 is connected to the first input of the AND-NOT 36 element, the second input of which is connected to the output of the shaper 12 of the membership attribute, the output of the AND-NOT 36 element is connected to the first input ohm of the OR element 26, whose output is connected to the parallel sections state line 51, the output of the delay element 45 is connected to the counting input of the trigger 30, as well as to the first inputs of the AND elements 40.1 and 40.2, the second inputs of which are connected to the parallel sections state line 51, the outputs of the elements And 40.1 and 40.2 are connected respectively to the installation input of the trigger 13 and the first input of the OR element 27, the direct output of the trigger 13 is connected to the control input of the clock generator 14, the output of which is connected to the counting input of the latency counter 15, the output of which is connected to the inputs of the And 41 element, the output of which is connected to the reset inputs of the trigger 13 and the standby counter 15, the outputs of the And 21.1-21.N elements are connected to the third input of the And 24 element, the third output of the clock pulse generator 6 is connected to the second input of the element And 37, the first input of the element And 42 and with the input of the element 47 of the delay, the output of which is connected to the second inputs of the elements And 19.1-19. N, to the second input of AND element 22 and to the input of the delay element 48, the output of which is connected to the first input of AND element 43, whose second input and output are connected to the Nth output of the polling decoder 10 and to the reset input of the polling counter 8, respectively, output 3.7 marks the end of the register portion 3 of the microcommands is connected to the first input of the And 44 element, the second input of which is connected to the output of the delay element 46, the output of And 44 is connected to the counting input of the trigger 31, the direct output of which is connected to the second inputs of And 39.1 and 39.2, the inverse trigger output 31 connection nen with the second input of the AND 38 element, the third, fourth and fifth inputs of which are connected respectively with the inverse output of the trigger 32, the inverse output of the trigger 13 and the output of the OR-NOT 35 element, the output of the comparison circuit 11 is connected to the second input of the OR element 26, output 3.8 the marks of the end of the microprogram register 3 micro-commands are connected to the output 55 of the end of the firmware of the module and to the first input of the And 23 element, the second input of which is connected to the third output of the clock generator 6, the control output of the micro-address formation unit 2 n to the installation input of the trigger 5 of the control and to the second input of the OR element 27, the output of which is connected to the installation input of the trigger 32, the direct output of which is connected to the second input of the And 42 element, the output of which is connected to the installation input of the trigger 31 and the counting input of the trigger 32.

Блок 2 формирования адреса микрокоманд (фиг.2) включает шифратор 56 начального адреса, мультиплексор 57, первый 58 и второй 59 блоки элементов ИЛИ, первый элемент ИЛИ 60, регистр 61 адреса микрокоманд, регистр 62, одновибратор 63 и второй элемент ИЛИ 64, причем вход шифратора 56 является четвертым информационным входом блока формирования адреса микрокоманд, управляющий и информационный входы мультиплексора 57 являются соответственно управляющим и первым информационным входами блока формирования адреса микрокоманд, n-1 старших разрядов третьего информационного входа которого (где n - разрядность адреса микрокоманды) соединены с n-1 старшими разрядами первого входа блока 58 элементов ИЛИ, а младший разряд подключен к первому входу элемента ИЛИ 60, второй вход и выход которого соединены соответственно с выходом мультиплексора 57 и младшим разрядом первого входа блока 58 элементов ИЛИ, вход синхронизации регистра 61 подключен к входу синхронизации блока формирования адреса микрокоманд, а выход является информационным выходом блока формирования адреса микрокоманд, второй информационный вход которого соединен с первым входом элемента ИЛИ 64 и первым входом блока 59 элементов ИЛИ, выход которого соединен с информационным входом регистра 62, вход сброса которого соединен с входом синхронизации блока формирования адреса микрокоманд, а выход подключен к второму входу блока элементов ИЛИ 58, выход которого подключен к информационному входу регистра 61, выход шифратора 56 соединен с вторым входом блока 59 элементов ИЛИ и вторым входом элемента ИЛИ 64, выход которого соединен с входом одновибратора 63, выход которого подключен к входу синхронизации регистра 62 и управляющему выходу блока формирования адреса микрокоманд. The micro-command address generating unit 2 (FIG. 2) includes a start address encoder 56, a multiplexer 57, a first 58 and a second 59 blocks of OR elements, a first OR element 60, a micro-command address register 61, a register 62, a one-shot 63 and a second OR element 64, the input of the encoder 56 is the fourth information input of the micro-command address generating unit, the control and information inputs of the multiplexer 57 are the control and first information inputs of the micro-command address generating unit, n-1 senior bits of the third information the input of which (where n is the bit depth of the address of the microcommand) is connected to n-1 by the highest bits of the first input of the block of 58 OR elements, and the least significant bit is connected to the first input of the OR element 60, the second input and output of which are connected respectively to the output of multiplexer 57 and the least significant bit the first input of the OR element block 58, the synchronization input of the register 61 is connected to the synchronization input of the micro-command address generating unit, and the output is the information output of the micro-command address generating unit, the second information input which is connected to the first input of the OR element 64 and the first input of the block 59 of the OR elements, the output of which is connected to the information input of the register 62, the reset input of which is connected to the synchronization input of the unit for generating the micro-command address, and the output is connected to the second input of the block of OR elements 58, the output of which connected to the information input of the register 61, the output of the encoder 56 is connected to the second input of the block 59 of the OR elements and the second input of the element OR 64, the output of which is connected to the input of the one-shot 63, the output of which is connected to the sync input lowering the register 62 and the control output of the micro-command address generating unit.

Назначение элементов модуля мультимикропрограммной системы (фиг.1) состоит в следующем. The purpose of the elements of the module multimedia system (figure 1) is as follows.

Блок 1 памяти микропрограммы (БПМП) служит для постоянного хранения и выдачи микрокоманд, входящих в различные участки микропрограмм, закрепленные за данным модулем. The microprogram memory unit 1 (BMP) serves for the permanent storage and issuance of microcommands included in various sections of microprograms assigned to this module.

Регистр 3 микрокоманд предназначен для приема и фиксации микрокоманд, поступающих с выхода блока 1, на время их анализа или обработки. The register 3 microcommands is intended for receiving and fixing microcommands coming from the output of block 1, for the time of their analysis or processing.

Регистры 4.1-4. N передачи управления предназначены для приема, временного хранения и выдачи кодов признаков участков микропрограмм при передаче управления или инициализации других аналогичных модулей управляющей системы. Registers 4.1-4. N control transmissions are intended for receiving, temporarily storing and issuing feature codes of microprogram sections during control transfer or initialization of other similar modules of the control system.

Генератор 6 тактовых импульсов служит для формирования трех сдвинутых друг относительно друга импульсных последовательностей t1, t2, t3, синхронизирующих работу различных элементов устройства.The generator 6 clock pulses is used to form three shifted relative to each other pulse sequences t 1 , t 2 , t 3 that synchronize the operation of various elements of the device.

Счетчик 7 выборки, дешифратор 9 выборки и элементы И 19.1-19.N предназначены для управления записью признаков участков микропрограмм в регистры 4.1-4. N, а элементы И 24 и 37 служат для формирования импульсов управления счетчиком 7 выборки. The counter 7 samples, the decoder 9 samples and the elements And 19.1-19.N are designed to control the recording of signs of sections of microprograms in registers 4.1-4. N, and the elements And 24 and 37 are used to form control pulses of the counter 7 of the sample.

Счетчик 8 опроса, дешифратор 10 опроса предназначены для управления считыванием информации и организации циклического опроса регистров 4.1-4.N, а блоки 16.1-16. N тристабильных элементов служат для передачи информации (кодов признаков участков микропрограмм) с выходов регистров 4.1-4.N соответственно на шину 49 передачи управления. Poll counter 8, polling decoder 10 are designed to control the reading of information and organize cyclic polling of registers 4.1-4.N, and blocks 16.1-16. N tristable elements are used to transmit information (feature codes of microprogram sections) from the outputs of the registers 4.1-4.N, respectively, to the control transfer bus 49.

Шины 49 передачи управления и 50 синхронизации параллельных участков служат соответственно для передачи кодов признаков участков микропрограмм и кодов НТС при передаче управления и опросе состояния параллельных участков соответственно, а линия 51 используется для формирования сигнала обобщенного состояния Z опрашиваемых параллельных участков. The control transfer buses 49 and synchronization parallel sections 50 are used for transmitting feature codes of microprogram sections and NTS codes, respectively, while transferring control and polling the status of parallel sections, respectively, and line 51 is used to generate a generalized signal Z of the polled parallel sections.

Блоки 17.1-17. N тристабильных элементов совместно с элементами ИЛИ-НЕ 18.1-18. N соответственно служат для формирования сигналов, характеризующих состояние шины 49, элементы И 20.1-20.N предназначены для формирования сигналов, являющихся одновременно сигналами управления блоков 16.1-16.N, 17.1-17. N тристабильных элементов соответственно и сигналами сброса регистров 4.1-4. N соответственно, а элементы 28.1-28. N используются для задержки поступления сигналов сброса регистров 4.1-4.N соответственно на время выдачи информации на шину 49 передачи управления. Blocks 17.1-17. N tristable elements in conjunction with the elements OR NOT 18.1-18. N respectively serve to generate signals characterizing the state of the bus 49, the elements And 20.1-20.N are designed to generate signals that are simultaneously control signals of blocks 16.1-16.N, 17.1-17. N tristable elements, respectively, and reset signals of the registers 4.1-4. N, respectively, and elements 28.1-28. N are used to delay the arrival of reset signals of the registers 4.1-4.N, respectively, at the time of issuing the information to the control transfer bus 49.

Элемент И 22 предназначен для управления процессом счета счетчика 8 опроса в зависимости от текущего состояния шины 49, а элементы И 43 и задержки 48 служат для формирования сигнала сброса счетчика 8 при окончании очередного цикла опроса (появлении единичного сигнала на N-м выходе дешифратора 10), при этом элемент 48 предотвращает сброс счетчика 8 сразу же после его переключения в состояние "11...1" и возбуждения единичного сигнала на N-м выходе дешифратора 10, сдвигая импульс сброса t3 на время выдачи информации из регистра 4.N на шину 49.The element And 22 is designed to control the counting process of the counter 8 polling depending on the current state of the bus 49, and the elements And 43 and delays 48 are used to generate a reset signal of the counter 8 at the end of the next cycle of polling (the appearance of a single signal at the N-th output of the decoder 10) , while the element 48 prevents the reset of the counter 8 immediately after it switches to the state "11 ... 1" and the excitation of a single signal at the Nth output of the decoder 10, shifting the reset pulse t 3 at the time of issuing information from the register 4.N by tire 49.

Триггер 5 в объединении с элементом И 23 и элементом ИЛИ 25 служит для управления работой генератора 6. The trigger 5 in combination with the element And 23 and the element OR 25 serves to control the operation of the generator 6.

Триггеры 31 и 32 совместно с элементами И 44, 42, 39.1, 39.2, элементом ИЛИ 27 и элементом 46 задержки используются для блокировки подачи импульсов t1 и t2 на входы синхронизации блока 2 и регистра 3 микрокоманд при работе модуля в режиме опроса состояния параллельных участков и нахождении в состоянии ожидания передачи управления от другого аналогичного устройства; при этом элемент ИЛИ 27 обеспечивает объединение сигналов запуска, возникающих при передаче управления на текущий модуль или завершении опроса состояния параллельных участков, элемент И 42 формирует сигнал переключения в единичное состояние триггера 31, а элемент 46 задержки введен для предотвращения повторного переключения триггера 31 в момент исчезновения единичного сигнала на выходе 3,7 метки конца участка регистра 3 и задержки импульса t2 на время установления единичного сигнала на выходе 3.5 регистра 3.Triggers 31 and 32, together with AND 44, 42, 39.1, 39.2, OR 27 and delay 46, are used to block the supply of pulses t 1 and t 2 to the synchronization inputs of block 2 and register 3 of micro-commands when the module is operating in the parallel state polling mode plots and in a state of waiting for the transfer of control from another similar device; wherein the OR element 27 provides a combination of trigger signals that occur when the control is transferred to the current module or the polling of the status of parallel sections is completed, the And 42 element generates a switch signal to the single state of the trigger 31, and the delay element 46 is inserted to prevent the trigger 31 from switching again at the moment of disappearance a single signal at the output of 3.7 marks the end of the section of the register 3 and the pulse delay t 2 at the time of establishing a single signal at the output of 3.5 register 3.

Блок 34 тристабильных элементов предназначен для передачи информации (кодов НТС) с шины 50 на входы формирователя 12 признака принадлежности, элемента ИЛИ-НЕ 35 и схемы 11 сравнения. Block 34 of the tristable elements is designed to transmit information (NTS codes) from the bus 50 to the inputs of the shaper 12 of the membership attribute, the OR-NOT 35 element and the comparison circuit 11.

Элемент ИЛИ-НЕ 35 служит для формирования сигнала состояния шины 50 синхронизации параллельных участков. The element OR-NOT 35 is used to generate a signal state bus 50 synchronization of parallel sections.

Блок 33 тристабильных элементов обеспечивает передачу кодов НТС с выхода 3,4 регистра 3 на шину 50 при работе модуля в режиме опроса состояния параллельных участков. Block 33 of tristable elements provides the transfer of NTS codes from the output of 3.4 register 3 to bus 50 when the module is in the polling state of parallel sections.

Элемент И 38 в объединении с одновибратором 29 предназначен для формирования импульса p инициализации цикла опроса состояния параллельных участков. Element And 38 in combination with a single-shot 29 is designed to generate an impulse p to initialize the polling cycle of the state of parallel sections.

Триггер 30 служит для управления приемом (выдачей) управляющей информации с шины (на шину) 50 через блок 34 (33) тристабильных элементов соответственно. The trigger 30 is used to control the reception (issuance) of control information from the bus (to the bus) 50 through the block 34 (33) of the tristable elements, respectively.

Формирователь 12 признака принадлежности выполняется в виде ППЗУ с организацией Qx1 бит (где Q - число различных точек синхронизации, которыми завершаются участки микропрограмм, закрепленные за текущим модулем) и предназначен для преобразования кода НТС Tr, поступающего с шины 50, в одноразрядный признак D, определяемый следующим образом:

Figure 00000002

Схема 11 сравнения введена для сопоставления кода НТС Tr, поступающего с шины 50, с кодом НТС Ts, соответствующим точке синхронизации, которая закрывает параллельный участок, выполненный текущим модулем.The membership attribute generator 12 is executed in the form of an EPROM with Qx1 bits organization (where Q is the number of different synchronization points that end the microprogram sections assigned to the current module) and is designed to convert the STC code Tr coming from the bus 50 into a one-bit attribute D, determined in the following way:
Figure 00000002

A comparison circuit 11 is introduced to match the TCV code Tr coming from the bus 50 with the TCV code Ts corresponding to a synchronization point that closes the parallel section made by the current module.

Элемент ИЛИ 26 служит для формирования сигнала состояния Si текущего модуля. Элемент ИЛИ 26 имеет выходной каскад с "открытым" коллектором, нагрузкой для которого является внешнее сопротивление R (фиг. 1). The OR element 26 is used to generate a Si state signal of the current module. The OR element 26 has an output stage with an "open" collector, the load for which is the external resistance R (Fig. 1).

Элемент И-НЕ 36 обеспечивает формирование сигнала - маски, который осуществляет блокировку передачи сигнала с выхода схемы 11 сравнения на линию 51 состояния параллельных участков. The AND-NOT 36 element provides the formation of a signal — a mask, which blocks the signal transmission from the output of the comparison circuit 11 to the state line 51 of parallel sections.

Элемент 45 предназначен для задержки подачи импульса p с выхода одновибратора 29 на счетный вход триггера 30 и входы элементов И 40.1 и 40.2 на время формирования сигнала обобщенного состояния Z на линии 51 при работе модуля в режиме опроса состояния параллельных участков. Element 45 is designed to delay the supply of the pulse p from the output of the single-shot 29 to the counting input of the trigger 30 and the inputs of the elements And 40.1 and 40.2 at the time of generating the signal of the generalized state Z on line 51 when the module is operating in the mode of polling the state of parallel sections.

Генератор 14, триггер 13, счетчик 15 времени ожидания и элемент И 41 предназначены для отсчета времени T между двумя смежными циклами опроса состояния параллельных участков, при этом триггер 13 используется для управления запуском генератора 14 и блокировки элемента И 38, а элемент И 41 служит для формирования сигнала "Тайм-аут", являющегося сигналом сброса триггера 13 и счетчика 15 и отмечающего конец требуемого временного интервала Т. The generator 14, trigger 13, the latency counter 15 and the And 41 element are designed to count the time T between two adjacent polling cycles of the state of parallel sections, while the trigger 13 is used to control the start of the generator 14 and block the And 38 element, and the And 41 element is used to the formation of the signal "Timeout", which is the reset signal of the trigger 13 and the counter 15 and marking the end of the required time interval T.

Элементы И 40.1 и 40.2 служит для формирования сигналов запуска процесса отсчета времени ожидания Т и инициализации текущего модуля после завершения всех требуемых параллельных участков соответственно. Elements And 40.1 and 40.2 are used to generate signals for starting the process of counting the waiting time T and initialize the current module after completion of all the required parallel sections, respectively.

Назначение элементов блока 2 формирования адреса микрокоманд (фиг. 2) состоит в следующем. The purpose of the elements of block 2 of the formation of the address of microcommands (Fig. 2) is as follows.

Шифратор 56 служит для формирования начального адреса параллельного или последовательного участка микропрограммы в блоке 1 при передаче управления данному модулю. The encoder 56 is used to generate the starting address of the parallel or sequential section of the firmware in block 1 when transferring control to this module.

Мультиплексор 57 предназначен для формирования значения опрашиваемого логического условия. Multiplexer 57 is designed to generate the value of the interrogated logical condition.

Регистр 61 служит для приема, хранения и выдачи исполнительного адреса следующей микрокоманды. Register 61 is used to receive, store and issue the executive address of the next microcommand.

Регистр 62 введен для предварительной записи адресов инициализации модуля (кодов операции) и исключает необходимость длительной фиксации информации на третьем и четвертом информационных входах блока 2 до момента появления первого тактового импульса t1 на выходе генератора 6.Register 62 is entered for preliminary recording of module initialization addresses (operation codes) and eliminates the need for long-term recording of information on the third and fourth information inputs of block 2 until the first clock pulse t 1 appears at the output of generator 6.

Элемент ИЛИ 60 предназначен для модификации значения младшего разряда адреса следующей микрокоманды в точках ветвления микропрограммы. The OR 60 element is intended to modify the value of the least significant bit of the address of the next microcommand at the branch points of the firmware.

Блок 59 элементов ИЛИ обеспечивает объединение адресов инициализации модуля, поступающих с входа 53 кода операции модуля и выхода шифратора 56, и передачу адресов на вход регистра 62. Block 59 elements OR provides a combination of the initialization addresses of the module coming from the input 53 of the operation code of the module and the output of the encoder 56, and the transfer of addresses to the input of the register 62.

Блок 58 элементов ИЛИ обеспечивает объединение адресов инициализации и адреса следующей микрокоманды, поступающих соответственно с выхода регистра 62 и третьего информационного входа блока 2, и передачу адресов на вход регистра 61. Block 58 elements OR provides a combination of initialization addresses and the addresses of the next microcommands, respectively, received from the output of the register 62 and the third information input of block 2, and the transfer of addresses to the input of the register 61.

Элемент ИЛИ 64 служит для формирования сигнала, индицирующего появление адреса инициализации на выходе шифратора 56 или кода операции на входе 53 модуля. The OR element 64 is used to generate a signal indicating the appearance of the initialization address at the output of the encoder 56 or the operation code at the input 53 of the module.

Одновибратор 63 предназначен для формирования импульса запуска текущего модуля при появлении адреса на выходе шифратора 56 или кода операции на входе 53 модуля. The one-shot 63 is designed to generate a start pulse for the current module when an address appears on the output of the encoder 56 or an operation code at the input 53 of the module.

Работу предлагаемого устройства (условно обозначаемого Mi) рассмотрим на примере функционирования ММПС, состоящей из множества идентичных модулей и реализующей микропрограмму сложного параллельного алгоритма управления.The operation of the proposed device (conventionally referred to as M i ) will be considered by the example of the functioning of the MMS, consisting of many identical modules and implementing the microprogram of a complex parallel control algorithm.

Первоначально все регистры, триггеры и счетчики (фиг. 1, 2), за исключением счетчика 8, установленного в состояние "11...1", находятся в состоянии логического нуля, поэтому генераторы 6 и 14 выключены, на всех выходах дешифратора 9 выборки присутствует нулевой уровень сигнала, на выходах дешифратора 10 опроса находится код "100...0", а элементы блоков 16.1-16.N-1 и 33 находятся в состоянии высокого импеданса ("отключено") (цепи начальной установки на фиг. 1, 2 условно не показаны). В ячейках блока 1 с ненулевыми адресами записаны микрокоманды, составляющие участки микропрограмм, закрепленные за рассматриваемым модулем. На шинах 49 и 50 присутствует нулевой, а на линии 51 - единичный уровень сигнала. Initially, all the registers, triggers and counters (Fig. 1, 2), with the exception of counter 8, set to "11 ... 1", are in a state of logical zero, so the generators 6 and 14 are turned off, at all outputs of the decoder 9 samples there is a zero signal level, at the outputs of the polling decoder 10 there is a code "100 ... 0", and the elements of blocks 16.1-16.N-1 and 33 are in a high impedance state ("off") (initial setup circuit in Fig. 1 , 2 conditionally not shown). In the cells of block 1 with nonzero addresses, microcommands are written that make up the sections of microprograms assigned to the module under consideration. On buses 49 and 50 there is zero, and on line 51 - a single signal level.

Функционирование ММПС начинается с момента подачи на вход 53 одного из ее модулей (допустим, модуля Mi) кода выполняемой операции (фиг.1). Код операции (КОП), представляющий собой адрес начала соответствующей микропрограммы (адрес начального последовательного участка), с входа 53 поступает (фиг. 2) на первые входы элемента ИЛИ 64 и блока элементов ИЛИ 59. Поскольку КОП содержит по меньшей мере одну единицу, на выходе элемента 64 возникает положительный перепад уровня сигнала, который воздействует на одновибратор 63 и возбуждает на его выходе импульс "Пуск". Одновременно КОП проходит через блок 59, на втором входе которого присутствует нулевой код, обусловленный отсутствием информации на шине 49, и устанавливается на информационном входе регистра 62. Импульс с выхода одновибратора 63 подается на вход синхронизации регистра 62 и задним фронтом (срезом) фиксирует в нем поступивший КОП. КОП с выхода регистра 62 через блок элементов ИЛИ 58 (на первом входе которого находится нулевой код, обусловленный нулевым состоянием регистра 3) проходит на информационный вход регистра 61 адреса микрокоманд.The operation of the IMPS begins from the moment of input to the input 53 of one of its modules (for example, module M i ) of the code of the operation to be performed (Fig. 1). The operation code (CPC), which is the start address of the corresponding firmware (address of the initial sequential section), from input 53 is supplied (Fig. 2) to the first inputs of the OR element 64 and the block of OR elements 59. Since the CPC contains at least one unit, the output of the element 64 there is a positive difference in signal level, which acts on the single-shot 63 and excites the pulse "Start" at its output. At the same time, the CPC passes through block 59, at the second input of which there is a zero code, due to the lack of information on the bus 49, and is installed on the information input of the register 62. The pulse from the output of the single-vibrator 63 is fed to the synchronization input of the register 62 and records a trailing edge (slice) in it Received CPC. The CPC from the output of the register 62 through the block of elements OR 58 (at the first input of which there is a zero code, due to the zero state of register 3) passes to the information input of the register 61 of the address of microcommands.

Одновременно импульс с выхода одновибратора 63 поступает (фиг.1) на вход установки триггера 5, а также через элемент ИЛИ 27 - на вход установки триггера 32 и переключает указанные триггеры в единичное состояние. Единичный сигнал с прямого выхода триггера 32 открывает элемент И 42, а единичный сигнал с прямого выхода триггера 5 подается на управляющий вход генератора 6 и разрешает формирование на его выходах импульсных последовательностей t1, t2 и t3.At the same time, the pulse from the output of the one-shot 63 is supplied (Fig. 1) to the input of the trigger 5 installation, and also through the OR element 27 to the input of the trigger 32 installation and switches these triggers to a single state. A single signal from the direct output of the trigger 32 opens the And 42 element, and a single signal from the direct output of the trigger 5 is fed to the control input of the generator 6 and allows the formation of pulse sequences t 1 , t 2 and t 3 at its outputs.

Поскольку триггер 31 находится в исходном (нулевом) состоянии и нулевой сигнал с его прямого выхода блокирует элементы И 39.1, 39.2, первые импульсы t1 и t2 с первого и второго выходов генератора 6 соответственно не проходят на выходы элементов 39.1 и 39.2. В свою очередь импульс t3 с третьего выхода генератора 6 через открытый элемент 42 поступает на вход установки триггера 31 и переводит его в состояние логической единицы. Единичный сигнал с прямого выхода триггера 31 открывает элементы 39.1 и 39.2, а нулевой сигнал с инверсного выхода блокирует элемент И 38, предотвращая тем самым срабатывание одновибратора 29. Кроме того, импульс t3 с выхода элемента 42 поступает на счетный вход триггера 32 и срезом возвращает его в состояние логического нуля.Since the trigger 31 is in the initial (zero) state and the zero signal from its direct output blocks the elements AND 39.1, 39.2, the first pulses t 1 and t 2 from the first and second outputs of the generator 6, respectively, do not pass to the outputs of the elements 39.1 and 39.2. In turn, the pulse t 3 from the third output of the generator 6 through the open element 42 is fed to the input of the installation of the trigger 31 and puts it in the state of the logical unit. A single signal from the direct output of the trigger 31 opens the elements 39.1 and 39.2, and a zero signal from the inverse output blocks the And 38 element, thereby preventing the operation of the one-shot 29. In addition, the pulse t 3 from the output of the element 42 goes to the counting input of the trigger 32 and returns with a cut its in a state of logical zero.

Одновременно импульс с третьего выхода генератора 6 передается на вход элемента 47 задержки и далее - на второй вход элемента И 22 и вход элемента 48 задержки. Если на первом входе элемента 22 находится единичный сигнал, то импульс t3 поступает на счетный вход счетчика 8 и переключает его в нулевое состояние, в противном случае передача импульса t3 на счетный вход счетчика не происходит и состояние последнего не изменяется. Импульс t3 с выхода элемента 48 спустя определенное время поступает на первый вход элемента И 43 и если счетчик 8 все еще находится в состоянии "11...1" и на N-м выходе дешифратора 10 соответственно присутствует единичный сигнал, через элемент 43 проходит на вход сброса счетчика 8 и переводит его в состояние "00...0". В противном случае счетчик 8 уже установлен в состояние "00...0", на всех выходах дешифратора 10 присутствует нулевой уровень сигнала и импульс через элемент 43 не проходит.At the same time, the pulse from the third output of the generator 6 is transmitted to the input of the delay element 47 and then to the second input of the AND element 22 and the input of the delay element 48. If at the first input of element 22 there is a single signal, then the pulse t 3 enters the counting input of the counter 8 and switches it to the zero state, otherwise the transmission of the pulse t 3 to the counting input of the counter does not occur and the state of the latter does not change. The pulse t 3 from the output of the element 48 after a certain time arrives at the first input of the element And 43 and if the counter 8 is still in the state "11 ... 1" and at the N-th output of the decoder 10 there is a single signal, respectively, passes through the element 43 to the counter reset input 8 and puts it in the state "00 ... 0". Otherwise, the counter 8 is already set to "00 ... 0", at all outputs of the decoder 10 there is a zero signal level and the pulse does not pass through the element 43.

Таким образом, первый импульс t3 обеспечивает переключение счетчика 8 в состояние "00...0" и формирует на выходах дешифратора 10 нулевой уровень сигнала, блокируя тем самым элементы И 20.1-20.N.Thus, the first pulse t 3 switches the counter 8 to the state "00 ... 0" and generates a zero signal level at the outputs of the decoder 10, thereby blocking the elements And 20.1-20.N.

Второй тактовый импульс последовательности t1 c первого выхода генератора 6 через открытый элемент И 39.1 передается на вход синхронизации блока 2 (фиг. 2) и, поступая далее на вход синхронизации регистра 61, фронтом фиксирует в нем ранее установленный на его информационном входе КОП, инициируя процесс считывания первой микрокоманды. Одновременно импульс t1 поступает на вход сброса регистра 62 и возвращает его в нулевое состояние; на выходе регистра 62 появляется нулевой код. КОП с выхода регистра 61 подается на адресный вход БПМП 1 (фиг. 1) и формирует на его выходе первую микрокоманду реализуемого участка микропрограммы (начального последовательного участка реализуемой микропрограммы). С выхода блока 1 данная микрокоманда поступает на информационный вход регистра 3. Очередной тактовый импульс t2 через открытый элемент 39.2 проходит на вход синхронизации регистра 3 и фиксирует в нем считанную из блока 1 микрокоманду.The second clock pulse of the sequence t 1 from the first output of the generator 6 through the open element And 39.1 is transmitted to the synchronization input of block 2 (Fig. 2) and, coming further to the synchronization input of register 61, the front captures the CPC previously installed on its information input, initiating the process of reading the first microcommand. At the same time, the pulse t 1 enters the reset input of the register 62 and returns it to the zero state; at the output of register 62, a null code appears. The CPC from the output of the register 61 is fed to the address input of the BPMP 1 (Fig. 1) and forms at its output the first micro-command of the realized microprogram section (the initial sequential section of the realized microprogram). From the output of block 1, this microcommand is fed to the information input of register 3. The next clock pulse t 2 passes through the open element 39.2 to the synchronization input of register 3 and fixes a micro-command read from block 1 in it.

Далее в зависимости от формата считанной микрокоманды (фиг. 3) устройство может функционировать в одном из следующих режимов; выполнения операционной микрокоманды (режим А), передачи управления другим (другому) аналогичным устройствам системы или инициализации параллельных участков (режим B) и синхронизации завершения параллельных участков микропрограммы (режим C). Further, depending on the format of the read micro command (Fig. 3), the device may function in one of the following modes; executing an operating micro-command (mode A), transferring control to other (different) similar devices of the system, or initializing parallel sections (mode B) and synchronizing the completion of parallel sections of the firmware (mode C).

Рассмотрим работу устройства в каждом из перечисленных режимов. Consider the operation of the device in each of the listed modes.

Режим A. Функционирование устройства в режиме A начинается с момента фиксации в регистре 3 микрокоманды формата A или Ak (фиг. 3б,в). Первоначально предположим, что считанная микрокоманда имеет формат А (фиг. 3б). На выходах 3.4-3.8 регистра 3 устанавливаются сигналы логического нуля; на выходах 3.1 и 3.2 появляются соответственно адрес следующей микрокоманды (Aсл) и код опрашиваемого логического условия (ЛУ) (который, в частности, может быть нулевым), а на выходе 3.3 формируется операционная часть микрокоманды, содержащая информацию об инициируемых в данном такте работы устройства микрооперациях.Mode A. The operation of the device in mode A starts from the moment the microcommands of format A or Ak are fixed in register 3 (Fig. 3b, c). Initially, assume that the read micro-command has the format A (Fig. 3b). At the outputs 3.4-3.8 of register 3, logical zero signals are set; at outputs 3.1 and 3.2, the address of the next microcommand (A sl ) and the code of the interrogated logical condition (LU) (which, in particular, can be zero) appear respectively, and at output 3.3, the operational part of the microcommand is formed containing information about the work initiated in this cycle microoperation devices.

Операционная часть (ОЧ) микрокоманды с выхода 3.3 регистра 3 передается на выход 54 модуля и возбуждает требуемые микрооперации (МО). Нулевой сигнал с выхода 3.5 регистра 3 блокирует элементы И 24 и 37; нулевой сигнал с выхода 3.6 регистра 3 формирует нулевой уровень сигнала на выходе элемента И 38; нулевой сигнал с выхода 3.7 регистра 3 блокирует элемент И 44, не допуская тем самым обнуления триггера 31; сигнал логического нуля с выхода 3.8 регистра 3 блокирует элемент И 23, предотвращая срабатывание триггера 5 управления. The operational part (OCH) of the microcommand from the output 3.3 of register 3 is transmitted to the output 54 of the module and initiates the required microoperations (MO). The zero signal from the output of 3.5 register 3 blocks the elements And 24 and 37; the zero signal from the output of 3.6 register 3 generates a zero signal level at the output of the And 38 element; the zero signal from the output of 3.7 register 3 blocks the element And 44, thereby preventing the zeroing of the trigger 31; a logic zero signal from the output 3.8 of register 3 blocks the element And 23, preventing the trigger 5 of the control.

Одновременно адрес следующей микрокоманды и код опрашиваемого логического условия с выходов 3.1 и 3.2 регистра 3 соответственно поступает на третий информационный и управляющий входы блока 2 (фиг. 2). Код логического условия далее подается на управляющий вход мультиплексора 57 и обеспечивает передачу на его выход значения опрашиваемого логического условия с входа 52 модуля. Старшая часть адреса следующей микрокоманды с третьего информационного входа блока 2 через блок элементов ИЛИ 58, на втором входе которого находится нулевой код с выхода регистра 62, проходит на информационный вход регистра 61, а младший разряд (который является модифицируемым и может изменяться в точках ветвления микропрограммы) поступает на первый вход элемента ИЛИ 60. At the same time, the address of the next microcommand and the code of the interrogated logical condition from the outputs 3.1 and 3.2 of register 3, respectively, go to the third information and control inputs of block 2 (Fig. 2). The logical condition code is then fed to the control input of the multiplexer 57 and ensures the transmission of the value of the interrogated logical condition from the input 52 of the module to its output. The older part of the address of the next microcommand from the third information input of block 2 through the OR block 58, at the second input of which there is a zero code from the output of register 62, passes to the information input of register 61, and the least significant bit (which is modifiable and can change at the branch points of the firmware ) arrives at the first input of the OR element 60.

Если опрашиваемое логическое условие истинно, то на выходе мультиплексора 57 возникает единичный сигнал, который поступает на второй вход элемента ИЛИ 60 и, проходя на его выход, изменяет значение младшего разряда адреса на единичное. Если опрашиваемое логическое условие ложно или код логического условия является нулевым, на выходе мультиплексора 57 сохраняется нулевой уровень сигнала и на выход элемента 60 передается исходное значение младшего разряда адреса. Младший разряд адреса с выхода элемента 60 через соответствующий элемент ИЛИ блока 58 передается на информационный вход регистра 61. Таким образом, на информационном входе регистра 61 появляется исполнительный адрес очередной микрокоманды реализуемого участка микропрограммы, сформированный с учетом значения требуемого логического условия. If the interrogated logical condition is true, then at the output of the multiplexer 57 there is a single signal, which is fed to the second input of the OR element 60 and, passing to its output, changes the value of the least significant bit of the address to one. If the interrogated logical condition is false or the logical condition code is zero, the signal level 0 is stored at the output of multiplexer 57 and the initial value of the least significant bit of the address is transmitted to the output of element 60. The least significant bit of the address from the output of element 60 through the corresponding OR element of block 58 is transmitted to the information input of the register 61. Thus, at the information input of the register 61, the executive address of the next microcommand of the implemented firmware section appears, taking into account the value of the required logical condition.

Очередной тактовый импульс t1 (фиг. 1) через элемент И 39.1 проходит на вход синхронизации блока 2 (фиг. 2) и, поступая далее на вход синхронизации регистра 61, обеспечивает прием исполнительного адреса следующей микрокоманды. Этот же импульс подтверждает нулевое состояние регистра 62. Адрес следующей микрокоманды с выхода регистра 61 поступает (фиг. 1) на адресный вход блока 1 и обеспечивает считывание очередной микрокоманды. Считанная микрокоманда с выхода блока 1 подается на информационный вход регистра 3 и записывается в данный регистр по фронту очередного импульса t2, приходящего через элемент 39.2 с выхода генератора 6. Далее модуль приступает к выполнению считанной микрокоманды. Ход выполнения очередной микрокоманды аналогичен ходу реализации предшествующей микрокоманды.The next clock pulse t 1 (Fig. 1) passes through the And 39.1 element to the synchronization input of block 2 (Fig. 2) and, passing on to the synchronization input of the register 61, ensures reception of the executive address of the next microcommand. The same pulse confirms the zero state of the register 62. The address of the next microcommand from the output of the register 61 is supplied (Fig. 1) to the address input of block 1 and provides the reading of the next microcommand. The read micro command from the output of block 1 is fed to the information input of register 3 and is written to this register along the edge of the next pulse t 2 coming through element 39.2 from the output of the generator 6. Next, the module proceeds to execute the read micro command. The progress of the next micro-command is similar to the progress of the implementation of the previous micro-command.

Если считанная микрокоманда имеет формат Aк (фиг. 3в), то на выходах 3.1-3.7 регистра 3 формируется нулевой уровень сигнала, а на выходе 3.8 появляется единичный сигнал - метка конца реализуемой микропрограммы (Мкмп). Метка Мкмп поступает на выход 55 конца микропрограммы модуля и индицирует завершение выполнения текущей операции и готовность системы к реализации очередной. Одновременно эта же метка открывает элемент И 23. Импульс t3 с третьего выхода генератора 6 проходит через элемент И 23, элемент ИЛИ 25 и поступает на вход сброса триггера 5, переключая его в нулевое состояние. Нулевой сигнал с прямого выхода триггера 5 блокирует работу генератора 6; таким образом, текущий модуль (и система в целом) заканчивает выполнение конечного последовательного участка микропрограммы и переходит в состояние ожидания задания на реализацию очередной микропрограммы (операции). Перед началом выполнения очередной операции элементы устройства вновь устанавливаются в исходное состояние, после чего на вход 53 соответствующего модуля подается КОП и система переходит к реализации следующей микропрограммы. Переход модуля в пассивное состояние может быть также осуществлен путем подачи на первый вход элемента ИЛИ 25 сигнала "Стоп".If the read micro-command has the format A k (Fig. 3c), then at outputs 3.1-3.7 of register 3 a zero signal level is formed, and at output 3.8 a single signal appears - the end mark of the implemented firmware (M kmp ). Label M kmp enters the output 55 of the end of the module firmware and indicates the completion of the current operation and the readiness of the system to implement another. At the same time, the same label opens the element And 23. The pulse t 3 from the third output of the generator 6 passes through the element And 23, the element OR 25 and is fed to the reset input of trigger 5, switching it to the zero state. The zero signal from the direct output of the trigger 5 blocks the operation of the generator 6; Thus, the current module (and the system as a whole) finishes executing the final sequential section of the microprogram and enters the standby state of the job for the implementation of the next microprogram (operation). Before starting the next operation, the elements of the device are reset to their initial state, after which the CPC is fed to the input 53 of the corresponding module and the system proceeds to implement the next microprogram. The transition of the module to the passive state can also be carried out by applying the Stop signal to the first input of the OR element 25.

Режим B. Переход устройства в режим функционирования B происходит после записи в регистр 3 микрокоманды формата B (фиг. 3г). Текущий модуль Mi переходит в режим инициализации группы P параллельных участков микропрограммы, закрепленных за другими аналогичными модулями управляющей системы. На выходах 3.6-3.8 регистра 3 появляются сигналы логического нуля, на выходах 3.1 и 3.2 формируются соответственно адрес следующей микрокоманды и код логического условия, а на выходе 3.3 образуется либо нулевой код, либо ненулевой код, определяющий выполняемые микрооперации.Mode B. The transition of the device to operating mode B occurs after writing to the register 3 microcommands of format B (Fig. 3d). The current module M i enters the initialization mode of the group P of parallel sections of the microprogram assigned to other similar modules of the control system. Logic zero signals appear at the outputs 3.6-3.8 of register 3, at the outputs 3.1 and 3.2 the address of the next microcommand and the code of the logical condition are generated, and at the output 3.3, either a zero code or a nonzero code that defines the microoperations being performed is generated.

Нулевой сигнал с выхода 3.6 регистра 3 блокирует элемент И 38, предотвращая срабатывание одновибратора 29; нулевой сигнал с выхода 3.7 блокирует элемент 44; нулевой сигнал с выхода 3.8 регистра 3 закрывает элемент И 23. Одновременно на выходе 3.5 регистра 3 образуется единичный сигнал - метка передачи управления или инициализации (Мпуи), а на выходе 3.4 устанавливается код признака инициализируемых участков микропрограммы (КПУ) Пр.The zero signal from the output 3.6 of register 3 blocks the And 38 element, preventing the operation of the single-shot 29; a zero signal from output 3.7 blocks element 44; zero signal output from the register 3.8 3 closes the AND gate 23. Simultaneously, the output register 3 3.5 unit signal is formed - the transfer of control or an initialization mark (M ISP), and the output characteristic code installed 3.4 initialized portions firmware (CPU) Example.

КПУ с выхода 3.4 регистра 3 передается на информационные входы регистров 4.1-4.N, а единичная метка Мпуи поступает на входы элементов И 24 и 37 и разрешает прохождение тактовых импульсов, управляющих работой счетчика 7 выборки. Код, характеризующий текущее состояние регистров 4.1-4.N и формируемый элементами И 21.1-21.N, поступает на третий вход элемента И 24. Импульс t2 с выхода элемента И 39.2 через элемент 46 поступает на второй вход элемента И 24 и, если состояние регистров 4.1-4.N является нулевым и, следовательно, на третьем входе элемента 24 присутствует код "11...1", проходит через элемент 24 на вход сброса счетчика 7 и переключает его в нулевое состояние (подтверждает его исходное состояние). Нулевой код с выхода счетчика 7 поступает на вход дешифратора 9 и формирует на его выходах нулевой уровень сигнала, обеспечивая тем самым блокировку элементов И 19.1-19.N. Если же состояние по крайней мере одного из регистров 4.1-4.N отлично от нулевого, на выходах элементов И 21.1-21.N устанавливается "неединичный" код и состояние счетчика 7 при поступлении импульса t2 не изменяется.The CPU from the output 3.4 of register 3 is transmitted to the information inputs of the registers 4.1-4.N, and a single label M poo is fed to the inputs of the elements I 24 and 37 and allows the passage of clock pulses that control the operation of the counter 7 of the sample. The code characterizing the current state of the registers 4.1-4.N and generated by the elements And 21.1-21.N, arrives at the third input of the element And 24. The pulse t 2 from the output of the element And 39.2 through the element 46 goes to the second input of the element And 24 and, if the state of the registers 4.1-4.N is zero and, therefore, the code "11 ... 1" is present at the third input of element 24, passes through element 24 to the reset input of counter 7 and switches it to the zero state (confirms its initial state). The zero code from the output of the counter 7 is fed to the input of the decoder 9 and generates a zero signal level at its outputs, thereby providing blocking of the AND 19.1-19.N elements. If the state of at least one of the registers 4.1-4.N is different from zero, the "non-unity" code is set at the outputs of the elements AND 21.1-21.N and the state of the counter 7 does not change when the pulse t 2 arrives.

Очередной импульс t3 с третьего выхода генератора 6 через элемент И 37 проходит на счетный вход счетчика 7 и фронтом увеличивает его содержимое на единицу. Образующийся код ("00...01") с выхода счетчика 7 передается на вход дешифратора 9 и возбуждает его k-й (первый) выход. Единичный сигнал с k-го (первого) выхода дешифратора 9 открывает элемент И 19.k (19.1). Импульс t3, проходя через элемент 47 задержки, подается на второй вход элемента И 22, на первом входе которого образуется сигнал, определяемый состоянием шины 49 и формируемый элементом ИЛИ-НЕ 18.N. Если информация на шине 49 отсутствует, то нулевой код с шины 49 через открытый блок 17.N поступает на входы элемента 18. N и формирует на его выходе сигнал логической единицы. Этот сигнал подается на первый вход элемента И 22, импульс t3 проходит на выход элемента 22 и фронтом увеличивает содержимое счетчика 8 на единицу. Код с выхода счетчика 8 поступает на вход дешифратора 10 и возбуждает его i-й выход. Если шина 49 занята, то на выходе элемента 18.N устанавливается нулевой сигнал, который блокирует элемент 22 и не допускает прохождение импульса t3 на счетный вход счетчика 8.The next pulse t 3 from the third output of the generator 6 through the element And 37 passes to the counting input of the counter 7 and the front increases its content by one. The resulting code ("00 ... 01") from the output of the counter 7 is transmitted to the input of the decoder 9 and excites its k-th (first) output. A single signal from the k-th (first) output of the decoder 9 opens the element And 19.k (19.1). The pulse t 3 passing through the delay element 47 is fed to the second input of the AND element 22, at the first input of which a signal is generated, determined by the state of the bus 49 and formed by the OR-NOT 18.N element. If there is no information on bus 49, then the zero code from bus 49 through the open block 17.N is fed to the inputs of element 18. N and generates a logical unit signal at its output. This signal is fed to the first input of the element And 22, the pulse t 3 passes to the output of the element 22 and the front increases the contents of the counter 8 by one. The code from the output of the counter 8 is fed to the input of the decoder 10 and excites its i-th output. If the bus 49 is busy, then at the output of the element 18.N a zero signal is set, which blocks the element 22 and does not allow the passage of the pulse t 3 to the counting input of the counter 8.

В то же время импульс t3 с выхода элемента 47, будучи задержанным на время, достаточное для формирования очередного кода на выходах счетчиков 7 и 8, подается на входы элементов И 19.1-19.N, а также на вход элемента 48. Так как единичный сигнал присутствует только на k-м (первом) выходе дешифратора 9, импульс t3 проходит через элемент 19.k (19.1) и фронтом фиксирует код Пр в регистре 4.k (4.1).At the same time, the pulse t 3 from the output of element 47, being delayed for a time sufficient to generate the next code at the outputs of counters 7 and 8, is fed to the inputs of the elements And 19.1-19.N, as well as to the input of element 48. Since the unit the signal is present only at the k-th (first) output of the decoder 9, the pulse t 3 passes through the element 19.k (19.1) and the front fixes the code П р in the register 4.k (4.1).

Единичный сигнал с i-го выхода дешифратора 10 поступает на первый вход элемента И 20.i и в случае, если шина 49 свободна и на второй вход элемента 20. i подается единичный сигнал с выхода элемента 18.i, передается на выход элемента 20. i. Единичный сигнал с выхода элемента 20.i поступает на управляющие входы блоков 16. i и 17.i и обеспечивает передачу информации (кода признака участков либо нулевого кода) с прямого выхода регистра 4.i (в общем случае i≠k) на шину 49. Одновременно сигнал с выхода элемента 20.i переводит элементы блока 17.i в высокоимпедансное состояние, отключая тем самым второй вход элемента 20.i и обусловливая работу этого элемента в режиме безусловной передачи сигнала с его первого входа на выход. В то же время единичный сигнал с выхода элемента 20.i поступает на вход элемента 28.i, с заданным сдвигом во времени появляется на его выходе и осуществляет сброс регистра 4. i. Если i=N, т.е. считывание информации осуществлялось из регистра 4.N, то единичный сигнал с N-го выхода дешифратора 10 открывает элемент 43 и поэтому импульс t3 с выхода элемента 48 проходит через элемент 43 на вход сброса счетчика 8, переводит его в нулевое состояние и инициирует тем самым очередной цикл опроса регистров 4.1-4.N.A single signal from the i-th output of the decoder 10 is fed to the first input of the element And 20.i and if the bus 49 is free and to the second input of the element 20. i a single signal from the output of the element 18.i is transmitted to the output of the element 20. i. A single signal from the output of element 20.i is supplied to the control inputs of blocks 16. i and 17.i and ensures the transfer of information (code of a feature indicator or a zero code) from the direct output of register 4.i (in the general case, i ≠ k) to bus 49 At the same time, the signal from the output of the element 20.i transfers the elements of the block 17.i to the high-impedance state, thereby disabling the second input of the element 20.i and causing the operation of this element in the unconditional transmission of the signal from its first input to the output. At the same time, a single signal from the output of the element 20.i goes to the input of the element 28.i, with a given time shift appears on its output and performs a reset of register 4. i. If i = N, i.e. the information was read from the register 4.N, then a single signal from the Nth output of the decoder 10 opens the element 43 and therefore the pulse t 3 from the output of the element 48 passes through the element 43 to the reset input of the counter 8, transfers it to the zero state and thereby initiates the next cycle of polling registers 4.1-4.N.

Одновременно с выдачей на шину 49 кода Пр адрес следующей микрокоманды и код логического условия с выходов 3.1 и 3.2 регистра 3 поступают на соответствующие входы блока 2 и аналогично ранее рассмотренному (режим A) обеспечивают формирование исполнительного адреса очередной микрокоманды. Устройство приступает к считыванию и исполнению следующей микрокоманды реализуемого участка. Если в соответствии с алгоритмом управления после инициализации параллельных участков текущей модуль должен переходить в состояние ожидания, то для очередной считываемой из БПМП 1 микрокоманды должен использоваться формат C1 или C2 (фиг. 3д, е).Simultaneously with the issuance of the bus 49 EXAMPLE code address of the next microinstruction code and outputs a logical condition 3.1 and 3.2 fed to the register 3 corresponding to the inputs 2 and similar to those previously discussed (mode A) ensuring the formation of the executive next microinstruction address. The device starts reading and executing the next microcommand of the area being sold. If, in accordance with the control algorithm, after the initialization of parallel sections, the current module should go into the standby state, then for the next micro instruction read from the BPMP 1, the format C 1 or C 2 should be used (Fig. 3d, f).

Работа модуля в режиме приема и анализа кодов признаков участков микропрограммы состоит в следующем. The operation of the module in the mode of reception and analysis of codes codes for sections of firmware is as follows.

Коды признаков участков с шины 49 передачи управления поступают на четвертые информационные входы блоков 2 и одновременно анализируются всеми модулями системы. Анализ кода Пs модулем Мk сводится к установлению факта существования параллельного (последовательного) участка микропрограммы, закрепленного за данным модулем и обладающего этим же признаком Пs. Код Пs поступает (фиг. 2) на вход шифратора 56 и, в случае наличия участка, обладающего признаком Пs, формирует на выходе шифратора 56 начальный адрес Анач этого участка в блоке 1, в противном случае на выходе шифратора 56 сохраняется нулевой код.Codes of feature plots from the control transfer bus 49 are fed to the fourth information inputs of blocks 2 and are simultaneously analyzed by all modules of the system. The analysis of the code П s by the module М k is reduced to establishing the fact of the existence of a parallel (sequential) section of the microprogram assigned to this module and possessing the same feature П s . The code П s arrives (Fig. 2) at the input of the encoder 56 and, in the case of a section having the attribute П s , forms the starting address A of the beginning of this section in block 1 at the output of the encoder 56, otherwise a zero code is stored at the output of the encoder 56 .

Адрес Анач с выхода шифратора 56 через блок элементов ИЛИ 59, на первом входе которого установлен нулевой код, обусловленный отсутствием кода операции на входе 53 модуля, походит на информационный вход регистра 62. Одновременно этот же адрес поступает на вход элемента ИЛИ 64. Если Анач="00... 0", то на выходе элемента 64 сохраняется нулевой уровень сигнала, иначе положительный перепад уровня сигнала, возникающий на выходе элемента 64, воздействует на одновибратор 63 и формирует на его выходе импульс. Данный импульс передается на вход синхронизации регистра 62 и фиксирует в нем сформированный адрес Анач.Address A starts with the output of the encoder 56 through the block of OR elements 59, at the first input of which a zero code is set, due to the absence of an operation code at the input 53 of the module, resembles the information input of the register 62. At the same time, the same address goes to the input of the OR element 64. If A beginning = "00 ... 0", then at the output of the element 64 the signal level is kept at zero, otherwise the positive difference in the signal level that occurs at the output of the element 64 acts on the one-shot 63 and generates a pulse at its output. This pulse is transmitted to the synchronization input of the register 62 and fixes the generated address A beginning in it .

Импульс с выхода одновибратора 63, кроме того, поступает (фиг. 1) на вход установки триггера 5 и через элемент ИЛИ 27 - на вход установки триггера 32 и подтверждает единичное состояние триггера 5, переключая в то же время в единичное состояние триггер 32. Единичный сигнал с прямого выхода триггера 32 открывает элемент И 42. Очередной импульс t3, поступая через элемент И 42 на вход установки триггера 31 и счетный вход триггера 32, переключает первый в состояние логической единицы, а второй (срезом) - в состояние логического нуля. Нулевой сигнал с выхода триггера 32 блокирует элемент 42, а единичный сигнал с прямого выхода триггера 31 открывает элементы 39.1 и 39.2.The pulse from the output of the one-shot 63, in addition, is supplied (Fig. 1) to the input of the trigger 5 installation and through the OR element 27 to the input of the trigger 32 installation and confirms the single state of the trigger 5, at the same time switching the trigger 32 to the single state. Single the signal from the direct output of trigger 32 opens the And 42 element. The next pulse t 3 , coming through the And 42 element to the trigger input 31 and the counting input of the trigger 32, switches the first to the state of the logical unit, and the second (cutoff) to the state of logical zero. The zero signal from the output of the trigger 32 blocks the element 42, and a single signal from the direct output of the trigger 31 opens the elements 39.1 and 39.2.

Очередной импульс t1 через открытый элемент И 39.1 подается на вход синхронизации блока 2 и фиксирует адрес Анач в регистре 61 (на выходе блока 2). Адрес Анач с выхода блока 2 поступает на адресный вход БПМП 1 и обеспечивает считывание первой микрокоманды инициализируемого участка. Модуль приступает к выполнению заданного участка микропрограммы и далее функционирует аналогично работе модуля при реализации начального участка микропрограммы.The next pulse t 1 through the open element And 39.1 is fed to the synchronization input of block 2 and fixes the address A beginning in register 61 (at the output of block 2). The address A beginning with the output of block 2 is supplied to the address input of the BPMP 1 and provides the reading of the first microcommand of the initialized section. The module starts to execute a given section of the firmware and then functions similarly to the module when implementing the initial section of the firmware.

Режим C. Функционирование модуля Mi в режиме C начинается после фиксации в регистре 3 микрокоманды формата C1 или C2 (фиг. 3д, е). Если считанная микрокоманда имеет формат C1 (фиг. 3д), то модуль получает статус ведущего и переходит к опросу состояния требуемых параллельных участков микропрограммы, иначе модуль считается ведомым и переходит в состояние ожидания, которое идентично состоянию устройства после передачи управления другим аналогичным устройствам.Mode C. The operation of the module M i in mode C begins after fixing in register 3 microcommands of the format C 1 or C 2 (Fig. 3d, e). If the read micro-command has the format C 1 (Fig. 3d), then the module receives the status of the master and proceeds to polling the status of the required parallel sections of the firmware, otherwise the module is considered slave and goes into the standby state, which is identical to the state of the device after transferring control to other similar devices.

Первоначально предположим, что считанная микрокоманда имеет формат C2 (фиг. 3е).Initially, assume that the read micro-command has the format C 2 (Fig. 3e).

На выходах 3.5, 3.6, 3.8, 3.1-3.3 регистра 3 появляется нулевой уровень сигнала, на выходе 3.7 формируется единичная метка конца параллельного участка (Мку), а на выходе 3.4 образуется код номера точки синхронизации (НТС) Ts, закрывающей реализуемый параллельный участок микропрограммы. Нулевые сигналы с выходов 3.5, 3.6 и 3.8 регистра 3 блокируют соответственно элементы И 24, 37, элемент И 38 и элемент И 23; нулевой код с выхода 3.3 поступает на выход 54 микроопераций модуля; нулевые коды с выходов 3.1 и 3.2 передаются соответственно на третий информационный и управляющий входы блока 2; код НТС Ts подается на первый вход схемы 11 сравнения, а единичная метка Мку открывает элемент И 44. Нулевые коды, поступившие на третий информационный и управляющий входы блока 2 (фиг. 2), формируют нулевой уровень сигнала на выходах мультиплексора 57 и элемента ИЛИ 64 и подготавливают тем самым текущий модуль к возможному последующему приему управления от другого устройства.At outputs 3.5, 3.6, 3.8, 3.1-3.3 of register 3, a signal level of zero appears, at output 3.7 a unit mark of the end of the parallel section (M ku ) is formed, and at output 3.4 a code of the synchronization point number (STC) T s is formed , closing the realized parallel firmware section. Zero signals from the outputs 3.5, 3.6 and 3.8 of register 3 block the elements And 24, 37, the element And 38 and the element And 23, respectively; the zero code from output 3.3 goes to the output of 54 microoperations of the module; zero codes from outputs 3.1 and 3.2 are transmitted respectively to the third information and control inputs of block 2; the NTS code T s is supplied to the first input of the comparison circuit 11, and a single mark M ku opens the And 44 element. Zero codes received at the third information and control inputs of block 2 (Fig. 2) form a zero signal level at the outputs of multiplexer 57 and the element OR 64 and thereby prepare the current module for a possible subsequent reception of control from another device.

Импульс t2, поступивший ранее на вход элемента 46 задержки, через открытый элемент И 44 подается на счетный вход триггера 31 и срезом устанавливает его в нулевое состояние. Нулевой сигнал с прямого выхода триггера 31 блокирует элементы 39.1 и 39.2, не допуская прохождения тактовых импульсов на их выходы. Выборка микрокоманд из БПМП 1 прекращается и устройство переходит в пассивное состояние, в котором пребывает вплоть до передачи управления от другого аналогичного устройства.The pulse t 2 previously received at the input of the delay element 46, through the open element And 44 is supplied to the counting input of the trigger 31 and cut it sets it to zero. The zero signal from the direct output of the trigger 31 blocks the elements 39.1 and 39.2, preventing the passage of clock pulses to their outputs. The selection of microcommands from BPMP 1 is terminated and the device goes into a passive state in which it remains until the transfer of control from another similar device.

Теперь предположим, что считанная из блока 1 микрокоманда имеет формат C1 (фиг. 3д).Now suppose that the micro command read from block 1 has the format C 1 (Fig. 3d).

В отличие от вышерассмотренного случая на выходах 3.1 и 3.2 регистра 3 формируются соответственно адрес следующей микрокоманды и код опрашиваемого логического условия, а на выходе 3.6 образуется единичный сигнал статуса, который указывает, что текущий модуль для точки синхронизации Ts является ведущим и управляет синхронизацией требуемых параллельных участков. Нулевые сигналы с выходов 3.5 и 3.8 регистра 3 формируют нулевой уровень сигнала соответственно на выходах элементов И 24, 37 и элемента И 23, а единичная метка Mку открывает элемент И 44. Импульс t2 с выхода элемента 46 задержки проходит через элемент 44 и срезом сбрасывает триггер 31 в состояние логического нуля. Нулевой сигнал с прямого выхода триггера 31 блокирует элементы 39.1 и 39.2, а единичный сигнал с инверсного выхода поступает на второй вход элемента И 38, на первый вход которого подается единичный сигнал статуса, на третьем и четвертом входах присутствуют единичные сигналы с инверсных выходов триггеров 32 и 13 соответственно, а на пятом входе установлен сигнал с выхода элемента ИЛИ-НЕ 35, определяемый состоянием шины 50 синхронизации параллельных участков.In contrast to the above case, the output of the next microcommand and the code of the interrogated logical condition are generated respectively at outputs 3.1 and 3.2 of register 3, and at output 3.6, a single status signal is generated, which indicates that the current module for the synchronization point T s is the leading one and controls the synchronization of the required parallel plots. Zero signals from outputs 3.5 and 3.8 of register 3 form a zero signal level at the outputs of elements I 24, 37 and element 23, respectively, and a single mark M ku opens element I 44. The pulse t 2 from the output of delay element 46 passes through element 44 and is cut off resets trigger 31 to a logical zero state. The zero signal from the direct output of the trigger 31 blocks the elements 39.1 and 39.2, and a single signal from the inverse output goes to the second input of the And 38 element, to the first input of which a single status signal is supplied, at the third and fourth inputs there are single signals from the inverse outputs of the triggers 32 and 13, respectively, and at the fifth input, a signal is output from the output of the OR-NOT 35 element, determined by the state of the synchronization bus 50 of parallel sections.

Так как триггер 30 находится в нулевом состоянии, единичный сигнал с его инверсного выхода поступает на управляющий вход блока 34 и обеспечивает передачу информации с шины 50 на его выход. Код с выхода блока 34 подается на входы элемента 35. В случае наличия информации на шине 50 на выходе элемента 35 формируется потенциал логического нуля, который блокирует элемент И 38 и предотвращает возникновение перепада уровня сигнала на входе одновибратора 29. Как только шина 50 освобождается, на выходе элемента 35 устанавливается сигнал логической единицы. Единичный сигнал с выхода элемента 35 подается на пятый вход элемента 38 и изменяет уровень сигнала на его выходе с нулевого на единичный. Перепад уровня сигнала на выходе элемента 38 воздействует на одновибратор 29 и возбуждает на его выходе импульс p. Since the trigger 30 is in the zero state, a single signal from its inverse output is fed to the control input of block 34 and provides information from the bus 50 to its output. The code from the output of block 34 is fed to the inputs of element 35. If information is available on bus 50, the output of element 35 generates a logic zero potential, which blocks AND element 38 and prevents the occurrence of a signal level difference at the input of one-shot 29. As soon as bus 50 is released, the output of the element 35 is set to a signal of a logical unit. A single signal from the output of the element 35 is fed to the fifth input of the element 38 and changes the signal level at its output from zero to unity. The difference in signal level at the output of element 38 acts on a single-shot 29 and excites a pulse p at its output.

Импульс p с выхода одновибратора 29 переключает триггер 30 в состояние логической единицы и, кроме того, поступает на вход элемента 45 задержки. Нулевой сигнал с инверсного выхода триггера 30 поступает на управляющий вход блока 34 и переводит элементы блока 34 в состояние высокого импеданса, а единичный сигнал с прямого выхода триггера 30 открывает блок 33. Одновременно нулевой сигнал с инверсного выхода триггера 30 поступает на первый вход элемента И-НЕ 36 и формирует на его выходе единичный сигнал-маску. Этот сигнал подается на первый вход элемента ИЛИ 26 и тем самым блокирует прохождение сигнала с выхода схемы 11 на линию 51. На выходе элемента 26 образуется сигнал логической единицы; таким образом, текущий модуль не оказывает влияния на состояние сигнала Z на линии 51. The pulse p from the output of the one-shot 29 switches the trigger 30 to the state of the logical unit and, in addition, is fed to the input of the delay element 45. The zero signal from the inverse output of the trigger 30 goes to the control input of the block 34 and puts the elements of the block 34 into a high impedance state, and a single signal from the direct output of the trigger 30 opens the block 33. At the same time, the zero signal from the inverse output of the trigger 30 goes to the first input of the And NOT 36 and forms a single signal mask at its output. This signal is supplied to the first input of the OR element 26 and thereby blocks the passage of the signal from the output of circuit 11 to line 51. At the output of element 26, a signal of a logical unit is generated; thus, the current module does not affect the state of signal Z on line 51.

В то же время Код НТС Ts через блок 33 передается на шину 50 и обеспечивает опрос состояния остальных модулей системы. Процедура опроса состоит в следующем.At the same time, the TCS code T s is transmitted via a block 33 to the bus 50 and provides an interrogation of the status of the remaining modules of the system. The survey procedure is as follows.

Код НТС Ts с шины 50 поступает на информационные входы блоков 34 модулей ММПС и, так как триггеры 30 всех модулей, за исключением триггера 30 модуля Mi, установлены в состояние логического нуля (что обусловливается блокировкой возможности одновременного обращения к шине 50 нескольких модулей), проходит на выходы блоков 34 и обеспечивает формирование сигналов состояния модулей по отношению к точке синхронизации Ts. В то же время текущий модуль не принимает информацию с шины 50, поскольку на управляющем входе его блока 34 находится запрещающий (нулевой) сигнал с инверсного выхода триггера 30.The NTS code T s from the bus 50 is fed to the information inputs of the blocks 34 of the IMPS modules and, since the triggers 30 of all the modules, except the trigger 30 of the module M i , are set to a logical zero state (which is caused by the blocking of the possibility of several modules simultaneously accessing the bus 50) passes to the outputs of blocks 34 and provides the formation of state signals of the modules with respect to the synchronization point T s . At the same time, the current module does not receive information from bus 50, since at the control input of its block 34 there is a inhibitory (zero) signal from the inverse output of trigger 30.

Формирование сигнала состояния модуля Mu, u ≠ i, происходит следующим образом.The formation of the state signal of the module M u , u ≠ i, is as follows.

Код НТС Ts с выхода блока 34 поступает на входы элемента 35, формирует на его выходе сигнал логического нуля и, таким образом, блокирует элемент 38, предотвращая возможное начало процесса опроса состояния параллельных участков при возникновении единичного сигнала статуса на выходе 3.6 регистра 3 (данная ситуация не исключена в случае наличия нескольких одновременно завершаемых групп параллельных участков). Одновременно код Ts поступает на второй вход схемы 11 сравнения и сопоставляется с кодом НТС Tp, который формируется на выходе 3.4 регистра 3 и присутствует на первом входе схемы 11. Кроме того, код Ts подается на адресный вход формирователя 12.The STC code T s from the output of block 34 is fed to the inputs of element 35, generates a logic zero signal at its output, and thus blocks element 38, preventing the possible start of the process of polling the state of parallel sections when a single status signal occurs at output 3.6 of register 3 (this the situation is not excluded if there are several simultaneously terminated groups of parallel sections). At the same time, the code T s arrives at the second input of the comparison circuit 11 and is mapped to the NTS code T p , which is generated at the output 3.4 of register 3 and is present at the first input of the circuit 11. In addition, the code T s is supplied to the address input of the driver 12.

В случае отсутствия участков микропрограмм, закрепленных за модулем Mu и завершающихся в точке Ts, на выходе формирователя 12 появляется сигнал логического нуля. Этот сигнал подается на второй вход элемента И-НЕ 36 и формирует на его выходе сигнал логической единицы. Единичный сигнал с выхода элемента 36 поступает на первый вход элемента ИЛИ 26 и устанавливает на его выходе единичный сигнал состояния Su.In the absence of sections of microprograms assigned to the module M u and ending at the point T s , a logic zero signal appears at the output of the former 12. This signal is fed to the second input of the AND-NOT 36 element and generates a logical unit signal at its output. A single signal from the output of the element 36 is supplied to the first input of the OR element 26 and sets the unit state signal S u at its output.

Если за текущим модулем Mu закреплен параллельный участок микропрограммы, оканчивающийся точкой синхронизации Ts (состояние этого участка может быть произвольным: "завершен", "начат и находится в стадии реализации" или "не начат"), то на выходе формирователя 12 образуется единичный сигнал - признак принадлежности D. Этот сигнал (признак) поступает на второй вход элемента 36 и устанавливает на его выходе сигнал логического нуля. На первом входе элемента 26 формируется нулевой уровень сигнала и теперь уровень сигнала на выходе элемента 26 (сигнал Su) определяется соотношением кодов Ts и Tp, т.е. уровнем сигнала на выходе схемы 11 сравнения.If the current module M u is assigned a parallel section of the microprogram ending in the synchronization point T s (the state of this section can be arbitrary: “completed”, “started and is underway” or “not started”), then a single unit 12 is formed the signal is a sign of membership D. This signal (sign) is supplied to the second input of the element 36 and sets a logic zero signal at its output. At the first input of element 26, a zero signal level is formed and now the signal level at the output of element 26 (signal S u ) is determined by the ratio of codes T s and T p , i.e. the signal level at the output of the comparison circuit 11.

Если коды Tp и Ts различны, т.е. u-й модуль не завершил выполнение участка микропрограммы (в этом случае Tp=0) или выполнил участок, не входящий в подмножество контролируемых параллельных участков, то на выходе схемы 11 формируется нулевой сигнал. Если коды Ts и Tp совпадают, т.е. модуль Mu выполнил участок, оканчивающийся требуемой точкой синхронизации Ts, то на выходе схемы 11 образуется единичный сигнал. Сигнал с выхода схемы 11 через элемент ИЛИ 26 передается на линию 51 и совместно с аналогичными по функциональному назначению сигналами с выходов элементов 26 других модулей ММПС формирует на линии 51 обобщенный сигнал Z состояния параллельных участков (данный сигнал формируется как результат операции "монтажное И" над сигналами состояния с выходов элементов 26 модулей системы).If the codes T p and T s are different, i.e. The u-th module did not complete the execution of the microprogram section (in this case, T p = 0) or performed a section that is not included in the subset of controlled parallel sections, then a zero signal is generated at the output of circuit 11. If the codes T s and T p coincide, i.e. Since the module M u completed a section ending with the required synchronization point T s , then a single signal is generated at the output of the circuit 11. The signal from the output of circuit 11 through the OR element 26 is transmitted to line 51 and, together with the signals similar in functionality from the outputs of the elements 26 of other IMPS modules, generates a generalized signal Z of the state of parallel sections on line 51 (this signal is generated as a result of the "mounting AND" operation over status signals from the outputs of elements 26 of the system modules).

Если хотя бы один из опрашиваемых параллельных участков не завершен, т. е. на выходе элемента 26 соответствующего модуля находится нулевой сигнал, сигнал с выхода элемента 26 соответствующего модуля поступает на линию 51 и определяет нулевое значение сигнала Z; в противном случае, т.е. когда все требуемые параллельные участки выполнены и на выходах элементов 26 всех модулей присутствуют сигналы логической единицы, на линии 51 устанавливается сигнал логической единицы (Z="1"). Состояния модулей, выполняющих или выполнивших участки микропрограммы, не входящие в заданное кодом Ts подмножество участков, не влияют на значение сигнала Z, поскольку на выходах соответствующих элементов И-НЕ 36, а следовательно, и элементов ИЛИ 26 находится сигнал логической единицы.If at least one of the interrogated parallel sections is not completed, that is, at the output of element 26 of the corresponding module there is a zero signal, the signal from the output of element 26 of the corresponding module is sent to line 51 and determines the zero value of signal Z; otherwise, i.e. when all the required parallel sections are satisfied and the logical unit signals are present at the outputs of the elements 26 of all modules, a logical unit signal is set on line 51 (Z = "1"). The state of the modules executing or completing sections of the firmware that are not included in the subset of sections specified by the code T s does not affect the value of signal Z, since the outputs of the corresponding AND-NOT 36 elements, and therefore, the OR elements 26, contain a logical unit signal.

Ведущий модуль Mi спустя время, требуемое для формирования сигнала состояния параллельных участков Z, опрашивает состояние линии 51 и либо освобождает шину 50 и через некоторый промежуток времени T (при наличии незавершенных параллельных участков и нулевом уровне сигнала Z) вновь опрашивает состояние параллельных участков, либо выходит из состояния ожидания (при окончании требуемых параллельных участков и наличии единичного уровня сигнала на линии 51) и возобновляет выполнение микропрограммы.The master module M i, after the time required to generate the state signal of parallel sections Z, polls the state of line 51 and either releases bus 50 and after a certain period of time T (in the presence of incomplete parallel sections and zero signal level Z) again polls the state of parallel sections, or exits the standby state (at the end of the required parallel sections and the presence of a single signal level on line 51) and resumes the execution of the firmware.

Импульс p, выработанный ранее одновибратором 29 и задержанный элементом 45 на время dt, достаточное для установления сигнала Z на линии 51, с выхода элемента 45 поступает на счетный вход триггера 30, а также на первые входы элементов И 40.1, 40.2, на вторых входах которых появляется сигнал Z с линии 51. The pulse p, previously generated by the single-shot 29 and delayed by the element 45 for a time dt, sufficient to establish the signal Z on line 51, from the output of the element 45 goes to the counting input of the trigger 30, as well as to the first inputs of the elements And 40.1, 40.2, at the second inputs of which Z signal from line 51 appears.

1. Если Z="0", т.е. по меньшей мере один из контролируемых параллельных участков не завершен, то элемент 40.2 оказывается закрытым, а импульс p через открытый элемент 40.1 проходит на вход установки триггера 13 и переводит его в состояние логической единицы, инициируя тем самым процесс отсчета времени T. Триггер 31, а соответственно, и триггер 32 остаются в состоянии логического нуля, а нулевой сигнал с инверсного выхода триггера 13 блокирует элемент 38 и не допускает повторное срабатывание одновибратора 29. В то же самое время по срезу импульса p с выхода элемента 45 триггер 30 устанавливается в нулевое состояние; нулевой сигнал с прямого выхода триггера 30 переводит блок 33 в состояние высокого импеданса - текущий модуль освобождает шину 50 синхронизации параллельных участков, а единичный сигнал с инверсного выхода триггера 30 открывает элемент 36 и возвращает в активное состояние блок 34. 1. If Z = "0", ie at least one of the controlled parallel sections is not completed, then the element 40.2 is closed, and the pulse p through the open element 40.1 passes to the input of the installation of the trigger 13 and puts it in the state of the logical unit, thereby initiating the countdown process T. The trigger 31, and accordingly, the trigger 32 remains in a state of logical zero, and the zero signal from the inverse output of the trigger 13 blocks the element 38 and does not allow the single-shot 29 to re-operate. At the same time, by cutting the pulse p from the output of the trigger element 45 Ger 30 is set to zero; the zero signal from the direct output of the trigger 30 puts the block 33 in a high impedance state - the current module releases the synchronization bus 50 of the parallel sections, and a single signal from the inverse output of the trigger 30 opens the element 36 and returns the block 34 to the active state.

Единичный сигнал с прямого выхода триггера 13 включает генератор 14. Импульсы с выхода генератора 14 начинают поступать на счетный вход счетчика 15 времени ожидания и инициируют процесс счета от"00...0" до "11...1". Код с выхода счетчика подается на входы элемента И 41. Очередной импульс с выхода генератора 14 поступает на счетный вход счетчика 15 и срезом переводит его в очередное состояние. Если код на выходе счетчика является отличным от единичного, то на выходе элемента 41 сохраняется нулевой потенциал и процесс счета продолжается. При переходе счетчика в состояние "11...1" на выходе элемента 41 возникает единичный сигнал "Тайм-аут". Данный сигнал поступает на входы сброса счетчика 15 и триггера 13 и переводит их в исходное (нулевое) состояние. Таким образом, отсчет требуемого промежутка времени T завершается. Нулевой сигнал с прямого выхода триггера 13 останавливает генератор 14, а единичный сигнал с инверсного выхода открывает элемент И 38. A single signal from the direct output of the trigger 13 includes a generator 14. The pulses from the output of the generator 14 begin to arrive at the counting input of the latency counter 15 and initiate the counting process from "00 ... 0" to "11 ... 1". The code from the output of the counter is fed to the inputs of the element And 41. The next pulse from the output of the generator 14 is supplied to the counting input of the counter 15 and cut it into the next state. If the code at the output of the counter is different from the one, then at the output of the element 41 the zero potential is stored and the counting process continues. When the counter enters the state "11 ... 1" at the output of element 41, a single signal "Timeout" occurs. This signal is fed to the reset inputs of the counter 15 and trigger 13 and puts them in their original (zero) state. Thus, the countdown of the required time interval T is completed. The zero signal from the direct output of the trigger 13 stops the generator 14, and a single signal from the inverse output opens the element And 38.

Как только сигнал на выходе элемента 35 приобретает единичное значение (что означает освобождение шины 50), на выходе элемента 38 возникает положительный перепад уровня сигнала, который воздействует на одновибратор 29 и вновь возбуждает на его выходе импульс p. Текущий модуль Mi снова выдает на шину 50 код НТС Ts и повторно опрашивает состояние параллельных участков. Если после реализации данного цикла опроса сигнал Z вновь принимает нулевое значение, то спустя время T, отсчитываемое счетчиком 15, i-й модуль снова осуществляет опрос состояния параллельных участков и т.д. Опрос производится до тех пор, пока сигнал Z не примет единичное значение.As soon as the signal at the output of the element 35 acquires a single value (which means the bus 50 is released), at the output of the element 38 a positive difference in the signal level occurs, which acts on the one-shot 29 and again excites the pulse p at its output. The current module M i again issues on the bus 50 the NTS code T s and again polls the status of the parallel sections. If after the implementation of this polling cycle the signal Z again assumes a zero value, then after the time T counted by the counter 15, the i-th module again polls the status of parallel sections, etc. The survey is performed until the signal Z takes a single value.

2. Если Z="1", т.е. все опрашиваемые параллельные участки завершены, то элемент 40.1 оказывается заблокированным, а импульс p через открытый элемент 40.2 и элемент ИЛИ 27 проходит на вход установки триггера 32 и переводит триггер 32 в единичное состояние. Единичный сигнал с прямого выхода триггера 32 открывает элемент И 42, а нулевой сигнал с инверсного выхода блокирует элемент 38, не допуская повторного срабатывания одновибратора 29. Очередной тактовый импульс с третьего выхода генератора 6 проходит через открытый элемент 42 на вход установки триггера 31 и переключает его в состояние логической единицы. 2. If Z = "1", ie all the polled parallel sections are completed, then the element 40.1 is blocked, and the pulse p passes through the open element 40.2 and the OR element 27 to the input of the installation of the trigger 32 and puts the trigger 32 in a single state. A single signal from the direct output of the trigger 32 opens the And 42 element, and a zero signal from the inverse output blocks the element 38, preventing the single-shot 29 from reacting again. Another clock pulse from the third output of the generator 6 passes through the open element 42 to the installation input of the trigger 31 and switches it into the state of a logical unit.

Единичный сигнал с прямого выхода триггера 31 разрешает прохождение тактовых импульсов через элементы 39.1 и 39.2, а нулевой сигнал с инверсного выхода подтверждает блокировку элемента И 38. В то же время импульс с выхода элемента 42 поступает на счетный вход триггера 32 и срезом возвращает его в исходное состояние. Нулевой сигнал с прямого выхода триггера 32 блокирует элемент 42. Поскольку элемент 38 заблокирован нулевым сигналом с инверсного выхода триггера 31, появление единичного уровня сигнала на инверсном выходе триггера 32 не вызывает изменение уровня сигнала на выходе элемента 38, что обусловливает блокировку одновибратора 29. В то же самое время по срезу импульса p с выхода элемента 45 триггер 30 устанавливается в нулевое состояние; нулевой сигнал с прямого выхода триггера 30 переводит блок 33 в состояние высокого импеданса - текущий модуль освобождает шину 50, а единичный сигнал с инверсного выхода триггера 30 открывает элемент 36 и возвращает в активное состояние блок 34. A single signal from the direct output of the trigger 31 allows the passage of clock pulses through the elements 39.1 and 39.2, and a zero signal from the inverse output confirms the blocking of the And 38 element. At the same time, the pulse from the output of the element 42 goes to the counting input of the trigger 32 and returns it to the original with a cut state. The zero signal from the direct output of the trigger 32 blocks the element 42. Since the element 38 is blocked by the zero signal from the inverse output of the trigger 31, the appearance of a single signal level at the inverse output of the trigger 32 does not cause a change in the signal level at the output of the element 38, which leads to blocking of the one-shot 29. At that the same time, by cutting off the pulse p from the output of element 45, trigger 30 is set to zero; the zero signal from the direct output of the trigger 30 puts the block 33 in a high impedance state - the current module frees the bus 50, and a single signal from the inverse output of the trigger 30 opens the element 36 and returns the block 34 to the active state.

Импульс t1 с первого выхода генератора 6 через открытый элемент 39.1 проходит на вход синхронизации блока 2 и обеспечивает запись исполнительного адреса очередной микрокоманды, сформированного ранее с использованием содержимого полей 3.1 и 3.2 регистра 3, в регистр 61 адреса микрокоманды (фиг. 2). Формирование исполнительного адреса следующей микрокоманды происходит аналогично ранее рассмотренному (см. режим A). Адрес с выхода регистра 61 передается на адресный вход блока 1 (фиг.1), и текущий модуль Mi возобновляет выполнение микропрограммы, приостановленное на время синхронизации параллельных участков. На выходе блока 1 появляется следующая микрокоманда. Данная микрокоманда поступает на информационный вход регистра 3 и фиксируется в регистре 3 в момент появления фронта импульса t2 на его входе синхронизации. Далее работа устройства ничем не отличается от его функционирования при выполнении начального последовательного участка микропрограммы.The pulse t 1 from the first output of the generator 6 through the open element 39.1 passes to the synchronization input of block 2 and ensures the recording of the executive address of the next microcommand, formed earlier using the contents of fields 3.1 and 3.2 of register 3, in the microcontroller address register 61 (Fig. 2). The formation of the executive address of the next microcommand occurs similarly to the previously considered (see mode A). The address from the output of the register 61 is transmitted to the address input of block 1 (Fig. 1), and the current module M i resumes the execution of the microprogram, suspended for the duration of synchronization of parallel sections. At the output of block 1, the following microcommand appears. This microcommand arrives at the information input of register 3 and is fixed in register 3 at the moment of the appearance of the pulse front t 2 at its synchronization input. Further, the operation of the device is no different from its functioning when performing the initial sequential portion of the firmware.

Таким образом, введение в устройство дополнительные элементы и обусловленные ими связи позволяют существенно расширить его функциональные возможности, а следовательно, и область целесообразного применения, обеспечивая возможность построения на его основе модульных мультимикропрограммных систем, реализующих сложные комплексы параллельных и последовательных микропрограмм, в том числе микропрограмм, содержащих значительное число точек распараллеливания и синхронизации параллельных участков. Применение введенных аппаратных и алгоритмических средств синхронизации параллельных участков позволяет исключить одновременное выполнение несовместимых микрокоманд (участков), что может иметь место при использовании прототипа. Максимальное число как параллельно выполняемых, так и одновременно инициализируемых или синхронизируемых (т.е. сходящихся к единой точке синхронизации) участков микропрограммы ограничивается только числом модулей в составе управляющей системы. Thus, the introduction of additional elements into the device and the relationships caused by them can significantly expand its functionality, and therefore the field of expedient application, providing the ability to build on its basis modular multicroprogram systems that implement complex complexes of parallel and serial microprograms, including microprograms, containing a significant number of parallelization and synchronization points of parallel sections. The use of the introduced hardware and algorithmic means for synchronizing parallel sections eliminates the simultaneous execution of incompatible microcommands (sections), which may occur when using the prototype. The maximum number of simultaneously executed and simultaneously initialized or synchronized (i.e. converging to a single synchronization point) sections of the firmware is limited only by the number of modules in the control system.

Claims (2)

1. Модуль мультимикропрограммной системы, содержащий блок памяти микропрограмм, блок формирования адреса микрокоманд, регистр микрокоманд, N регистров передачи управления, триггер управления, первый генератор тактовых импульсов, счетчики выборки и опроса, первый триггер, дешифраторы выборки и опроса, схему сравнения, группу из N элементов ИЛИ - НЕ, первую и вторую группы из N элементов И, с первого по третий элементы И, с первого по третий элементы ИЛИ, группу из N элементов задержки, одновибратор, шину передачи управления и шину синхронизации параллельных участков, причем прямой выход триггера управления соединен с управляющим входом первого генератора тактовых импульсов, первый и второй информационные входы блока формирования адреса микрокоманд являются соответственно входами логических условий и кода операции модуля, информационный выход блока формирования адреса микрокоманд соединен с адресным входом блока памяти микропрограмм, выход которого соединен с информационным входом регистра микрокоманд, выходы адреса и кода логического условия которого подключены к третьему информационному и управляющему входам блока формирования адреса микрокоманд соответственно, выход микроопераций регистра микрокоманд является выходом микроопераций модуля, выход счетчика выборки соединен с входом дешифратора выборки, выходы с первого по N-й которого подключены к первым входам элементов И первой группы с первого по N-й соответственно, выходы которых соединены с входами синхронизации регистров передачи управления с первого по N-й соответственно, выход N-го элемента ИЛИ - НЕ группы соединен с первым входом первого элемента И, выход которого подключен к счетному входу счетчика опроса, выход которого соединен с входом дешифратора опроса, выходы с первого по N-й которого подключены к первым входам элементов И второй группы с первого по N-й соответственно, выходы которых соединены с входами элементов задержки группы с первого по N-й соответственно, выходы которых соединены с входами сброса регистров передачи управления с первого по N-й соответственно, выходы элементов ИЛИ - НЕ группы с первого по N-й подключены к вторым входам элементов И второй группы с первого по N-й соответственно, первый вход, второй вход и выход первого элемента ИЛИ соединены с управляющим входом модуля, выходом второго элемента И и входом сброса триггера управления соответственно, отличающийся тем, что введены первая и вторая группы из N блоков тристабильных элементов, формирователь признака принадлежности, второй генератор тактовых импульсов, счетчик времени ожидания, второй, третий и четвертый триггеры, первый и второй блоки тристабильных элементов, третья группа из N элементов И, элемент ИЛИ - НЕ, элемент И - НЕ, с четвертого по тринадцатый элементы И, с первого по четвертый элементы задержки, линия состояния параллельных участков, причем выход метки передачи управления/инициализации регистра микрокоманд соединен с первыми входами третьего и четвертого элементов И, выходы которых соединены с входом сброса и счетным входом счетчика выборки соответственно, выход управляющей информации регистра микрокоманд подключен к первому входу схемы сравнения, информационному входу первого блока тристабильных элементов и информационным входам регистров передачи управления с первого по N-й, инверсные выходы которых соединены с входами элементов И третьей группы с первого по N-й соответственно, выход статуса регистра микрокоманд соединен с первым входом пятого элемента И, выход которого соединен с входом одновибратора, выход которого подключен к входу первого элемента задержки и входу установки второго триггера, инверсный выход которого подключен к управляющему входу второго блока тристабильных элементов, прямой выход второго триггера соединен с управляющим входом первого блока тристабильных элементов, выход которого подключен к шине синхронизации параллельных участков, которая соединена с информационным входом второго блока тристабильных элементов, выход которого подключен к входам элемента ИЛИ - НЕ, адресному входу формирователя признака принадлежности и второму входу схемы сравнения, первый и второй выходы первого генератора тактовых импульсов подключены к первым входам шестого и седьмого элементов И, выход шестого элемента И соединен с входом синхронизации блока формирования адреса микрокоманд, четвертый информационный вход которого подключен к шине передачи управления, выход седьмого элемента И соединен с входом синхронизации регистра микрокоманд и с входом второго элемента задержки, выход которого соединен с вторым входом третьего элемента И, инверсный выход второго триггера подключен к первому входу элемента И - НЕ, второй вход которого подключен к выходу формирователя признака принадлежности, выход элемента И - НЕ соединен с первым входом второго элемента ИЛИ, выход которого подключен к линии состояния параллельных участков, выход первого элемента задержки соединен со счетным входом второго триггера, а также с первыми входами восьмого и девятого элементов И, вторые входы которых подключены к линии состояния параллельных участков, выходы восьмого и девятого элементов И соединены соответственно с входом установки первого триггера и первым входом третьего элемента ИЛИ, прямой выход первого триггера соединен с управляющим входом второго генератора тактовых импульсов, выход которого соединен со счетным входом счетчика времени ожидания, выход которого подключен к входам десятого элемента И, выход которого подключен к входам сброса первого триггера и счетчика времени ожидания, выходы элементов И третьей группы с первого по N-й подключены к третьему входу третьего элемента И, третий выход первого генератора тактовых импульсов соединен с вторым входом четвертого элемента И, первым входом одиннадцатого элемента И и входом третьего элемента задержки, выход которого подключен к вторым входам элементов И первой группы с первого по N-й, второму входу первого элемента И и входу четвертого элемента задержки, выход которого соединен с первым входом двенадцатого элемента И, второй вход и выход которого подключены к N-му выходу дешифратора опроса и входу сброса счетчика опроса соответственно, выход метки конца участка регистра микрокоманд подключен к первому входу тринадцатого элемента И, второй вход которого соединен с выходом второго элемента задержки, выход тринадцатого элемента И подключен к счетному входу третьего триггера, прямой выход которого подключен к вторым входам шестого и седьмого элементов И, инверсный выход третьего триггера соединен с вторым входом пятого элемента И, третий, четвертый и пятый входы которого соединены соответственно с инверсным выходом четвертого триггера, инверсным выходом первого триггера и с выходом элемента ИЛИ - НЕ, выход схемы сравнения подключен к второму входу второго элемента ИЛИ, выход метки конца микропрограммы регистра микрокоманд соединен с выходом конца микропрограммы модуля и первым входом второго элемента И, второй вход которого подключен к третьему выходу первого генератора тактовых импульсов, управляющий выход блока формирования адреса микрокоманд подключен к входу установки триггера управления и второму входу третьего элемента ИЛИ, выход которого подключен к входу установки четвертого триггера, прямой выход которого соединен с вторым входом одиннадцатого элемента И, выход которого соединен с входом установки третьего триггера и счетным входом четвертого триггера, прямые выходы регистров передачи управления с первого по N-й подключены к информационным входам блоков тристабильных элементов первой группы с первого по N-й соответственно, выходы которых подключены к шине передачи управления, которая соединена с информационными входами блоков тристабильных элементов второй группы с первого по N-й, выходы которых соединены с входами элементов ИЛИ - НЕ группы с первого по N-й соответственно, выходы элементов И второй группы с первого по N-й соединены с управляющими входами блоков тристабильных элементов первой и второй групп с первых по N-е соответственно. 1. A multicomprogram system module containing a microprogram memory block, micro-command address generation block, micro-command register, N control transfer registers, control trigger, first clock pulse generator, sampling and polling counters, first trigger, sampling and polling decoders, comparison circuit, a group of N elements OR - NOT, the first and second groups of N elements AND, from the first to third elements AND, from the first to third elements OR, a group of N delay elements, one-shot, control transfer bus and synchronization bus parallel sections, with the direct output of the control trigger connected to the control input of the first clock pulse generator, the first and second information inputs of the micro-command address generation unit are respectively the inputs of logical conditions and the operation code of the module, the information output of the micro-command address generation unit is connected to the address input of the microprogram memory, the output of which is connected to the information input of the micro-command register, the outputs of the address and logical condition code of which are connected to the information and control inputs of the micro-command address generation unit, respectively, the output of micro-operations of the micro-command register is the output of the micro-operations of the module, the output of the sample counter is connected to the input of the sample decoder, the outputs from the first to the Nth of which are connected to the first inputs of the elements And of the first group from the first to N- respectively, the outputs of which are connected to the synchronization inputs of the control transfer registers from the first to the Nth, respectively, the output of the Nth element OR - NOT of the group is connected to the first input of the first element And, the output of which is connected to the counting input of the polling counter, the output of which is connected to the input of the polling decoder, the first to Nth outputs of which are connected to the first inputs of the And elements of the second group from the first to the Nth, respectively, whose outputs are connected to the inputs of the elements delays of the group from the first to the Nth, respectively, the outputs of which are connected to the reset inputs of the control transfer registers from the first to the Nth, respectively, the outputs of the elements OR - NOT the groups from the first to the Nth are connected to the second inputs of the elements of the second group from the first according to the Nth input, the first input, the second input and the output of the first OR element are connected to the control input of the module, the output of the second AND element and the reset trigger input, respectively, characterized in that the first and second groups of N blocks of tristable elements are introduced, a signifier accessories, a second clock generator, a timeout counter, second, third and fourth triggers, the first and second blocks of tristable elements, the third group of N elements AND, the OR element is NOT, the AND element is NOT, from the fourth o through the thirteenth AND elements, from the first to the fourth delay elements, the status line of parallel sections, the output of the control transfer / initialization register of the micro command register being connected to the first inputs of the third and fourth AND elements, the outputs of which are connected to the reset input and the counting input of the sample counter, respectively the output of the control information of the micro-command register is connected to the first input of the comparison circuit, the information input of the first block of tristable elements and the information inputs of the transfer registers first to Nth circuits, the inverse outputs of which are connected to the inputs of the And elements of the third group from the first to the Nth, respectively, the micro-command register status output is connected to the first input of the fifth And element, the output of which is connected to the input of the one-shot, the output of which is connected to the input the first delay element and the installation input of the second trigger, the inverse output of which is connected to the control input of the second block of tristable elements, the direct output of the second trigger is connected to the control input of the first block of tristable elements NTV, the output of which is connected to the synchronization bus of parallel sections, which is connected to the information input of the second block of tristable elements, the output of which is connected to the inputs of the element OR - NOT, the address input of the membership attribute generator and the second input of the comparison circuit, the first and second outputs of the first clock connected to the first inputs of the sixth and seventh elements And, the output of the sixth element And is connected to the synchronization input of the unit for generating the address of microcommands, the fourth information the stroke of which is connected to the control bus, the output of the seventh element And is connected to the synchronization input of the micro-command register and to the input of the second delay element, the output of which is connected to the second input of the third AND element, the inverse output of the second trigger is connected to the first input of the AND element - NOT, the second input which is connected to the output of the shaper of an attribute of ownership, the output of the AND element is NOT connected to the first input of the second OR element, the output of which is connected to the status line of parallel sections, the output of the first element the delay is connected to the counting input of the second trigger, as well as to the first inputs of the eighth and ninth AND elements, the second inputs of which are connected to the status line of parallel sections, the outputs of the eighth and ninth AND elements are connected respectively to the installation input of the first trigger and the first input of the third OR element, direct the output of the first trigger is connected to the control input of the second clock generator, the output of which is connected to the counting input of the timeout counter, the output of which is connected to the inputs of the tenth ment And, whose output is connected to the reset inputs of the first trigger and the timeout counter, the outputs of the elements of the third group from the first to the Nth are connected to the third input of the third element And, the third output of the first clock generator is connected to the second input of the fourth element And, the first the input of the eleventh element And and the input of the third delay element, the output of which is connected to the second inputs of the elements And of the first group from the first to the Nth, the second input of the first element And the input of the fourth delay element, the output of which is is dined with the first input of the twelfth element And, the second input and output of which is connected to the Nth output of the polling decoder and the reset input of the polling counter, respectively, the output of the mark of the end of the microcommand register section is connected to the first input of the thirteenth element And, the second input of which is connected to the output of the second element delays, the output of the thirteenth element And is connected to the counting input of the third trigger, the direct output of which is connected to the second inputs of the sixth and seventh elements And, the inverse output of the third trigger is connected to the second the fifth element AND, the third, fourth and fifth inputs of which are connected respectively to the inverse output of the fourth trigger, the inverse output of the first trigger and the output of the OR element - NOT, the output of the comparison circuit is connected to the second input of the second OR element, the output of the mark mark of the microprogram register of the microcommands is connected with the output of the end of the module firmware and the first input of the second AND element, the second input of which is connected to the third output of the first clock generator, the control output of the mic address generation unit the command is connected to the installation input of the control trigger and the second input of the third OR element, the output of which is connected to the installation input of the fourth trigger, the direct output of which is connected to the second input of the eleventh element And, the output of which is connected to the installation input of the third trigger and the counting input of the fourth trigger, direct outputs control transfer registers from the first to the Nth are connected to the information inputs of the blocks of tristable elements of the first group from the first to the Nth, respectively, the outputs of which are connected to the bus control transmission, which is connected to the information inputs of the blocks of tristable elements of the second group from the first to the Nth, the outputs of which are connected to the inputs of the elements OR are NOT the groups from the first to the Nth, respectively, the outputs of the elements of the second group from the first to the Nth are connected with control inputs of blocks of tristable elements of the first and second groups from the first to the Nth, respectively. 2. Модуль по п.1, отличающийся тем, что блок формирования адреса микрокоманд содержит шифратор начального адреса, мультиплексор, первый и второй блоки элементов ИЛИ, первый и второй элементы ИЛИ, регистр, одновибратор и регистр адреса микрокоманды, причем вход шифратора начального адреса является четвертым информационным входом блока формирования адреса микрокоманд, управляющий и информационный входы мультиплексора являются соответственно управляющим и первым информационным входами блока формирования адреса микрокоманд, n - 1 старшими разрядов третьего информационного входа которого (где n - разрядность адреса микрокоманды) соединены с n - 1 старшими разрядами первого входа первого блока элементов ИЛИ, а младший разряд подключен к первому входу первого элемента ИЛИ, второй вход и выход которого соединены соответственно с выходом мультиплексора и младшим разрядом первого входа первого блока элементов ИЛИ, вход синхронизации регистра адреса микрокоманды подключен к входу синхронизации блока формирования адреса микрокоманд, а выход является информационным выходом блока формирования адреса микрокоманд, второй информационный вход которого соединен с первым входом второго элемента ИЛИ и первым входом второго блока элементов ИЛИ, выход которого соединен с информационным входом регистра, вход сброса которого соединен с входом синхронизации блока формирования адреса микрокоманд, а выход подключен к второму входу первого блока элементов ИЛИ, выход которого подключен к информационному входу регистра адреса микрокоманд, выход шифратора начального адреса соединен с вторым входом второго блока элементов ИЛИ и вторым входом второго элемента ИЛИ, выход которого соединен с входом одновибратора, выход которого подключен к входу синхронизации регистра и управляющему выходу блока формирования адреса микрокоманд. 2. The module according to claim 1, characterized in that the micro-command address generating unit comprises a start address encoder, a multiplexer, first and second blocks of OR elements, a first and second OR elements, a register, a one-shot and a micro command address register, wherein the input of the start address encoder is the fourth information input of the micro-command address generation unit, the control and information inputs of the multiplexer are respectively the control and first information inputs of the micro-command address formation unit, n - 1 senior bits of the third information input of which (where n is the bit depth of the micro command address) are connected to n - 1 by the highest bits of the first input of the first block of OR elements, and the least significant bit is connected to the first input of the first OR element, the second input and output of which are connected respectively to the multiplexer output and the lower by the discharge of the first input of the first block of OR elements, the synchronization input of the micro-command address register is connected to the synchronization input of the micro-command address generation unit, and the output is the information output of the block the formation of the address of microcommands, the second information input of which is connected to the first input of the second OR element and the first input of the second block of OR elements, the output of which is connected to the information input of the register, the reset input of which is connected to the synchronization input of the formation of the address of the microcommands, and the output is connected to the second input of the first block of OR elements, the output of which is connected to the information input of the address register of microcommands, the output encoder of the initial address is connected to the second input of the second block of OR elements and the second input of the second OR element, the output of which is connected to the input of the one-shot, the output of which is connected to the register synchronization input and the control output of the micro-command address generating unit.
RU97102631A 1997-02-18 1997-02-18 Unit of microprogram system RU2116665C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU97102631A RU2116665C1 (en) 1997-02-18 1997-02-18 Unit of microprogram system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU97102631A RU2116665C1 (en) 1997-02-18 1997-02-18 Unit of microprogram system

Publications (2)

Publication Number Publication Date
RU2116665C1 true RU2116665C1 (en) 1998-07-27
RU97102631A RU97102631A (en) 1998-12-10

Family

ID=20190098

Family Applications (1)

Application Number Title Priority Date Filing Date
RU97102631A RU2116665C1 (en) 1997-02-18 1997-02-18 Unit of microprogram system

Country Status (1)

Country Link
RU (1) RU2116665C1 (en)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SU, авторское свидетельство, 1168936, кл. G 06 F 9/22, 1985 . *

Similar Documents

Publication Publication Date Title
US4387294A (en) Shift register-latch circuit driven by clocks with half cycle phase deviation and usable with a serial alu
RU2116665C1 (en) Unit of microprogram system
US4789959A (en) Delay circuit for a real time clock
RU2151421C1 (en) Unit of microcontroller network
RU2145434C1 (en) Unit of software management system
RU2146064C1 (en) Device for software control
US5598552A (en) Error free data transfers
RU2336556C1 (en) Microcontroller network
RU2022353C1 (en) Device for determining complement of a set
RU2111528C1 (en) Microprogram control unit
SU1513440A1 (en) Tunable logic device
RU2110827C1 (en) Digital microcontroller network
CN101558451A (en) Circuit with parallel functional circuits with multi-phase control inputs
SU1631542A1 (en) Multimicroprogram control system
RU2112269C1 (en) Assembly unit for software control
SU1282147A1 (en) Device for controlling memory access
RU2112272C1 (en) Unit of microcontroller network
RU2630417C1 (en) Digital code-time interval converter
SU1117627A1 (en) Interface for linking computer with communication channels
RU2022345C1 (en) Interfaces matching device
SU1103230A1 (en) Microprogram control device
SU1479935A1 (en) Data source/receiver interface
SU754402A1 (en) Device for input of digital-pulse information
SU1288706A1 (en) Interface for linking computer with communication channels
RU2178584C1 (en) Communication network module for message transmission, message exchange, and organization of broadcasting modes for message exchange