RU2634199C1 - Parallel logic multicontroller - Google Patents
Parallel logic multicontroller Download PDFInfo
- Publication number
- RU2634199C1 RU2634199C1 RU2016117333A RU2016117333A RU2634199C1 RU 2634199 C1 RU2634199 C1 RU 2634199C1 RU 2016117333 A RU2016117333 A RU 2016117333A RU 2016117333 A RU2016117333 A RU 2016117333A RU 2634199 C1 RU2634199 C1 RU 2634199C1
- Authority
- RU
- Russia
- Prior art keywords
- input
- block
- output
- inputs
- elements
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Logic Circuits (AREA)
Abstract
Description
Изобретение относится к автоматике и вычислительной технике и может найти применение при построении распределенных систем программного управления и многопроцессорных систем широкого класса.The invention relates to automation and computer technology and may find application in the construction of distributed software control systems and multiprocessor systems of a wide class.
Известна микроконтроллерная сеть, содержащая М*N однотипных модулей, объединенных в матричную структуру, где N - число модулей в строке матричной структуры сети, М - число строк, каждый модуль которой включает блок памяти программ, регистр адреса, регистр команд, мультиплексор логических условий, коммутатор адреса, блок синхронизации, с первого по третий элементы ИЛИ, регистр вектора соответствия, буферный регистр, первый и второй дешифраторы номера вершины синхронизации, блок элементов ИЛИ, первый и второй одновибраторы, элемент задержки, группу блоков модулей управления синхронизацией, мультиплексор каналов синхронизации, регистр конфигурации, первый и второй мультиплексоры, дешифратор каналов синхронизации, генератор сигналов управления синхронизацией, первую и вторую группы элементов И (патент РФ №2336556, МПК9 G06F 9/28, G06F 15/173, G06F 1/10; заявл. 17.04.2007, опубл. 20.10.2008. Бюл. №29).A microcontroller network is known, containing M * N of the same type of modules combined into a matrix structure, where N is the number of modules in a row of the network matrix structure, M is the number of rows, each module of which includes a program memory block, address register, instruction register, logical condition multiplexer, address switch, synchronization unit, first through third OR elements, correspondence vector register, buffer register, first and second synchronization vertex number decoders, OR element block, first and second one-shots, delay element, Rupp block synchronization control module, a multiplexer synchronization channel configuration register, the first and second multiplexers, decoder synchronization channels, timing control signal generator, a first and a second group of AND gates (RF patent №2336556, 9 IPC G06F 9/28, G06F 15/173 , G06F 1/10; Declared April 17, 2007, published October 20, 2008, Bull. No. 29).
Недостатком данной сети является невысокая скорость выполнения барьерной синхронизации (и, как следствие, недостаточное ее быстродействие при реализации параллельных алгоритмов управления) из-за последовательного характера активизации групп блоков модулей управления синхронизацией (групп барьеров).The disadvantage of this network is the low speed of performing barrier synchronization (and, as a consequence, its insufficient speed when implementing parallel control algorithms) due to the sequential nature of the activation of groups of blocks of synchronization control modules (groups of barriers).
Наиболее близкой к предлагаемому параллельному логическому мультиконтроллеру по технической сущности является логический мультиконтроллер с распределенным параллельно-конвейерным барьерным синхронизатором, содержащий М*N однотипных модулей, объединенных в матричную структуру, где N - число модулей в строке матричной структуры, М - число строк, включающий блок памяти программ, регистр адреса, регистр команд, мультиплексор логических условий, коммутатор адреса, блок синхронизации, с первого по третий элементы ИЛИ, регистр вектора соответствия, буферный регистр, первый и второй дешифраторы номера вершины синхронизации, блок элементов ИЛИ, первый и второй одновибраторы, первый элемент задержки, первую и вторую группы элементов И, группу блоков управления синхронизацией (патент РФ №2450328, МКП9 G06F 9/00; заявл. 15.02.2010, опубл. 10.05.2012. Бюл. №13).The closest to the proposed parallel logical multi-controller in technical essence is a logical multi-controller with a distributed parallel-conveyor barrier synchronizer, containing M * N modules of the same type, combined into a matrix structure, where N is the number of modules in a row of the matrix structure, M is the number of lines, including a block program memory, address register, instruction register, logical condition multiplexer, address switch, synchronization unit, first to third elements OR, vector register respectively effects, buffer register, first and second decoders of the synchronization vertex number, block of OR elements, first and second single vibrators, first delay element, first and second groups of AND elements, group of synchronization control units (RF patent No. 2450328, MKP 9 G06F 9/00; Declared February 15, 2010, published May 10, 2012, Bull. No. 13).
Недостатком данного устройства является невысокое число синхронизируемых параллельных барьеров, а также низкая скорость барьерной синхронизации участков параллельных программ.The disadvantage of this device is the low number of synchronized parallel barriers, as well as the low speed of barrier synchronization of sections of parallel programs.
Технической задачей заявляемого изобретения является расширения области целесообразного применения устройства, за счет увеличения максимально возможного числа синхронизируемых параллельных барьеров, а также повышение скорости выполнения барьерной синхронизации участков параллельных программ, выполняющихся в различных модулях логического мультиконтроллера (контроллерах), за счет сокращения времени переключения между слоями синхронизации путем параллельного распространения «волн» тактовых импульсов от одного углового модуля через всю структуру к другому угловому модулю и одновременно в обратном направлении.The technical task of the claimed invention is to expand the field of expedient use of the device, by increasing the maximum possible number of synchronized parallel barriers, as well as increasing the speed of performing barrier synchronization of sections of parallel programs running in various modules of the logical multicontroller (controllers), by reducing the switching time between synchronization layers by parallel propagation of “waves” of clock pulses from one angular module cutting the whole structure to another angular module and simultaneously in the opposite direction.
Техническая задача решается тем, что в каждый модуль параллельного логического мультиконтроллера, содержащей М*N однотипных модулей, объединенных в матричную структуру, где N - число модулей в строке матричной структуры параллельного логического мультиконтроллера, М - число строк, включающий блок памяти программ, регистр адреса, регистр команд, мультиплексор логических условий, коммутатор адреса, блок синхронизации, первый и второй элементы ИЛИ, буферный регистр, блок элементов ИЛИ, первый и второй одновибраторы, элемент задержки, модуль синхронизатора, причем вход кода операции модуля соединен с первым информационным входом коммутатора адреса, выход которого подключен к информационному входу регистра адреса, выход которого соединен с адресным входом блока памяти программ, выход которого подключен к информационному входу регистра команд, первый выход которого соединен с адресным входом мультиплексора логических условий, а второй выход со вторым информационным выходом мультиплексора логических условий, первый информационный выход которого подключен к входу логических условий модуля, третий выход регистра команд объединен с выходом мультиплексора логических условий и подключен к первому входу блока элементов ИЛИ и к информационному входу буферного регистра, выход которого подключен ко второму входу блока элементов ИЛИ, выход которого соединен со вторым информационным входом коммутатора адреса, четвертый выход регистра команд подключен к выходу микроопераций модуля, пятый, шестой, седьмой и восьмой выходы регистра команд подключены к восьмому, двенадцатому, девятому и пятнадцатому входам модуля синхронизатора соответственно, девятый выход регистра команд подключен к третьему входу модуля синхронизатора, а также к входу первого одновибратора, выход которого соединен с третьим входом блока синхронизации, первый выход которого подключен к первому входу первого элемента ИЛИ, выход которого соединен с синхровходом регистра адреса, второй выход блока синхронизации подключен к входу сброса буферного регистра и второму входу второго элемента ИЛИ, выход которого соединен с синхровходом регистра команд, десятый выход регистра команд подключен к управляющим входам коммутатора адреса, первые информационные входы с первого по d-й (d - количество измерений контроллера) модуля синхронизатора соединены первыми выходами модулей синхронизаторов соседних модулей с первого по d-й, вторые тактовые входы с первого по d-й подключены к пятым выходам модулей синхронизаторов соседних модулей с первого по d-й, пятый и шестой вход модуля синхронизатора подключены к координатным входам модуля, седьмые информационные входы модуля синхронизатора с первого по d-й подключены к третьим выходам модулей синхронизаторов соседних модулей с первого по d-й, десятый информационный вход соединен со входом вектора соответствия модуля, одиннадцатый информационный вход подключен к входу максимального количества барьеров модуля, тринадцатые управляющие входы модуля синхронизатора с первого по d-й подключены к четвертым выходам модулей синхронизаторов соседних модулей с первого по d-й, четырнадцатый вход модуля синхронизатора соединен со входом тактовых импульсов модуля, первые выходы модуля синхронизатора с первого по d-й подключены к первым информационным входам модулей синхронизаторов соседних модулей с первого по d-й, второй выход модуля синхронизатора подключен к входу второго одновибратора и синхровходу буферного регистра, выход которого соединен с входом сброса регистра команд и вторым входам блока синхронизации, третьи выходы модуля синхронизатора с первого по d-й подключены к седьмым информационным входам модулей синхронизаторов соседних модулей с первого по d-й, пятые выходы модуля синхронизатора с первого по d-й соединены со вторыми входами модулей синхронизаторов соседних модулей с первого по d-й, четвертые выходы модуля синхронизатора с первого по d-й соединены с тринадцатыми входами модулей синхронизаторов соседних модулей с первого по d-й, первый вход блока синхронизации подключен к входу пуска модуля, вход настройки модуля соединен со вторым входом первого элемента ИЛИ, четвертым входом модуля синхронизатора, а также со входом элемента задержки, выход которого подключен к второму входу второго элемента ИЛИ, модуль синхронизатора содержит с первого по четвертый блоки элементов И, группу блоков элементов ИЛИ-НЕ с первого по d-й, первый и второй блок элементов ИЛИ-НЕ, первый и второй блок элементов ИЛИ, блок элементов И-НЕ, с первого по шестой элемент И, с первого по четвертый элемент ИЛИ, группа блоков буферных элементов с первого по р-й (р=q/n, где q - максимальное число барьеров в реализуемых программах, а n - число физических разрядов параллельного логического мультиконтроллера), блок буферных элементов, с первого по третий триггер, первый и второй блок мультиплексоров, первый и второй блок демультиплексоров, с первого по третий дешифраторы, первый и второй одновибраторы, первый и второй регистр текущего физического разряда параллельного логического мультиконтроллера, регистр максимального количества барьеров в одном физическом разряде, первый и второй регистр текущего барьера, первый и второй счетчики, регистр вектора соответствия, первый и второй компараторы, блок монтажного ИЛИ с первого по р-й, первая и вторая группа регистров значений функций, причем любой блок содержит с первого по n-й элемент, кроме блоков демультиплексоров, которые содержат с первого по n+1 демультиплексоров, первые входы элементов И из первого блока подключены к первым входам модуля синхронизатора таким образом, что первый разряд первого входа из группы первых входов модуля синхронизатора подключен к первому входу из группы первых входов первого элемента И в первом блоке, второй разряд первого входа из группы первых входов модуля синхронизатора подключен к первому входу из группы первых входов второго элемента И в первом блоке, и так далее до n-ого разряда первого входа из группы первых входов модуля синхронизатора, который подключен к первому входу из группы первых входов n-ого элемента И в первом блоке, аналогично подключены остальные разряды по n-й с первого по n-й вход группы первых входов модуля синхронизатора, который подключен к n-м входам из группы первых входов блока элементов И, выходы которого соединены с информационными входами первого блока демультиплексоров таким образом, что выход первого элемента И из первого блока подключен к информационному входу первого демультиплексора из первого блока, выход второго элемента И из первого блока подключен к информационному входу второго демультиплексора из первого блока, а выход n-ого элемента И из первого блока подключен к информационному входу n-ого демультиплексора из первого блока, первые разряды выходов демультиплексоров из первого блока подключены к информационному входу первого регистра из первой группы регистров значений функций, вторые разряды выходов демультиплексоров из первого блока подключены к информационному входу второго регистра из первой группы регистров значений функций и так далее до р-ого разряда выходов демультиплексоров из первого блока, который подключен к информационному входу р-ого регистра из первой группы регистров значений функций, первый разряд n+1-ого демультиплексора из первого блока подключен к синхровходу первого регистра из первой группы регистров значений функций, второй выход n+1-ого демультиплексора из первого блока подключен к синхровходу второго регистра из первой группы регистров значений функций и так далее до р-ого разряда n+1-ого демультиплексора из первого блока, который подключен к синхровходу р-ого регистра из первой группы регистров значений функций, с первого по n-й разряды выхода первого регистра первой группы регистров значений функций соединены с первыми разрядами информационных входов с первого по n-й мультиплексоров первого блока соответственно, с первого по n-й разряды выхода второго регистра первой группы регистров значений функций соединены со вторыми разрядами информационных входов с первого по n-й мультиплексоров первого блока соответственно и так далее до с первого по n-й разряды выхода р-ого регистра первой группы регистров значений функций, которые соединены с р-ми разрядами информационных входов с первого по n-й мультиплексоров первого блока соответственно, выходы с первого по n-й мультиплексоров подключены к первым входам с первого по n-й элементов И второго блока соответственно, а также к первому и второму входам с первого по n-й элементов ИЛИ-НЕ первого блока соответственно, выходы которых подключены к информационным входам с первого по n-й буферных элементов первого блока, выходы которого подключены к первым и вторым входам всех элементов ИЛИ-НЕ из группы блоков элементов ИЛИ-НЕ, группа вторых входов третьего элемента И соединена с группой вторых входов модуля синхронизатора, выход третьего элемента И подключен к входу первого одновибратора, выход которого подключен к информационному входу n+1-ого демультиплексора первого блока демультиплексоров, к входу инкремента первого счетчика, а также к второму входу третьего элемента ИЛИ, выход которого подключен ко всем выходам пятой группы выходов модуля синхронизатора, третий вход модуля синхронизатора подключен к синхровходу третьего триггера, четвертый вход модуля синхронизатора подключен ко всем входам сброса первой и второй группы всех регистров значений функций, первого триггера, второго триггера, первого и второго регистра текущего физического разряда параллельного логического мультиконтроллера, регистра максимального количества барьеров в одном физическом разряде, первого и второго регистра текущего барьера, первого и второго счетчика, регистра вектора соответствия, а также к первому входу первого элемента ИЛИ, выход которого подключен к входу сброса третьего триггера, прямой выход которого подключен к первым входам всех элементов И третьего блока элементов И, к первому входу второго элемента И, а также к первому входу первого элемента И, выход которого подключен к управляющему входу второго дешифратора, вход установки первого триггера подключен к пятому входу модуля синхронизатора, прямой выход первого триггера соединен со всеми управляющими входами буферных элементов блока буферных элементов, а также с первым входом шестого элемента И, выход которого подключен к первому входу четвертого ИЛИ, выход которого подключен ко всем четвертым выходам модуля синхронизатора, вход установки второго триггера подключен к шестому входу модуля синхронизатора, прямой выход второго триггера соединен с вторыми входами всех элементов И четвертого блока элементов И, а также первого входа пятого элемента И, выход которого соединен с первым входом третьего элемента ИЛИ, группа блоков элементов ИЛИ-НЕ подключена к группе седьмых входов таким образом, что первый блок в группе блоков элементов ИЛИ-НЕ подключен к первому входу из группы седьмых входов, причем первый разряд входа подключен к первому и второму входу первого элемента в первом блоке группы блоков элементов ИЛИ-НЕ, второй разряд входа подключен к первому и второму входу второго элемента в первом блоке группы блоков элементов ИЛИ-НЕ, и так далее до n-ого разряда входа, который подключен к первому и второму входу n-ого элемента в первом блоке группы блоков элементов ИЛИ-НЕ, остальные входы блоков по n-й блок элементов ИЛИ-НЕ подключаются аналогично, выходы группы блоков элементов ИЛИ-НЕ соединяются с блоком элементов И-НЕ таким образом, что выходы с первого по n-й первого блока в группе блоков элементов ИЛИ-НЕ подключены к первым входам с первого по n-й элементов И-НЕ в блоке элементов И-НЕ, выходы с первого по n-й второго блока в группе блоков элементов ИЛИ-НЕ подключены ко вторым входам с первого по n-й элементов И-НЕ в блоке элементов И-НЕ и так далее, до n-ого блока в группе блоков элементов ИЛИ-НЕ, у которого выходы с первого по n-й подключены к n-м входам с первого по n-й элементов И-НЕ в блоке элементов И-НЕ, выходы которого соединены с информационными входами второго блока демультиплексоров таким образом, что выход первого элемента И-НЕ из блока подключен к информационному входу первого демультиплексора из блока, выход второго элемента И-НЕ из блока подключен к информационному входу второго демультиплексора из второго блока, а выход n-ого элемента И-НЕ из блока подключен к информационному входу n-ого демультиплексора из блока, первые разряды выходов демультиплексоров из второго блока подключены к информационным входам первого регистра из второй группы регистров значений. функций, вторые разряды выходов демультиплексоров из второго блока подключены к информационным входам второго регистра из второй группы регистров значений функций и так далее до р-ого разряда выходов демультиплексоров из второго блока, который подключен к информационным входам р-ого регистра из второй группы регистров значений функций, первый разряд n+1-ого демультиплексора из второго блока подключен к синхровходу первого регистра из второй группы регистров значений функций, второй n+1-ого демультиплексора из второго блока подключен к синхровходу второго регистра из второй группы регистров значений функций и так далее до р-ого разряда n+1-ого демультиплексора из второго блока, который подключен к синхровходу р-ого регистра из второй группы регистров значений функций, с первого по 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-й демультиплексоров второго блока демультиплексоров, к управляющим входам с первого по n-й мультиплексоров второго блока мультиплексоров, а также к второму информационному входу второго компаратора, выход которого подключен ко второму входу второго элемента И, выход которого подключен к управляющему входу третьего дешифратора, информационный вход первого регистра текущего барьера соединен с двенадцатым входом модуля синхронизатора, причем старший разряд восьмого входа модуля синхронизатора подключен к синхровходу первого регистра текущего барьера, выход которого подключен к второму информационному входу первого компаратора, группа вторых входов четвертого элемента И соединена с группой тринадцатых входов модуля синхронизатора, выход четвертого элемента И подключен к входу второго одновибратора, выход которого подключен к информационному входу n+1-ого демультиплексора второго блока демультиплексоров, к входу инкремента второго счетчика, а также к второму входу четвертого элемента ИЛИ, инверсный выход первого триггера подключен к первому входу четвертого элемента И, а также к вторым входам с первого по n-й элемент второго блока элементов И, выходы которого подключены ко всем первым выходам модуля синхронизатора, вторые входы пятого и шестого элемента И подключены к четырнадцатому входу модуля синхронизатора, информационный вход второго регистра текущего барьера соединен с пятнадцатым входом модуля синхронизатора, причем старший разряд пятнадцатого входа модуля синхронизатора подключен к синхровходу второго регистра текущего барьера, выход которого подключен первому информационному входу второго компаратора, к информационному входу третьего триггера подключен сигнал логической единицы.The technical problem is solved in that in each module of a parallel logical multicontroller containing M * N of the same type of modules combined into a matrix structure, where N is the number of modules in a row of the matrix structure of a parallel logical multicontroller, M is the number of lines including a program memory block, address register , command register, logical conditions multiplexer, address switch, synchronization block, first and second elements OR, buffer register, block OR elements, first and second one-shots, delay element, module synchronizer, and the input of the operation code of the module is connected to the first information input of the address switch, the output of which is connected to the information input of the address register, the output of which is connected to the address input of the program memory block, the output of which is connected to the information input of the command register, the first output of which is connected to the address input the logical condition multiplexer, and the second output with the second information output of the logical condition multiplexer, the first information output of which is connected to the logic input x conditions of the module, the third output of the instruction register is combined with the output of the logical conditions multiplexer and connected to the first input of the block of OR elements and to the information input of the buffer register, the output of which is connected to the second input of the block of OR elements, the output of which is connected to the second information input of the address switch, fourth the output of the command register is connected to the output of microoperations of the module, the fifth, sixth, seventh and eighth outputs of the command register are connected to the eighth, twelfth, ninth and fifteenth inputs of the module with synchronizer, respectively, the ninth output of the command register is connected to the third input of the synchronizer module, as well as to the input of the first one-shot, the output of which is connected to the third input of the synchronization unit, the first output of which is connected to the first input of the first OR element, the output of which is connected to the sync input of the address register, the second the output of the synchronization unit is connected to the input of the buffer register reset and the second input of the second OR element, the output of which is connected to the sync input of the command register, the tenth output of the command register it is connected to the control inputs of the address switch, the first information inputs from the first to the d-th (d is the number of controller measurements) of the synchronizer module are connected by the first outputs of the synchronizer modules of the neighboring modules from the first to the d-th, the second clock inputs from the first to the d-th are connected to the fifth outputs of the synchronizer modules of adjacent modules from the first to the d-th, the fifth and sixth inputs of the synchronizer module are connected to the coordinate inputs of the module, the seventh information inputs of the synchronizer module from the first to d-th are connected to the third outputs modules of synchronizers of neighboring modules from the first to the d-th, the tenth information input is connected to the input of the module matching vector, the eleventh information input is connected to the input of the maximum number of module barriers, the thirteenth control inputs of the synchronizer module from the first to the d-th are connected to the fourth outputs of the neighboring synchronizer modules modules from the first to the d-th, the fourteenth input of the synchronizer module is connected to the input of the clock pulses of the module, the first outputs of the synchronizer module from the first to the d-th are connected to the first information inputs of the synchronizer modules of neighboring modules from the first to the d-th, the second output of the synchronizer module is connected to the input of the second one-shot and the sync input of the buffer register, the output of which is connected to the reset input of the command register and the second inputs of the synchronization block, the third outputs of the synchronizer module from first to d are connected to the seventh information inputs of synchronizer modules of neighboring modules from the first to the d-th, fifth outputs of the synchronizer module from the first to the d-th are connected to the second inputs of the synchronization modules congestion of adjacent modules from the first to the d-th, the fourth outputs of the synchronizer module from the first to the d-th are connected to the thirteenth inputs of the synchronizer modules of the neighboring modules from the first to the d-th, the first input of the synchronization block is connected to the module start input, the module settings input is connected to the second input of the first OR element, the fourth input of the synchronizer module, and also with the input of the delay element, the output of which is connected to the second input of the second OR element, the synchronizer module contains from the first to fourth blocks of AND elements, a group blocks of OR-NOT elements from the first to the d-th, the first and second block of OR-NOT elements, the first and second block of the OR elements, the block of AND-NOT elements, from the first to the sixth AND element, from the first to the fourth OR element, a group of blocks buffer elements from the first to the rth (p = q / n, where q is the maximum number of barriers in the programs being implemented, and n is the number of physical bits of the parallel logic multicontroller), a block of buffer elements, from the first to the third trigger, the first and second blocks multiplexers, the first and second block of demultiplexers, from first to third decryptors, first and second single vibrators, the first and second register of the current physical discharge of the parallel logical multicontroller, the register of the maximum number of barriers in one physical discharge, the first and second register of the current barrier, the first and second counters, the register of the correspondence vector, the first and second comparators, the mounting block OR from the first to the rth, the first and second group of function value registers, and any block contains from the first to the n-th element, except for blocks of demultiplexers that contain from the first to n +1 demultiplexers, the first inputs of AND elements from the first block are connected to the first inputs of the synchronizer module so that the first bit of the first input from the group of first inputs of the synchronizer module is connected to the first input from the group of first inputs of the first element AND in the first block, the second bit of the first input from the group of first inputs of the synchronizer module is connected to the first input from the group of first inputs of the second AND element in the first block, and so on until the nth discharge of the first input from the group of first inputs of the synchronizer module, which The nth is connected to the first input from the group of first inputs of the nth element And in the first block, the remaining bits are connected in the same way as the nth from the first to the nth input of the group of first inputs of the synchronizer module, which is connected to the nth inputs from the group of first inputs a block of elements And, the outputs of which are connected to the information inputs of the first block of demultiplexers in such a way that the output of the first element And from the first block is connected to the information input of the first demultiplexer from the first block, the output of the second element And from the first block is connected n to the information input of the second demultiplexer from the first block, and the output of the nth element And from the first block is connected to the information input of the n-th demultiplexer from the first block, the first bits of the outputs of the demultiplexers from the first block are connected to the information input of the first register from the first group of value registers functions, the second bits of the outputs of the demultiplexers from the first block are connected to the information input of the second register from the first group of function value registers and so on until the rth discharge of the outputs of the demult plexors from the first block, which is connected to the information input of the r-th register from the first group of function value registers, the first bit of the n + 1st demultiplexer from the first block is connected to the clock input of the first register from the first group of function value registers, the second output is n + 1- of the first demultiplexer from the first block is connected to the second input sync input from the first group of function value registers and so on until the rth discharge of the n + 1st demultiplexer from the first block, which is connected to the rth register sync input from the first group py registers of function values, from the first to the n-th digits of the output of the first register of the first group of registers of function values are connected to the first bits of the information inputs from the first to the n-th multiplexers of the first block, respectively, from the first to the n-th digits of the output of the second register of the first group of registers function values are connected to the second bits of the information inputs from the first to the n-th multiplexers of the first block, respectively, and so on until the first to the n-th bits of the output of the r-th register of the first group of function value registers, which are connected to the r-bits of the information inputs from the first to the n-th multiplexers of the first block, respectively, the outputs from the first to the n-th multiplexers are connected to the first inputs from the first to the nth elements of the second block, respectively, as well as to the first and second inputs from the first to the n-th elements OR NOT the first block, respectively, the outputs of which are connected to the information inputs from the first to the n-th buffer elements of the first block, the outputs of which are connected to the first and second inputs of all elements OR NOT from the group of blocks of elements LITTLE, the group of second inputs of the third element And is connected to the group of second inputs of the synchronizer module, the output of the third element And is connected to the input of the first one-shot, the output of which is connected to the information input of the n + 1st demultiplexer of the first block of demultiplexers, to the input of the increment of the first counter, as well as to the second input of the third OR element, the output of which is connected to all outputs of the fifth group of outputs of the synchronizer module, the third input of the synchronizer module is connected to the clock input of the third trigger, the fourth input The synchronizer module is connected to all reset inputs of the first and second groups of all function value registers, the first trigger, the second trigger, the first and second register of the current physical discharge of the parallel logic multicontroller, the register of the maximum number of barriers in one physical discharge, the first and second register of the current barrier, the first and the second counter, the register of the correspondence vector, as well as the first input of the first OR element, the output of which is connected to the reset input of the third trigger, direct output which is connected to the first inputs of all AND elements of the third block of AND elements, to the first input of the second AND element, as well as to the first input of the first AND element, the output of which is connected to the control input of the second decoder, the installation input of the first trigger is connected to the fifth input of the synchronizer module, direct the output of the first trigger is connected to all control inputs of the buffer elements of the block of buffer elements, as well as to the first input of the sixth element AND, the output of which is connected to the first input of the fourth OR, the output of which is it is connected to all fourth outputs of the synchronizer module, the input of the installation of the second trigger is connected to the sixth input of the synchronizer module, the direct output of the second trigger is connected to the second inputs of all elements AND of the fourth block of elements AND, as well as the first input of the fifth element And, the output of which is connected to the first input of the third OR element, the group of blocks of elements OR-NOT connected to the group of seventh inputs so that the first block in the group of blocks of elements OR-NOT connected to the first input from the group of seventh inputs, and the first time the input poison is connected to the first and second input of the first element in the first block of the group of block blocks of elements OR NOT, the second bit of the input is connected to the first and second input of the second element in the first block of the group of blocks of elements OR NOT, and so on until the n-th bit of the input which is connected to the first and second input of the nth element in the first block of the group of blocks of elements OR-NOT, the remaining inputs of the blocks on the nth block of elements OR-NOT connected in the same way, the outputs of the group of blocks of elements OR-NOT connected to the block of elements AND- NOT in such a way that exits with the first to the nth first block in the group of blocks of elements OR are NOT connected to the first inputs from the first to the n-th elements of NAND in the block of elements AND-NOT, the outputs from the first to the nth second block in the group of blocks of OR NOT connected to the second inputs from the first to the n-th elements AND-NOT in the block of elements AND-NOT and so on, up to the n-th block in the group of blocks of elements OR-NOT, whose outputs from the first to the n-th are connected to n the inputs from the first to the n-th elements AND-NOT in the block AND-NOT elements, the outputs of which are connected to the information inputs of the second block of demultiplexers so that the output of the first AND-NOT element from the block is connected to the information input of the first demultiplexer from the block, the output of the second AND-NOT element from the block is connected to the information input of the second demultiplexer from the second block, and the output of the nth AND-NOT element from the block connected to the information input of the nth demultiplexer from the block, the first bits of the outputs of the demultiplexers from the second block are connected to the information inputs of the first register from the second group of value registers. functions, the second bits of the outputs of the demultiplexers from the second block are connected to the information inputs of the second register from the second group of function value registers and so on until the rth category of the outputs of the demultiplexers from the second block, which is connected to the information inputs of the second register from the second group of function value registers , the first bit of the n + 1st demultiplexer from the second block is connected to the sync input of the first register from the second group of function value registers, the second n + 1st demultiplexer from the second block is connected to to the input terminal of the second register from the second group of function value registers and so on until the rth digit of the n + 1st demultiplexer from the second block, which is connected to the clock input of the rth register from the second group of function value registers, from the first to the n-th digit of the output the first register of the second group of function value registers are connected to the first bits of the information inputs from the first to the n-th multiplexers of the second block, respectively, the first to the n-th bits of the output of the second register of the second group of function value registers are connected to the second bits of information inputs from the first to the n-th multiplexers of the second block, respectively, and so on until the first to the n-th bits of the output of the rth register of the second group of function value registers, which are connected to the r-bit bits of information inputs from the first to n- of the second multiplexers of the second block, respectively, the outputs from the first to the n-th multiplexers of the second block of multiplexers are connected to the second inputs from the first to the nth elements of the third block of AND elements, to all third outputs of the synchronizer module, to the first and second inputs I will give from the first to the nth elements of the second block of OR elements, the outputs of which are connected to the first inputs from the first to the n-th elements of the fourth block of AND elements, the outputs of which are connected to the first inputs from the first to nth elements of the first block of OR elements the outputs of which are connected to the third inputs from the first to the nth elements of the first block of AND elements, the inverse output of the second trigger is connected to the second inputs from the first to nth elements of the first block of OR elements, as well as to the first input of the third AND element, information input first p the histogram of the current physical discharge of the parallel logic multicontroller is connected to the eighth input of the synchronizer module, the senior bit of the eighth input of the synchronizer module is connected to the clock input of the first register of the current physical discharge of the parallel logic multicontroller, the output of which is connected to the information input of the second decoder, the outputs of which are from the first to the nth connected to the second inputs from the first to the n-th elements of the second block of OR elements, the outputs of which are connected to the second inputs with the first by the nth elements of the first block of AND elements, the information input of the second register of the current physical discharge of the parallel logic multicontroller is connected to the ninth input of the synchronizer module, and the highest bit of the eighth input of the synchronizer module is connected to the clock input of the second register of the current physical discharge of the parallel logic multicontroller, the output of which is connected to the information input of the third decoder, the outputs of which from the first to the nth are connected to the third inputs from the first to the nth electronic elements of the third block of AND elements, the outputs of which are connected to the inputs of the second OR element, the output of which is connected to the second output of the synchronizer module, as well as to the input of the first OR element, the information input of the correspondence vector register is connected to the tenth input of the synchronizer module, and the senior bit of the tenth input of the module the synchronizer is connected to the sync input of the register of the correspondence vector, the outputs of which are connected to the information inputs of the group of blocks of buffer elements in such a way that from the first to the nth bit the first exit of the register of the correspondence vector is connected to the information inputs from the first to the nth buffer elements of the first block of the group of blocks of buffer elements, the second to the rth outputs of the register of the correspondence vector are connected to the information inputs from the second to the rth blocks of the group of blocks of buffer elements , the outputs of the group of blocks of buffer elements are switched by an OR block, the outputs of which from the first to the nth are connected to the second inputs from the first to the n-th element of the first block of AND elements, the information input is register The maximum number of barriers in one physical discharge is connected to the eleventh input of the synchronizer module, the highest bit of the eleventh input of the synchronizer module is connected to the clock input of the maximum number of barriers register in one physical discharge, the output of which is connected to the information input of the second counter, as well as the information input of the first counter, the output of which is connected to the information input of the first decoder, control inputs from the first to n + 1st demultiplexers of the first block of multiplexers, to the control inputs from the first to the n-th multiplexers of the first block of multiplexers, as well as to the first information input of the first comparator, the output of which is connected to the second input of the first element And, from the first to the rth output of the first decoder are connected to the control inputs from the first on the rth blocks of the group of blocks of buffer elements, the output of the second counter is connected to the control inputs from the first to n + 1-th demultiplexers of the second block of demultiplexers, to the control inputs from the first to n-th multiplexers of the second OK multiplexers, as well as to the second information input of the second comparator, the output of which is connected to the second input of the second element And, the output of which is connected to the control input of the third decoder, the information input of the first register of the current barrier is connected to the twelfth input of the synchronizer module, the senior bit of the eighth input of the module synchronizer is connected to the sync input of the first register of the current barrier, the output of which is connected to the second information input of the first comparator, a group of second inputs the fourth element And is connected to the group of thirteenth inputs of the synchronizer module, the output of the fourth element And is connected to the input of the second one-shot, the output of which is connected to the information input of the n + 1st demultiplexer of the second block of demultiplexers, to the input of the increment of the second counter, and also to the second input of the fourth element OR, the inverse output of the first trigger is connected to the first input of the fourth AND element, as well as to the second inputs from the first to the nth element of the second block of AND elements, the outputs of which are connected to all the outputs of the synchronizer module, the second inputs of the fifth and sixth element AND are connected to the fourteenth input of the synchronizer module, the information input of the second register of the current barrier is connected to the fifteenth input of the synchronizer module, and the highest bit of the fifteenth input of the synchronizer module is connected to the sync input of the second register of the current barrier, the output of which is connected the first information input of the second comparator, the logical unit signal is connected to the information input of the third trigger.
Сущность изобретения поясняется чертежами, где на фиг. 1 представлена функциональная схема модуля параллельного логического мультиконтроллера (ПЛМК), на фиг. 2 изображена функциональная схема модуля синхронизатора, на фиг 3 представлена схема блока синхронизации, на фиг. 4 дана структурная схема ПЛМК, на фиг. 5 приведены форматы (микро)команд, реализуемые ПЛМК, на фиг. 6 представлен иллюстративный пример, поясняющий принципы реализации параллельных алгоритмов (программ) в ПЛМК.The invention is illustrated by drawings, where in FIG. 1 is a functional diagram of a parallel logic multicontroller module (PLMK), FIG. 2 shows a functional diagram of a synchronizer module; FIG. 3 shows a diagram of a synchronization unit; FIG. 4 is a structural diagram of the PLMK, in FIG. 5 shows the formats of (micro) instructions implemented by the PLMK; FIG. Figure 6 presents an illustrative example that explains the principles for implementing parallel algorithms (programs) in PLMK.
Модуль ПЛМК (фиг. 1) включает блок 33 памяти программ, регистр 34 адреса, регистр 35 команд, мультиплексор 36 логических условий, коммутатор 37 адреса, блок 39 синхронизации, первый 41, второй 42 элементы ИЛИ, буферный регистр 38, блок элементов ИЛИ 40, первый 43 и второй 23 одновибраторы, элемент 44 задержки, модуль 45 синхронизатора, причем вход 56 кода операции модуля соединен с первым информационным входом коммутатора 37 адреса, выход которого подключен к информационному входу регистра 34 адреса, выход которого подключен к адресному входу блока 33 памяти программ, выход которого соединен с информационным входом регистра 35 команд, выходы 3.1 кода логического условия и 3.2 модифицируемого разряда адреса регистра 35 команд подключены к адресному и первому информационному входам мультиплексора 36 логических условий, второй информационный вход которого соединен со входом 65 логических условий модуля, выход 3.3 регистра 35 команд объединен с выходом мультиплексора 36 логических условий и подключен к первому входу блока элементов ИЛИ 40 и к информационному входу буферного регистра 38, выход которого подключен ко второму входу блока элементов ИЛИ 40. выход которого соединен со вторым информационным входом коммутатора 37 адреса, выход 3.4 регистра команд подключен к выходу 58 микроопераций модуля, выходы 3.5, 3.6, 3.7 и 3.8 регистра 35 команд подключены к восьмому, двенадцатому, девятому и пятнадцатому входам модуля 45 синхронизатора соответственно, выход 3.9 регистра команд подключен к третьему входу модуля 45 синхронизатора, а также к входу одновибратора 43, выход которого соединен с третьим входом блока 39 синхронизации, первый выход которого подключен к первому входу элемента ИЛИ 41, выход которого соединен с синхровходом регистра 34 адреса, второй выход блока 39 синхронизации подключен к входу сброса буферного регистра 38 и второму входу элемента ИЛИ 42, выход которого соединен с синхровходом регистра 35 команд, выход 3.10 регистра 35 команд подключен к управляющим входам коммутатора 37 адреса, информационные входы 59 с первого по d-й модуля 45 синхронизатора соединены выходами 51 модулей синхронизаторов соседних модулей с первого по d-й, тактовые входы 60 с первого по d-й подключены к выходам 54 модулей синхронизаторов соседних модулей с первого по d-й, входы 61 и 62 модуля 45 синхронизатора подключены к координатным входам модуля, информационные входы 46 модуля 45 синхронизатора с первого по d-й подключены к выходам 52 модулей синхронизаторов соседних модулей с первого по d-й, информационный вход 47 модуля 45 синхронизатора соединен со входом вектора соответствия модуля, информационный вход 48 модуля 45 синхронизатора подключен к входу максимального количества барьеров модуля, управляющие входы 49 модуля 45 синхронизатора с первого по d-й подключены к выходам 53 модулей синхронизаторов соседних модулей с первого по d-й, вход 50 модуля синхронизатора соединен со входом тактовых импульсов модуля, выходы 52 модуля 45 синхронизатора с первого по d-й подключены к информационным входам 59 модулей синхронизаторов соседних модулей с первого по d-й, второй выход модуля 45 синхронизатора подключен к входу одновибратора 23, выход которого соединен с входом сброса регистра 35 команд и вторым входам блока 39 синхронизации, и синхровходу буферного регистра 38, выходы 52 модуля 45 синхронизатора с первого по d-й подключены к информационным входам 46 модулей синхронизаторов соседних модулей с первого по d-й, выходы 54 модуля 45 синхронизатора с первого по d-й соединены со входами 60 модулей 45 синхронизаторов соседних модулей с первого по d-й, выходы 53 модуля 45 синхронизатора с первого по d-й соединены со входами 49 модулей синхронизаторов соседних модулей с первого по d-й, первый вход блока 39 синхронизации подключен к входу 57 пуска модуля, вход 55 настройки модуля соединен со вторым входом элемента ИЛИ 41, четвертым входом модуля 45 синхронизатора, а также со входом элемента задержки 44, выход которого подключен к второму входу элемента ИЛИ 42.The PLMK module (Fig. 1) includes a
Модуль синхронизатора (фиг. 2) содержит блоки 13, 10, 11, 12 элементов И, блок 21 элементов И-НЕ, элементов группу 22 блоков элементов ИЛИ-НЕ, блоки 19, 20 элементов ИЛИ-НЕ, блоки 11, 16 элементов ИЛИ, элементы 14.1, 14.2, 29, 27, 31, 28 И, элементы 18, 24, 15, 25 ИЛИ, группа 8 блоков буферных элементов, блок 9 буферных элементов, триггеры 7.1, 7.2, 7.3, блоки 3.1, 3.2 мультиплексоров, блоки 2.1, 2.2 демультиплексоров, дешифраторы 5.1, 5.2, 5.3, одновибраторы 30, 26, регистры 1.6, 1.7 текущего физического разряда ПЛМК, регистр 1.4 максимального количества барьеров в одном физическом разряде, регистры 1.5, 1.8 текущего барьера, счетчики 4.1, 4.2, регистр 1.3 вектора соответствия, компараторы 6.1, 6.2, блок 32 монтажного ИЛИ, группы 1.1, 1.2 регистров значений функций, первые входы элементов И из первого блока 13 элементов И подключены к первым входам модуля синхронизатора таким образом, что первый разряд входа из группы первых входов модуля синхронизатора подключен к первому входу из группы первых входов элемента И 13.1 в блоке 13, второй разряд первого входа из группы первых входов модуля синхронизатора подключен к первому входу из группы первых входов элемента И 13.2 в блоке 13, и так далее до n-ого разряда первого входа из группы первых входов модуля синхронизатора, который подключен к первому входу из группы первых входов элемента И 13.n в блоке 13, аналогично подключены остальные разряды по n-й с первого по d-й вход группы первых входов модуля синхронизатора, который подключен к d-м входам из группы первых входов блока 13 элементов И, выходы которого соединены с информационными входами блока 2.1 демультиплексоров таким образом, что выход элемента И 13.1 из блока 13 подключен к информационному входу демультиплексора 2.1.1 из блока 2.1, выход элемента И 13.2 из блока 13 подключен к информационному входу демультиплексора 2.1.2 из блока 2.1, а выход элемента И 13.п из блока 13 подключен к информационному входу демультиплексора 2.1.п из блока 2.1, первые разряды выходов демультиплексоров из блока 2.1 подключены к информационному входу регистра 1.1.1 из группы 1.1 регистров значений функций, вторые разряды выходов демультиплексоров из блока 2.1 подключены к информационному входу регистра 1.1.2 из группы 1.1 регистров значений функций и так далее до р-ого разряда выходов демультиплексоров из блока 2.1, который подключен к информационному входу регистра 1.1.р из группы 1.1 регистров значений функций, первый разряд демультиплексора 2.1.n+1 из блока 2.1 подключен к синхровходу регистра 1.1.1 из группы 1.1 регистров значений функций, второй выход демультиплексора 2.1.n+1 из блока 2.1 подключен к синхровходу регистра 1.1.2 из группы 1.1 регистров значений функций и так далее до р-ого разряда демультиплексора 2.1.n+1 из блока 2.1, который подключен к синхровходу регистра 1.1.р из группы 1.1 регистров значений функций, с первого по n-й разряды выхода регистра 1.1.1 группы 1.1 регистров значений функций соединены с первыми разрядами информационных входов с 3.1.1 по 3.1.п мультиплексоров блока 3.1 соответственно, с первого по n-й разряды выхода регистра 1.1.2 группы 1.1 регистров значений функций соединены со вторыми разрядами информационных входов с 3.1.1 по 3.1.п мультиплексоров блока 3.1 соответственно и так далее до с первого по n-й разряды выхода регистра 1.1.р группы 1.1 регистров значений функций, которые соединены с р-ми разрядами информационных входов с 3.1.1 по 3.1.п мультиплексоров блока 3.1 соответственно, выходы с 3.1.1 по 3.1.п мультиплексоров подключены к первым входам элементов И с 10.1 по 10.п блока 10 соответственно, а также к первому и второму входам элементов ИЛИ-НЕ с 19.1 по 19.п блока 19 соответственно, выходы которых подключены к информационным входам буферных элементов с 9.1 по 9.п блока 9, выходы которого подключены к первым и вторым входам всех элементов ИЛИ-НЕ из группы 22 блоков элементов ИЛИ-НЕ, группа вторых входов элемента И 29 соединена с группой вторых входов модуля синхронизатора, выход элемента И 29 подключен к входу одновибратора 30, выход которого подключен к информационному входу демультиплексора 2.1.п блока 2.1 демультиплексоров, к входу инкремента счетчика 4.1, а также к второму входу элемента ИЛИ 15, выход которого подключен ко всем выходам пятой группы выходов модуля синхронизатора, третий вход модуля синхронизатора подключен к синхровходу триггера 7.3, четвертый вход модуля синхронизатора подключен ко всем входам сброса группы 1.1, 1.2 регистров значений функций, триггера 7.1, триггера 7.2, регистров 1.6, 1.7 текущего физического разряда ПЛМК, регистра 1.4 максимального количества барьеров в одном физическом разряде, регистров 1.5, 1.8 текущего барьера, счетчиков 4.1, 4.2, регистра 1.3 вектора соответствия, а также к первому входу элемента ИЛИ 18, выход которого подключен к входу сброса триггера 7.3, прямой выход которого подключен к первым входам всех элементов И блока 11 элементов И, первому входу элемента И 14.2, а также к первому входу элемента И 14.1, выход которого подключен к управляющему входу дешифратора 5.2, вход установки триггера 7.1 подключен к пятому входу модуля синхронизатора, прямой выход триггера 7.1 соединен со всеми управляющими входами буферных элементов блока 9 буферных элементов, а также с первым входом элемента И 28, выход которого подключен к первому входу элемента ИЛИ 25, выход которого подключен ко всем четвертым выходам модуля синхронизатора, вход установки триггера 7.2 подключен к шестому входу модуля синхронизатора, прямой выход триггера 7.2 соединен с вторыми входами всех элементов И блока 12 элементов И, а также первого входа элемента И 31, выход которого соединен с первым входом элемента ИЛИ 15, группа 22 блоков элементов ИЛИ-НЕ подключена к группе седьмых входов таким образом, что блок 22.1 в группе 22 блоков элементов ИЛИ-НЕ подключен к первому входу из группы седьмых входов, причем первый разряд входа подключен к первому и второму входу элемента 22.1.1 в блоке 22.1 группы 22 блоков элементов ИЛИ-НЕ, второй разряд входа подключен к первому и второму входу элемента 22.1.2 в блоке 22.1 группы 22 блоков элементов ИЛИ-НЕ, и так далее до n-ого разряда входа, который подключен к первому и второму входу элемента 22.1.n в первом блоке 22.1 группы 22 блоков элементов ИЛИ-НЕ, остальные входы блоков по блок 22.а1 элементов ИЛИ-НЕ подключаются аналогично, выходы группы 22 блоков элементов ИЛИ-НЕ соединяются с блоком 21 элементов И-НЕ таким образом, что выходы с первого по n-й блока 22.1 в группе 22 блоков элементов ИЛИ-НЕ подключены к первым входам элементов И-НЕ в блоке 21 элементов И-НЕ с 21.1 по 21.n, выходы с первого по n-й блока 22.2 в группе блоков элементов ИЛИ-НЕ подключены к вторым входам элементов И-НЕ в блоке 21 элементов И-НЕ с 21.1 по 21.п и так далее, до блока 22.й в группе 22 блоков элементов ИЛИ-НЕ, у которого выходы с первого по n-й подключены к d-м входам элементов И-НЕ с 21.1 по 21.n в блоке 21 элементов И-НЕ, выходы которого соединены с информационными входами блока 2.2 демультиплексора таким образом, что выход элемента И-НЕ 21.1 из блока 21 подключен к информационному входу демультиплексора 2.2.1 из блока 2.2, выход элемента И-НЕ 21.2 из блока подключен к информационному входу демультиплексора 2.2.2 из блока 2.2, а выход элемента И-НЕ 21.n из блока 21 подключен к информационному входу демультиплексора 2.2.n из блока 2.2, первые разряды выходов демультиплексоров из блока 2.2 подключены к информационным входам регистра 1.2.1 из группы 1.2 регистров значений функций, вторые разряды выходов демультиплексоров из блока 2.2 подключены к информационным входам регистра 1.2.2 из группы 1.2 регистров значений функций и так далее до р-ого разряда выходов демультиплексоров из блока 2.2, который подключен к информационным входам регистра 1.2.р из группы 1.2 регистров значений функций, первый разряд демультиплексора 2.2.n+1 из блока 2.2 подключен к синхровходу регистра 1.2.1 из группы 1.2 регистров значений функций, второй демультиплексора 2.1.n+1 из блока 2.1 подключен к синхровходу регистра 1.2.2 из группы 1.2 регистров значений функций и так далее до р-ого разряда демультиплексора 2.2.n из блока 2.2, который подключен к синхровходу регистра 1.2.р из группы 1.2 регистров значений функций, с первого по n-й разряды выхода регистра 1.2.1 группы 1.2 регистров значений функций соединены с первыми разрядами информационных входов мультиплексоров с 3.2.1 по 3.2.n блока 3.2 соответственно, с первого по n-й разряды выхода регистра 1.2.2 группы 1.2 регистров значений функций соединены со вторыми разрядами информационных входов мультиплексоров с 3.2.1 по 3.2.п блока 3.2 соответственно и так далее до с первого по n-й разряды выхода регистра 1.2.р группы 1.2 регистров значений функций, которые соединены с р-ми разрядами информационных входов мультиплексоров с 3.2.1 по 3.2.п второго блока соответственно, выходы мультиплексоров с 3.2.1 по 3.2.п подключены ко вторым входам элементов с 11.1 по 11.n блока 11 элементов И, ко всем третьим выходам модуля синхронизатора, к первым и вторым входам с элементов 20.1 по 20.n блока 20 элементов ИЛИ-НЕ, выходы которых подключены к первым входам элементов с 12.1 по 12.n блока 12 элементов И, выходы которых подключены к первым входам элементов с 16.1 по 16.n блока 16 элементов ИЛИ, выходы которого подключены к третьим входам с элементов с 13.1 по 13.n блока 13 элементов И, инверсный выход триггера 7.2 соединен со вторыми входами элементов с 16.1 по 16.n блока 16 элементов ИЛИ, а также к первому входу элемента И 31, информационный вход регистра 1.6 текущего физического разряда ПЛМК соединен с восьмым входом модуля синхронизатора, причем старший разряд восьмого входа модуля синхронизатора подключен к синхровходу регистра 1.6 текущего физического разряда ПЛМК, выход которого подключен к информационному входу дешифратора 5.2, выходы которого с первого по n-й соединены cj вторыми входами элементов с 17.1 по 17.n блока 17 элементов ИЛИ, выходы которого подключены к вторым входам элементов с 13.1 по 13.n блока 13 элементов И, информационный вход регистра 1.7 текущего физического разряда ПЛМК соединен с девятым входом модуля синхронизатора, причем старший разряд восьмого входа модуля синхронизатора подключен к синхровходу регистра 1.7 текущего физического разряда ПЛМК, выход которого подключен к информационному входу дешифратора 5.3, выходы которого с первого по n-й соединены с третьими входами элементов с 11.1 по 11.n блока 11 элементов И, выходы которого соединены с входами элемента ИЛИ 24, выход которого подключен к второму выходу модуля синхронизатора, а также к входу элемента ИЛИ 18, информационный вход регистра 1.3 вектора соответствия соединен с десятым входом модуля синхронизатора, причем старший разряд десятого входа модуля синхронизатора подключен к синхровходу регистра 1.3 вектора соответствия, выходы которого подключены к информационным входам группы 8 блоков буферных элементов таким образом, что с первого по n-й разряд первого выхода регистра 1.3 вектора соответствия подключается к информационным входам буферных элементов с 8.1.1 по 8.1.п блока 8.1 группы 8 блоков буферных элементов, с второго по р-й выходы регистра вектора соответствия подключаются к информационным входам группы 8 блоков с 8.2 по 8.р буферных элементов аналогично, выходы группы 8 блоков буферных элементов коммутируются блоком 32 монтажного ИЛИ, выходы которого подключаются к вторым входам элементов с 13.1 по 13.n блока 13 элементов И, информационный вход регистра 1.4 максимального количества барьеров в одном физическом разряде соединен с одиннадцатым входом модуля синхронизатора, причем старший разряд одиннадцатого входа модуля синхронизатора подключен к синхровходу регистра 1.4 максимального количества барьеров в одном физическом разряде, выход которого подключен к информационному входу счетчика 4.2, а также информационному входу счетчика 4.1, выход которого подключен к информационному входу дешифратора 5.1, управляющим входам демультиплексоров с 2.1.1 по 2.1.n блока 2.1 демультиплексоров, к управляющим входам мультиплексоров с 3.1.1 по 3.1.n блока 3.1 мультиплексоров, а также к первому информационному входу компаратора 6.1, выход которого подключен ко второму входу элемента И 14.1, с первого по р-й выход дешифратора 5.1 соединены с управляющими входами блоков с 8.1 по 8.р группы 8 блоков буферных элементов, выход счетчика 4.2 подключен к управляющим входам демультиплексоров с 2.2.1 по 2.2.n блока 2.2 демультиплексоров, к управляющим входам мультиплексоров с 3.2.1 по 3.2.n блока 3.2 мультиплексоров, а также к второму информационному входу компаратора 6.2, выход которого подключен к второму входу элемента И 14.2, выход которого подключен к управляющему входу дешифратора 5.3, информационный вход регистра 1.5 текущего барьера соединен с двенадцатым входом модуля синхронизатора, причем старший разряд восьмого входа модуля синхронизатора подключен к синхровходу регистра 1.5 текущего барьера, выход которого подключен к второму информационному входу компаратора 6.1, группа вторых входов элемента И 27 соединена с группой тринадцатых входов модуля синхронизатора, выход элемента И 27 подключен к входу одновибратора 26, выход которого подключен к информационному входу демультиплексора 2.2.n+1 блока 2.2 демультиплексоров, к входу инкремента счетчика 4.2, а также к второму входу элемента ИЛИ 25, инверсный выход триггера 7.1 подключен к первому входу элемента И, а также к вторым входам с первого по n-й элемент второго блока элементов И 29, выходы которого подключены ко всем первым выходам модуля синхронизатора, вторые входы элементов И 15 и 25 подключены к четырнадцатому входу модуля синхронизатора, информационный вход регистра 1.8 текущего барьера соединен с пятнадцатым входом модуля синхронизатора, причем старший разряд пятнадцатого входа модуля синхронизатора подключен к синхровходу регистра 1.8 текущего барьера, выход которого подключен первому информационному входу компаратора 6.2, к информационному входу триггера 7.3 подключен сигнал логической единицы.The synchronizer module (Fig. 2) contains
Структура блока 39 синхронизации (фиг. 3) не отличается от прототипа.The structure of the synchronization unit 39 (Fig. 3) does not differ from the prototype.
Общие особенности функциональной организации предлагаемого ПЛМК состоят в следующем.General features of the functional organization of the proposed PLMK are as follows.
ПЛМК формируется из множества однотипных модулей (контроллеров), объединенных в матричную структуру (фиг. 4). Каждый модуль ПЛМК содержит перепрограммируемую память программ и имеет множество входных и выходных каналов, предназначенных для подключения к другим аналогичным модулям и обмена управляющей информацией. Модули идентифицируются координатными номерами вида i.j, где i и j имеют смысл соответственно номера строки и номера столбца матричной структуры (в дальнейшем модуль с номером i.j именуется как i.j-й модуль или модуль mi.j).PLCM is formed from many similar modules (controllers), combined into a matrix structure (Fig. 4). Each PLMK module contains a programmable program memory and has many input and output channels for connecting to other similar modules and exchanging control information. The modules are identified by coordinate numbers of the form ij, where i and j make sense, respectively, of the row and column numbers of the matrix structure (hereinafter, the module with the number ij is referred to as the ij-th module or module m ij ).
ПЛМК служит для управления сложными объектами, поведение которых описывается комплексом программ и предполагает параллельное протекание процессов. Комплекс программ, реализуемый ПЛМК, разбивается на множество параллельных и последовательных участков (ветвей), которые распределяются между различными модулями. Каждый модуль реализует некоторое подмножество участков.PLMK is used to manage complex objects whose behavior is described by a set of programs and involves the parallel flow of processes. The software package implemented by PLMK is divided into many parallel and sequential sections (branches) that are distributed between different modules. Each module implements a subset of the plots.
В процессе выполнения участков программ модули ПЛМК обрабатывают команды двух типов: операционные и коммуникационные. Операционные команды, которые имеют формат Ф2, (см. фиг. 5) обеспечивают выдачу управляющих воздействий на объект управления и инициируют выполнение требуемых микроопераций. Коммуникационные команды, имеющие формат Ф3, (см. фиг. 5) используются для организации взаимодействия и координации различных модулей, включая запуск ветвей, закрепленных за другими модулями (межмодульную передачу управления), и барьерную синхронизацию.During the execution of program sections, the PLMK modules process two types of commands: operational and communication. Operational teams that have the format F 2 (see Fig. 5) provide the issuance of control actions on the control object and initiate the execution of the required micro-operations. Communication teams having the format F 3 (see Fig. 5) are used to organize the interaction and coordination of various modules, including the launch of branches assigned to other modules (inter-module transfer of control), and barrier synchronization.
Как и в прототипе, в рассматриваемом ПЛМК межмодульная передача управления отсутствует в явном виде, фактически выполняется только процедура синхронизации. При этом запуск участков программ, выполняемыми различными модулями, происходит при соблюдении соответствующих правил синхронизации. Например, запуск участков, непосредственно следующих за множеством других (параллельных) участков, невозможен без завершения всех участков данного множества (условие достижения барьера). При запуске участков, следующих за только одним участком, в качестве условия выступает завершение этого участка. Для задания момента активизации некоторого участка (где е - порядковый номер этого участка для i.j-ого модуля, а k - номер программы) этому участку ставится в соответствие номер предшествующему ему барьера at; а если активизируемому участку предшествует только один участок программы, то барьер at считается фиктивным. Запуск участка происходит после достижения барьера всеми модулями, т.е. когда модули завершили выполнение предшествующих барьеру участков программы.As in the prototype, in the PLMK under consideration, the intermodular control transfer is absent explicitly, in fact, only the synchronization procedure is performed. In this case, the launch of program sections executed by various modules occurs subject to the corresponding synchronization rules. For example, the launch of sections immediately following the set of other (parallel) sections is impossible without the completion of all sections of this set (condition for reaching the barrier). When starting sections following only one section, the termination of this section is a condition. To set the moment of activation of a certain section (where e is the serial number of this section for the ij-th module, and k is the program number) this section is associated with the number of the barrier a t preceding it; and if only one section of the program precedes the activated section, then the barrier a t is considered fictitious. Site Launch occurs after the barrier is reached by all modules, i.e. when the modules completed the execution of the program sections preceding the barrier.
Как и в прототипе, в предлагаемом ПЛМК адреса приема управления формируются непосредственно модулями, реализующими запускаемые участки (модулями -приемниками управления), в результате самонастройки. Адрес начала следующего (е+1-ого) участка, закрепленным за модулем mi.j, указывается в последней команде предыдущего участка программы, закрепленным за этим же модулем mi.j. Для задания адресов начальных участков модулей используются команды настройки формата Ф1 (фиг. 5), где «НРМ» означает номер разряда модуля, т.е. номер физического разряда модуля ПЛМК, в котором находится барьер, а «НБ» - непосредственно номер барьера. Таким образом номер барьера задается двумя значениями: номером разряда и номером барьера. Это происходит потому, что модуль может выполнять несколько барьеров одновременно. За каждым модулем ПЛМК закрепляется Q таких команд, Q - число программ реализуемых ПЛМК(число программ в реализуемом комплексе). Каждая из q команд настройки определяет адрес первый команды, т.е. адрес первого участка, закрепленного за модулем mi.j. Следует заметить, что если mi.j не участвует в процессе выполнения k-й программы, то команда Ф1 полностью состоит их нулей. Команды Ф1 размещаются в блоке 1 памяти программ (фиг. 1) по начальным адресам от 1 до Q включительно. Команда настройки, а следовательно, и реализуемая программа однозначно задается адресом при обращении к блоку 1.As in the prototype, in the proposed PLMK, control reception addresses are generated directly by the modules that implement the triggered sections (control receiver modules) as a result of self-tuning. Address the beginning of the next (e + 1st) section assigned to the module m ij is indicated in the last command of the previous section of the program assigned to the same module m ij . To set the addresses of the initial sections of the modules commands for setting the format Ф 1 are used (Fig. 5), where "НРМ" means the discharge number of the module, i.e. the number of the physical discharge of the PLMK module in which the barrier is located, and "NB" is the barrier number itself. Thus, the barrier number is set by two values: the discharge number and the barrier number. This is because the module can execute several barriers at the same time. Each module of the PLMK is assigned Q such commands, Q is the number of programs implemented by the PLMK (the number of programs in the implemented complex). Each of the q configuration commands defines an address first team i.e. the address of the first section assigned to the module m ij . It should be noted that if m ij is not involved in the execution of the k-th program, then the command Ф 1 consists entirely of zeros. Commands Ф 1 are located in
Процесс синхронизации параллельных участков в предлагаемом ПЛМК заключается в распространении и опросе сигналов завершения множества параллельных участков. Каждый такой сигнал распространяется в отдельном канале синхронизации, который соответствует одному барьеру. Канал синхронизации представляет собой совокупность элементов (модулей синхронизатора) различных модулей ПЛМК и соответствующих связей, обеспечивающих протекание процесса синхронизации определенного множества параллельных участков.The synchronization process of parallel sections in the proposed PLMK consists in the distribution and interrogation of signals to complete many parallel sections. Each such signal propagates in a separate synchronization channel, which corresponds to one barrier. The synchronization channel is a set of elements (synchronizer modules) of various PLMK modules and corresponding links that ensure the synchronization process of a certain set of parallel sections.
Как и в прототипе, в рассматриваемом ПЛМК каналы синхронизации разбиты на группы. Однако, в отличие от прототипа, в котором в один момент времени активна только одна группа каналов, внутри которой сигналы распространяются независимо и параллельно, в предлагаемом техническом решении в один момент времени могут работать сразу две группы каналов. Смена групп каналов происходит циклически.As in the prototype, in the considered PLMK synchronization channels are divided into groups. However, unlike the prototype, in which only one group of channels is active at a time, within which the signals propagate independently and in parallel, in the proposed technical solution, two groups of channels can work simultaneously at once. Changing channel groups occurs cyclically.
Для обеспечения синхронизации произвольных множеств параллельных участков за каждым модулем ПЛМК закрепляется вектор, задающий соответствие между множеством барьеров программы и данным модулем. Модулю мультиконтроллера mi.j, в общем случае соответствует Q различных векторов, каждый из которых отвечает определенной программе. Вектор соответствия для модуля mi.j и k-й программы имеет вид где nk - число барьеров в k-й программе.To ensure synchronization of arbitrary sets of parallel sections, a vector is assigned to each PLMK module, which sets the correspondence between the set of program barriers and this module. The multicontroller module m ij , in the general case, corresponds to Q different vectors, each of which corresponds to a certain program. The correspondence vector for the module m ij and the kth program has the form Where n k is the number of barriers in the k-th program.
Значение компоненты вектора Sij(k) определяется следующим образом: , если за модулем mi.j закреплен некоторый участок программы, завершающийся q-м барьером; если модуль mi.j не реализует ни одного участка, завершающегося q-м барьером, или q-й барьер отсутствует в k-й программе (что возможно при nk<q)The value of the component of the vector S ij (k) is determined as follows: if the module m ij is assigned a certain section of the program ending with the qth barrier; if the module m ij does not realize a single segment ending with the qth barrier, or the qth barrier is absent in the kth program (which is possible with n k <q)
Синхронизация множества участков , завершающихся q-м барьером, осуществляется на основе распространения сигнала dq в q-м канале синхронизации. Сигнал dq формируется модулем m1.1 (левым верхним). В исходном состоянии dq=0 (параллельные участки не завершены) и, следовательно, Multiple Site Sync ending with the qth barrier is based on the propagation of the signal q d in the qth synchronization channel. Signal d q is generated by module m 1.1 (upper left). In the initial state, d q = 0 (parallel sections are not completed) and, therefore,
Процесс барьерной синхронизации включает в себя две фазы, формирование признака завершения синхронизируемых участков и передачу этого признака всем модулям ПЛМК.The process of barrier synchronization includes two phases, the formation of a sign of completion of synchronized sections and the transfer of this sign to all PLMK modules.
Первая из указанных фаз начинается с распространения сигнала от модуля m1.1 вниз вправо через все модули ко всем крайним правым и крайним нижним модулям вплоть до модуля mM.N (см. фиг. 3).The first of these phases begins with signal propagation. from the module m 1.1 down to the right through all modules to all the rightmost and lowermost modules up to the module m MN (see Fig. 3).
Распространение сигнала через модуль mi.j происходит следующим образом. Если то появление единичных сигналов на верхнем и левом входах модуля mi.j обуславливает формирование единичного сигнала на его выходе. Если , то формирование сигнала на выходе модуля mi.j происходит только при условии завершения участка , сходящегося в q-м барьере и реализуемого модулем mi.j.Signal propagation through the module m ij occurs as follows. If then the appearance of single signals on the upper and left inputs of the module m ij causes the formation of a single signal at its output. If then signal generation at the output of the module m ij occurs only if the section is completed converging in the qth barrier and implemented by the module m ij .
Состояние участка определяется значением сигнала если участок завершен; в противном случае. В случае если участок не завершен, на выходе модуля mi.j устанавливается нулевой сигнал. Данный сигнал формирует нулевые сигналы на выходах всех модулей, расположенных не выше и не левее модуля mi.j. На входе модуля mM.N (правого нижнего, см. фиг. 3), соответственно, также будет нулевой сигнал. Как только происходит завершение участка единичный сигнал передается на выход модуля mi.j и поступает в модули mi+1.j и mi.j+1.Site Condition determined by the value of the signal if the plot completed; otherwise. In case the site not completed, at the output of the module m ij a zero signal is set. This signal generates zero signals at the outputs of all modules located not higher and not to the left of the module m ij . At the input of the module m MN (lower right, see Fig. 3), respectively, there will also be a zero signal. As soon as the completion of the site single signal is transmitted to the output of the module m ij and enters the modules m i + 1.j and m i.j + 1 .
После завершения всех параллельных участков множества Bq единичный сигнал пройдет на входы модуля mM.N и будет передан в остальные модули, расположенные выше правее. Таким образом, формируется сигнал dq=1, сообщающий об окончании синхронизируемых параллельных участков. На этом первая фаза завершается.After completion of all parallel sections of the set B q, a single signal will pass to the inputs of the module m MN and will be transferred to the remaining modules located above to the right. Thus, a signal d q = 1 is generated, reporting the end of synchronized parallel sections. This completes the first phase.
Вторая фаза синхронизации начинается с появления на выходе модуля mM.N единичного сигнала dq. Этот сигнал распространяется (фиг. 3) от модуля mM.N вверх и влево через ПЛМК ко всем крайним левым и крайним левым и крайним верхним модулям до модуля m1.1. В процессе распространения сигнал dq=1 запускает модули, ожидающие завершения множества Bq. Вторая фаза и процесс синхронизации в целом заврешаются после появления нулевого сигнала на выходе модуля m1.1.The second phase of synchronization begins with the appearance of a single signal d q at the output of the module m MN . This signal propagates (Fig. 3) from the module m MN up and left through the PLMK to all the leftmost and leftmost and uppermost modules to the module m 1.1 . During the propagation process, the signal d q = 1 starts the modules waiting for the completion of the set B q . The second phase and the synchronization process as a whole fail after the appearance of a zero signal at the output of module m 1.1 .
Принципы организации межмодульной передачи управления и синхронизации в предлагаемом ПЛМК поясняются примером реализации параллельного алгоритма логического управления, представленного на фиг. 5а. Алгоритм включает в себя 20 параллельных и последовательных участков принадлежность которых определенному модулю задается верхним индексом i.j. В рассматриваемый алгоритм входят барьеры а1, а2, …, а10; барьеры а8, а9, а10 являются фиктивными, поскольку им предшествует только один участок программы. Пары барьеров а2 и а8, а3 и а4, а5 и а9, а10 и а6 являются параллельными и синхронизируются независимо. ПЛМК, реализующий данный алгоритм, имеет вид матрицы с конфигурацией 3×3 модуля.The principles of organizing intermodular control and synchronization transfer in the proposed PLMK are illustrated by an example of the implementation of the parallel logic control algorithm shown in FIG. 5a. The algorithm includes 20 parallel and sequential sections the belonging of which to a certain module is given by the superscript ij. The considered algorithm includes barriers a 1 , a 2 , ..., a 10 ; barriers a 8 , a 9 , and 10 are fictitious, since they are preceded by only one section of the program. The pairs of barriers a 2 and a 8 , 3 and a 4 , 5 and a 9 , 10 and a 6 are parallel and synchronize independently. The PLMK implementing this algorithm has the form of a matrix with a configuration of 3 × 3 modules.
Таблица настройки модулей, определяющая адреса начальных участков а также номера барьеров at, после достижения которых должен быть обеспечен запуск соответствующих модулей, представлены на фиг. 6б. В соответствии с данной таблицей запуск модулей m1.1, m3.2 и m3.3 происходит после выполнения барьера а1, т.е. после завершения участка запуск модуля m1.2 осуществляется после достижения барьера а8, т.е. после завершения участка и т.д. Модуль m2.2 активизируется непосредственно в момент запуска ПЛМК независимо от состояния других модулей, поскольку реализует начальный последовательный участок алгоритма Module configuration table that defines the addresses of the initial sections as well as the numbers of barriers a t , after reaching which the launch of the corresponding modules must be ensured, are presented in FIG. 6b. In accordance with this table, the launch of the modules m 1.1 , m 3.2 and m 3.3 occurs after the execution of the barrier a 1 , i.e. after completion of the site module m 1.2 is launched after reaching barrier a 8 , i.e. after completion of the site etc. Module m 2.2 is activated immediately at the time of launching the PLCM, regardless of the state of other modules, since it implements the initial sequential section of the algorithm
Таблица векторов соответствия для рассматриваемого алгоритма показана на фиг. 6в. Согласно данной таблице модуль m1.1 реализует участки, завершающиеся в барьерах а2, а5 и модуль m1.2 - участки, сходящиеся в барьерах a2, a5 и а6 и т.д.The table of correspondence vectors for the considered algorithm is shown in FIG. 6c. According to this table, module m 1.1 implements sections ending in barriers a 2 , a 5 and module m 1.2 - sections converging in the barriers a 2 , a 5 and a 6 etc.
Более подробно процессы синхронизации и запуска параллельных участков описываются далее при рассмотрении функционирования ПЛМК.The processes of synchronization and launching parallel sections are described in more detail below when considering the operation of the PLMK.
Назначение элементов и блоков модуля логического мультиконтроллера (фиг. 1) 38, 40, 37,41, 34, 35, 33, 36, 42, 44, 39, 43, 23 не отличается от прототипа.The purpose of the elements and blocks of the logical multicontroller module (Fig. 1) 38, 40, 37.41, 34, 35, 33, 36, 42, 44, 39, 43, 23 does not differ from the prototype.
Назначение остальных элементов и блоков сводится к следующему.The purpose of the remaining elements and blocks is as follows.
Модуль 45 синхронизатора служит для реализации синхронизации параллельных участков.The
Назначение элементов модуля 45 синхронизатора состоит в следующем.The purpose of the elements of the
Триггеры 7.1 и 7.2 предназначены для хранения значений координатных признаков. Состояние этих триггеров определяется во время инициализации модулей и сохраняется в течение всего времени.Triggers 7.1 and 7.2 are designed to store values of coordinate attributes. The state of these triggers is determined during the initialization of the modules and stored throughout the entire time.
Триггер 7.3 служит для фиксации признака состояния параллельной ветви, выполняемой текущим модулем. Триггер 7.3 устанавливается в единицу всякий раз, когда завершается ветвь, и сбрасывается в ноль момент активизации текущего модуля после ожидания завершения барьера.Trigger 7.3 serves to fix a status sign of a parallel branch executed by the current module. Trigger 7.3 is set to one whenever the branch completes, and the moment the current module is activated after waiting for the completion of the barrier is reset to zero.
Регистр 1.3 вектора соответствия бит служит для хранения вектора соответствия. Содержимое регистра 1.3 сохраняется неизменным в течение всего времени выполнения программ.Register 1.3 bit matching vector is used to store the matching vector. The contents of register 1.3 remain unchanged throughout the entire execution of programs.
Регистр 1.4 максимального количества барьеров в одном физическом разряде предназначен для хранения максимального количества барьеров в одном физическом разряде ПЛМК.Register 1.4 of the maximum number of barriers in one physical category is intended to store the maximum number of barriers in one physical category of PLMK.
Регистры 1.5 и 1.8 текущего барьера предназначены для хранения номеров барьеров в первой и второй фазе синхронизации соответственно.Registers 1.5 and 1.8 of the current barrier are designed to store barrier numbers in the first and second phase of synchronization, respectively.
Блоки демультиплексоров 2.1 и мультиплексоров 3.1 обеспечивают подключение определенных разрядов блока регистров 1.1 на время записи/чтения значения соответствующей функции в первой фазе синхронизации.Blocks of demultiplexers 2.1 and multiplexers 3.1 provide the connection of certain bits of the block of registers 1.1 at the time of writing / reading the values of the corresponding function in the first phase of synchronization.
Блоки демультиплексоров 2.2 и мультиплексоров 3.2 аналогичным образом коммутируют разряды блока регистров 2.2 с целью записи/чтения значения соответствующей функции во второй фазе.The blocks of demultiplexers 2.2 and multiplexers 3.2 similarly commute the bits of the block of registers 2.2 in order to write / read the value of the corresponding function in the second phase.
Счетчики 4.1 и 4.2 с программируемым коэффициентом пересчета введены для организации последовательного перебора всех возможных номеров барьеров и хранения их текущих номеров в первой и второй фазах синхронизации соответственно.Counters 4.1 and 4.2 with a programmable conversion factor are introduced to organize sequential enumeration of all possible barrier numbers and store their current numbers in the first and second phases of synchronization, respectively.
Дешифратор 5.1 вместе с группой 8 блоков буферных элементов и блоком 32 элементов «монтажное ИЛИ» позволяет сформировать значение компонент вектора соответствия.The decoder 5.1, together with a group of 8 blocks of buffer elements and a block of 32 elements "mounting OR" allows you to generate the value of the components of the correspondence vector.
Компаратор 6.1 служит для сравнения номера выполняемого барьера с номером проверяемого барьера в первой фазе синхронизации.Comparator 6.1 is used to compare the number of the barrier being performed with the number of the barrier being checked in the first phase of synchronization.
Компаратор 6.2 служит для сравнения номера выполняемого барьера с номером проверяемого барьера во второй фазе синхронизации.Comparator 6.2 is used to compare the number of the barrier being performed with the number of the barrier being checked in the second phase of synchronization.
Элемент И 11 вместе с одновибратором 23 и элементом ИЛИ 24 служат для формирования признака завершения участка программы.Element And 11, together with a
Группа регистров 1.1 служит для хранения текущих значений сигналов в первой фазе синхронизации.The group of registers 1.1 is used to store the current values of the signals in the first phase of synchronization.
Группа регистров 1.2 служит для хранения текущих значений сигналов dq во второй фазе синхронизации.The group of registers 1.2 is used to store the current values of the signals d q in the second phase of synchronization.
Регистры 1.6, 1.7 текущего физического разряда предназначен для фиксации номера физического разряда ПЛМК, в котором находится барьер в первой и второй фазах синхронизации соответственно.Registers 1.6, 1.7 of the current physical discharge are intended for fixing the number of the physical discharge of the PLMK, which contains the barrier in the first and second phases of synchronization, respectively.
Дешифратор 5.2 служит для преобразования номера текущего физического разряда в первой фазе синхронизации.Decoder 5.2 is used to convert the number of the current physical discharge in the first phase of synchronization.
Дешифратор 5.3 служит для преобразования номера текущего физического разряда во второй фазе синхронизации.Decoder 5.3 is used to convert the number of the current physical discharge in the second phase of synchronization.
Блок 9 буферных элементов предназначен для коммутации выхода блока 19 элементов ИЛИ-НЕ с седьмыми входами модуля синхронизатора.
Блок 10 элементов И служит для формирования выходных значений сигналов dq.
Блок 13 элементов И, элемент ИЛИ 17 предназначены для организации распространения сигналов опроса состояния множеств параллельных участков от соседних модулей сверху и слева от текущего.Block 13 elements AND element OR 17 are designed to organize the distribution of signals polling the status of the sets of parallel sections from neighboring modules above and to the left of the current.
Элемент И 14.1 служит для управления работой дешифратора 5.2. Элемент И 14.2 служит для управления работой дешифратора 5.3.Element And 14.1 serves to control the operation of the decoder 5.2. Element And 14.2 serves to control the operation of the decoder 5.3.
Блок 20 элементов ИЛИ-НЕ вместе с блоком 12 элементов И, блоком 16 элементов ИЛИ предназначены для исключения начала первой фаза синхронизации до завершения второй на предыдущем участке программы.Block 20 elements OR NOT together with block 12 elements AND, block 16 elements OR are designed to prevent the beginning of the first phase of synchronization before the completion of the second in the previous section of the program.
Элемент ИЛИ 18 используется для формирования сигнала сброса триггера 7.3.The
Группа 22 блоков элементов ИЛИ-НЕ совместно с блоком 21 элементов И-НЕ для организации распространения сигналов запуска модулей, ожидающих завершения соответствующих множеств параллельных участков, от соседних модулей справа и снизу от текущего.A group of 22 blocks of AND-NOT elements together with a block of 21 AND-NOT elements for organizing the distribution of module start signals awaiting completion of the corresponding sets of parallel sections from neighboring modules to the right and bottom of the current one.
Элемент ИЛИ 15, элементы И 29, 31 и одновибратор 30 предназначены для формирования тактовых импульсов, распространяющиеся в первой фазе синхронизации.The
Элемент ИЛИ 25, элементы И 27, 28 и одновибратор 26 служат для формирования тактовых импульсов, распространяющиеся во второй фазе синхронизации.The
Рассмотрим процесс функционирования ПЛМК подробно.Consider the process of functioning of PLMK in detail.
Первоначально элементы памяти (регистры, триггеры и счетчики) всех модулей ЛМК находятся в состоянии логического нуля. Исключение составляет только регистр 35,на выходе 3.10 которого находится единичный уровень сигнала, и триггер 62 блока 39 синхронизации (фиг. 4). Исходя из указанного состояния элементов памяти, блоки 39 синхронизации всех модулей выключены, коммутаторы 37 настроены на прием информации с входов 56, а на всех выходах модулей находятся сигналы логического нуля.Initially, the memory elements (registers, triggers and counters) of all LMC modules are in a state of logical zero. The only exception is
Перед началом работы происходит конфигурирование ПЛМК. Для этого на вход 61 модуля mM.N (фиг. 1) подается сигнал логической единицы. Этот сигнал записвывается по заднему фронту в триггер 7.1 (фиг. 2). Нулевой сигнал с прямого выхода триггера 7.1 во всех остальных модулях выключает блок 9 буферных элементов, отключая выход блока 19 элементов ИЛИ-НЕ от группы входов 46 модуля (фиг. 1). В модуле mM.N, наоборот, блок 9 (фиг. 2) включается единичным сигналом с прямого входа триггера 7.1 и выход блока 19 коммутируется с группой входов 46 модуля (фиг. 1). Благодаря этому (и так как все регистры группы 1.1 (фиг. 2) находятся в нулевом состоянии) в модуле mM.N на группу входов 46 (фиг. 1) проходят единицы с блока 19 элементов ИЛИ-НЕ (фиг. 2), чем обеспечивается появление единиц на выходе блока 21 элементов И-НЕ. В свою очередь единичный сигнал с инверсного выхода триггера 7.1 во всех модулях, кроме модуля mM.N, открывает блок 10 элементов И, обеспечивая возможность передачи значений функций состояния от блока 3.1 мультиплексоров на группу выходов 51 модуля (фиг. 1). Поскольку все регистры группы 1.1 (фиг. 2) находятся в нулевом состоянии, открытие блока 10 элементов И на данном этапе не влияет на состояние выходов 1 модулей (фиг. 1). Нулевой сигнал с инверсного выхода триггера 7.1 (фиг. 2) в модуле mM.N, закрывает блок 10 элементов И, блокируя передачу значений функций состояния на группу 1 выходов модуля (фиг. 1). Поскольку на всех выходах группы 1 модуля присутствует нулевой уровень сигнала, блоки 13 элементов И во всех модулях выдают нули. Нулевой сигнал с прямого выхода триггера 7.3 блокирует элементы И 14.1, 14.2, отключая тем самым дешифраторы 5.2 и 5.3. Этот же нулевой сигнал закрывает все элементы блока 11 элементов И, в результате чего на выходе элемента ИЛИ 24 также формируется нулевой уровень сигнала.Before starting work, the PLMK is configured. To this end, a signal of a logical unit is supplied to the
Одновременно с описанными действиями единичный сигнал подается на вход 62 модуля m1.1 и записывается в триггер 7.2 (фиг. 2). Так как все регистры группы 1.2 пока установлены в нулевое состояние на выходах блока мультиплексоров 3.2 также будут нули; соответственно, на выходах блока 20 элементов ИЛИ-НЕ появятся единицы. Таким образом, независимо от состояния триггера 7.2 блок 16 элементов ИЛИ будет выдавать единицы (на данном этапе это состояние является несущественным).Simultaneously with the described actions, a single signal is supplied to the
На вход 48 подается код pk числа максимального количества барьеров в одном физическом разряде. Величина pk зависит от числа qk барьеров в реализуемых программах и от числа n физических разрядов ПЛМК (pk=qk/n). Значение pk записывается в регистр 1.4 числа максимального количества барьеров в одном физическом разряде (фиг. 2) по заднему фронту импульса старшего разряда входа 48 (фиг. 1). Из регистра 1.4 (фиг. 2) значение pk фиксируется в счетчиках 4.1 и 4.2.At
По завершении конфигурирования начинается настройка модулей ПЛМК на выполнение требуемой (k-й) программы. Настройка модуля mi.j на выполнение k-й программы сводится к установлению адреса (адреса первой команды), а также к определению номера барьера at, после достижения которой должен осуществляться запуск модуля mi.j.Upon completion of the configuration, the configuration of the PLMK modules for the execution of the required (k-th) program begins. Setting the module m ij to execute the k-th program comes down to setting the address (addresses of the first command), as well as determining the barrier number a t , after which the module m ij should be launched.
Процесс настройки модулей на выполнение k-й программы начинается с подачи на вход 56 модуля mi.j (фиг. 1) кода операции (КОП). КОП, представляющий собой код номера выполняемой программы (k), через коммутатор 37 подается на информационный вход регистра 34. Одновременно на вход 55 модуля подается импульс настройки. Указанный импульс через элемент ИЛИ 41 поступает на синхровход регистра 34 и задним фронтом фиксирует КОП в данном регистре. Далее КОП с выхода регистра 34 подается на адресный вход блока 1 и формирует на его выходе команду настройки Ф1 (фиг. 5) соответствующую k-й программе.The process of configuring the modules for the execution of the k-th program begins with the input to the
В то же время импульс настройки через элемент задержки 44 и элемент ИЛИ 42 (фиг. 1) передается на синхровход регистра 35 и задним фронтом производит запись считанной из блока 1 команды в регистр 35. После фиксации команды на выходах 3.2 и 3.3 регистра 35 образуется адрес а на выходах 3.7 и 3.8 формируется коды номеров физического разряда ПЛМК, в котором находится барьер, и барьера непосредственно at. На остальных выходах регистра 35 устанавливаются нулевые сигналы. Нулевой сигнал с выхода 3.10 регистра 35 перенастраивает коммутатор 37 на прием информации с выхода блока элементов ИЛИ 40. Поскольку на выходе 3.1 регистра 35 присутствует нулевой код (проверка логических условий в ходе настройки не производится) адрес без изменений проходит через блок элементов ИЛИ 40. Далее этот адрес передается через коммутатор 37 и устанавливается на информационном входе регистра 34.At the same time, the tuning pulse through the
В то же время код барьера с выходов 3.7 и 3.8 подается на информационные входы регистров 1.7 и 1.8 (фиг. 2), где фиксируются передним фронтом специального сигнала в старшем разряде кода. Для модуля ПЛМК, который реализует начальный участок k-й программы, задания кода номера барьера не требуется, поскольку этот модуль начинает выполнение программы непосредственно в момент запуска ПЛМК, не зависимо от условий синхронизации. Поэтому на выходах 3.7 и 3.8 регистра 35 (фиг. 1) рассматриваемого модуля устанавливается нулевой код.At the same time, the barrier code from the outputs 3.7 and 3.8 is fed to the information inputs of the registers 1.7 and 1.8 (Fig. 2), where they are fixed by the leading edge of the special signal in the high order of the code. For the PLCM module, which implements the initial section of the k-th program, setting the code of the barrier number is not required, since this module starts the program execution immediately at the time of starting the PLCM, regardless of synchronization conditions. Therefore, at the outputs 3.7 and 3.8 of the register 35 (Fig. 1) of the module in question, a zero code is set.
Одновременно с описанными выше действиями осуществляется запись кода вектора соответствия (устанавливается соответствия между модулем) mi.j и множеством барьеров k-й программы). Вектор подается на вход 47 модуля и заносится в регистр 1.3 (фиг. 2) по переднему фронту специального импульса старшего разряда входа 47 модуля. На этом процесс настройки модуля mi.j на выполнение k-й программы завершается.Along with the steps described above, the code of the correspondence vector is written (the correspondence between the module) m ij and the set of barriers of the k-th program is established). The vector is fed to the
Аналогичным образом протекает процесс настройки остальных модулей ПЛМК, причем настройка различных модулей выполняется одновременно. На входы 56 всех модулей подается один и тот же КОП; векторы соответствия для разных модулей в общем случае различны. В результате настройки каждого модуля определяется момент его запуска при выполнении сетью k-й программы, задается соответствующий адрес (адрес первой команды) и, кроме того, устанавливается подмножество барьеров k-й программы, в которых завершаются участки, реализуемые модулем.The process of setting up the remaining PLMK modules proceeds in a similar way, and the setting of various modules is performed simultaneously. At the
После завершения настройки осуществляется запуск ПЛМК. Для запуска сети на вход 57 модуля, реализующего начальный участок k-й программы, подается импульс пуска (фиг. 1). Допустим, что указанный модуль имеет номер i.j (в примере на фиг. 6 это модуль m2.2). Импульс пуска с входа 57 модуля mi.j передается на первый вход блока 39 синхронизации.After the configuration is completed, the PLMK is launched. To start the network to the
Далее этот импульс проходит через элемент ИЛИ 59 (фиг. 3), воздействуя на вход установки триггера 60, переводит его в единичное состояние. Единичный сигнал с прямого входа триггера 60 поступает на вход генератора 61 и разрешает на его входе формирование последовательности импульсов.Further, this pulse passes through the element OR 59 (Fig. 3), acting on the input of the installation of the
Первый импульс с выхода генератора 61 проходит через элемент И 63 на первый выход блока синхронизации (элемент 63 открыт единичным сигналом с прямого выхода триггера 62). По заднему фронту этого же импульса триггер 62 переключается в нулевое состояние и, как следствие, блокирует элемент И 63, при этом открывая элемент И 64. Следующий импульс с выхода генератора 61 проходит через элемент И 64 на второй выход блока синхронизации. Третий импульс снова проходит на первый выход блока синхронизации, четвертый - на второй и т.д. Таким образом, на выходах блока 39 синхронизации происходит генерация двух сдвинутых относительно друг друга последовательностей сигналов синхронизации t1 и t2.The first pulse from the output of the
Первый импульс t1 с первого выхода блока 39 синхронизации (фиг. 1) через элемент ИЛИ 41 воздействует на синхровход регистра 34 адреса, записывая тем самым в него адрес поступающий с выхода коммутатора 37. Адрес с выхода регистра 34 адреса поступает на вход блока 33 памяти программ и формирует на его выходе первую команду k-й программы.The first pulse t 1 from the first output of the synchronization block 39 (Fig. 1) through the
Первый импульс t2 со второго выхода блока 39 синхронизации проходит через элемент ИЛИ 42, поступая на синхровход регистра 35 команд. Осуществляется запись команды с выхода блока 33 памяти программ в регистр 35 команд. Одновременно этот же импульс подается на вход сброса буферного регистра 38 и подтверждает его нулевое состояние. Таким образом, модуль mi.j и сеть в целом начинают исполнение k-й программы.The first pulse t 2 from the second output of the
Дальнейшую работу ПЛМК будем рассматривать в предположении, что модуль mi.j выполняет некоторый (в общем случае не начальный) участок k-й программы завершающийся барьером aq. Кроме того, будем считать, что одновременно с mi.j модулем могут функционировать и некоторые другие модули ПЛМК (остальные модули находятся в состоянии ожидания).Further work of the PLCM will be considered under the assumption that the module m ij performs some (in the general case, not the initial) section of the kth program ending with a q barrier. In addition, we assume that at the same time as the m ij module, some other PLMK modules can function (the rest of the modules are in a standby state).
В процессе выполнения участка модуль mi.j может обрабатывать команды форматов Ф2, Ф3 и Ф4 (фиг. 5). Обработка команды формата Ф2 соответствует собственно режим выполнения участка программы (Режим А), команда формата Ф3 определяет режим завершения участка (режим В), а команда Ф4 задает режим завершения программы в целом (режим С). Рассмотрим работу модуля в приведенных режимах.During the execution of the site module m ij can process commands of the formats Ф 2 , Ф 3 and Ф 4 (Fig. 5). Processing a command of format F 2 corresponds to the actual execution mode of the program section (Mode A), a command of format F 3 determines the mode of completion of the section (mode B), and command F 4 sets the mode of completion of the program as a whole (mode C). Consider the operation of the module in the above modes.
Режим А. Записанная в регистр 3 команда имеет формат Ф2 (фиг. 5). В этом случае на выходе 3.4 регистра 35 (фиг. 1) формируется код микроопераций (МО), на выходах 3.2 и 3.3 образуется адрес следующий команды Аcл (на выходе 3.3 немодифицируемая часть, а на выходе 3.2 - модифицируемый разряд адреса следующей команды, изменяемый в точках ветвления программ), на выходе 3.1 устанавливается код опрашиваемого логического условия (ЛУ), а на выходах 3.5-3.10 сигналы логического нуля.Mode A. The command recorded in
Код МО с выхода 3.4 регистра 35 передается на выход 58 модуля и, поступая далее на вход объекта управления, инициирует выполнение требуемых микрооопераций. Нулевые сигналы с выходов 3.5-3.8 записываются в соответствующие разряды регистров 1.6, 1.7, 1.5, 1.8 (фиг. 2) соответственно. Нулевой сигнал с выхода 3.9 регистра 35 (фиг. 1) поступает на управляющие входы коммутатора 37 и настраивает его на прием адреса следующей команды с выхода блока элементов ИЛИ 40.The MO code from the output 3.4 of the
Одновременно с описанными действиями происходит формирование исполнительного адреса следующей команды Указанный адрес образуется из адреса следующей команды Асл путем замещения модифицируемого (младшего) разряда значением опрашиваемого ЛУ. Новое значение младшего разряда формируется на выходе мультиплексора 36. Процесс формирования этого значения протекает следующим образом. Модифицируемый разряд (Ам) адреса Асл с выхода 3.2 регистра 35 подается на первый информационный вход мультиплексора 36, а код ЛУ с выхода 3.1 поступает на адресный вход мультиплексора 36. Если код ЛУ отличен от нулевого, то на выход мультиплексора 36 передается значение соответствующего ЛУ с входа 65 модуля. Если же код ЛУ нулевой, то на выход мультиплексора 36 поступает значение Ам с выхода 3.2 регистра 35. Значение с выхода мультиплексора 36 в объединении с немодифицируемой (старшей) частью адреса следующей команды (Ан) с выхода 3.3 регистра 35 образуют исполнительный адрес следующей команды Simultaneously with the operations described is the formation of the next instruction effective address specified address is formed from the next instruction address A slab modifiable by replacing (younger) discharge interviewee value LU. A new low-order value is generated at the output of the
Адрес через блок элементов ИЛИ 40 и открытый коммутатор 37 проходит на информационный вход регистра 34. Очередной импульс синхронизации t1 с первого выхода блока 39 синхронизации фиксирует адрес в регистре 34. Адрес с выхода регистра 34 поступает на адресный вход блока 33 и обеспечивает считывание из блока 33 очередной команды k-й программы. Следующий импульс t2 со второго выхода блока 29 синхронизации через элемент ИЛИ 42 полается на синхровход регистра 35 и записывает в регистр считанную команду.Address through the
На этом работа модуля mi.j в режиме А заканчивается. Считанная команда снова может иметь формат Ф2 либо может быть командой формата Ф3 или Ф4.This completes the operation of the module m ij in mode A. The read command can again be in the format F 2 or it can be a command in the format F 3 or F 4 .
Режим В. Записанная в регистр 35 команда имеет формат Ф3 (фиг. 5). В этом случае модуль mi.j завершает выполнение некоторого участка производит самонастройку на выполнение очередного участка k-й программы и переходит в состояние ожидания. В ходе самонастройки модуль mi.j устанавливает адрес начала очередного ((е+1)-ого) участка (здесь е - порядковый номер участка для модуля mi.j) и фиксирует номер (t) барьера a t (после достижения которого должен осуществляться запуск модуля mi.j).Mode B. The command recorded in the
На выходе 3.9 регистра 35 появляется единичная метка конца участка программы (Мку), инициирующая формат считанной команды, на выходах 3.2 и 3.3 регистра 35 формируется адрес на выходе 3.1 образуется код ЛУ, а на выходах 3.4 и 3.10 устанавливаются сигналы логического нуля. В тоже время на выходе 3.5 регистра 35 формируются номер физического разряда модуля, в котором находится барьер a q, а на выходе 3.6 регистра 35 номер (q) барьера a q, завершающий выполненный модулем участок программы На выходе 3.7 регистра 35 формируются номер физического разряда модуля, в котором находится барьер a t, а на выходе 3.8 номер (t) барьера at, определяющий момент запуска модуля mi.j (допустимым является случай, когда t=q).At the output 3.9 of
В примере на фиг. 6 после выполнения участка на выходе 3.6 регистра 35 модуля m2.2 будет установлен номер барьера а 1, а на выходе 3.5 физический разряд модуля, в котором выполняется синхронизация барьера a 1 На выходе 3.8 регистра 35 модуля m2.2 будет установлен номер барьера а 2, за которым следует очередной участок выполняемый модулем m2.2. На выходе 3.7 регистра 35 будет установлен физический разряд модуля, в котором выполняется синхронизация барьера а 2. Адрес начала этого участка будет зафиксирован на выходах 3.2 и 3.3 регистра 35. После завершения участка на выходе 3.6 регистра 35 модуля m2.2 будет установлен номер барьера а 4, а на выходе 3.5 физический разряд модуля, в котором выполняется синхронизация барьера а 4. На выходе 3.8 регистра 35 модуля m2.2 будет установлен номер барьера а 7, за которым следует очередной участок выполняемый модулем m2.2. На выходе 3.7 регистра 35 будет установлен физический разряд модуля, в котором выполняется синхронизация барьера а 7. Аналогичным образом происходит самонастройка других модулей.In the example of FIG. 6 after completing the site at the output 3.6 of the
Код номера барьера а 7 с выхода 3.6 регистра 35 поступает на информационный вход регистра 1.5 (фиг. 2), где фиксируется единичным сигналом специального старшего разряда этого кода по переднему фронту. В то же время код физического разряда модуля, в котором синхронизируется барьер a q, с выхода 3.5 регистра 35 (фиг. 1) подается на информационный вход регистра 1.6 (фиг. 2), где аналогично фиксируется единичным сигналом специального старшего разряда этого кода по переднему фронту. В свою очередь, код номера барьера a t с выхода 3.8 регистра 35 (фиг. 1) поступает на информационный вход регистра 1.8 (фиг. 2), где фиксируется единичным сигналом специального старшего разряда этого кода по переднему фронту. В то же время код физического разряда модуля, в котором синхронизируется барьер a t, с выхода 3.7 регистра 35 (фиг. 1) подается на информационный вход регистра 1.7 (фиг. 2), где аналогично фиксируется единичным сигналом специального старшего разряда этого кода по переднему фронту.The code numbers and the barrier 7 with 3.6
В то же время нулевой сигнал с выхода 3.10 регистра 35 (фиг. 1) настраивает коммутатор 37 на прием информации с выхода блока элементов ИЛИ 40, а положительный перепад уровня сигнала, возникающий на выходе 3.9 регистра 35, воздействует на одновибратор 43 и формирует на его выходе импульс. Данный импульс поступает на третий вход блока 39 синхронизации и, проходя затем на вход сброса триггера 60 (фиг. 3), переключает этот триггер в состояние логического нуля. Нулевой сигнал с прямого триггера 60 выключает генератор 61 и тем самым приостанавливает процесс формирования импульсов синхронизации t1 и t2 на выходах блока 39 синхронизации. Таким образом, процесс считывания команд из блока 33 временно прекращается (модуль переходит в состояние ожидания).At the same time, the zero signal from the output 3.10 of the register 35 (Fig. 1) configures the
Одновременно с описанными действиями происходит формирование исполнительного адреса следующей команды (адреса, с которого произойдет фактический запуск модуля mi.j после достижения барьера t). Указанный адрес образуется из адреса путем модификации его младшего разряда (AM) значением логического условия с входа 65 модуля (фиг. 1). Процесс формирования исполнительного адреса протекает так же, как и при работе модуля в режиме А (см. выше). Полученный исполнительный адрес (обозначим его как поступает на информационный вход буферного регистра 38, а также через блок элементов ИЛИ 40 и коммутатор 37 проходит на информационный вход регистра 34.Simultaneously with the described actions, the executive address of the next command is formed (the address from which the actual start of the module m ij will occur after reaching the barrier t). The specified address is formed from the address by modifying its low order (A M ) with the value of the logical condition from the
На этом работа модуля в режиме В заканчивается. Аналогичным образом происходит завершение других участков k-й программы, в том числе и участков сходящихся в барьере q.This completes the operation of the module in mode B. Similarly, the completion of other sections of the k-th program, including sections converging in the barrier q.
Рассмотрим работу ПЛМК в режиме синхронизации группы параллельных участков, а также процесс запуска модулей при синхронизации. Для определенности будем рассматривать конкретную группу участков , сходящихся в барьере a q. Будем считать, что участки распределены между модулями ПЛМК произвольным образом.Consider the work of PLMK in the synchronization mode of a group of parallel sections, as well as the process of starting modules during synchronization. For definiteness, we will consider a specific group of sites converging in the barrier a q . We assume that the plots randomly distributed between the PLCM modules.
Процесс синхронизации параллельных участков, сходящихся в барьере q, начинается с зарождения волн тактовых импульсов фазы синхронизации, распространяющихся в прямых фронтах от модуля m1.1 к модулю mM.N, в модуле m1.1. Сигналы с выходов триггера 7.2 блокируют элемент И 29 и открывают элемент И 31. В результате серия тактовых импульсов, которая подается на вход 50 модуля, через элементы И 31, ИЛИ 15 начинает передаваться через группу выходов 54 (фиг. 1) в соседние модули. В остальных модулях элемент И 31 (фиг. 2) будет заблокирован нулевым состоянием триггера 7.2 и импульсы, поданные на вход 50 (фиг. 1) модуля приниматься не будут. В то же время элемент И 29 (фиг. 2) в этих модулях будет открыт.В результате, как только на все входы группы входов 60 модуля (фиг. 1) от соседних модулей придут тактовые импульсы, на выходе элемента И 29 (фиг. 2) уровень сигнала из нулевого перейдет в единичный и одновибратор 30 выдаст новый импульс. Этот импульс через элемент ИЛИ 15 пройден на группу выходов 54 (фиг. 1) и, аналогично описанному выше, распространиться в соседние модули. Такая генерация импульсов с помощью одновибратора 30 (фиг. 2) исключает влияние случайных задержек в распространении тактовых импульсов.The synchronization process of parallel sections converging in the barrier q begins with the generation of waves of clock pulses of the synchronization phase, propagating in straight fronts from module m 1.1 to module m MN , in module m 1.1 . The signals from the outputs of trigger 7.2 block the And 29 element and open the And 31 element. As a result, a series of clock pulses, which is fed to the
Аналогичным образом происходит зарождение и распространение волн в фазе восстановления. В этом случае источником волн является модуль mM.N, а все функции выполняются элементами 25-28 с учетом состояния триггера 7.1. Сформированные импульсы передаются на группу выходов 53 модуля (фиг. 1) и распространяются в направлении модуля m1.1.Similarly, the nucleation and propagation of waves in the recovery phase occurs. In this case, the wave source is the module m MN , and all functions are performed by elements 25-28, taking into account the state of trigger 7.1. The generated pulses are transmitted to the group of
Появление волн импульсов в фазе синхронизации пока не приводит к каким-либо изменениям. Так поскольку нулевое состояние регистра 1.4 запрещает работу счетчика 4.1, данный счетчик не реагирует на импульсы на его счетном входе и на его выходах во всех модулях сохраняются нули. В результате блоки демультиплексоров 2.1 и мультиплексоров 3.1 во всех модулях получают нулевой код на адресном входе. Проходя через группу демультиплексоров 2.1 на синхровход регистров 1.1.1 во всех модулях, импульсы подтверждают нулевое состояние этих регистров и, соответственно, нулевой уровень сигнала на выходе блока мультиплексоров 3.1.The appearance of pulse waves in the phase of synchronization does not yet lead to any changes. Since the zero state of register 1.4 prohibits the operation of counter 4.1, this counter does not respond to pulses at its counter input and at its outputs all zeros are stored. As a result, the blocks of demultiplexers 2.1 and multiplexers 3.1 in all modules receive a zero code at the address input. Passing through the group of demultiplexers 2.1 to the sync input of registers 1.1.1 in all modules, the pulses confirm the zero state of these registers and, accordingly, the zero signal level at the output of the block of multiplexers 3.1.
В то же время волны импульсов в фазе восстановления, воздействуя через блок демультиплексоров 2.2 на синхровходы регистров 1.2.1 во всех модулях, вызывают последовательное (в направлении от модуля mM.K к модулю m1.1) заполнение этих регистров единицами (для дальнейшей корректной работы ПЛМК такое состояние группы регистров 1.2 не будет препятствием). В результате на выходах блока ИЛИ-НЕ 20 всех модулей формируется нулевой уровень сигнала. Как следствие, нули появляются на выходах блока элементов И 12 всех модулей. На выходах блока элементов ИЛИ 16 при этом во всех модулях, кроме m1.1, сохраняется ранее обусловленный нулевым состоянием триггера 7.2 единичный уровень сигнала. В модуле m1.1 из-за единичного триггера 7.2 на выходах блока элементов ИЛИ 16 появляются нули, которые подтверждают блокировку блока элементов И 13.At the same time, the pulse waves in the recovery phase, acting through the demultiplexer unit 2.2 on the sync inputs of the registers 1.2.1 in all modules, cause a sequential (in the direction from the m MK module to the m 1.1 module) filling of these registers with units (for further correct operation of the PLMK the state of the register group 1.2 will not be an obstacle). As a result, the signal level is formed at the outputs of the OR-NOT 20 block of all modules. As a result, zeros appear at the outputs of the AND block of 12 elements of all modules. At the outputs of the block of elements OR 16, at the same time, in all modules except m 1.1 , a unit signal level is previously determined due to the zero state of trigger 7.2. In module m 1.1, because of a single trigger 7.2, zeros appear on the outputs of the block of elements OR 16, which confirm the blocking of the block of elements AND 13.
Рассмотрим работу модуля в режиме индикации окончания параллельной ветви.Consider the operation of the module in the indication mode of the end of the parallel branch.
Сразу после выполнения последней команды формата Ф3 (фиг. 5) параллельной ветви Bq заканчивающейся некоторым барьером a q, метка конца участка программы в виде единичного сигнала с выхода 3.9 регистра 35 (фиг. 1) поступает на синхровход триггера 7.3 (фиг. 2), тем самым, переводя его в единичное состояние. Единичный сигнал с прямого выхода данного триггера открывает элементы И 14.1 и 14.2 и блок элементов И 11. Как значение счетчика 4.1 становится равным номеру барьера регистра 1.5, компаратор 6.1 выдает единичный сигнал. Этот сигнал проходит через открытый элемент И 14.1 и разрешает работу дешифратора 5.2. Далее на том выходе дешифратора, который соответствует физическому разряду, в котором находится барьер, появляется единица. Эта единица через соответствующий элемент блока элементов ИЛИ 17 проходит на одноименный элемент элементов И 13. До появления единицы, на выходах блока элементов ИЛИ 17 находился нулевой уровень сигнала, снимаемый через блок буферных элементов 8.i с соответствующего разряда регистра 1.3.Immediately after executing the last command of format Ф 3 (Fig. 5) of a parallel branch B q ending with some barrier a q , the mark of the end of the program section in the form of a single signal from the output 3.9 of register 35 (Fig. 1) is fed to the trigger sync input 7.3 (Fig. 2 ), thereby translating it into a single state. A single signal from the direct output of this trigger opens the elements And 14.1 and 14.2 and the block of elements And 11. As the value of the counter 4.1 becomes equal to the barrier number of the register 1.5, the comparator 6.1 gives a single signal. This signal passes through the open element And 14.1 and allows the operation of the decoder 5.2. Then, at the output of the decoder, which corresponds to the physical discharge in which the barrier is located, one appears. This unit passes through the corresponding element of the block of elements OR 17 to the element of the same element AND 13. Before the appearance of the unit, at the outputs of the block of elements OR 17 there was a zero signal level taken through the block of buffer elements 8.i from the corresponding discharge of register 1.3.
Во всех модулях, кроме m1.1 указанный элемент блока элементов И 13 безусловно открывается, чем обеспечивает беспрепятственное прохождение единичного значения со входов 59 модуля синхронизатора (фиг. 1). В модуле m1.1 блок элементов И 13 (фиг. 2) дополнительно блокируется сигналом с выходов блока элементов ИЛИ 16 до тех пор, пока блок мультиплексоров 3.2 в соответствующем разряде не выдаст нулевое значение.In all modules, except m 1.1, the indicated element of the block of elements And 13 unconditionally opens, which ensures unhindered passage of a single value from the
Теперь рассмотрим работу модуля в режиме запуска после окончания параллельной ветви.Now consider the operation of the module in startup mode after the end of the parallel branch.
В этом режиме триггер 7.3 по-прежнему находится в единичном состоянии, поэтому элемент И 14.2 и блок элементов И 11 открыты. Как только компаратор 6.2 устанавливает совпадение значения счетчика 4.2 с номером барьера, который передается с выхода регистра 1.8, на его выходе формируется сигнал логической единицы. Этот сигнал через элемент И 14.2 воздействует на дешифратор 5.3 и разрешает его работу. В результате номер разряда ПЛМК, в котором находится барьер, поступающий из регистра 1.7, преобразуется в соответствующий унитарный код, что приводит к открытию соответствующего элемента в составе блока элементов И 11. Поскольку из соответствующего регистра группы 1.2 через соответствующий мультиплексор блока 3.2 на этот же элемент блока элементов И 11 поступает единица, блок 11 выдает ненулевое значение и элемент ИЛИ 24 формирует единичный уровень сигнала, подготавливающий к работе одновибратор 23 (фиг. 1).In this mode, the trigger 7.3 is still in a single state, therefore, the element And 14.2 and the block of elements And 11 are open. As soon as the comparator 6.2 establishes a match between the value of the counter 4.2 and the number of the barrier, which is transmitted from the output of the register 1.8, a signal of a logical unit is generated at its output. This signal through the element And 14.2 acts on the decoder 5.3 and allows its operation. As a result, the discharge number of the PLMK, which contains the barrier coming from register 1.7, is converted to the corresponding unitary code, which leads to the opening of the corresponding element in the block of elements And 11. Since from the corresponding register of group 1.2, through the corresponding multiplexer of block 3.2, the same element block of elements And 11 a unit arrives, block 11 gives a non-zero value and the element OR 24 forms a single signal level, preparing one-
С появлением очередного импульса волны в фазу восстановления на выходе одновибратора 26 (фиг. 2) регистры группы 1.2 переключаются в новое состояние, соответствующее номеру барьера. Если при этом разряд регистров соответствующий текущему физическому разряду ПЛМК и проверяемому номеру барьера (значению счетчика 4.2), переключится в нулевое состояние, значит в данный модуль от соседних модулей поступило значение функции, означающие выполнение условие восстановления. В этом случае на выходе блока элементов И 11 снова появится нулевое значение и уровень сигнала на выходе элемента ИЛИ 24 станет нулевым. В результате одновибратор 23 (фиг. 1) выдаст импульс пуска модуля. В то же время отрицательный перепад на выходе элемента ИЛИ 24 распространиться на синхровход буферного регистра 38 и фиксирует в данном регистре адрес запуска модуля, сформированный модулем при завершении участка программы (см. режим В). Адрес с выхода регистра 38 подтверждает информацию на выходе блока элементов ИЛИ 40. Кроме того, этот импульс сбросит триггер 7.3 (фиг. 2), блокируя элементы И 14.1, 14.2 и блок элементов И 11.With the advent of the next wave pulse in the recovery phase at the output of the single-shot 26 (Fig. 2), the registers of group 1.2 switch to a new state corresponding to the barrier number. If at the same time the category of registers corresponding to the current physical category of the PLMK and the barrier number being checked (counter value 4.2) switches to the zero state, then this module received function values from the neighboring modules, which mean that the restoration condition is fulfilled. In this case, at the output of the block of elements AND 11, a zero value appears again and the signal level at the output of the element OR 24 becomes zero. As a result, the one-shot 23 (Fig. 1) will give a start pulse to the module. At the same time, the negative difference at the output of the
В тот же момент импульс с выхода одновибратора 23 (фиг. 1) поступает на второй вход блока 39 синхронизации и, проходя через элемент ИЛИ 46 (фиг. 3) на вход установки триггера 60, включает генератор 61. Таким образом на выходах блока 39 синхронизации возобновляется формирование импульсов синхронизации t1 и t2.At the same time, the pulse from the output of the one-shot 23 (Fig. 1) is supplied to the second input of the
Одновременно импульс с выхода одновибратора 23 (фиг. 1) подается на вход сброса регистра 35 и устанавливает его в нулевое состояние. На всех выходах регистра 35 образуются нулевые сигналы. В результате в регистры 1.5-1.8 (фиг. 2) записываются нули. Адресный код на первом входе блока элементов ИЛИ 40 (фиг. 1) также становится нулевым. Однако, на выходе блока элементов ИЛИ 40 по-прежнему сохраняется адрес поступающий с выхода регистра 38. Соответственно, указанный адрес сохраняется на информационном входе регистра 34.At the same time, the pulse from the output of the single-shot 23 (Fig. 1) is fed to the reset input of the
Далее первый импульс t1 с первого выхода блока 39 синхронизации через элемент ИЛИ 41 поступает на синхровход регистра 34 и задним фронтом записывает в него адрес Адрес с выхода регистра 34 подается на адресный вход блока 33 и обеспечивает считывание первой команды участка е+1. Первый импульс t2 со второго входа блока 39 синхронизации сбрасывает буферный регистр 38 и, поступая одновременно через элемент ИЛИ 42 на синхровход регистра 35, фиксирует в этом регистре считанную из блока 33 команду. Таким образом, модуль mi.j приступает к выполнению участка е+1 программы k. Записанная в регистр 35 команда может иметь форматы Ф2, Ф3 или Ф4 (фиг. 5). Соответственно модуль mi.j может перейти в один из трех возможных режимов - А, В или С.Next, the first pulse t 1 from the first output of the
Рассмотрим подробнее порядок распространения значений индикаторных функций, определяющих состояние модуля относительно барьера, через модуль в фазах синхронизации и восстановления.Let us consider in more detail the distribution of the values of the indicator functions that determine the state of the module relative to the barrier through the module in the synchronization and recovery phases.
В фазе синхронизации значения индикаторных функций распространяются через модули по цепям, образованным блоком элементов И 13, блоком демультиплексоров 2.1, группой регистров 1.1, блоком мультиплексоров 3.1 и блоком элементов И 10. В модуле mM.N к этому процессу подключаются блок элементов ИЛИ-НЕ 19 и блок буферных элементов 9, а блок элементов И 10, напротив, закрывается и не участвует в передаче значений индикаторных функций.In the synchronization phase, the values of the indicator functions are distributed through the modules along the circuits formed by the block of elements AND 13, the block of demultiplexers 2.1, the group of registers 1.1, the block of multiplexers 3.1 and the block of elements AND 10. In the module m MN , the block of elements OR-NOT 19 is connected to this process and the block of
В каждый момент времени регистры группы 1.1 содержат набор текущих значений индикаторных функций в фазу синхронизации для всех активных барьеров, причем в разных модулях эти значения могут отличаться. Так, если в модуле mi.j значение функции в определенном разряде определенного регистра 1, то это значит, что все модули, расположенные не дальше от начала координат, чем (i:j), включая сам модуль mi.j, уже завершили ветви, сходящиеся в барьере с соответствующим номере, либо вообще не являются участниками данного барьера. Если значение функции 0, то это означает, что сам модуль mi.j либо какой-нибудь модуль из числа расположенных не дальше от начала координат, чем mi.j, еще не завершили ветви, сходящиеся в барьере с определенным номером, который находится в данном физическом разряде ПЛМК. Также возможна ситуация, когда значение функции еще не поступило в модуль.At each moment of time, the registers of group 1.1 contain a set of current values of indicator functions in the synchronization phase for all active barriers, and these values may differ in different modules. So, if in the module m ij the value of the function in a certain category of a certain register is 1, then this means that all modules located no further from the origin than (i: j), including the module m ij itself , have already completed the branches converging in barrier with the corresponding number, or are not at all participants in this barrier. If the value of the function is 0, then this means that the module m ij itself or any module among those located no farther from the origin than m ij has not yet completed the branches converging in the barrier with a certain number, which is in this physical category PLMK. It is also possible that the value of the function has not yet arrived in the module.
Запись нового значения индикаторной функции в соответствующий разряд регистров 1.1 происходит по переднему фронту очередного тактового импульса волны в фазе синхронизации. Этот импульс с выхода одновибратора 30 проходит через демультиплексор 2.1.n+1 на синхровход того регистра группы 1.1, который соответствует значению счетчика 4.1, и фиксирует в этом регистре новое значение индикаторной функции, сформированное блоком элементов И 13. Этот же импульс переключает счетчик 4.1 на опрос следующего барьера, для которого уже началось формирование индикаторных функций по данным из модулей предыдущего прямого фронта.The recording of a new value of the indicator function in the corresponding category of registers 1.1 occurs along the leading edge of the next clock pulse of the wave in the synchronization phase. This pulse from the output of one-
Достигнув модуля mM.N, значения индикаторных функций в фазе синхронизации инвертируются блоком 19 и тем самым преобразуются в соответствующие значения индикаторных функций в фазу восстановления. Полученные значения через блок буферных элементов 9 подаются снова в модуль mM.N на группу входов 7 и используются в дальнейшем в фазе восстановления.Having reached the module m MN , the values of the indicator functions in the synchronization phase are inverted by the block 19 and thereby are converted into the corresponding values of the indicator functions in the recovery phase. The obtained values through the block of
В фазе восстановления значения индикаторных функций распространяются через модули по цепям, образованным блоком элементов И-НЕ 21, группой блоков элементов ИЛИ-НЕ 22, блоком демультиплексоров 2.2, группой регистров 1.2, блоком мультиплексоров 3.2. В модуле m1.1 к этому процессу подключается блок элементов ИЛИ-НЕ 20, блок элементов И 12, блок элементов ИЛИ 16, а дальнейшее распространение значений индикаторных функций прекращается и замыкается на блок элементов И 13.In the recovery phase, the values of the indicator functions are distributed through the modules along the circuits formed by the AND-NOT 21 element block, the OR-NOT 22 element block group, the demultiplexer block 2.2, the register group 1.2, and the multiplexer block 3.2. In the module m 1.1 , the block of elements OR-NOT 20, the block of elements AND 12, the block of elements OR 16 is connected to this process, and the further distribution of the values of the indicator functions stops and closes to the block of elements AND 13.
В каждый момент времени регистры группы 1.2 содержат набор текущих значений индикаторных функций в фазе восстановления для всех активных барьеров. Как только в модуле mi.j значение единичного меняется на нулевое, это значит, что условие восстановления (разрешающее продолжать выполнение следующей параллельной ветви) достигло текущего модуля (см. работу модуля в режиме запуска после окончания параллельной ветви).At each moment of time, the registers of group 1.2 contain a set of current values of indicator functions in the recovery phase for all active barriers. As soon as in the module m ij the value of the unit changes to zero, this means that the recovery condition (allowing the continuation of the next parallel branch) has reached the current module (see operation of the module in startup mode after the end of the parallel branch).
Запись нового значения индикаторной функции в фазу восстановления в соответствующий разряд регистров группы 1.2 происходит по переднему фронту очередного тактового импульса волны в фазу восстановления. Этот импульс с выхода одновибратора 26 проходит через демультиплексор 2.2.n+1 на синхровход регистра группы 1.2, который соответствует значению счетчика 4.2, и фиксирует в этом регистре новое значение индикаторной функции, сформированное блоком элементов И-НЕ 21. Этот же импульс переключает счетчик 4.2 на опрос следующего барьера, для которого уже началось формирование индикаторных функций по данным из модулей предыдущего обратного фронта.Writing a new value of the indicator function in the recovery phase to the corresponding category of registers of group 1.2 occurs along the leading edge of the next clock pulse of the wave in the recovery phase. This pulse from the output of one-
Таким образом, передача значений индикаторных функций в фазах синхронизации и восстановления осуществляется по конвейерной схеме, ступени которой определяются прямыми и обратными фронтами. Поскольку на каждом такте одновременно передается n значений, данная схема является фактически параллельно-конвейерной, что позволяет совместить во времени значительно большее число операций.Thus, the transfer of the values of the indicator functions in the phases of synchronization and recovery is carried out according to the conveyor scheme, the steps of which are determined by the forward and reverse fronts. Since n values are simultaneously transmitted at each clock cycle, this circuit is actually parallel to the conveyor, which allows combining a significantly larger number of operations in time.
Режим С. В этот режим модуль переходим после записи в регистр 35 (фиг. 1) команды формата Ф3 (фиг. 5). Работа модуля в режиме С сводится к индикации завершения k-й программы и переходу в пассивное состояние. На выходе 3.10 регистра 35 (фиг. 1) образуется единичный сигнал - метка конца программы (Мкп), на выходе 3.9, как и в режиме В, появляется единичная метка конца участка Мку. На всех остальных выходах регистра 35 формируется нулевой уровень сигнала, кроме специальных разрядов для записи в регистры 1.5-1.8 (фиг. 2).Mode C. In this mode, the module goes after writing to the register 35 (Fig. 1) a command format F 3 (Fig. 5). The operation of the module in mode C is reduced to indicating the completion of the k-th program and the transition to a passive state. At the output 3.10 of register 35 (Fig. 1), a single signal is formed - the end of the program mark (M cp ), at the output 3.9, as in mode B, a single mark of the end of the section M ku appears. At all other outputs of
Нулевые сигналы с выходов 3.5-3.8 регистра 35 (фиг 1) фиксируется единичным сигналом специального старшего разряда по переднему фронту в регистрах 1.5-1.8 (фиг. 2). Единичная метка Мкп с выхода 3.9 регистра 35 (фиг. 1) подается на управляющие входы коммутатора 37 и настраивает его на прием очередного КОП с входа 56 модуля.Zero signals from the outputs 3.5-3.8 of register 35 (Fig. 1) are fixed by a single signal of a special high-order bit along the leading edge in registers 1.5-1.8 (Fig. 2). A single label M CP from the output 3.9 of the register 35 (Fig. 1) is fed to the control inputs of the
Одновременно переход сигнала на выходе 3.9 регистра 35 возбуждает импульс на выходе одновибратора 43. Этот импульс поступает на третий вход блока 39 синхронизации, переводит триггер 60 (фиг. 3) в нулевое состояние и тем самым запрещает формирование импульсов синхронизации t1 и t2 на выходах блока 39 синхронизации (фиг. 1). Считывание команд из блока 33 прекращается.Simultaneously, the transition of the signal at the output 3.9 of the
Аналогичным образом завершается функционирование других модулей ПЛМК. Выполнение k-й программы в целом заканчивается после перехода в пассивное состояние последнего из модулей. После этого ПЛМК может переходить к выполнению очередной программы.In a similar way, the operation of other PLMK modules is completed. The execution of the k-th program as a whole ends after the transition to the passive state of the last of the modules. After that, PLMK can proceed to the next program.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2016117333A RU2634199C1 (en) | 2016-05-05 | 2016-05-05 | Parallel logic multicontroller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2016117333A RU2634199C1 (en) | 2016-05-05 | 2016-05-05 | Parallel logic multicontroller |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2634199C1 true RU2634199C1 (en) | 2017-10-24 |
Family
ID=60154016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2016117333A RU2634199C1 (en) | 2016-05-05 | 2016-05-05 | Parallel logic multicontroller |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2634199C1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2151421C1 (en) * | 1999-02-25 | 2000-06-20 | Курский государственный технический университет | Unit of microcontroller network |
US20020010853A1 (en) * | 1995-08-18 | 2002-01-24 | Xilinx, Inc. | Method of time multiplexing a programmable logic device |
RU2336556C1 (en) * | 2007-04-17 | 2008-10-20 | Государственное образовательное учреждение высшего профессионального образования Курский государственный университет | Microcontroller network |
RU2450328C1 (en) * | 2010-12-15 | 2012-05-10 | Государственное образовательное учреждение высшего профессионального образования "Юго-Западный государственный университет" (ЮЗГУ) | Logic multicontroller having distributed parallel-pipeline barrier synchroniser |
-
2016
- 2016-05-05 RU RU2016117333A patent/RU2634199C1/en not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020010853A1 (en) * | 1995-08-18 | 2002-01-24 | Xilinx, Inc. | Method of time multiplexing a programmable logic device |
RU2151421C1 (en) * | 1999-02-25 | 2000-06-20 | Курский государственный технический университет | Unit of microcontroller network |
RU2336556C1 (en) * | 2007-04-17 | 2008-10-20 | Государственное образовательное учреждение высшего профессионального образования Курский государственный университет | Microcontroller network |
RU2450328C1 (en) * | 2010-12-15 | 2012-05-10 | Государственное образовательное учреждение высшего профессионального образования "Юго-Западный государственный университет" (ЮЗГУ) | Logic multicontroller having distributed parallel-pipeline barrier synchroniser |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11671082B2 (en) | Synchronization in a quantum controller with modular and dynamic pulse generation and routing | |
RU2212048C2 (en) | Flexible interface and method for its application | |
US7930517B2 (en) | Programmable pipeline array | |
US4748417A (en) | Method and circuit arrangement for switching a clock-controlled device having a plurality of operating statuses | |
WO2015188163A1 (en) | Systems and methods involving multi-bank, dual-pipe memory circuitry | |
WO1994008399A1 (en) | Arrangement for parallel programming of in-system programmable ic logic devices | |
CN107145465B (en) | Transmission control method, device and system for Serial Peripheral Interface (SPI) | |
US20060004980A1 (en) | Address creator and arithmetic circuit | |
RU2634199C1 (en) | Parallel logic multicontroller | |
EP1388048B1 (en) | Storage system for use in custom loop accellerators | |
US3644895A (en) | Buffer store arrangement for obtaining delayed addressing | |
RU2450328C1 (en) | Logic multicontroller having distributed parallel-pipeline barrier synchroniser | |
RU2336556C1 (en) | Microcontroller network | |
US4794527A (en) | Microprogrammed data processing system using latch circuits to access different control stores with the same instruction at different times | |
RU2280887C1 (en) | Microcontroller network | |
RU2151421C1 (en) | Unit of microcontroller network | |
RU2168198C1 (en) | Microcontroller network | |
US7562320B2 (en) | Asic based conveyor belt style programmable cross-point switch hardware accelerated simulation engine | |
US3462738A (en) | Polyphase priority determining system | |
RU2717628C1 (en) | Pulse selector | |
RU2146064C1 (en) | Device for software control | |
RU2156492C1 (en) | Fault-tolerant microcontroller | |
RU2112272C1 (en) | Unit of microcontroller network | |
RU2110827C1 (en) | Digital microcontroller network | |
RU2198417C2 (en) | Distributed system for program control |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20180506 |