Микропрограммное устройство управления

 

Изобретение относится к цифровой вычислительной технике и может быть использовано при построении микропрограммных устройств управления распределенных цифровых систем, проектируемых на однотипных БИС и реализующих параллельные алгоритмы обработки информации. Цель изобретения - расширение области применения устройства за счет реализации любой дисциплины запуска и ожидания завершения параллельных участков микропрограммы. Для этого устройство содержит блок постоянной памяти, блок формирования адреса микрокоманд , регистр адреса следующей микрокоманды , регистр микроопераций, регистр формата микрокоманды, регистр начала микропрограмм , регистр состояния параллельных участков, триггер управления, генератор импульсов, элемент ИЛИ, блок элементов ИЛИ, первый и второй элементы И, первый и второй блоки элементов И, группу элементов И, одновибратор, первый и третий элементы задержки, 1 з.п. ф-лы, 6 ил. СП

СОЮЗ СОВЕТСКИХ

СОЦИАЛИСТИЧЕСКИХ

РЕСПУБЛИК (Я)5 G 06 F 9/22

ГОСУДАРСТВЕННЫЙ КОМИТЕТ

ПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМ

ПРИ ГКНТ СССР

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (21) 4699062/24 (22) 18.04.89 (46) 07.05.91. Бюл. йв 17 (71) Кишиневский научно-исследовательский институт "Квант" (72) А.А. Гремальский (53) 681.32(088.8) (56) Авторское свидетельство СССР

М 596947, кл. G 06 F 9/22„1976.

Авторское свидетельство СССР

N 959080, кл. G 06 F 9/22, 1980.

Авторское свидетельство СССР

К 1168936. кл. G 06 F 9/22, 1983. (54) МИКРОПРОГРАММНОЕ УСТРОЙСТВО

УПРАВЛЕНИЯ (57) Изобретение относится к цифровой вычислительной технике и может быть использовано при построении микропрограммных устройств управления распределенных

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

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

На фиг. 1 и 2 дана функциональная схема микропрограммного устройства управления; на фиг. 3- функциональная схема блока формирования адреса микрокоманд; на фиг.

4 — форматы микрокоманд устройства; на фиг. 5- алгоритм работы устройства; на фиг.

„„Я „„1647566 А1 цифровых систем, проектируемых на однотипных БИС и реализующих параллельные алгоритмы обработки информации. Цель изобретения — расширение области применения устройства за счет реализации любой дисциплины запуска и ожидания завершения параллельных участков микропрограммы. Для этого устройство содержит блок постоянной памяти. блок формирования адреса микрокоманд, регистр адреса следующей микрокоманды,. регистр микроопераций, регистр формата микрокоманды, регистр начала микропрограмм, регистр состояния параллельных участков, триггер управления, генератор импульсов, элемент ИЛИ, блок элементов

ИЛИ, первый и второй элементы И, первый и второй блоки элементов И, группу элементов

И, одновибратор, первый и третий элементы задержки, 1 з.п. ф-лы, 6 ил.

6 — пример функционирования распределенной вычислительной системы.

Микропрограммное устройство управления (фиг, 1 и 2) содержит блок 1 постоянной памяти с выходами 2-4 адреса следующей микрокоманды, микроопераций, формата микрокоманды соответственно, блок 5 формирования адреса микрокоманд, регистр 6 адреса следующей микрокоманды, регистр 7 микроопераций, выход 8 микрооперации "Конец работы", регистр 9 формата микрокоманды с выходами

10 и 11 метки М1 опроса состояния параллельных участков и метки Mz запуска параллельных участков соответственно, регистр l2 начала микропрограммы, регистр 13 состояния параллельных участков, триггер 14 управления, генератор 15 тактовых импуль1647566

25 ф =V x $, j = 3

30 манды;

45 сов, элемент ИЛИ 16, блок 17 элементов

ИЛИ, первый элемент И 18, второй элемент

И 19, первый блок 20 элементов И, второй блок 21 элементов И, группу из(N-1) элементов И 22.1-22. N-1, одновибратор 23, ïåðвый элемент 24 задержки, второй элемент

