Микропрограммное устройство управления
Иллюстрации
Показать всеРеферат
1. МИКРОПРОГРАММНОЕ УСТРОЙСТВО УПРАВЛЕНИЯ, содержащее блок постоянной памяти, блок формирования адреса микрокоманд, регистр микрокоманд , регистр начала микропрограммы, регистр конца микропрограммы, дешифратор адреса, триггер управления, генератор импульсов , четыре элемента ИЛИ, группу из N-1 элемента ИЛИ, блок элементов ИЛИ, Г1ять элементов И, два блока элементов И и элемент задержки, причем первый и второй информационные входы и выход блока формирования адреса микрокоманд соединены соответственно с входом логических условий устройства, входом кода операций устройства и адресным входом блока постоянной памяти, выход которого подключен к информационному входу регистра микрокоманд, выход адреса и выход микроопераций регистра микрокоманд соединены соответственно с третьим информационным входом блока формирова11ия адреса микрокоманд и первым входом первого блока элементов И, выход которого подключен к выходу микроопераций устройства, выход метки передачи управления регистра микрокоманд соединен с прямым входом первого элемента И, выход метки начала параллельных участков регистра микрокоманд подключен к прямому входу второго элемента И, единичный выход триггера управления соединен с входом генератора импульсов, первый и второй выходы которого подключены к входам синхронизации соответственно блока формирования адреса микрокоманд и регистра микрокоманд , i-й вход блока элементов И
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 3599829/24-24 (22) 03.06.83 (46) 23.07.85. Бюл. № 27 (72) В. С. Харченко, С. Б. Никольский, Г. Н. Тимонькин, С. Н. Ткаченко, В. Б. Алексеев и А. А. Атамасов (53) 681.325(088.8) (56) Авторское свидетельство СССР № 474806, кл. G 06 F 15/02, 1974.
Авторское свидетельство СССР № 596947, кл. G 06 F 9/22, 1978.
Авторское свидетельство СССР № 959080, кл. G 06 F 9/22, 1982. (54) (57) l. МИКРОПРОГРАММНОЕ УСТРОИСТВО УПРАВЛЕНИЯ, содержащее блок постоянной памяти, блок формирования адреса микрокоманд, регистр микрокоманд, регистр начала микропрограммы, регистр конца микропрограммы, дешифратор адреса, триггер управления, генератор импульсов, четыре элемента ИЛИ, группу из
N — 1 элемента ИЛИ, блок элементов ИЛИ, пять элементов И, два блока элементов И и элемент задержки, причем первый и второй информационные входы и выход блока формирования адреса микрокоманд соединены соответственно с входом логических условий устройства, входом кода операций устройства и адресным входом блока постоянной памяти, выход которого подключен к информационному входу регистра микрокоманд, выход адреса и выход микроопераций регистра микрокоманд соединены соответственно с третьим информационным входом блока формироваНия адреса микрокоманд и первым входом первого блока элементов И, выход которого подключен к выходу микроопераций устройства, выход метки передачи управления регистра микрокоманд соединен с прямым входом первого элемента И, выход метки начала параллельных участков регистра микрокоманд подключен к прямому входу второго элемента И, единичный выход триггера управления соединен с входом генератора импульсов, первый и второй выхо„„Я(1„„1168936 А (5 ) 4 G 06 F 9/22 ды которого подключены к входам синхронизации соответственно блока формирования адреса микрокоманд и регистра микрокоманд, i-й вход блока элементов И (1 (1<
41х1-1) соединен с i-м входом группы входов адреса устройства, выход элемента задержки подключен к нулевым входам регистра начала микропрограммы, единичные выходы которого соединены с первыми входами второго блока элементов И, i-й нулевой выход регистра конца микропрограммы подключен к i-му входу третьего элемента И, отличаюи1ееся тем, что, с целью расширения области применения устройства за счет обеспечения одновременного выполнения параллельных участков программ и микропрограмм, оно содержит триггер конца микропрограммы, триггер начала микропрограм- у
Я мы, пять одновибраторов, N-1 коммутатор и элемент ИЛИ-НЕ, первый и второй входы и выход которого соединены соответственно с выходами метки передачи управления и С метки начала параллельных участков регистра микрокоманд и вторым входом перво- Я го блока элементов И, первый вход и выход первого элемента ИЛИ подключены со- мы ответственно к входу пуска устройства и единичному входу триггера управления, выход поля метки передачи управления регистра микрокоманд соединен с входом разрешения приема блока формирования адреса микрокоманд, инверсным входом второго элемента И и первым входом второго элемента ИЛИ, выход поля метки начала параллельныx участков регистра микрокоманд подключен к единичному входу триггера конца микропрограммы и инверсному входу первого элемента И, выход которого соединен с входом первого одновибратора, выход первого одповибратора подключен к входу разрешения дешифратора адреса, i-й выход которого соединен с первым управляющим входом i-го коммутатора, выход второго элемента И подключен к входу второго одновибратора, выход которого соединен с вторыми и третьими управляющими входами
1168936
10 коммутаторов и входом синхронизации регистра конца микропрограммы, i-й единичный вход регистра начала микропрограммы подключен к i-му входу метки начала параллельных участков устройства и 1-му входу третьего элемента ИЛИ, выход которого соединен с единичным входом триггера начала микропрограммы, i-й нулевой вход регистра конца микропрограммы подключен к
i-му входу метки конца параллельных участков устройства, выход блока элементов ИЛИ соединен с четвертым информационным входом блока формирования адреса микрокоманд и входом четвертого элемента ИЛИ, выход которого подключен к второму входу первого элемента ИЛИ, выход поля метки конца параллельных участков регистра микрокоманд соединен с нулевым входом триггера начала микропрограммы, N-м входом третьего элемента И и вторым входом второго элемента ИЛИ, выход которого подключен к входу третьего одновибратора, а выход третьего одновибратора соединен с нулевым входом триггера управления, первый и второй входы и выход четвертого элемента И подключены соответственно к нулевым выходам триггера начала и конца микропрограммы и входу четвертого одновибратора, выход которого соединен с вторыми входами второго блока элементов И и входом элемента задержки, первый и второй входы и выход пятого элемента И подключены соответственно к единичному выходу триггера конца микропрограммы, выходу третьего элемента И и входу пятого одновибратора, выход которого соединен с нулевым входом триггера конца микропрограммы и третьим входом первого элемента ИЛИ, первый, второй и третий информационные входы и первый и второй выходы i-ro коммутатора подключены соответственно к выходу адреса и выходу микроопераций регистра
Изобретение относится к цифровой вычислительной технике и может быть использовано при построении микропрограммных устройств управления распределенных вычислительных систем, проектируемых на однотипных БИС и реализующих параллельные алгоритмы обработки информации.
Цел ь изобретения — расширение обл асти применения устройства за счет обеспечения одновременного выполнения параллельных участков программ и микропрограмм.
На фиг. 1 и 2 показана функциональная схема микропрограммного устройства управления (МПУУ); на фиг. 3 — функциомикрокоманд, выходу i-ro элемента ИЛИ группы, i-му выходу метки начала параллельных участков и i-му выходу адреса устройства, информационный вход дешифратора адреса соединен с выходом микроопераций регистра микрокоманд и входом i-го элемента ИЛИ группы, выход которого подключен к i-му информационному входу регистра конца микропрограммы, i-й выход второго блока элементов И соединен с i-м выходом метки конца параллельных участков устройства, а выход конца работы первого блока элементов И подключен к третьему входу второго элемента ИЛИ.
2. Устройство по п. 1, отличающееся тем, что блок формирования адреса микрокоманд содержит мультиплексор, группу элементов И, элемент ИЛИ, группу элементов ИЛИ и регистр адреса микрокоманд, информационный вход, вход синхронизации и выход которого соединены соответственно с выходами элементов ИЛИ группы, входом синхронизации и выходом блока, информационный вход, управляющий вход и выход мультиплексора подключены соответственно к первому информационному входу блока, первой группе выходов элементов И группы и первому входу элемента ИЛИ, второй вход которого соединен с выходом модифицируемого разряда второй группы выходов элементов И группы, первые и вторые входы которых подключены соответственно к третьему информационному входу и входу разрешения приема блока, первые входы элементов ИЛИ группы соединены с вторым информационным входом блока, вторые входы элементов ИЛИ группы подключены к выходам немодифицируемых разрядов второй группы выходов элементов И группы и выходу элемента ИЛИ, а третьи входы элементов ИЛИ группы соединены с четвертым информационным входом блока. нальная схема блока формирования адреса микрокоманд; на фиг. 4 — форматы микрокоманд устройства; на фиг. 5 — алгоритм работы устройства; на фиг. 6 — пример функционирования распределенной параллельной вычислительной системы; на фиг. 7 — временная диаграмма работы распределенной параллельной вычислительной системы, соответствующая примеру (фиг. 6).
На фиг. 1 и 2 приведены блок 1 постоянной памяти, блок 2 формирования адреса микрокоманд, регистр 3 микрокоманд с полями: 4 — адреса следующей микрокоманды, 5 — микроопераций, 6 — метки М1
1168936
15
55 передачи управления, 7 — метки М начала параллельных участков микропрограммы, 8 — метки Мз конца параллельных участков микропрограммы, регистр 9 начала микропрограммы, регистр 10 конца микропрограммы, дешифратор 11 адреса триггер 12 управления, триггер 13 конца микропрограммы, триггер 14 начала микропрограммы, генератор 15 и мпул ьсов, первый элемент
ИЛИ 16, второй элемент ИЛИ 17, третий элемент ИЛИ 18, четвертый элемент ИЛИ
19, группу из (N — 1) элементов ИЛИ
20.1 — 20.N — 1, блок 21 элементов ИЛИ, элемент ИЛИ-НЕ 22, первый элемент И 23, второй элемент И 24, третий элемент И 25, четвертый элемент И 26, пятый элемент И 27, первый блок 28 элементов И, второй блок
29 элементов И, третий одновибратор 30, первый одновибратор 31, второй одновибратор 32, четвертый одновибратор 33, пятый одновибратор 34, первый в (N — 1)-й коммутатор 35.1 — 35.N — 1 соответственно, элемент 36 задержки, вход 37 логических условий устройства, вход 38 кода операции устройства, вход 39 пуска устройства, группа входом 40 адреса устройства, первый— (N — 1)-й входы 41.1 — 41.N — 1 меток начал а параллельных участков соответственно, первый — (N — 1)-й входы 42.1 — 42.N — 1 меток конца параллельных участков соответственно, выход 43 микроопераций устройства, группа выходов 44 адреса устройства, первый — (N — 1)-й выходы 45.1 — 45.N — 1 меток начала параллельных участков соответственно, первый — (N — 1) -й выходы 46.1—
46.N — 1 меток конца параллельных участков соответственно.
Блок 2 (фиг. 3) формирования адреса микрокоманд содержит группу 47 элементов И, мультиплексор 48, элемент ИЛИ 49, группу элементов ИЛИ 50, регистр 51 адреса микрокоманд.
Блок 2 (фиг. 3) формирования адреса микрокоманд предназначен для формирования исполнительного адреса очередной микрокоманды и адреса микрокоманды при передаче управления на данное МПУУ. На вход
38 блока поступает код операции, который задает начальный адрес последовательного участка МП. Код операции, пройдя через группу элементов ИЛИ 50, поступает на вход регистра 51 и записывается в него с приходом на вход блока 2 синхроимпульса tz. Адрес очередной микрокоманды и код логических условий поступает на вход группы 47 элементов И, код логических условий с выхода группы 47 поступает на вход мультиплексора 48, на другой вход которого с входа 37 блока 2 поступают значения логических условий. Мультиплексор 48 предназначен для выбора одного из значений логи= ческих условий, поступающих на вход 37.
Выбор значения логического условия происходит в зависимости от кода логического условия, поступающего на другой вход му,:::— типлексора 48. Мультиплексор 48 р«а- з « следующую логическую функцию: гдех; — значение i-го логического условия на входе 37 блока 2; где К>, если в соответствующем разряде ноля 4 регистра 3 (фиг. 1) записана
А- «1»;
К, если в соответствующем разряд«ноля 4 регистра 3 записан «О»;
m — разрядность значений логических условий, поступающий на вход 37 б;3ока 2 (фиг. 3); и — разрядность кода логических условий, поступающего на вход мультиплексора 48.
Элемент 49 предназначен для модифнк<3ции разряда адреса следующей микрокоманды в соответствии со значением проверяемого логического условия. Группа элементов ИЛИ 50 формирует исполнительный адрес микрокоманд, а регистр 51 служит для его записи. Регистр 3 микрокоманд служит для записи микрокоманды, считанной с блока 1. Регистр 9 предназначен для записи м«ток начала параллельных участков микропрограммы и выдачи сигналов конца napa«Iлельных участков м и кроп рогра м мы, ссл и устройство работает в режиме «ведомого».
Регистр 10 служит для записи сигналов !Зачала параллельных участков микропрограммы и окончания параллельных участков микропрограммы «ведомыми» модулями распределенной вычислительной системы.
Данное устройство работает в режим« «ведущего».
Дешифратор 11 адреса предназначен для преобразования кода адреса модуля, на который передается управление и управляет выбором одного из коммутаторов 35.1-35.N — 1. Триггер 12 служит для управления работой генератора 15 синхроимпульсов.
Триггер 13 конца микропрограммы предназначен для управления работой устройства в режиме «ведущего». Триггер 14 начала микропрограммы предназначен для управления работой устройства в режиме «ведомого>..
Генератор 15 синхроимпульсов формнру«т на своих выходах две последовательности сдвинутых одна относительно другой cII! Iхроимпульсов, и fz. Элемент ИЛИ 16 формирует сигнал пуска устройства от 13!I«nIII«го сигнала, поступающего на вход 39 устройства, сигнала, сформированного эл«м«нтом 25 (устройство работает в режиме <ведущего»), а также от сигнала, сформирова,l ного элементом 19 (передача управа«н33я
1168936 лельной вычислительной системы. Блок 29 элементов формирует сигнал окончания параллельного участка микропрограммы «ведомым» устройством.
Одновибратор 30 формирует единичный сигнал обнуления триггера 12 на своем выходе при смене на его входах низкого потенциала на высокий. Одновибраторы 30 — 34 формируют единичный сигнал на своих выходах при смене на их входах низкого по50
55 устройству). Элемент 17 формирует сигнал останова устройства при передаче управления на другое устройство, при ожидании сигналов окончания параллельных участков от устройств, работающих в режиме «ведомого», а также от сигнала микрооперации при окончании программы. Блок 21 формирует адрес последовательного или параллельного участка микропрограммы при передаче управления на данное устройство. Элемент 19 предназначен для формирования сигнала пуска устройства при передаче управления. Группа элементов ИЛИ 20.1—
20.N — 1 предназначена для формирования сигналов начала параллельных участков микропрограммы для устройств, работающих в режиме «ведомых». Необходимость введения элементов ИЛИ 20.1 — 20.N — 1 обусловлена тем, что устройство в режиме параллельной работы может передавать управление не всем N — 1 модулям одновременно, а части из них. Причем комбинации инициируемых модулей в различных частях программы могут быть различными. Для этого к входам элементов ИЛИ 20.1 — 20.N — 1 подключаются те группы выходов поля 5, в которых записываются коды адресов передачи упи II равления A„ >,, A„, А, „, соответствующие номерам модулей, инициируемых для параллельной работы (фиг. 4).
Элемент 18 формирует сигнал для перевода триггера 14 в единичное состояние при работе устройства в режиме «ведомого». зо
Элемент 22 формирует нулевой сигнал при передаче управления или при инициировании параллельных участков микропрограмм.
Элемент И 23 и одновибратор 31 формируют управляющий сигнал для преобразования кода адреса при передаче управления на другое устройство. Элемент 24 и одновибратор 32 формируют управляющий сигнал при инициализации параллельных участков микропрограмм. Блок 28 управляет прохождением сигналов микроопераций на выход 43 40 устройства. Элемент 26 и одновибратор 33 формируют сигнал сброса регистра 9 и сигнал окончания параллельного участка устройством, работающим в режиме «ведомого»
Элемент 27 и одновибратор 34 формируют 4 сигнал установки триггера 13 в исходное (нулевое) состояние, а также сигнал запуска устройства, работающего в режиме «ведущего», после окончания параллельных участков модулями распределенной паралтенциала на высокий. Длительность выходных сигналов, формируемых одновибраторами 30 и 34, обеспечивает надежное переключение триггеров 12 и 13. Длительность выходных сигналов одновибраторов 31, 32 и 33 равна требуемой длительности сигналов на выходах 44 устройства. Кроме того, одновибратор 33 обеспечивает сброс в исходное состояние регистра 9. Группа коммутаторов 35.1 — 35.N — 1 предназначена для коммутации адресов последовательных и параллельных участков микропрограммы в зависимости от режима работы устройства.
Элемент 36 предназначен для формирования импульса сброса регистра 9, задержанного на время считывания информации из регистра 9.
Устройство функционирует в двух основных режимах. Режим реализации последовательного участка микропрограммы включает выполнение последовательного участка микропрограммы, передачу управления другому модулю распределения вычислительной системы и прием управления.
В режиме реализации параллельного участка микропрограммы (МП) устройство работает в режиме «ведущего», т.е. инициирует выполнение параллельных участков
МП другими модулями и управляет выполнением одного из параллельных участков
МП, и работает в режиме «ведомого», т.е. принимает от «ведущего» сигнал начала параллельного участка, выполняет его и после окончания отсылает «ведущему» устройству сигнал конца выполнения параллельного участка.
Принцип действия МПУУ модуля распределенной вычислительной системы рассмотрим на примере алгоритма работы устройства (фиг. 5). Работа распределенной вычислительной системы начинается с реализации последовательного участка МП одним из модулей распределенной вычислительной системы. Формат микрокоманд при выполнении последовательного участка представлен форматом А (фиг. 4). Формат А имеет следующие поля: А, — адреса очередной микрокоманды, КЛУ вЂ” кода логических условий, МΠ— микроопераций, М, М, Мз— управляющих меток, равных нулю. При передаче управления другому модулю метки
М равна «1». Передача управления другому модулю происходит после реализации всей МП, хранимой в памяти модуля. Формат В является форматом микрокоманды, по которой производится передача управления. Поле А . определяет адрес микрокоманды, принадлежащей модулю, на который производится передача управления.
Поле N„ определяет номер модуля, на который производится передача управления.
Оператор 2 (фиг. 5) отображает выполнение последовательного участка программы.
Оператор 4 определяет выбор направления
1168936 выполнения алгоритма в зависимости от значения М . Оператор 6 определяет, есть ли параллельные участки программы для выполнения их другими модулями. Метка М равна «1» в микрокоманде формата С.
Микрокоманда формата С (фиг. 4) определяет начало параллельных участков и имеет следующие поля: Асл. — адрес начала параллельного участка, выполняемого в
Ф данном модуле; +nep.3.— А р ж-1 — адрес начала параллельного участка, выполняемого i-м модулем, метки М и Мз равны нулю.
Операторы 8, 9, 10, 14 и 15 определяют выполнение параллельного участка «ведущим» модулем. Операторы 11, 12 и 13 задают алгоритм выполнения параллельного участка «ведомым» модулем («ведущий» и
«ведомый» модули при этом работают параллельно). Сигналы окончания параллельных участков МП инициируются меткой М которая равна «1» в макрокомандах формата D.
«Ведущий» модуль, окончив выполнение своего параллельного участка, ожидает прихода сигналов, сигнализирующих об окончании выполнения параллельных участков
«ведомыми» модулями. После прихода сигналов об окончании параллельных участков
МП от всех «ведомых» модулей (оператор 15, фиг. 5) происходит продолжение выполнения последовательного участка. Если во время реализации последовательного участка программы происходит окончание программы (символ 3), то работа системы на этом заканчивается.
На фиг. 6 показан пример функционирования распределенной параллельной вычислительной системы, состоящей из четырех модулей. Работа распределенной вычислительной системы начинается с реализации последовательного участка программы МП модулем К, Модуль К инициирует параллельное выполнение участков, закрепленных за модулями К вЂ” К, причем модуль К работает в режиме «ведущего», а модули К вЂ”
К4 — в режиме «ведомых». По окончании выполнения всех параллельных участков модулями К вЂ” К модуль К продолжает выполнение последовательного участка и после его окончания передает управление модулю К, который в свою очередь инициирует параллельную работу модулей К вЂ” К и т.д. Работа системы завершается окончанием выполнения параллельного участка модулем К4.
На фиг. 7 показана временная диаграмма работы распределенной вычислительной системы, состоящей из четырех модулей. Рассмотрим работу устройства при выполнении им функций модуля К,.
В течение интервала времени Т устройство выполняет последовательный участок программы (блок 2, фиг. 5). Осуществляется проверка логических условий (бло5
55 ки 3, 4, 6, 7), и устройство переходит в режим вьполнения параллельного участка в качестве «ведущего» модуля (блоки 8 и 9 алгоритма). При этом устройство запускает модули К вЂ” К» для реализации параллельных участков программы. После завершения выполнения параллельных участков устройство переходит к реализации последовательного участка. По окончании интервала времени Т устройство передает управление модулю Кд. В течение интервалов времени Т, Т, и Т устройство работает в режиме
«ведомого» модуля. Анализ диаграммы позволяет определить выигрыш во времени по сравнению с вычислительной системой, которая построена на известных модулях и последовательно реализует параллельные участки программы.
Рассмотрим работу устройства.
Режим реализации последовательного участка МП.
В исходном состоянии все триггеры и регистры устройства находятся в нулевом состоянии. В блоке 1 записаны микрокоманды последовательных и параллельных участков МП. Работа устройства начинается с подачей сигнала пуска на вход 39 устройства и с приходом кода операции на вход 38 устройства. Сигнал пуска через элемент 16 поступает на единичный вход триггера !2 и устанавливает его в единичное состояние.
Единичный сигнал с единичного выхода триггера 12 поступает на вход генератора 15, который начинает формировать две последовательности синхроимпульсов . и, сдвинутых одна относительно другой. Код операции, поступающий на вход 38 устройства и задающий начальный адрес последовательного участка МП, поступает на вход 38 блока 2 и с приходом синхроимпульса Й, на управляющий вход блока 2 формирует исполнительный адрес микрокоманды, который с выхода блока 2 поступает на вход блока 1. Микрокоманда из блока 1 записывается в регистр 3 с приходом на вход регистра 3 синхроимпульса tz. В результате записи в регистр 3 из поля 4 регистра 3 на вход блока 2 поступает адрес следующей микрокоманды (Ас,„) и код логических условий (КЛУ). Сформированный исполнительный адрес очередной микрокоманды с приходом на вход блока 2 cHHxpoHMnvJlbcB CI с выхода блока 2 поступает на вход блока 1. Из поля 5 регистра 3 сигналы микроопераций поступают на вход блока 28, на другой вход которого поступает единичный сигнал, разрешающий прохождение сигналов микроопераций через блок 28. В результате на выход 43 устройства поступают сигналы микроопераций. Единичный сигнал на вход блока 28 поступает с выхода элемента
22, так как на входах элемента 22 присутствуют нулевые сигналы (поля 6 и 7 меток М1 и М> соответственно регистра 3
1168936
5
55 равны «О»). Сигналы микроопераций из поля 5 регистра 3 не влияют на работу дешифратора 11, так как на управляющий вход дешифратора 11 поступает нулевой сигнал, который запрещает работу дешифратора 11.
В результате на выходе дешифратора 11 отсутствуют управляющие сигналы, которые управляют прохождением сигналов из поля 5 регистра 3 через группу коммутаторов 35.1 — 35.N — 1.
Вторая микрокоманда считывается из блока 1 и записывается в регистр 3 по синхроимпульсу С . В дальнейшем работа устройства аналогична предыдущим тактам работы устройства. Формат микрокоманд в данном режиме представлен форматом А (фиг. 3) .
Рассмотрим следующий этап работы устройства в данном режиме — этап передачи управления на другой модуль распределенной параллельной вычислительной системы.
После окончания последовательного участка МП в регистр 3 записывается микрокоманда формата В (фиг. 4).
Единичный сигнал из поля 6 регистра 3, пройдя через элемент 22, запрещает прохождение информации через блок 28. Кроме того, единичный сигнал (метка М ), поступая на вход блока 2, запрещает прохождение кода Ane+ . Из поля 4 регистра 3 для формирования исполнительного адреса микрокоманды код Ап«», поступает на входы группы коммутаторов 35.1 — 35Л вЂ” 1 проходит через один из коммутаторов в зависимости от кода номера модуля Nay поступающего из поля 5 регистра 3 на вход дешифратора 11. Единичный сигнал из поля 6 регистра 3, пройдя через элемент 23 (на инверсный вход элемента 23 поступает нулевой сигнал из поля 7 регистра 3), поступает на вход одновибратора 31. Одновибратор 31 формирует управляющий сигнал, поступающий на вход дешифратора 11. Последний преобразует код N gp номера модуля, на который производится передача управления, и сигналом на одном из своих выходов выбирает коммутатор из группы коммутаторов 35.1 — 35.N — 1. В результате на один из выходов группы выходов 44 устройства передается начальный адрес последовательного участка МП, который выполняется следующим модулем распределенной вычислительной системы.
Единичный сигнал (метка М i), проходит через элемент 17 и, сформированный одновибратором 30, поступает на нулевой вход триггера 12, который устанавливается в нулевое состояние и тем самым выключает генератор 15. Данное устройство выключается и передает управление устройству микропрограммного управления другого модуля.
Рассмотрим работу устройства при приеме управления. Код адреса Ап р поступает на один из входов группы входов 40 устройства в зависимости от того, от какого устройства происходит передача информации. Код адреса А ер, пройдя через блок 21, поступает на вход блока 2 и на вход элемента 19, который формирует сигнал пуска данного устройства. Сигнал пуска, пройдя через элемент 16, поступает на единичный вход триггера 12 и переводит его в единичное состояние. Единичный сигнал с единичного выхода триггера 12 поступает на вход генератора 15 и включает его. Генератор 15 начинает формировать две последовательности синхроимпульсов Ф,и t,êoòoðûå поступают на вход блока 2 и регистра 3 соответственно. С приходом на вход блока 2 синхроимпульса, код адреса Ап<у. поступает на выход блока 2. Считанная из блока 1 по данному адресу микрокоманда записывается в регистр 3 по синхроимпульсу, В дальнейшем работа устройства ничем не отличается от работы устройства на рассмотренных этапах в данном режиме функционирования. Выключение устройства происходит сигналом микрооперации конца работы, поступающим с выхода блока 28. Сигнал
«Конец работы», прошедший через элемент
17 и сформированный одновибратором 30, переводит триггер 12 в нулевое состояние.
В результате генератор 15 выключается.
Таким образом, в данном режиме функционирования устройства можно выделить три этапа работы: выполнение последовательного участка (формат микрокоманд А, метки М, М,, Мз равны «0»); передача управления другому модулю распределенной вычислительной системы (формат микрокоманд В, метка М равна «1»); прием управления и выполнение последовательного участка МП.
Режим реализации параллельного участка МП.
В данный режим работы устройство переходит из режима реализации последовательного участка, если оно работает в режиме
«ведущего», и при передаче управления от устройства, работающего в режиме «ведущего», на данное устройство, работающее в качестве «ведомого».
Рассмотрим работу устройства в режиме
«ведущего». В регистр 3 (фиг. !) записывается микрокоманда формата С (фиг. 4).
Единичный сигнал (метка М )„с поля 7 регистра 3 (фиг. 1), пройдя через элемент 22 и поступая на блок 28, запрещает прохождение информации из поля 5 регистра 3 на выход 43 устройства. Коды адресов А с.—
A„ N — 1 из поля 5 регистра 3 поступают на входы коммутаторов 35.1 — 35.N — 1 и элементы 20.1 — 20.N — 1 соответственно.
Единичный сигнал из поля 7 регистра 3 поступает на единичный вход триггера 13 и переводит его в единичное состояние. Кроме того, этот же сигнал, пройдя через элемент 23 и поступая на вход одновибрато1168936
12 ра 32, формируется и проходит на входы синхронизации регистра 10, а также на управляющие входы коммутаторов 35.1 — 35.N — 1.
В результате сигналы с выходов элементов 20.1 — 20.N — 1 о начале параллельных участков через коммутаторы 35.1 — 35.N — 1 поступают на выходы 45.1 и 45Л вЂ” 1 соответственно. Кроме того, эти же сигналы записываются в регистр 10, переводя соответствующие триггеры регистра 10 в единичное состояние.
Управляющий сигнал с выхода одновибратора 32 разрешает прохождение кода адреса А„«, через коммутатор 35.i на выход
44.i адреса устройства. Таким образом, с записью в регистр 3 микрокоманды формата С происходит: считывание кода адреса А„. из регистра 3 и формирование блоком 2 исполнительного (начального) адреса параллельного участка МП; выдача адресов А «1. — А„,». м-р параллельных участков модулями распределенной вычислительной системы, а также сигналов начала параллельных участков на группу выходов 44
20 устройства; запись сигналов начала параллельных участков в регистр 10.
В последующем выполнение параллельного участка «ведущим» устройством ничем не отличается от работы устройства в режиме выполнения последовательного участка МП.
В момент окончания параллельного участка «ведущим» модулем в регистр 3 записывается микрокоманда формата D (фиг. 4).
Единичный сигнал из поля 8 регистра 3, пройдя через элемент 17, одновибратор 30, поступает на нулевой вход триггера 12 и переводит его в нулевое состояние. Нулевой сигнал с единичного выхода триггера 12 выключает генератор 15. З5
Единичный сигнал (метка М5) из поля 8 регистра 3, поступая на нулевой вход триггера 14, подтверждает его исходное (нулевое) состояние, а также поступает на вход элемента 25. По мере окончания парал- 40 лельных участков МП «ведомыми» модулями распределенной вычислительной системы на группу входов 40 устройства «ведущего» модуля поступают сигналы окончания параллельных участков МП, которые с входов
42.1 — 42.N — 1 поступают на нулевые входы
45 первого — (N — 1) -го триггера регистра 10 соответственно. Триггеры регистра 10 переводятся в нулевые состояния. В результате с выходов регистра 10 на входы элемента
25 поступают единичные сигналы. После окончания всех параллельных участков МП на выходе элемента 25 сформируется единичный сигнал, который пройдя через элемент И 27, одновибратор 34, элемент 16, переводит триггер 12 в единичное состояние.
Единичный сигнал с выхода триггера 12 55 включает генератор 15, а с выхода поля 4 регистра 3 адрес очередной микрокоманды
Ас». поступает на вход блока 2 (микрокоманда формата D). С приходом на вход блока 2 синхроимпульса исполнительный адрес очередной микрокоманды с выхода блока 2 поступает на вход блока 1. Таким образом, устройство переходит в режим реализации последовательного участка.
Рассмотрим работу устройства в режиме
«ведомого». В исходном состоянии все триггеры и регистры находятся в нулевом состоянии. Адрес параллельного участка А„, ., поступает на входы 40 адреса устройства. Этот код, пройдя через блок 21, поступает на блок 2, адрес А><р, одновременно поступает на вход элемента 19. Единичный сигнал с выхода элемента 19, пройдя через элемент
16, переводит триггер 12 в единичное состояние. Генератор 15 начинает формировать последовательности синхроимпульсов, и<д.
С приходом на вход блока 2 синхроимпульса на выходе блока 2 сформируется исполнительный (начальный) адрес параллельного участка МП. В последующем работа устройства не отличается от режима реализации последовательного участка МП. Одновременно с приходом А р1 на один из входов группы входов 40 адреса устройства на вход 41.i поступает сигнал начала параллельного участка МП, который, пройдя через элемент 18, переводит триггер 12 в единичное состояние. Этот же сигнал поступает на единичный вход одного из триггеров регистра 9. По окончанию параллельного участка
МП в регистре 3 записывается микрокоманда формата D. В данном случае поле А микрокоманды формата D обнулено. Единичный сигнал (метка М5), пройдя через элемент 17, одновибратор 30, поступает на нулевой вход триггера 12 и выключает генератор 15. Кроме того, этот же сигнал, поступая на нулевой вход триггера 14, переводит последний в нулевое состояние. Единичный сигнал с нулевого выхода триггера 14, пройдя через элемент 26, одновибратор 33, поступает на входы блока 29. Сигнал конца параллельного участка МП формируется на выходе того элемента блока 29, вход которого подключен к триггеру регистра 9, находящемуся в единичном состоянии. Сигнал конца параллельного участка МП с выхода блока 29 поступает на выход 46.i и далее с i-го выхода группы выходов 44 устройства передается «ведущему» модулю. Единичный сигнал с выхода одновибратора 33, пройдя элемент 36 и поступая на нулевые входы триггеров регистра 9, обнуляет триггер, находящийся в единичном состоянии.
Устройство готово к приему управл ния для реализации других последовательных или параллельных участков. На этом работа устройства в режиме «ведомого» заканчивается.
Оценим технико-экономическую эффективность микропрограммного устройства управления модуля распределенной вычислительной системы по отношению к базовому
1168936
14
13 объекту, в качестве которого может быть выбрано микропрограммное устройство управления ЭВМ ЕС-1035.
Общее время работы распределенной параллельной вычислительной системы, построенной на модулях с использованием изобретения, можно оценить выражением: к
T, = TD„ + . (me x IT; > )},,1е,с; где T» — время реализации всех последовательных участков, выполняемых в системе;
1; — количество параллельных участков в i-м фрагменте программы;
К вЂ” количество фрагментов программы распределенной вычислительной системы, содержащих параллельные участки.
Время работы базового объекта оценивается формулой кЕ;
Tg = T o + Е.ЕТ ., 3=a j=s где Т„„ — время реализации участков программы, которые могут выполняться только в форме последовательной обработки;
T;> — время реализации j-ro параллельного участка в i-м фрагменте программы.
Тогда абсолютный выигрыш в быстродействии системы, построенный с использованием предлагаемого устройства, по сравнению с системой, использующей базовый объект, 5 оценивается во формуле: к
ЛТ = Z ZT;> — 2 тах (Тц )}. =1 J=1 ) i f 3616.
Относительный выигрыш в быстродействии определяется по формуле
10 ПО<.Й.,=,;=, i j
+zzò"
Тпосд. + .—; j +х(Тц ) j
i=i 3È,
ПриК =4, Т, = 50 нс, Т вЂ” — 20 нс, Т =
15 = 35 нс, Т1р = 30 нс, Tqq = 20 нс, Т = 50 нс, Т = 50 нс, Т,= 28 нс, Tqq — — 20 нс, Tg3
= 35 нс, Т4 = 50 нс, Т = 50 нс, Т = 20 нс, Тз —— 28 нс, Т = 20 нс, Т = 50 нс, Тт =
=50 нс, Т4 =20 нс, Тр =20 нс, Т =
= 30 нс, Тв = 50 нс, йТ = 198 нс, бТ = 1,39.
Следовательно, использование предлагаемого устройства позволяет на 39% повысить производительность рас