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

 

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

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

WM

РЕСПУБЛИК

«9) «»

1(Д) 6 06 Р 9/22; G F 11/00

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

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

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

H ABTOPCHOMV СВИДЕТЕЛЬСТВУ (21) 3549948/18-24 (22) 08.02.83 (46) 15.05.84. Бюл. Р 18 (72) В.С. Харченко, В.А. Мельников, Г.Н. Тимонькин, С.Н. Ткаченко, В.Л. Кальницкий и И.П. Барбаш (53) 681.3(088 ° 8) (56) 1. Авторское свидетельство СССР

Р 482744, кл. G 06 F 9/16, 1972.

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

9 763898, кл. G 06 F 9/22, 1978.

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

Р 903877, кл. G 06 F 9/22, 1980.

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

9 830386, кл. G 06 F 9/22, 1979 (прототип) ° (54) (57) МИКРОПРОГРАММНОЕ УСТРОЙСТВО

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

Q последовательности первого блока па- 8 мяти соединен с информациочным входом счетчика микрокоманд, нулевые вы ходы которого соединены с входами первого элемента И, выход первого элемента И соединен с первыми входами второго и третьего элементов И и входом элемента НЕ, выход генератора тактовых импульсов соединен с первым входом четвертого элемента И и входом первого элемента задержки, выход которого соединен с вторым входом третьего элемента И и входом второго элемента задержки, выход которого соединен с вторым входом второго элемента И, выход второго элемента И соединен с вторым входом второго бло ка элементов И, выход элемента НЕ со единен с вторым входом чЕтвертого элемента И, выход которого соединен с синхронизирующим нходом второго дешифратора адреса, выход считывания микрокоманды второго блока памяти соединен с счетным входом первого счетчика адреса, выход третьего элемента И соединен с входами установки в нуль первого счетчика адреса, регистра логических условий, буферного регистра и синхронизирующим входом первого дешифратора адреса, управляющий вход первого блока памяти тО92505 соединен с установкой в нуль первого регистра адреса, выход второго регистра адреса соединен с входом третьего дешифратора адреса, выход которого соединен с адресным входом блока памяти копий, о т л и ч а foщ е е с я тем, что, с целью повышения производительности, в устройство введены второй счетчик адреса, .. триггер, третий и четвертый блоки элементов И, элемент ИЛИ, шестой и седьмой элементы И и одновибратор, причем информационный вход устройства соединен с единичным нходом триггера снятия копий, единичный выход которого соединен с первым входом пятого элемента И и управляющим входом третьего блокаеэлементов И, выход которого соединен с »»нформационным входом блока памяти копий, выход окончания выдачи копий блока памяти копий соединен с. вторым выходом устройства и нулевым входом триггера управления, единичный выход которого соединен с первым входом шестого элемента И, выход генератора тактовых импульсов соединен с вторым входом шестого элемента И, выход которого соединен с первым входом элемента И, выход которого соединен с пер,вым входом элемента. ИЛИ, выход элемента ИЛИ соединен с нхо= дом разрешения записи блока памяти копий, нход кодов логических условий устройства соединен с единичным нхо1

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

Известны микропрограммные устройства управления, содержащие два блока памяти, регистры логическ»лх усло« вий, счетчики, дешифраторы, регистры логические элементы И, HF., элементы задержки и генератор тактовых импульсов (1) — (3) . 15

Недостатками укаэанных устройс "f» являются ограниченные функциональные возможности и низкая производительность, которые обусловлены невозможностью управления двумя параллельно протекающими аналогичными вЂ,ðoöåññàми, один иэ которых по отношению к другому может быть сдвинут но времени. дом триггера выдачи копий и первым входом четнерто.го блока элементов И, выход которого соединен с информационным входом второго регистра адреса, нулевой выход триггера снятия копий соединен с перным входом седьмого элемента И, выход которого через одновибратор соединен с установочным входом второго счетчика адреса, выход второго счетчика адреса соединен с вторым входом четвертого блока элементов И, выход считывания микрокоманды второго блока памяти соединен с вторым входом элемента ИЛИ, нычитающим входом счетчика микрокоманд и с вторым входом пятого элемента И, выход которого соединен с счетным входом второго счетчика адреса, едикичкь»Й выход Tp»»ÃÃÿpè выдачи кОпий соединен с входом эап»»с»» второго ре=..