25 задержки, третий элемент 26 задержки, вход 27 логических условий, вход 28 кода операций, группу 29 входов адреса, первый — (N-1)-й входы 30,1-30.N-1 меток начала параллельных участков соответственно, первый — (N-1)-й Входы 31,1 — 31.N-1 меток конца параллельных участков соответственно, вход 32 пуска, выход 33 микроопераций устройства, группу 34 выходов адреса, первый — (N-1)-й выходы 35.1-35,N-1 меток начала параллельных участков соответственно, первый — (N-1)-й выходы

36.1-36.Ы-1 меток конца параллельных участковв соответственно.

Блок 5 формирования адреса микрокоманд (фиг. 3) содержит первый мультиплексор 37, второй мультиплексор 38, коммутатор 39 адреса, коммутатор 40 условий, первый элемент И 41, второй элемент

И 42, элемент 43 задержки, элемент ИЛИ 44 и счетчик 45 адреса.

Блок 1 постоянной памяти предназначен для хранения микрокоманд, входящих в состав микропрограмм. Различают следующие форматы микрокоманд(фиг. 4): формат А — для выдачи сигналов микроопераций, проверки логический условий либо опроса состояний параллельних участков; формат  — для запуска параллельных участков микропрограмм.

Микрокоманда формата А имеет следующие поля;

Асл — адреса очередной микрокаманды;

КΠ— кода опроса;

МΠ— микроопераций;

М>, М вЂ” управляющих меток, Для формата А М2= О.

Полям Ас, КО соответствует Выход 2 адреса следующей микрокоманды блока 1, полю МО соответствует выход 3 микроопераций, а полям Mi и Мр — выход 4 формата микрокоманд.

Микрокоманда формата В содержит следующие поля:

Асл — адреса очередной микрокоманды;

КΠ— кода опроса;

Zi — метки запуска параллельного участка в i-ом модуле, i = 1,...,М-1:

Ai — начальный адрес параллельного участка в блоке 1 постоянной памяти i-ого модуля, Дпя формата в М2 = 1.

Полям Асп, КО соответствует выход 2 адреса следующей микрокоманды блока 1, полям Zi, А1, ..., Zq-1, Ам-1 — выход 3 микроопераций, а полям М1 и М2 — выход 4 формата микрокоманд.

Блок 5 (фиг. 3) формирования адреса микрокоманд предназначен для формироьания исполнительного адреса очередной микрокоманды и адреса микрокоманды при передаче управления на данное МПУУ. Исполнительный адрес формируется в зависимости от значения кодов логических условий, поступающих по входу 27 устройства, либо состояния (завершены/незавершены) опрашиваемых параллельных участков.

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

Выбср значения логического условия происходит в зависимости от кода опроса КО микрокоманды, поступающего на другой вход мультиплексора 37. Последний реализует следующую логическую функцию:

roe х; — значение)-го логического условия на входе 27 устройства;

Lj- значение j-ro разряда КО микрокои —, разрядность кода логических условий, поступающих на вход nepadro мультиплексора 37. Очевидно, выходное значение

) мультиплексора 37 равно "1", если хотя бы одно из проверяемых логических условий истинно.

Второй мультиплексор 38 предназначен для опроса состояния (завершены/незавершен) параллельных участков, указанных в ходе опроса КО микрокоманды.

КО поступает на один из Входов второго мультиплексора 38 с выхода регистра 6 адреса следующей микрокоманды.

Мультиплексор 38 реализует следующую функцию где у1 — значения j-ro разряда регистра 13 состояния параллельных участков; р - значение j-ro разряда КО микрокоманды.

Выходное значение ф мупьтиглексора

38 равно "1", если хотя бы один из опраши1647566 ваемых параллельных участков незавершен, т.е. yi = 1.

Коммутатор 39 адреса предназначен для передачи на информационный вход счетчика 45 начального адреса микропрограммы или параллельного участка, Если сигнал пуска, поступающий на вход блока 5 с выхода элемента ИЛИ 16, равен "14", на выход коммутатора 39 адреса передается адрес с выхода блока 17 элементов ИЛИ. В противном случае на выход коммутатора 39 передается адрес Асл микрокоманды, поступающий с выхода регистра 6 адреса следующей микрокоманды.

