Микропрограммное устройство управления
Иллюстрации
Показать всеРеферат
МИКРОПРОГРАММНОЕ УСТРОЙСТВО УПРАВЛЕНИЯ, содержащее регистр команды, память начальных адресов, счетчик адреса микрокоманд, мультиплексор , память микрокоманд, регистр микрокоманд, регистр управления, шифратор управляющих сигналов, генератор синхроимпульсов и дешифратор микроопераций, причем информационный вход регистра команды является входом кода команды устройства, выход регистра команды соединен с адресным входом памяти начальных адресов , первая группа выходов которой соединена с первой группой информационных входов мультиплексора, вторая группа информационных входов которого соединена с группой выходов шифратора управляющих сигналов, второй выход которого соединен с управляющим входом мультиплексора, выход которого соединен с информационным входом регистра адреса микрокоманд, вход записи и счетный вход которого соединены соответственно с первым и вторым выходами генератора синхроимпульсов , вход запуска которого соединен с третьим выходом шифратора управляющих сигналов, первьй вход которого является входом логических условий устройства, второй вход лшфратора управляющих сигналов соединен с первым выходом регистра управления , группа информационных входов которого соединена с второй группой выходов памяти начальных адресов, выход регистра адреса микрокоманд соединен с адресньм входом памяти микрокоманд, выход которой соединен с информационным входом регистра микрокоманд, вход записи которос: S го соединен с третьим выходом генератора синхроимпульсов, выход кода (Л микрооперации регистра микрокоманд соединен с первым входом дешифратора микроопераций, второй вход которого соединен с вторым выходом регистра управления, выход дешифратора микроопераций является выходом устройства, отличающееся тем, что, с целью сокращения оборудования за счет уменьшения объема памяти микрокоманд, оно содержит паСП мять переходов, сдвиговый регистр, -v3 коммутатор и блок управления следующим адресом, содержащий шифратор и группу коммутаторов, причем выход регистра команды соединен с адресным входом памяти переходов, выход кото рой соединен с первым информационным входом коммутатора, второй информационный вход которого соединен с выходом первого кода адреса регистра микрокоманд, выход второго кода адреса которого соединен с первыми информационными входами мультиплексоров группы, вторые информационные входы
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК (5!)4 С 06 Г 9/22
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Н АВТОРСКОМ, СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИЙ (21) 3603453/24-24 (22) 10.06.83 (46) 30.07.85. Бюл. В 28 (72) А.Л. Радкевич, А.К. Голован и В.Н. Заблоцкий (53) 681.325(088.8) (56) Авторское свидетельство СССР
Ф 955057, кл. С 06 F 9/22, 1980.
Авторское свидетельство СССР
Ф 732871, кл. С 06 F ..9/22, 1977.
Патент США Ф 4131943, кл. 364-200, 1978. (54) (57) МИКРОПРОГРАММНОЕ УСТРОЙСТВО УПРАВЛЕНИЯ, содержащее регистр команды, память начальных адресов, счетчик адреса микрокоманд, мультиплексор, память микрокоманд, регистр микрокоманд, регистр .управления, шифратор управляющих сигналов, генератор синхроимпульсов и дешифратор микроопераций, причем информационный вход регистра команды является входом кода команды устройства, выход регистра команды соединен с адресным входом памяти начальных адресов, первая группа выходов которой соединена с первой группой информационных входов мультиплексора, вторая группа информационных входов которого соединена с.группой выходов шифратора управляющих сигналов, второй выход которого соединен с управляющим входом мультиплексора, выход которого соединен с информационным входом регистра адреса микрокоманд, вход записи и счетный вход которого соединены соответственно с первым и вторым выходами генератора синхроимпульсов, вход запуска которого сое„„30„„1170457 динен с третьим выходом шифратора управляющих сигналов, первый вход которого является входом логических условий устройства, второй вход шифратора управляющих сигналов соединен с первым выходом регистра управления, группа информационных входов которого соединена с второй группой выходов памяти начальных адресов, выход регистра адреса микрокоманд соединен с адресным входом памяти микрокоманд, выход которой соединен с информационным входом регистра микрокоманд, вход записи когорого соединен с .третьим выходом генератора синхроимпульсов, выход кода микрооперации регистра микрокоманд соединен с первым входом дешифратора микроопераций, второй вход которого соединен с вторым выходом регистра управления, выход дешифратора микроопераций является выходом устройства, о т л и ч а ю щ е е с я тем, что, с целью сокращения оборудования за счет уменьшения объема памяти микрокоманд, оно содержит память переходов, сдвиговый регистр, коммутатор и блок управления следующим адресом, содержащий шифратор и группу коммутаторов, причем выход регистра команды соединен с адресным входом памяти переходов, выход которой соединен с первым информационным входом коммутатора, второй информационный вход которого соединен с выходом первого кода адреса регистра микрокоманд, выход второго кода адреса которого соединен с первыми информационными входами мультиплексоров группы, вторые информационные входы
117 которых соединены с выходом сдвигового регистра, информационный вход которого соединен с выходом коммута, тора, управляющий вход которого соединен с первым выходом кода режима регистра микрокоманд, второй, третий и четвертый выходы кода режима которого соединены соответственно с вхо дом записи сдвигового регистра, входом .управления сдвигом сдвигового регист0457 ра и входом сброса сдвигового регистра, выход кода ветвления регистра микрокоманд соединен с третьим вхо- дом шифратора управляющих сигналов и с входом шифратора, выходы котороr0 соединены с управляющими входами мультиплексоров группы, выходы которых соединены с третьей -группой ин.формационных входов мультиплексора.
Изобретение относится к вычислительной технике и может быть использовано в качестве устройства управления вычислительными машинами среднего быстродействйя. 5
Целью изобретения является сокращение оборудования за счет уменьше- ,ния объема памяти микрокоманд.
На фиг. 1.представлена структурная схема микропрограммного устройства управления; на фиг. 2 — функциональная схема блока управления следующим адресом; на фиг. 3 — таблица значений поля управления переходом и поля :следующего адреса для микрокоманд некоторой микропрограммы; на фиг. 4 таблица начальных адресов и началь:ных состояний сдвигового регистра, ;соответствующих кодам операций; на фиг. 5 — графсхема микропрограммы .некоторой группы команд.
Микропрограммное устройство уп равления (фиг. 1) содержит регистр 1
1 команды, память 2 начальных адресов, 25 регистр 3 адреса микрокоманд, мульти::плексор 4, память 5 микрокоманд, счетчик 6 адреса микрокоманд, ре,гистр 7 управления, шифратор 8 управ.ляющих сигналов, генератор 9 синхро, импульсов, дешифратор 10 микроопе ». аций, память 11 переходов, сдвиговый регистр 12, блок 13 управления. следующим адресом, коммутатор 14, выход 15, вход 16 кода команды и вход
17 логических условий. 35
Блок управления следующим адресом .13 (фиг. 2) содержит группу коммутаторов 181-18> и шифратор 19.
Работу устройства рассмотрим на примере микропрограммы реализации некоторой группы команд (фиг. 3-5).
Микропрограммное устройство управления. работает следующим образом.
В исходном состоянии все регистры находятся в нулевом состоянии. Работа микропрограммного устройства управления начинается по приему команды на его вход 17 и записи ее в регистр 1 команды. Код операции команды из регистра 1 команды поступает. на вход. памяти 2 начальных адресов и памяти 11 переходов.. В соответст- вии с этим кодом, который используется как адрес для памяти 2 начальных адресов и памяти 11 переходов, память 2 начальных адресов выдает адрес первой микрокоманды, который через мультиплексор 4 поступает на вход счетчика 3 адреса микрокоманды..
Одновременно в регистр 7 из памяти
2 начальных адресов записываются управляющие биты, определяющие режим выполнения данной команды, а из памяти 11 переходов в сдвиговый регистр 12 через его второй информационный вход записывается соответст" вующая данной команде информация о переходах, зависящих только от кода операции выполняемой команды, а не от вычисляемых условий.
Адрес первой микрокоманды из счетчика 3 адреса микрокоманды поступает на адресный вход памяти 5 микрокоманд, из которой выбранная микрокоманда записывается в регистр,б микрокоманды. Соответствующие поля
Ъ микрокоманды из регистра 6 микрокоманды поступают на вход дешифратора 10 микроопераций, на выходах которого формируются сигналы управления, соответствующие микрооперациям данной микрокоманды, которые поступают на выход 15 устройства.
Прием адреса в счетчик 3 адреса микрокоманды и прием микрокоманды в регистр 6 микрокоманды осуществля- !О ется по сигналам, вырабатываемым генератором 9 синхроимпульсов, управление работой которого осуществляется сигналом, поступающим на его вход с второго управляюш го выхода 15 шифратора 8. В зависимости от значения сигнала на входе генератор 9 синхроимпульсов вырабатывает либо синхросигнал, по которому счетчик 3 адреса микрокоманды принимает инфор- 2п мацию с выхода мультиплексора 4 лиУ
1бо синхросигнал, по которому счетчик!
3 адреса микрокоманды работает в счетном режиме и модифицирует свое значение на + 1 . Остальные цепи 25 синхронизации условно не показаны.
Рассмотрим пример, когда в регистр . 1 команды поступила команда с кодом операции "5E" (фиг. 4). По адресу
"5E" (шестнадцатиричному) иэ памяти 2 начальных адресов выбирается адрес первой микрокоманды "01", который записывается в счетчик 3 адреса микрокоманды. Из памяти 11 переходов по адресу "5E" читается и записывается в сдвиговый регистр 12 код "000 0110" (двоичный) ° По адресу, хранящемуся в счетчике 3 адреса микрокоманды иэ памяти 5 микрокоманд считывается микрокоманда и поступает в регистр 6
40 микрокоманды. Каждая микрокоманда имеет поле управления переходом, старший разряд которого определяет наличие перехода, остальные разряды определяют количество анализируемых раз- 45 рядов сдвигового регистра 12 формирования следующего адреса и величину, на которую осуществляется последующий сдвиг регистра 12. В приведенном примере для этих целей отведено два разряда, что обеспечивает возможность замещения до трех разрядов адреса и управления вставлением по восьми направлениям.
Кроме того, размер сдвигового регистра 12 принят равным восьми двоичным разрядам (фиг. 4). Это обеспечивает возможность задания 2 =256
1170457 . 4 различных вариантов последовательности выполнения микрокоманд в микропрограмме. Если этой величины недостаточно, а также если в ходе выпол- нения микропрограммы требуется изменить содержимое сдвигового регистра
12, то для .таких случаев в устройстве предусмотрена возможность записи новой информации из пол константы микрокоманды, хранящейся в регистре
6 микрокоманды, которая с соответствующего выхода регистра 6 микрокоманды поступает на информационный вход сдвигового регистра 12 через коммутатор !4
В первой выбранной микрокоманде (в рассматриваемом примере) поле управления переходом содержит код
"000 . Наличие первого нуля в поле управления переходом, подаваемого на
1 соответствующий вход шифратора 8, обеспечивает выработку шифратором соответствующего управляющего сигнала, поступающего на вход генератора
9 синхроимпульсов, который вырабатывает синхросигнал, по которому счетчик 3 адреса микрокоманды модифицирует свое значение на "+ !"". .В данном примере в нем установится значение
"02" (шестнадцатиричное). По соответствующему синхросигналу микроко манда, прочитанная из памяти 5 микрокоманд, будет вновь принята в регистр
6 микрокоманд и передана на дальнейшее выполнение.
Если в микрокоманде в поле управления переходом старший разряц содержит "1", то шифратор 8 вырабатывает сигнал управления генератором 9 синхроимпульсов, по которому последний, в свою очередь, вырабатывает синхросигнал, по которому счетчик 3» адреса микрокоманд принимает адрес следующей микрокоманды с выхода мультиплексора 4. В рассматриваемом примере после того, как в регистре 6 микрокоманды будет принята микрокоманда, имеющая адрес "03", адрес следующей микрокоманды будет формироваться следующим образом (фиг.3-5)
Уровень "i в старшем разряде поля управления переходом, поступая на вход шифратора 8, обеспечива". ет прием следующего адреса в счетчик адреса микрокоманды с выхода мультиплексора 4 (рассматриваются только безусловные переходы и переходы по коду операции). Кроме того, на соот11704.57
000 .
ОХХ
000
100
100
101
110
110
55 ветствующем выходе шифратора 8 выра. батывается код, который поступает на управляющий вход мультиплексора
4 и разрешает передачу на выход информации с третьего информационного . входа, т.е. с выхода блока 13 управления следующим адресом. На первый ийформационный вход блока управления следующим адресом поступает код из поля следующего адреса (в данном, случае "04" — фиг. 3,5). Код из поля управления переходом (.110) поступает на управляющий вход блока 13 управления следующим адресом, т.е. на вход шифратора 18, на выходе которого формируются потенциалы в соответствии с табл. 1.
Таблица 1
Вход (выход поля уп- Выход равления переходом)
В соответствии с вырабатываемыми сигналами посредством коммутаторов 18 —
18 (в приведенном примере реализап ° ции п=3 )в информации, поступающей из поля следующего адреса микрокоманды, хранящейся в регистре 6 микрокоманды замещается несколько младших разрядов содержимым младших разрядов сдвигового регистра 12 (при выполнении микрокоманды с адресом
"03" в поле следующего адреса 041 замещается два младших разряда на ,соответствующие разряды сдвигового регистра 12, в регистр адреса микрокоманды поступает соответственно код
00000110 =06„ . Поэтому следующей выполняемой микрокомандой после микрокоманды с адресом "03" при выполнении команды с кодом операции "5Е" будет микрокоманда с адресом 06).
Формирование адреса следующей микрокоманды происходит одновременно с выполнением текущей. Таким образом, при переходах по коду операции (т.е. . в зависимости от содержимого сдвигового регистра 12) не вносится задержек в работу устройства.
Одновременно с чтением микрекоманды по сформированному адресу содержимое сдвигового регистра 12 сдвигается на столько разрядов, сколько было использовано при формировании следую.щего адреса (после выполнения микрокоманды с адресом "03", чтения микрокоманды с адресом "06" и сдвига
1р регистра 12 в последнем окажется новый код, равный 0000 0001).
При работе устройства описанным образом последовательность выполнения микропрограммы команды с кодом операции "5E" будет следующая (указаны только адреса выполняемых .микрокоманд): 01-02-03-06-09-0А-ОО, а, например, для команды с кодом операции ".5F" — 01-02-03-04-ОВ-00
2р (фиг.. 3-5).
Если выполняемая микрокоманда является условным переходом, то признак условного перехода и информация об анализируемых условиях поступает с
25 выхода регистра 6 микрокоманды и подается на соответствующий вход шифратора 8. Управляющий сигнал с третьего выхода шифратора 8 приостанавливает работу генератора 9 синхроим3р пульсон до получения внешних вычисляемых условий с входа 16 устройства.
В зависимости от значения внешних условий и информации об анализируемых условиях шифратор 8 либо вырабатывает код, который поступает на управляющий вход мультиплексора 4 и разрешает передачу на выход информации с третьего информационного входа мультиплексора 4, и управляющий сигнал, по .кото,щ рому генератор 9 синхроимпульсов запускает прием адреса в счетчик 3 адреса микрокоманды с выхода мультиплексора 4 (если условие перехода выполнено), либо вырабатывает управля45 Ьщии сигнал, по которому генератор 9 синхроимпульсов вырабатывает синхросигнал, запускающий модификацию счетчика 3 адреса микрокоманды на
"+1". Разряд регистра 7, значение которого управляет переходами, определяет, по какому значению ("0" или
"1") сигнала внешнего условия осуществляется переход.
Если в регистр 1 команд принята привилегированная команда (т.е. команда, выполняемая только в управля-. ющих программах и недоступная пользователю), то в соответствующий раз1 инф. от 7 от 6
1 упр
Адрес обр. прерыв.
Выб. инф.
Переходы по
Привил.
Тип выбор усл.
2 1 признак привил. коз апвнешперехода рос на ние усл.
2 1 потоковыр. усл. манды
f превып. н.вып. ка блока 4 манда разреш. усл.
00
01 х х
1 0
0 --А — А
01 00
01
01 01 01
01 01
0 --А А—
1 — А --А. х
01 10
01 10
01 11
01 11
01
01
01
0 — А А—
1 — А А—
0 — А — А
А-— А
10 00
10 01
10 01
--А
0 — А А—
10 10 1
10 10 1
01 — 10 11 1
А—
i0 11 1
7 1170 ряд регистра 7 записывается "1". Если на вход 16 устройства поступает признак того, что привилегированная команда разрешена, то шифратор 8 вырабатывает код, разрешающий переда- чу начального адреса микропрограммы с второго выхода памяти 1 начальных адресов через мультиплексор 4 на выход счетчика 3 адреса микрокоманды.
Далее микропрограмма выполняется 10 обычным порядком как описывалось ранее. В противном случае, так. как выполнение привилегированной команды запрещено, шифратор 8 вырабатывает начальный адрес микропрограммы обра- 1 ботки прерывания, который с соответствующего выхода шифратора 8 поступа. ет на второй информационный вход мультиплексора 4, и соответствующий
457 8. код, разрешающий запись этого адреса с выхода мультиплексора 4 в счетчик 6 адреса микрокоманды. Далее идет выполнение микропрограммы обработки прерывания. Выход на микропрограмму обработки перерывания воз. можен также по сигналу внешнего прерывания, который с входа 16 устройст.— ва поступает на соответствующий вход шифратора 8.
Блок 8 может быть реализован любым из известных способов синтеза комбинационных схем по таблице истинности (табл. 2).
В табл. 2 принято четыре типа переходов: 00 — безусловный переход;
01 — условный переход; 10 — не используется; 11 — переход по концу команцы.
1170457
Продолжение табл.2 г упр от 7
1 инф.
Привил, команды
Адрес обр, преPblB ° признак зап- прирос вил. на копре- манда рыв. разреш. ереоды о выр. усл.
ып ° .Вып. сл.
11 00 1
О --А — А
11 00 1
--А
О --А --А
01
01
О!
Π— А А—
01
О
О
О
О О A — --А А
О 1 -А- — А А
О.
1 1 А — --А А
1 О О -А- — А А
1 О 1 -А- --А А
1 1 Π— А — -А А провождается признаком выработки условия. у Признак выработки условия может отсутствовать, если система, в состав которой входит предлагаемое устройство, жестко синхронизирована
Выбор условия обеспечивает выбор любой комбинации из двух внешних условий.
Для примера количество внешних условий принято равным двум, причем выработка внешних условий со11 01
11 . 01
11 10
11 10
11 11
11 11
Выб. инф. потока блока 4
О А-- — А А
1 — А — — А А
1170457!
170457!!70457