=-» -rтра адреса, сии:ропиэирующим входом третьего де»шифратора адреса и вторым входом седьмого элемента И

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

7 ококч-.кия выдачи копий блока памяти кОпий соедине-» с нулевым н: Одом тоиггера выдачи копий и уста»»овочкы»» входом второго регистра адреса, информационный выход блока хра»»ения копи»» соедин- H с вторым выходом ус-ройC::H B..

Наиболее близким к предлагаемому по технической сущности и достигаемому положительному эффекту является микропрогра»»мное устройство, содержащее первый и нторой блоки .-.амяти, блок хранения копий, дна регистра адреса, регистр логических условий, буферный регистр, счетчик микрокомакд, первый счетчик адреса, первый, второ -f и третий дешифратооы адреса, первый и второй блоки элементов И, триггер снятия копии„ триггер выдачи копии, генератор тактовых импульсон, -.ÿ-ь элементов И, элемент НЕ, причем первый вход устройства соединен с первым информационным нходом первого регистра адреса, выход первого регистра адреса соедике » с входом первого дешифратора адреса, выход которого соединен с входом первого блока памяти, первый адресный вход первого блока памяти соединен с первым информационным входом буферного регистра, выход кода проверяемых логических условий первого бло1092505 разнесено во времени. Например, управлять процессом передачи заранее сформированного массива кодов для нескольких абонентов при условии, что готовность нторого и .последующих абонентов к приему информации будет достигнута до момента окончания ее передачи первому абоненту. В такой ситуации известное устройство может реализовать указанные процессы толь-. ко н существенно последовательном режиме. Таким образом, это устройство имеет низкую производительность, об-, . условленную большими потерями времени на ожидание окончания одного процесса и невозможностью управления параллельным выполнением двумя идентичными процессами, сдвинутыми но времени. Это существенно снижает функциональные возможности устройства и ограничивает область его применения.

Бель изобретения — повышение производительности устройства.

Поставленная цель достигается тем что н устройство, содержащее первый

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

НЕ, причем информационный вход устройства соединен с первым информацйонным входом первого регистра адреса, выход первого регистра адреса соединен с входом первого дешифратора адреса, выход которого соединен с вхо-:. дом первого блока памяти, первый ад35

50 нен с входом третьего дешифратора ад-55 реса, выход которого соединен с первым управляющим входом блока хранения копий (4).

Недостатком этого устройства является низкая производительность, которая обусловлена возможностью управления только одним процессом. На практике возможны случаи, когда необходимо организовать контроль и управление двумя (или несколькими) идентичными процессами, начало которых 65 ка памяти соединен с информационным входом регистра логических условий, выход которого соединен с первыми входами первого блока элементов И, выход первого блока элементов И соединен с вторым информационным вхо-.. дом буферного регистра, выход которого соединен с первыми входами второго блока элементов И, выход которого соединен с вторым информационным входом первого регистра адреса, второй адресный выход первого блока памяти соединен с информационным входом первого счетчика адреса, выход которого соединен с входом второго дешифратора адреса, выход дешифратора адреса соединен с входом второго блока памяти, информационный выход которого соединен с первым выходом устройства, второй вход устройства соединен с вторыми входами первого блока элементов И, выход кода длины операционной последовательности первого блока памяти соединен с информационным входом счетчика микрокоманд, нулевые выходы которого соединены с нходами первого элемента И, выход первого элемента И соединен с первыми входами второго и третьего элементов И и входом элемента НЕ, выход генератора тактовых импульсов соединен с первым нходом четвертого элемента И и входом первого элемента задержки, выход которого соединен с вторым входом третьего элемента И и входом второго элемента задержки, выход которого соединен с вторым входом второго элемента И; выход второго элемента И соединен с вторыми входами второго блока. элементов И, выход элемента HE соединен с вторым .входом четвертого элемента И, выход

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

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

