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

 

МНОГОКАНАЛЬНОЕ МИКРОПРОГРА/ПМНОЕ УСТРОЙСТВО УПРАВЛЕНИЯ , содержащее блок памяти микропрограмм , блок памяти линейных последовательностей , блок модификации адреса, регистр микрокоманд, регистр состояния, счетчики адреса и микрокоманд, триггер пуска, генератор тактовых импульсов, первый , второй, третий, четвертый и пятый блоки элементов И, первый и второй элементы И, элемент ИЛИ, причем группа выходов первого блока элементов И соединена с группой нулевых входов регистра состояния, первый выход генератора тактовых импульсов срединен с первым входом первого элемента И, второй выход генератора тактовых импульсов соединен с первыми входами второго и третьего блоков элементов И и с первым входом второго элемента И, выход микроопераций блока памяти микропрограмм соединен с информационным входом регистра микрокоманд , выход окончания операции которого соединен с вторым входом второго элемента И, отличающееся тем, что, с целью расширения области применения и повышения коэффициента использования оборудования путем реализации многоканального режима выполнения множества микропрограмм контроля и разделения времени использования адресного канала устройства между микропрограммами , оно дополнительно содержит (N-I) блоков памяти линейных последовательностей , (N-1) блоков модификации адреса , блок выбора рабочего канала, регистр занятия канала, регистр рабочего канала, (N-1) счетчиков адреса, (N-1) счетчиков микрокоманд, первый и второй блоки коммутаторов , коммутатор, выход которого соединен с входом блока памяти .микропрограмм, выход окончания операции регистра микрокоманд соединен с первыми входами элементов И четвертого блока, выход адреса и логических условий блока памяти микропрограмм соединен с первыми информационными входами коммутаторов первого блока, выход числа микрокоманд регистра микрокоманд соединен с информационными входами счетчиков адреса блока, выход кода операции регистра микрокоманд соединен с формационными входами счетчиков адреса блока, выход запуска линейной после (Л довательности регистра микрокоманд соединен с первыми входами элементов И первого блока, выходы которых соединены с вторыми входами соответствующих элементов И третьего блока, выходы элементов И третьего блока и выход второго элемента И образуют управляющий выход устройства, нулевые выходы регистра состояния соединены О5 с первыми входами соответствующих эле00 ментов И пятого блока, выходы которых соесо оо 00 динены со счетными входами соответствующих счетчиков микрокоманд и адреса блоков, выходы счетчиков микрокоманд блока соединены с единичными входами соответствующих разрядов регистра состояния, единичные выходы которого соединены с входами блока выбора рабочего канала и элемента ИЛИ, выход элемента ИЛИ соединен с вторым входом первого элемента И, выход которого соединен с входом записи регистра микрокоманд, выходы блока выбора рабочего канала соединены с информационными входами соответствующих разрядов регистра рабочего канала, выходы которого соединены с вторыми входами соответствующих элементов И четвертого блока, с соот

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

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

РЕСПУБЛИК

„„80„„1168938 (51) 4 G 06 F 9/22, 1!/00

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

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

llO ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ

Н А ВТОРСКОМЪ СВИДЕТЕЛЬСТВУ (21) 3699089/24-24 (22) 02. 12.83 (46) 23.07.85. Бюл. № 27 (72) С.Н. Ткаченко, В. И. Ярмонов, В. С. Харченко, Г. Н. Тимонькин, В. А. Косяков и Э. И. Сукесов (53) 681.3 (088.8) (56) Авторское свидетельство СССР № 419893, кл. G 06 F 9/16, 1974.

Авторское свидетельство СССР № 638962, кл. G 06 F 9/22, 1976.

Авторское свидетельство СССР № 896622, кл. G 06 F 9/22, 1980. (54) (57) МНОГОКАНАЛЬНОЕ МИКРОПРОГРАММНОЕ УСТРОИСТВО УПРАВЛЕНИЯ, содержащее блок памяти микропрограмм, блок памяти линейных последовательностей, блок модификации адреса, регистр микрокоманд, регистр состояния, счетчики адреса и микрокоманд, триггер пуска, генератор тактовых импульсов, первый, второй, третий, четвертый и пятый блоки элементов И, первый и второй элементы И, элемент ИЛИ, причем группа выходов первого блока элементов И соединена с группой нулевых входов регистра состояния, первый выход генератора тактовых импульсов соединен с первым входом первого элемента И, второй выход генератора тактовых импульсов соединен с первыми входами второго и третьего блоков элементов И и с первым входом второго элемента И, выход микроопераций блока памяти микропрограмм соединен с информационным входом регистра микрокоманд, выход окончания операции которого соединен с вторым входом второго элемента

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

И третьего блока, выходы элементов И третьего блока и выход второго элемента И образуют управляющий выход устройства, ну- ю левые выходы регистра состояния соединены ф с первыми входами соответствующих эле- © ментов И пятого блока, выходы которых соединены со счетными входами соответствующих счетчиков микрокоманд и адреса блоков, И) выходы счетчиков микрокоманд блока соеди- QQ нены с единичными входами соответствующих разрядов регистра состояния, единичные выходы которого соединены с входами блока выбора рабочего канала и элемента ИЛИ, выход элемента ИЛИ соединен с вторым входом первого элемента И, выход которого соединен с входом записи регистра микрокоманд, выходы блока выбора рабочего канала соединены с информационными входами соответствующих разрядов регистра рабочего канала, выходы которого соединены с вторыми входами соответствующих элементов И четвертого блока. с соот1168938 ветствующими управляющими входами коммутатора, с вторыми входами соответствующих элементов И второго блока, с первыми и вторыми управляющими входами соответствующих коммутаторов второго блока, выходы коммутаторов второго блока соединены с входами записи соответствующих блоков модификации адреса и с нулевыми входами соответствующих разрядов регистра занятия канала, нулевые выходы которого соеди нены с первыми управляющими входами соответствующих коммутаторов первого блока, а единичные выходы — с вторыми управляющими входами соответствующих коммутаторов первого блока и третьими управляющими входами соответствующих коммутаторов второго блока, вторые информационные входы коммутаторов первого блока образуют группу информационных входов устройства, выходы коммутаторов первого блока соединены с первыми информационными входами соответствующих блоков модификации адреса, выходы которых соединены с соответствующими информационными входами коммутатора, третий выход генератора

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