Коммутатор 40 условий предназначен для передачи на вход элементов И 41 и 42 результата анализа логических условий либо результата опроса состояния параллельных участков. Если значение метки М1 равно "1", на выход коммутатора 40 с выхода мультиплексора 38 передается инверсное значение результата опроса состояния параллельных участков.

Элементы И 41 и 42 предназначены для формирования управляющих сигналов "+1" и "Прием" счетчика 45 адреса. Управляющие сигналы формируются в момент прихода тактового импульса т.- в зависимости от значения метки М1, полей А д и К0 соответствующих микрокоманд. Если выход коммутатора 40 условий установлен в "0", формируется управляющий сигнал "Прием". В противном случае формируется управляющий сигнал "+1".

Элемент 43 задержки предназначен для устранения состязаний на входах счетчика

45 адреса. Длительность задержки элемента 43 выбирается исходя из задержки коммутатора 39 адреса, Элемент ИЛИ 44 предназначен для объ.единения управляющих сигналов, поступающих с входа пуска блока 5 и выхода элемента И 42.

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

Регистр 6 адреса предназначен для хранения полей Ас и КО, поступающих с выхода 2 адреса блока 1 постоянной памяти, 5

Регистр 7 микроопераций необходим для хранения поля МО, поступающего с выхода 3 блока 1 постоянной памяти.

Регистр 9 формата микрокоманды предназначен для хранения меток М> и /Viz, поступающих с выхода 4 блока 1 постоянной памяти.

Регистр 12 начала микропрограмм служит для хранения метки начала параллельного участка, поступающей по одному иэ входов 30.1-3ОМ-1.

Регистр 13 состояния параллельных участков служит для отображения состояния всех параллельных участков, запускаемых МПУУ. Если l-ый разряд регистра установлен в "1", l-ый параллельный участок незавершен. В противном случае соответствующий участок завершен.

Разряд l устанавливается в "1" сигналом с выхода элемента И 22л при запуске

MflYY соответствующего параллельного участка и сбрасывается в "0" при поступлении на вход 31.i метки конца соответствующего параллельного участка.

Триггер 14 управления служит для запуска и останова МПУУ, Генератор 15 импульсов формирует на своих выходах две последовательности сдвинутых одна относительно другой синхроимпульсов г1 и тг . Генератор вырабатывает импульсы только при наличии на его управляющем входе сигнала "1".

Элемент ИЛИ 16 предназначен для формирования сигнала запуска устройства. Запуск устройства выполняется либо от сигнала "Пуск", поступающего с входа 32, либо от одной иэ меток начала параллельного участка, поступающей по входам 30,130 N-1.

Блок 17 элементов ИЛИ предназначен для формирования начального адреса микропрограммы либо параллельного участка.

Начальный адрес микропрограммы поступает с входа 28, а начальные адреса параллельных участков — с входов группы 29.

Элемент И 18 предназначен для формирования сигнала "Прием" в регистр 7 микроопераций. Сигнал "Прием" формируется при условии, что метка M2 = 0 при поступлении задержанного тактового импульса т1 .

Элемент И 19 предназначен для формирования сигнала "Сброс" регистра 7 микрооперации и сигнала разрешения выдачи полей 2, А1, 22. 42, ..., 2м-1, Аи-1 на группу 34 выходов устройства. Сигнал на выходе элемента И 19 формируется при условии, что метка М = 1 при поступлении задержанного тактового импульса т1 .

1647566

Первый блок 20 элементов И предназначен для выдачи полей 21, А1, 22, A2, ..., ZN-q

Ам-1 íà rpynny 34 выходов устройства.

Второй блок 21 элементов И предназначен для формирования метки конца параллельного участка, выполняемого МПУУ. При завершении работы МПУУ на выходе 1-ro элемента И блока 21 появляется импульс, если 1-ый разряд регистра 12 начала микропрограммы установлен в "1". Сигнал с выхода I-го элемента блока 21 поступает на выход 36Л конца параллельного участка.

Группа элементов И 22.1-22.Й-1 предназначена для формирования меток начала параллельных участков, поступающих на выходы 35.1-35.N — 1 МПУУ. Соответствующая метка (импульс) формируется на выходе элемента И 22Л при поступлении задержанного тактового импульса tt при условии, что поле Zt микрокоманды формата В уста-»20 новлено в "1".