И, выход первого элемента И соединен с первыми входами второго и третьего элементов И и входом элемента НЕ, выход генератора тактовых импульсов соединен с первым входом четвертого элемента И и входом первого элемента задержки, выход которого соединен с и вторым входом третьего элемента И и входом второго элемента задержки, выход которого соединен с вторым входом второго элемента И, выход второго элемента И соединен с вторым 5 входом второго блока элементов И,, ныХод элемента НЕ соединен с вторым входом четвертого элемента И, выход которого .соединен с синхронизирующим входом второго дешифратора адре- що са, выход считывания микрокоманды второго блока памяти соединен со счетным входом первого счетчика адреса, выход третьего элемента И соединен с входами установки в нуль первого счетчика адреса, регистра логических условий, буферного регистра и синхронизирующим нходом первого дешифратора адреса, управляющий вход первого блока памяти соединен с нходом установки в нуль первого регистра адреса, выход второго регистра адреса соединен с входом третьего дешифратора адреса, выход которого соединен с адресным входом блока памяти копий, введены второй счетчик адреса, триггер, третий и четвертый блоки элементов И, элемент

ИЛИ, шестой и седьмой элементы И, одновибратор, причем информационный вход устройства соединен с единич- 40 ным входом триггера снятия копии, единичный выход которого соединен с первым входом пятого элемента И и управляющим входом третьего блока элементов И, ныход которого соединен с информационным входом блока памяти копий, выход ококчания выдачи копии блока памяти копий соединен с вторым выходом устройства и нулевым входом триггера управления,,5g единичный выход которого соединен с первым входом шестого элемента И, выход генератора тактовых импульсон соединен с вторым входом шестого элемента И, выход которого соединен с первым входом элемента ИЛИ, выход элемента ИЛИ соединен с входом разрешения записи блока памяти копий, вход кодов логических условий устройстна соединен с единичным входом триггера выдачи копий и первым входом четвертого блока элементов И, выход которого соединен с информационным нходом второго регистра адреса, нулевой выход триггера снятия копий соединен с первым входом седьмого 65 элемента И, выход которого через однонибратор соединен с установочным нходом второго счетчика адреса, выход второго счетчика адреса соединен с вторым входом четвертого блока элементов И, выход считывания микрокоманды второго блока памяти соединен с вторым входом элемента ИЛИ, нычитающим входом счетчика микрокомакд и с вторым входом пятого элемента И, выход которого соединен со счетным входом второго счетчика адреса, единичный выход триггера выдачи копий соединен с входом записи второгo регистра адреса, синхронизирующим входом третьего дешифратора адреса и вторым входом седьмого элемента И, выход окончания микропрограммы второго блока памяти соединен с первым выходом устройства, с единичным входом триггера управления и нулевым входом триггера снятия копий, выход окончания выдачи копий блока памяти копий соединен с нулевым входом триг,гера выдачи копий и устаковочным входом второго регистра адреса, информационный выход блока хранения копий соецинен с вторым выходом устройства.

Сущность изобретения состоит н повышении производительности устройства путем оперативного копирования линейных последовательностей микрокоманд первого процесса и испольэонакия их копий для управления вторым процессом.

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

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

Общий принцип действия (дисциплина функционирования) предлагаемого устройства состоит в следующем.

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

При этом емкость блока хранения копий может определяться самой длинной микропрограммой, реализуемой при выполнении процесса (последовательности процессов) П

Управление процессами П „и П организуется следующим образом.

При выдаче микропрограммы для управления процессом П осуществля1 ется ее копирование в специальном

1092505 блоке хранения копий и при поступлении запроса на управление процессом

П выдается сформированная копия.

Отличительными особенностями предлагаемой дисциплины функционирования является использование конвейерного принципа обработки и существенно асинхронное взаимодействие (порядок выполнения) процессов П„ и II>

Принцип конвейерной обработки реа . лизуется за счет копирования выполняемой микропрограммы и ее последующего использования для управления вторым процессом. При этом априори неизвестен момент прихода заявки на управление процессом 11 2. Поэтому 15 копирование микропрограммы управления процессом П осуществляется с опреде1 ленным временным упреждением.

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

Введение третьего блока элементов

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

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

Введение четвертого блока элементов И необходимо для перезаписи кода адреса первой микрокоманды в блоке 40 хранения копий при выдаче всей последовательности для управления. втоТ С.ЧЪ4 1 \/111О ЛГАЛ

А ° ° ° °, Введение одновибратора, седьмого элемента И и обусловленных ими свя- 45 зей необходимо для организации обну

I ления счетчика адреса.

Введение пятого элемента И и обус. ловленных им связей позволяет определить адрес первой микрокоманды при 5О снятии копии.