Цель изобретения — расширение области применения устройства и повышение коэффициента использования оборудования.

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

Устройство (фиг. 1) содержит блок 1 памяти микропрограмм, группу 2 блоков памяти линейных последовательностей, блоки

3.1 — З.Nмодификации адреса,,регистр 4 микрокоманд, регистр 5 занятия каналов, регистр 6 состояния каналов, регистр 7 рабочего канала, блок 8 счетчиков адреса, блок 9 счетчиков микрокоманд, триггер 10 пуска, блок 11 выбора рабочего канала, первый блок 12 коммутаторов, второй блок

13 коммутаторов, коммутатор 14, четвертый блок 15 элементов И, третий блок 16 элементов И, первый блок 17 элементов И, второй блок 18 элементов И, пятый блок 19

15 го

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

2 элементов И, второй элемент И 20, элемент

ИЛИ 21, первый элемент И 22, генератор

23 тактовых импульсов, группу 24.1 — 24.N информационных входов устройства, первые

25.1 — 25,N информационные входы блоков

3.1 — 3.N модификации адреса, входы 26.1—

26.N логических условий устройства, управляющий 27 выход устройства, управляющий вход 28 устройства, выходы адреса и логических условий 29.1 и операций 29.2 блока 1 памяти микропрограмм, выходы окончания операций 30, числа микрокоманд 31, кода операции 32, запуска линейной последовательности 33 регистра 4 микрокоманд, третий 34, четвертый 35, первый 36, второй 37, пятый 38 выходы генератора 23 тактовых импульсов, группу 39 управляющих выходов устройства.

Блок 3.1 модификации адреса (фиг. 2) содержит вход 40.1 модифицируемого разряда адреса, вход 40.2 внутренних логических условий мультиплексора 41, регистр 42 адреса.

Блок 11 выбора рабочего канала (фиг.3) содержит первый 43, второй 44, третий 45 элементы И.

На фиг. 5 приняты следующие сокращения: КОП вЂ” код операции; МК вЂ” микрокоманда; Ащп — начальный адрес линейной последовательности; мк — число микрокоманд в линейной последовательности;

1168938

5 !

A y„ — адрес очередной микрокоманды ветвления; МП вЂ” микропрограмма; ЛП линейная последовательность; КЙА, — регистр адреса; КОИ вЂ” регистр микрокоманд;

С4 — счетчик адреса; С4, — счетчик микрокоманд.

Рассмотрим назначение основных элементов устройства.

Блок 1 памяти микропрограмм предназначен для хранения начальных микрокоманд линейных последовательностей и микрокоманд завершения микропрограмм. Каждая начальная микрокоманда содержит поля кода адреса и количества микрокоманд в линейной последовательности, окончания . операции и начала линейной последовательности, кода операции.

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

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

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

Регистр 5 занятия каналов предназначен для сохранения состояния занятости канала в период выполнения микропрограммы до момента считывания микрокоманды окончания операции в канале.

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

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