Одновибратор 23 предназначен для формирования одиночного импульса. Импульс вырабатывается при поступлении "1" с выхода 8 микрооперации "Конец работы".

Первый элемент 24 задержки предназначен для задержки сигнала сброса регистра 12 начала микропрограммы на время формирования во втором блоке 21 элементов И меток конца параллельных участков.

Длительность задержки элемента 24 определяется исходя из требуемой длительности соответствующих меток (импульсов).

Второй элемент 25 задержки предназначен для исключения состязаний по входам элементов И 18 и t9. Длительность задержки элемента 25 выбирается исходя из задержки регистра 9 формата микрокоманды.

Третий элемент 26 задержки предназначен для исключения состязаний по входам элементов И 22.1 — 22.N-1.

Длительность элемента 26 выбирается исходя из суммы задержек второго элемента

И 19 и первого блока 20 элементов И.

Устройство работает следующим образом.

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

Работа устройства при выполнении первого последовательного участка микропрограммы начинается с подачи на вход 28 кода операций и с приходом на вход 32 сигнала пуска.При этом код операций Апускв.

55 представляющий собой адрес начальной микрокоманды в блоке 1 памяти. с выхода блока 17 элементов ИЛИ поступает на второй информационный вход коммутатора

39 адреса (фиг. 3). Сигнал пуска через элемент ИЛИ 16 поступает на счетный вход триггера 14 управления, управляющий входкоммутатора 39 адреса и вход элемента 43 задержки. Поскольку триггер 14 управления срабатывает по заднему фронту сигнала на его счетном входе, его содержимое остается без изменений. Коммутатор 39 адреса переключается на передачу адреса Апуска с Выхода блока t7 элементов ИЛИ на информационный вход счетчика 45 адреса.

Сигнал пуска, будучи задержанный в элементе задержки, через элемент ИЛИ 44 поступает на вход "Прием" счетчика 45, в котором по переднему фронту сигнала записывается значение Асц = Anycxa {блок 46 алгоритма, фиг, 5). Адрес А пусха с выхода счетчика 45 адреса поступает на вход блока

1 памяти и на его выходах появляются соответствующие поля первой микрокоманды, По заднему фронту сигнала с выхода элемента ИЛИ 16 триггер 14 управления переключается, на его выходе появляется значение "1", которое запускает генератор

15 импульсов, Первый импульс г1 с выхода генератора 15 поступает на синхровходы регистров 6 и 9, фиксируя в них соответству- . ющие поля микрокоманды. На этом процесс выборки микрокоманды завершен (блок 47 алгоритма, фиг. 5). Далее работа устройства определяется содержимым полей выбранной микрокоманды.

Работа устройства при выполнении параллельного участка микропрограммы начинается с подачей на некотором i-ом входе группы 29 входов устройства адреса Апуска начальной микрокоманды параллельного участка и с приходом на соответствующий вход 30,i ме-ки начала параллельного участка. Адрес Апуска с выхода блока 17 элементов

ИЛИ поступает на блок 5 формирования адреса. Метка начала параллельного участка с входа 30Л поступает на вход установки l-го триггера регистра 12 начала микропрограммы и устанавливает соответствующий триггер в "1".

Одновременно метка начала параллельного участка с выхода элемента ИЛИ 16 поступает на блок 5 формирования адреса и счетный вход триггера 14 управления. При этом аналогично описанному содержимое счетчика 45 адреса становится равным A„„=А пуще и выполняется выборка первой микрокоманды параллельного участка, соответ1647566

55 ствующие поля которой фиксируются в регистрах 6 и 9 (блоки 46 и 47 алгоритма, фиг.

5), Далее работа устройства не зависит от способа его запуска и полностью определяется выбранной микрокомандой.

Возможны следующие случаи.

Случай 1, Из блока 1 постоянной памяти выбрана микрокоманда формата А, При этом в регистре 6 адреса следующей микрокоманды содержатся поля А<л и КО, а в регистре 9 формата — метки М1 и Мг. Для формата А метка М2 = О. Значение "0" с выхода 11 регистра 9 поступает на элементы