На фиг.1 представлена функциональная схема предлагаемого микропрограммного устройства; на Фиг.2 функциональная схема блока хранения 55 копий; на фиг. За,б,в — соответственно форматы адресной микрокоманды первого запоминающего блока, операционной микрокоманды второго запоминающего блока и операционной микро- Я) команды блока хранения копий.

Микропрограммное устройство управления содержит (фиг.1) перный 1 и второй 2 блоки памяти, блок 3 хранения копий, первый регистр 4 адреса, регистр 5 логических условий, буферный регистр 6, второй регистр 7 адреса, счетчик 8 микрокоманд, перный счетчик 9 адреса, второй счетчик

10 адреса, первый 11, второй 12 и третий 13 дешифраторы адреса, триггер 14 снятия копий, триггер 15 выдачи копий, триггер 16 управления, первый 17, второй 18, третий 19 и четвертый 20 блоки элементов И, первый 21, второй 22, третий 23, четвертый 24, пятый 25, шестой 26 и седьмой

27 элементы И, элемент ИЛИ 28, первый 29 и второй 30 элементы задержки, элемент HE 31, генератор 32 тактовых импульсов и одновибратор 33, первый

34 и второй 35 входы устройства, первый 36 и второй 37 выходы устройства, перный адресный выход 38, выход 39 кода проверяемых логических условий, второй адресный выход 40, выход 41 кода длины операционной последовательности и управляющий выход 42 первого блока 1 памяти, информационный выход 43, выход 44 считывания микрокоманды, выход 45 окончания ми,ропрограммы второго блока 2 памяти, адресный 46, информационный 47, разрешения записи 48 входы, информационный выход 49 и выход 50 окончания выдачи копии блока 3 хранения копий.

Блок 3 памяти копий (фиг.2) содер-. жит группу регистров 51.1-51.п, коммутатор 52.

Формат адресной микрокоманды (фиr,За) содержит поле кода (номера) следующей последовательности (А „ ), поле кода пронеряемых логических условий (Х), поле кода начального адреса текущей последовательности микрокоманд (A), поле длины линейной последовательности микрокоманд (Ь) и поле метки (М) выдачи адресной микрокоманды.

Формат операционной микрокоманды втоРого запоминающего блока (фиг.Зб) содержит поле операционной микрокоманды (ПОМК), поле метки (идентификатора, считывания очередной микрокоман1 ды (М1) и поле метки (идентификатора, окончания процесса ныдачи операционных микрокоманд (М2).

Формат операционной микрокоманды блока хранения копий (фиг.Зв) содержит дна поля: в первом поле находится кспия операционной микрокоманды (НКОМК), но втором — метка окончания процесса выдачи операционных микрокоманд (М2).

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

Первый блок 1 памяти устройства предназначен для хранения адресных микрокоманд.

В блоке 1 записывается адресная часть микрокоманды, которая считывается в следующем виде: с выхода 38

1092505

10 номер следующей последовательности„ с выхода 3,9 — код проверяемых логических условий, с выхода 40 — начальный адрес текущей микрокоманды, с .выхода 41 — число выполняемых микрокоманд в текущей линейной последова- 5 ,тельности, с выхода 42 — сигнал сброса первого адресного регистра 4.

Второй блок 2 памяти предназначен для хранения операционных последовательностей микрокоманд. tQ

Блок 3 хранения копий предназначен для оперативного хранения и выдачи на второй выход 37 устройства копии первого процесса.

Первый регистр 4 адреса и первый дешифратор 11 адреса и соотнетствук)щие связи предназначе11)ы для Выборки информации из блока .1.

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

Первый блок элементов И 1/ пред— назначен для модификации кода очередногс адреса адресной микрокоманды на буферном регистре б в зависимости ат кодов логических условий, поступающих с второго Входа 35 устройства,. и кода регистра 5 логических услоний.

Бторой блок элементов И 18 предназначен для управления перезаписью

30 кода адре<)а,. сформированного в буферном регистре б, н первый регистр 4 адреса,. .«1<-тчик 8 микоокоманд поев!-;азнад))и з ап исн ч )ясла оп ерацион ны:. м) и, )Ркс))анд i, НОтОрьье Должны быть эьl