Блок 11 выбора рабочего канала предназначен для выбора рабочего канала в соответствии с принципом относительного приоритета по состоянию выходов регистра 6 состояния каналов. Причем единичный потенциал на выходе блока 11 формируется только для канала с младшим номером из числа свободных. Состояние выходов блока 11 фиксируется в регистре 7 рабочего канала.

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

В исходном состоянии все элементы памяти, за исключением регистров 5 и 6, нахо15

55 дятся в нулевом состоянии, а рсгьc рь: и 6 — в единичном. По сигналу пуска, ступающему на вход 28 устройства, т!эпгic .р

10 устанавливается в единичное состояппс, разрешая формирование управляющих по:ледовательностей импульсов на выходах г,нератора 23 в соответствии с временными диаграммами (фиг. 4).

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

Выбор рабочего канала производится по тактовому импульсу, формируемому на выходе 34 генератора 23, при этом разряд регистра 7, соответствуюгций рабочему каналу, устанавливается в единичное состояние. Это происходит следующим образом.

Так как регистр 6 находится в сдиничпом состоянии, то на входы блока 11 поступают единичные потенциалы готовности каналов.

Блок 1! осуществляег выбор рабочего канала в соответствии с принципом относитсльного приоритета между каналами. Приоритет канала задается его номером, причем каналу с наименьшим номером соответствует наибольший приоритет. Таким образом, в начале работы устройства первый канал. обладающий наибольшим приоритетом, становится рабочим, т.с. на выходе блока 11, соответствующем первому каналу, устанавливается единичный потенциал. а по тактовому импульсу с выхода 34 гснсрапгора 23, поступающему на управляюгций вход рсгистра 7, код состояния выходов блока 1! записывается в регистр 7. При этом в сдпничнос состояние устанавливается разряд регистра, соответствующий рабочсму ка налу, в начале работы — первый. Л,ля вес.. каналов этот процесс протекает один;;киви.

В дальнейшем в устройстве рсализустся режим приема кода операции по управляюще м и 1 ll v tI bc/, ф о р м и р у p. M o Nl v H 2 B hl x otic 35 генератора 23. Так как регистр 5 находится в единичном состоянии, то Всс коммутаторь. блока 12 открыты по входу кода операции (входы 24.1 — 24.N устройства). Прп этом на выходах всех коммутаторов блока !2 установлены коды операций, которые поступают на информационные входы 25.1- -25. N блоков 3.1 — З.N, однако запись кода опсрации производится только в регистр 42 бло ка З.i, соответствующего рабочему каналу,;-. именно в регистр 42 блока 3.1 для рассматриваемого случая Это происходит по при lliне того, что управляющий импульс записи с выхода 35 генератора 23 проходит только через коммутатор 13.1 блока. который открыт единичным потенциалом с ьыходов соответствующих разрядов регистров 5 и 7.

С выхода блока 3.1 код операции через <.т

1168938 крытый соответствующий информационный вход коммутатора 14 поступает в блок 1 памяти. Этот информационный вход коммутатора 14 открыт единичным потенциалом с выхода регистра 7 (для рабочего канала разряд регистра 7 в единичном состоянии).

Микрокоманда, соответствующая принятому коду операции, записывается в регистр

4 по управляющему импульсу, формируемому на выходе 36 генератора 23. При этом элемент И 22 открыт единичным потенциалом с выхода элемента ИЛИ 21. На элемент

ИЛИ 21 отслеживается наличие готовых каналов в устройстве по единичным выходам разрядов регистра 6. Таким образом, если в устройстве есть готовые каналы, то элемент И 22 открыт, в противном случае— закрыт.

Считанная в регистр 4 микрокоманда может определять начало линейной последовательности либо завершение выполнения микропрогр.аммы в канале.

В режиме выполнения линейной последовательности выделяются следующие этапы: запуск, выполнение и завершение линейной последовательности.

Запуск линейной последовательности на выполнение осуществляется по управляющему импульсу, формируемому на выходе 37 генератора 23. Это происходит следующим образом. После считывания микрокоманды, определяющей начало линейной последовательности, из блока 1 в регистр 4 коды адреса и количества микрокоманд в линейной последовательности с выходов 32 и 31 регистра 4 соответственно поступают на информационные входы счетчиков блоков 8 и 9. Для рассматриваемого случая в блоке

18 элементов И единичным потенциалом с выхода соответствующего разряда регистра 7 открыт элемент И 18.1. Управляющий импульс с выхода 37 генератора 23 поступает на управляющие входы счетчиков 8.1 и 9.1 блоков, в которые записываются коды адреса и количества микрокоманд соответственно.

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