И 18 и 19. При этом импульс т1 с выхода генератора 15 импульсов, задержанный в элементе 25 на время записи в регистр 9, через элемент И 18 поступает на синхровход регистра 7 микроопераций. В регистре

7 (с выхода 3 микроопераций блока 1 памяти) фиксируются микрооперации выбранной микрокоманды, которые поступают на выход 33 устройства (блоки 48 и 49 алгоритма, фиг. 5).

Если в рассматриваемой микрокоманде операция "Конец работы" отсутствует, значение сигнала на выходе 8 остается нулевым, триггер 14 управления не изменяет своего состояния и генератор 15 продолжает выработку тактовых импульсов. Тактовый импульс tz поступает на синхровход блока 5 формирования адреса, который в зависимости от полей Асл, KO и М1 вырабатывает на своем выходе исполнительный адрес следующей микрокоманды (работа блока 5 рассматривается ниже).

Исполнительный адрес с выхода блока

5 запускает процесс чтения из блока 1 памяти; очередной импульс г1 вновь фиксирует в регистрах 6 и 9 соответствующие поля выбранной микрокоманды и т.д. Если же в рассматриваемой микрокоманде присутствчет операция "Конец работы", значение

"I" с выхода 8 поступает на вход одновибратора 23, Одиночный импульс с выхода последнего сбрасывает триггер 14 управления в "0", который прекращает работу генератора 15. Одновременно этот же импульс поступает на входы элементов И второго блока

21. Если i-ый разряд регистра 12 начала микропрограммы установлен в "1", одиночный импульс через соответствующий элемент И блока 21 поступает на выход 36л метки конца параллельных участков (блоки

50-52 алгоритма. фиг. 5). Будучи задержанным на элементе 24 задержки этот же импульс сбрасывает регистр 12, На этом работа МПУУ завершена.

Случай 2. Из блока 1 постоянной памяти выбрана микрокоманда формата В. Для формата В метка Мг = 1. Значение "1" с выхода 11 регистра 9 формата поступает на элементы И 18 и 19, При этом импульс т1 с выхода генератора 15, задержанный на элементе 25 на время записи в регистре 9, с выхода элемента И 19 поступает на вход сброса регистра микроопераций и первый блок 20 элементов И. Регистр 7 мик роопераций сбрасывается в ноль, т.е. микрокоманда формата В не выдает никаких микроопераций. Одновременно поля А1„.„

Аи-1 с выхода 3 блока 1 памяти поступают на соответствующие выходы группы 34 адреса, а поле Z<, ..., ZN-t — на первые входы элементов И 22.1 — 22.N-I группы соответственно. На вторые элементы 22,1 — 22,N I поступает импульс г1, задержанный на элементе 26 задержки на время переключения первого блока 20 элементов И. Если поле Zi, i = 1, ..., N-1 рассматриваемой микрокоманды содержит значение "1", тактовый импульс т1 через соответствующий элемент И 22.1 поступает на вход 35.I метки начала параллельного участка и на вход установки i-го триггера регистра 13 состояния параллельных участков. При этом соответствующий триггер устанавливается в "1", указывая на то, что в i-oM идентичном устройстве микропрограммного управления запущен параллельный участок (блоки 48 и

53 алгоритма, фиг. 5), Одновременно метка начала параллельного участка с выхода 35.i, поступая на вход

30л идентичного микропрограммного устройства управления, запускает, начиная с адреса А, соответствующий паоаллельный участок микропрограммы.

С приходом импульса тг блок 5 формирования адреса вырабатывает на своем выходе исполнительный адрес; вновь выполняется выборка микрокоманды и т.д.

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

Идентичные микропрограммные устройства, завершая выполнение параллельных участков, вырабатывают метки конца, которые, поступая по входам 30,1 — 30,N-I на предлагаемое устройство, сбрасывают по мере завершения работы соответствующие триггеры регистра 13 в "0". Тем самым регистр 13 отображает текущее состояние (завершен/незавершен) каждого

1647566

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

Блок 5 формирования адреса микрокоманд(фиг, 3) работает следующим образом.