Да)ны « ныхОДа Второго б,гока )«а)ляти и ос«л«)ес) элен ия,AI-", Tpc)«II их ныл чи „

i!ерьый э) ем& нт 2 зс)держ ки и тp<з-. тий -.Лемент И. 23 и coo TB . c1: вBу:.)щ)1е л 1«

:": -3IIBи предна на««ен)l Для упр )вле- <0 i:-,i о, н «3Л)pн кем пе««во) о адре,— iio«o с .PT«.-,Са 3 ., pe) )I "Tpji «ЛОг)ЛЧЕСКИХ у-,)loBIII» „. буферного регистра б,- а так«ке .) ОРМИРО «) ан)<я y) iPBB JI ) I<)I«СГO С .". . Пс Х)а; — а

:антенне дреc:ioé мик-...о:<О.ла н:,, из .ер- 45 зого блс ка i памяти 110 адре -) < хранимсь:у B pPoiI адрес ioj«1

:: .:)рой элемс1-:т 30 задержки и втоЭ)-,Е«ЛЕН«" И 2 2;-.:ООТВ Е .. СТВ«уК)щИМИ

Вяз я)«;)" предн аз к а -. .еi ы д.ля у ilраВле

-" : Я -: .:- р B ВТОООй блок элеь1ен ТOB i! 1 18 . е ; =-,а.—,исью: информаij,.ЗЕГИСТ<« . 6 - i) -.рнн)й адОЕСНЫ1«ре)«

1гЕНЕраTop 3 таКТОВЫХ. )З«Л)i;;Ji; —,:"..)В .) 1редназначен Д.ТЯ эь1работки имп«!ëьсОВ тактовой Чс)СТОТЫ.

Элемент ББ 31 lipB.Вляст;1р1

Т а К< Тон ЫХ ИМПУЛЬСОВ ДЛЯ С«I I IT««B B B 11 иэ блока 2 операционных микрокоманд пс адресу с первого счетчика 9 адре«а, Триггер 14 у<)ранляет сн" òием ко-. л)<)л первогo процесса через третий блок элементов И 19 с выхода блока 2, а также Формированием адреса первой микрокоманды снятой копии через пятый элемент И 25.

Триггер 15 управляет снятием копии с информационного выхода 49 блока 3 через третий дешифратор 13.

Триггеры 14 и 15 являются Б-S-триггерами с приоритетом по S-входу, T.å. при однонременном поступлении сигналов на В и Б входы этих триггероя они переходят (остаются) в единичном состоянии.

Бторой счетчик 10 адреса предназначен для указания глубины заполнения о-jåpàöèoííèìië микрокомандами блока 3.

Бторой регистр 7 предназначен для хранения адреса микрокоманды, с Которой необходимо начать выдачу копии из блока 3„ Занесение информации и обнуление регистра 7 производится только при нулево л потенциале иа его управляющем входе.

Триггер 16,, шестой элемент И 26, элемент ИЛИ 28 и соответствующие связи предназначены для организации выдачи копии из блока 3 по окончании процесса выдачи последонательности операционных микрокоманд из блока 2.

Одновибратор 33„ седьмой элемент

И 27, cooTBåòcòBóþLJèå связи осущестBíÿþT приведение в исходное состоя= ние второго счетчика адреса по о

Рассмотрим назначение элементов блока 3 памяти копий (Фиг.. 2) .

1 ру j)Ia )з п ре IICTpoB 51 . 1-51 . и представляет собой сверхоперативную память и служит для хранения опер-:ционных микрокоманд, посту)1аюш«их и а вхо q 4! ело ка 3.

Хо)лмутатср 52 предназначен для выдачи операционной микрокоманды с

То i О Ре) ис т Ра 1 PQIIIIkil р в К<оТОРМ нахОдилась микрокоманда при поступлении зв IpocB. на выдачу копии.

Пр:.. нулевом коде на входе 46 инФормация на выход коммутатора 52 не

ПРОХОДИТ, При поступлении на вход 46

1«ОДа 0 0:)., который соответстВует и<::;одном)! И«улеВОму сОстОянию регистре 7, и:-:Формация íà выход ком««1утаторс 5 прохо«,:-:т C входа 47,. п-.рн по.Туплении на Вход 46 кода 0...010