Одновременно с процессом записи кодов адреса и числа микрокоманд в счетчики 8.1 и 9.1 блоков изменяется состояние готовности канала, в котором запускается на выполнение линейная последовательность.

В рассматриваемом случае единичный потенциал с выхода 33 регистра 4 через открытый элемент И 17.1 устанавливает первый разряд регистра 6 в нулевое состояние, снимая тем самым состояние готовности канала на время выполнения линейной последовательности в канале. При этом единичным потенциалом с нулевого выхода первого разряда регистра 6 открывается элемент

И 19.1 блока, и последовательность тактовых импульсов с выхода 38 генератора 23

55 поступает на счетные входы счетчиков 8.1 и 9.1. Таким образом, в первом канале начато выполнение линейной последовательности. В случае завершения линейной последовательности единичный сигнал переполнения с выхода счетчика 9.1 поступает на единичный вход первого разряда регистра 6 и устанавливает его в единичное состояние, восстанавливая состояние готовности канала. В очередном цикле работы этот канал вновь может стать рабочим.

Рассмотрим теперь какие процессы протекают в устройстве при поступлении управ. ляющего импульса с выхода 37 генератора

23 на входы коммутаторов блока 13 и элементы И блока 16.

По управляющему импульсу с выхода 37 генератора 23 в устройстве реализуется процесс запуска на выполнение линейной последовательности.

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

27 устройства.

Рассмотрим это подробнее на примере первого канала.

После считывания микрокоманды из блока 1 в регистр 4 на выходе 29.1 блока 1 установлены код адреса очередной микрокоманды ветвления и код внутренних логических условий, который поступает на первый информационный вход коммутатора 12.1 блока. Этот вход открыт единичным потенциалом с нулевого выхода первого разряда регистра 5. С выхода коммутатора 12.1 блока коды адреса и логических условий поступают на информационный вход 25.1 блока 3.1. Коммутатор 13.1 блока открыт для прохождения управляющего импульса записи с выхода 3? генератора 23 единичным потенциалом с выхода первого разряда регистра 7. Таким образом, по управляющему импульсу с выхода 37 генератора 23 в регистр

42 адреса блока 3.1. записывается код адреса очередной микрокоманды ветвления, выполняемой в этом канале микропрограммы.

По этому же импульсу с выхода 37 генератора 23 на выходе 27 устройства формируется сигнал занятия канала. Информация о номере занимаемого канала поступает с выхода 27 устройства во внешнюю операционную систему с выхода элемента И 16.1 блока.

После формирования управляющего импульса на выходе 37 генератора 23 цикл работы устройства повторяется в рассмотренной последовательности.

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

1168938

Фиг. i примера по окончанию выполнения линейной последовательности в первом канале сигналом переполнения соответствующего счетчика 9.1 блока первый разряд регистра 6 этого канала устанавливается в единичное состояние и он может быть выбран в качестве рабочего канала в соответствии с приоритетом.

Так как в регистре 42 блока 3.1 этого канала записан адрес очередной микрокоманды ветвления, то при повторном выборе этого канала в качестве рабочего в соответствующий рабочему каналу регистр 42 блока 3.1 не может быть записан код операции очередной микропрограммы по управляющему импульсу с выхода 35 генератора 23. Для такого канала этот импульс не проходит через закрытый коммутатор

13.1 блока на управляющий вход соответствующего регистра 42 блока 3.1. Коммутатор 13.1 закрыт нулевым потенциалом с единичного выхода соответствующего разряда регистра 5. В дальнейшем работа в таком канале аналогична описанной.

По окончанию выполнения микропрограммы в канале в регистр 4 из блока 1 считывается микрокоманда окончания операции, при этом на всех выходах регистра 4, кроме 30, установлены нулевые потенциалы, а на выходе 30 — единичный. Следующий управляющий импульс для этого канала формируется на выходе 37 генератора 23, при этом нулевые коды записываются в счетчики 8.1 и 9.1 блоков и в регистр 42 блока 3.1 этого канала. Кроме того, с выхода элемента И 20 на выход 27 устройства поступает сигнал окончания операции. По этому же импульсу с выхода 37 генератора 23 в единичное состояние устанавливается соот15 ветствующий освобождаемому каналу разряд регистра 5.

Работа устройства завершается по сигналу «Стоп», поступающему на вход 28 устройства. При этом триггер 10 переводится в

20 нулевое состояние, и запрещается генерация управляющих импульсов на выходах генератора 23.

1168938

1168938

Составитель И. Сигалов

Редактор P. Цицика Техред И. Верес Корректор А. Обру чар

3aказ 4614 42 Тираж 710 Подписное

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

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

Филиал ППП <Патент», r. Ужгород, ул. Проектная, 4

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

 

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