Поле А > с выхода регистра 6 поступает на первый информационный вход коммутатора 39 адреса, а поле KG — на первые входы мультиплексоров 37 и 38, На выходе первого мультиплексора 37 появляется значение

"1", если хотя бы одно из опрашиваемых кодом опроса логических условий, поступающих с входа 27, истинно, и "0" — в противном случае. На выходе второго мультиплексора 38 появляется значение

"1", если хотя бы один иэ разрядов регистра

13 состояния параллельных участков, опрашиваемых кодом опроса, установлен в "1", (паралпельный участок не завершен), и "0"— в противном случае (все опрашиваемь|е участки завершен ы).

Если M> = 0 и опрашиваемые логические условия ложны, выход коммутатора 40 равен "0" и тактовый импульс 72 с второго выхода генератора 15 через элемент И 42 и элемент ИЛИ 44 поступает на вход "flPMЕМ" счетчика 45 адреса. В счетчике фиксируется адрес Асч = Асл, т.е. осуществляется переход к микрокоманде с адресом Асл (блоки 54-56 алгоритма, фиг. 5).

Если M> - 0 и хотя бы одно из опрашиваемых логических условий истинно, выход коммутатора 40 равен "1" и тактовый импульс т2 с второго выхода генератора 15 через элемент И 41 поступает на вход "+1" счетчика 45 адреса. В счетчике формируется адрес Асч = А л + 1, т.е. осуществляется переход к следующей по порядку микрокоманде (блоки 54, 55 и 57 алгоритма, фиг. 5).

Если М = 1 и хотя бы один из опрашиваемых параллельных участков не завершен (соответствующий триггер регистра 13 установлен в "1"), выход коммутатора 40 равен

"О" и тактовый импульс r2 через элементы

И 42 и ИЛИ 44 поступает на вход "Прием" счетчика 45, фиксируя а нем адреса Асч = Añ fã, (блоки 54, 58 и 56 алгоритма, фиг. 5).

Если М 1 и все опрашиваемые параллельные участки завершены (соответствующие триггеры регистра 13 установлены в

"0"), выход коммутатора 40 установлен в "1" и тактовый импульс через элемент И 4! поступает на вход "+1" счетчика 45. В счетчике

45 формируется адрес A« = Асл+ 1 (блоки 54, 58 и 57 алгоритма, фиг. 5).

Таким образом, метка М1 микрокоманды управляет выбором источника анализируемой при формировании исполнительного ад

50 реса информации — логический условия с входа 27 устройства (М1 = О) либо состояния параллельных участков с выхода регистра

13 (М1 = 1).

При необходимости безусловной передачи управления поле кода опроса KO содержит нули, а значение метки М безразлично. При этом выходы мультиплексоров 37 и 38 равны нулю, выход коммутатора 40 равен "1" и тактовый импульс с т2 через элементы И 42 и ИЛИ 44 всегда поступает на вход "Прием" счетчика 45, В счетчике 45 фиксируется адрес безусловного перехода А« = Асл.

Исполнительный адрес с выхода блока

5 формирования адреса поступает на вход блока 1 постоянной памяти и запускает процесс выборки следующей микрокоманды, соответствующие полл которой по импульсу т1 вновь зафиксированы в регистрах 6 и 9 и т,д.

На фиг, 6 показан пример функционирования распределенной параллельной вычислительной системы, состоящей из четырех модулей. Работа распределенной вычислительной системы начинается с реализации последовательного участка микропрограммы модулем К;. Модуль К1 запускается соответствующими сигналами по входам 28 и 32. Модуль К с помощью микрокоманды формата В инициирует параллельное выполнение участков, закрепленных за модулями К2 и Кз. При этом модули К2 и Кз запускаются по входам группы 29 адреса. Модуль К> продолжает выполнение своей программы и после ее завершения опрашивает состояние параллельных участков в модулях К2 и Кз.

Опрос состояния параллельных участков выполняется с помощью микрокоманды, в котором M> = 1, а в поле KQ а "1" установлены только разряды, соответствующие модулям К2 и Кз, Модуль К2 запускает параллельный участок в модуле К4. Сам модуль К2 выпОлняет свой параллельный участок и после его завершения запрашивает завершение работы модуля Кд. После завершения работы модуля Кд модуль К2 выдает модулю К1 метку о завершении выполнения параллельного участка, Получив метки завершения от модулей