;информация на выход коммутатора 52 проходит с регистра 51.1 и т. д.

)4икоопрограммное устройство для нтроля и упранления двумя процес;ами может работать в двух режимах: ре)«и)ле контроля и управления одним процессом и режиме контроля и управ. )Е ri И Я ДB «JM Я П РО ЦP С C а.МИ .

Режим контроля и управления двумя процессами может осуществляться путем снятия копии первого процесса (нв)дущего) н выдачи копии для управ

1092505

12 ления вторым процессом (ведомым) ли бо путем параллельной выдачи управляющей информации на оба процесса.

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

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

Счетчик 8 микрокоманд находится в нулевом состоянии, на нулевых выходах этого счетчика имеются высокие 15 потенциалы, которые поступают на элемент И 21. Сигнал с выхода элемента

И 21 поступает на входы элементов И

22 и 23 и разрешает прохождение импульса с выхода генератора 32 через 2() первый элемент 29 задержки на вход обнуления счетчика 9, регистра 5 и буферного регистра б, а также на управляющий вход первого дешифратсра

11. 25

По сигналу, поступающему на управляющий вход первого дешифратора

11, по начальному адресу регистра 4 из блока 1 считывается код (номер .следующей выполняемой линейной последовательности)„ который с выхода

38 поступает на вход регистра б. Код номера текущей выполняемой последовательности с выхода 40 блока 1 поступает на информационный вход перво го счетчика 9 адреса. Код проверяемых логических условий поступает с выхода 39 первого запоминающего блока 1 на вход регистра 5 логических условий. Код длины линейной последовательности микрокоманд поступает 40 на вход счетчика 8 с выхода 41 блока 1. Сигнал с выхода 42 блока 1 производит установку в нуль регистра

4 адреса и подготавливает его для за-4 писи очередного адреса адресной микрокоманды.

После считывания адресной части микрокоманды и записи в счетчик 8 кода числа микрокоманд линейной последовательности показания счетчика 8 отличны от нуля ° Сигнал на выходе элемента И 21 принимает нулевое значение и чeðåç элемент НЕ 31 готовит элемент И 24 к прохождению через него импульсов с выхода генератора 32.

Очередной тактовый импульс с выхода генератора 32 поступает на управляющий вход дешифратора 12 адреса, который производит выборку из блока 60

2 операционной микрокоманды, начальный адрес которой был записан в счетчик 9. С информационного выхода 43 блока 2 считываются операционные микрокоманды на выход 36 устройства.

После считывания очередной операционной микрокоманды с выхода 43 блока 2 с выхода 44 импульс считывания микрокоманды поступает на счетный вход счетчика 9 и изменяет (увеличивает) его содержимое на единицу. Одновременно с этим данный импульс считывания поступает на вычитающий вход счетчика 9, уменьшая „его содержимое на единицу.

Очередной тактовый импульс с выхода генератора 3) через элемент и

24 поступает на сйнхронизирующий вход дешифратора 12 адреса, так как состояние счетчика 8 микрокоманд отлично от нулевого и на выходе элемента И 21 будет сигнал, который через элемент НЕ 31 разрешает прохож- дение тактовl- импульсов через элемент И 24. лей ифратор 12 адреса производит вы: ку очередной микрокома.щы из блс з 2 по адресу, сформиpQBIп нОму в . -. етчике 9 адреса., роисходит считыв<:,,-:.. на выход 36 устройсòiiÿ Очередно.:. сперационной микрокомапды. Аналоги::,:ым образом происходит считывание .:.гавшихся операционных микрокоманд ."..аейной последовательности.

ПО сигналу выда :л последней onep2IlHc ной микрОКОмлнды линейной itQ— следовате. .алости с выхода 44 CIIîê;I 2 счетчик 8 микрокоманд Обн :-,яетcs., II на выходе элемента и 21 появляетсл сн-::ал, который через элемент НЕ 31 запре яает прохожде - .;е =актовых импульс;-в с выхода генератора 32 на эле:пе..т И 24. Те.. Оамьм элемент И

24 запрещает =читыван Ie Операцйсн— ны-: iiiикрокоманц яз блока 2.

Тактовый импульс "енератора 32, выла:.ный для считывания послед -.ей операционной; .крокомайды линейной последовательно;тй, проходя через первый 29 II второй 30 элементы задержки с вых >да элемента И 22, пос:упает на второй вход блока элемента:=: и 18. Адрес очередной линей:ой последовательности с выхода буферного регистра 6 через блок элементов

И 18 переписл-.;ваечся в реги"тр 4 адреса

Код адреса буферного регистра 6 состоит из постоянной и переменной частей. Пос.тоянная час ь (базовый адрес) записывается в буферный регис ср 6 с. выхода 38 первого блока

1 амяти. Переме:se.я часть кода является миднфйцируемой частью адреса в зависимости от кода логических условий,, поступа:с.":"х второго входа 35 устрсйства. Поступающие логические условия модифи ируют при ветвлении код косвенного адреса, записанного в буферном регистре 6. Сформированный -аким образом код адреса в конце выдачи предыд ll- åé линейной последова тельно: ти M Iкоокоманд пересыла

1092505

Состояние счетчика 8 микрокоманд становится отличным от нулевого, и с выхода элемента И 21 сигнал эапре- 45 щает обнуление счетчика 9 адреса и перезапись информации из регистра б в регистр 4. Далее работа устройства происходит аналогично.

В режиме контроля и управления двумя процессами управление двумя процессами заключается в снятии копии первого процесса (ведущего) и выдачи ее второму (ведомому) процессу.

При этом второй процесс может либо сс>впадать с первым (осуществляется параллельная выдача двух одина>1совых последовательностей микрокоманд), либс> не совпадать (осуществляется управление процессами со сдвигом во времени). 60

Для управления первым процессом операционные микрокоманды выдаются с информационного выхода 43 блока 2 и поступают на первый выход 3б устройства.

65 ется из буферного регистра б в регистр 4 адреса.

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

4 адреса. Это объясняется тем, что время задержки первого элемента 29 задержки выбрано меньшим, чем время считывания операционной микрокоманды >5 из блока 2, а время задержки второго элемента 30 задержки выбрано большим времени считывания адресной микрокоманды из блока 1.

Очередной тактовый импульс после 2() считывания последней операционной микрокоманды предыдущей линейной последовательности с выхода генератора

32 через первый элемент 29 задержки поступает на второй вход элемента И

23. Сигнал на первом входе элемента И

И 23, соединенном с выходом элемента

И 21 (после выдачи последней микрокоманды линейной последовательности состояние счетчика 8 микрокоманд будет нулевым и на выходе элемента И 21 будет высокий потенциал}, разрешает прохождение тактового импульса для о нуления регистра 5 логических условий, буферного регистра б и первого счетчика 9 адреса. Одновременно с этим данный импульс, постугая на синхронизирун>щий вход дешифратора 11 адреса, производит считывание очередной адресной микрокоманды из блока 1 по адресу, сформированному на регистре 4 адреса.

Сигнал на снятие копии первого процесса приходит с поступлением кода операции с входа 34 устройства на единичный вход триггера 14. Единичный выход триггера 14 разрешает снятие копии (последовательностей операционных микрокоманд) с информационного выхода 43 через блок элементов И 19 на информационный вход 47 блока снятия копий 3 (фиг.2).

Идентификатор (метка} выдачи очередной операционной микрокоманды с выхода 44 блока 2, поступая через элемент ИЛИ 28 на синхронизирующие входы регистров 51.1-51.п, разреша.-, ет запись первой операционной микрокоманды последовательности с входа 47 блока в регистр 51.1 группы регистров. Длительность импульса метки выбирается так, чтобы она не превышала времени срабатывания триггеров регистров 51.1-51.п Кроме того, метка выдачи операционной микрокоманды с выхода 44 блока 2 через элемент И 25 поступает на счетный вход счетчика

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

При выдаче очередной микрокоманды с выхода 43 блока 2 идентификатор выдачи с выхода 44 через элемент

ИЛИ 28 поступает на вход 48 блока 3 хранения копий. С входа 48 этот сигнал поступает на синхронизирующие входы группы регистров 51.1-51.п и осуществляет перезапись предыдущей микрокоманды из регистра 51.1 í регистр 51.2. Поступившая микрокоманда записывается в первый регйстр 51.1.

Группа регистров 51.1-51.п может быть выполнена, например, на основе

0-триггеров. Аналогичным образом блок 3 хранения копий заполня вся операционными микрокомандами по мере их выдачи с выхода 43 блока -2.