К2 и К, модуль К1с помощью микрокоманды формата В запускает последовательный участок в модуле К . Модуль К запускает параллельные участки в модулях К1, К2, Кз и продолжает выполнение своего участка микропрограммы. По завершению своего участка модуль К опрашивает состояние

1647566

10

35

55 модуля К> и при необходимости ожидает завершение его работы. Опрос состояния параллельного участка в модуле К> выполняется с помощью микрокоманды, в котором

М1 = 1, а в поле КО в "1" установлен только разряд, соответствующий модулю К1. После завершения работы модуля К1 модуль К4 вновь выполняет свой участок микропрограммы, а после его завершения ожидает окончание работы ранее запущенных модулей К2 и Кз. Опрос состояния параллельных участков в модулях К2 и Кз выполняется аналогично ранее описанному. Получив от модулей Kz и Кз соответствующие метки конца выполнения, модуль К4 выполняет последовательный участок микропрограммы и завершает свою работу.

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

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

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

ИЛИ является входом кода операций устройства,i-ый вход метки начала параллельных участков устройства соединен с (+1)-входом элемента ИЛИ, выход которого соединен с втврым управляющим входом блока формирования адреса микрокоманд и счетным входом триггера управления, выход "Конец работы" регистра микроопераций через одновибратор соединен с входом первого элемента задержки и вторым входом второго блока элементов И, первый выход генератора тактовых импульсов соединен с входами синхронизации регистра адреса следующей микрокоманды, регистра формата микрокоманды и входом второго элемента задержки, выход которого соединен с вторыми входами nepsoro и второго элемента И и входом третьего элемента задержки, выход которого соединен с вторыми входами элементов И группы элементов И, второй выход генератора тактовых

1647566

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

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

1О микрокоманд, первый вход первого и прямой вход второго элементов И соединены между собой и образуют вход синхронизации блока формирования адреса микрокоманд, выход первого мультиплексора

15 соединен с прямым информационным входом коммутатора условий, выход которого соединен с вторым входом первого элемента И и инверсным входом второго элемента

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

30 соединен с информационным входом счетчика адреса.

1647566

1647566 Роржот В емом И 1о пвер v

OPIOOEO$670P k4 легар И еа 2l

Составитель Ю.Ланцов

Редактор М,Стрельникова Техред М.Моргентал Корректор И.Муска

Заказ 1649 Тираж 409 Подписное

ВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР

113035, Москва, Ж 35, Раушская наб., 4/5

Производственно-издательский комбинат "Патент", r. Ужгород, ул. Гагарина; 101

Микропрограммное устройство управления Микропрограммное устройство управления Микропрограммное устройство управления Микропрограммное устройство управления Микропрограммное устройство управления Микропрограммное устройство управления Микропрограммное устройство управления Микропрограммное устройство управления Микропрограммное устройство управления Микропрограммное устройство управления 

 

Похожие патенты:

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

Изобретение относится к вычислительной технике

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

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

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

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

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

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

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

Изобретение относится к автоматике и вычислительной технике

Изобретение относится к автоматике и вычислительной технике

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

Изобретение относится к автоматике и вычислительной технике и может быть использовано при построении распределенных систем программного управления, а также подсистем логического управления многоуровневых АСУ

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

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

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

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

Изобретение относится к автоматике и вычислительной технике, предназначено для выполнения требуемых функций программного управления с автоматическим перезапуском при «зависании» прикладной программы и автоматическим переходом в режим сохранения оперативной информации с помощью резервного источника напряжения питания при отключении или аварии основного источника напряжения питания и может быть использовано, например, в качестве ядра микроконтроллерной или микропроцессорной системы (М-системы) обработки информации и управления в реальном времени с поддержкой режима аппаратного сторожевого таймера для перезапуска при «зависании» прикладной программы М-системы, проектируемой с учетом следующих основных принципов [1]: программного управления, магистрального обмена информацией, модульного построения и наращивания вычислительной мощности
Наверх