Счетчик 10 адреса по мере поступIeHHR микрокоманд в блок 3 по идентификатору их выдачи считает их количество, определяя тем самым адрес того регистра группы 51.1-51.п, в котором находится первая операционная микрокоманда снятой копии (счетчик

10 адреса в этом случае выполняет роль указателя стека> .

При необходимости выдать снятую копию первого процесса для управления вторым процессом с входа 35 устройства поступает сигнал на выдачу копии на единичный вход триггера

15 выдачи копий и на вход блока элементов И 20. Переключение триггера

15 по данному сигналу происходит после занесения информации в регистр 7.

Это обеспечивается введением задержки

1092505 срабатывания триггера 15 по входу S.

Сигнал на снятие копии разрешает переписать информацию со счетчика 10 адреса в регистр 7 адреса. В этом слу чае регистр 7 адреса определяет через дешифратор 13 адреса тот регистр группы 51.1-51.п, в котором находится первая микрокоманда копии.

Сигнал с выхода дешифратора 13 адреса поступает на соответствующий управляющий вход коммутатора 52, тем. самым коммутируя с выбранного регистра группы 51.1-51.п поступающую инфор-: мацию на выход 37 устройства для управления вторым процессом.

В том случае, когда процесс снятия копии закончился, а процесс выдачи, копии продолжается, по метке окончания микропрограммы с выхода 45 блока

2 триггер 16 управления переходит в Я) единичное состояние, разрешив тем самым прохождение тактовых импульсов с выхода генератора 32 через элемент

И 26 и эЛемент ИЛИ 28 на синхронизиРующие входы группы регистров 51.1- 25

51.п блока 3 снятия копий. Эти импульсы осуществляют сдвиг информации. и выдачу микрокоманд с того регистра, адрес которого был выбран регистром адреса по сигналу выдачи копии. Кро- 30 ме того, по мере окончания микропрограммы основного процесса с выхода 45 блока 2 происходит обнуление триггера 14. По перепаду потенциала на нулевом выходе триггера 14 снятия копий на выходе одновибратора 33 появляется импульс. Этот импульс поступа!,ет на вход установки в нуль счетчика

10 адреса. Сдвиг между выдачей основ,ной микропрограммы и ее копии не может быть больше N-1 такта (микроко- .4О манд), где N — длина микропрограммы.

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

-COM H CH TH O H TO MHKPOIIPOF раммы для управления вторым процессом. В этом случае с входа 34 устройства на информационный вход регистра 4 адреса заносится новый код операции, а сигнал на снятие копии поступает на единичный вход триггера 14. Далее работа устройства продолжается аналогичным образом. Однако в этом случае сигнал на выдачу второй копии должен поступить не ранее выдачи первой к зпии.

При поступлении на регистр, с которого считывается информация, микрокоманды, содержйщей единичное значение метки М 2, на управляющем выходе 50 блока 3 появляется сигнал, характеризующий окончание выдачи копии. Сигнал окончания процесса выдачи копии поступает с выхода 50 на нулевой вход триггера 16 управления, на нулевой вУэд триггера 15 выдачи копий и вход установки в нуль регистра 7 адреса. Если при этом на вход 35 поступает сигнал на продол- жение копирования следующей микропрограммы, то состояние триггера 15 . и регистра 7 не изменяется (триггер

15 имеет приоритет срабатывания по

S-входу и запрещает установку исходного кода в регистре 7). Если сигнал на снятие новой копии на вход 35 не поступает, то устройство находится в исходном состоянии и готово к работе в зависимости от начального кода, поступающего на информационный вход регистра 4 адреса с входа 34 устройства.

При.необходимости выдачи копии параллельно с основным процессом сигнал на такой режим работы устройства подается с входом 34 и 35 устройства на единичные входы триггера

14 снятия копий и триггера 15 выдачи копий. На выходе дешифратора 13 адреса появляется сигнал. Данный сигнал, поступая на соответствующий управляющий вход коммутатора 52, разрешает прохождение операционных микрокоманд с входа 47 блока хранения копий на информационный выход

49 и . него на второй выход 37 устройства.

l092505

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

Редактор Л.Алексеенко Техред М.Кузьма Корректор д.Пилипенко

Заказ 3256/33 Тираж 699 Подписное

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

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

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

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

 

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