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

Иллюстрации

Показать все

Реферат

 

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

10 А1

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

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

РЕСПУБЛИК (19) (11) (51) 4 С 06 F 9/22

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

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

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

r1PH ГКНТ СССР

К ABTOPCHOMY СВИДЕТЕЛЬСТВУ (21) 3975675/24-24 (22) 14.11.85 (46) 07.04.89. Бюл. N - 13 (72) В.С. Харченко, Г.Н. Тимонькин, В.П. Улитенко, С.Н. Ткаченко, K.N). Воробьев и Б.О. Сперанский (53) 681.3(088.8) (56) Электронная промышленность, 1978, N- 6,,с. 49-54 °

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

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

УПРАВЛЕНИЯ, содержащее блок памяти микрокоманд, регистр адреса, коммутатор адреса, мультиплексор логических условий, первый и второй элементы И, элемент ИЛИ, группу блоков конвейерного управления, каждый из которых содержит блок памяти микрокоманд, регистр адреса, коммутатор адреса, мультиплексор логических условий, элемент ИЛИ, причем вход логических условий устройства и выход поля логических условий блока памяти микрокоманд соединены соответственно с информационным и управляющим входами мультиплексора логических условий, выход которого соединен с первым входом элемента ИЛИ, с первого по (М-1)й- выходы поля немодифицируемых разрядов адреса блока памяти микрокоманд (где М вЂ” разрядность адреса микрокоманд) соединены с первого по (M-1)-й вход первой группы информационных входов коммутатора адреса, выход поля модифицируемого разряда адреса блока памяти микрокоманд соединен с вторым входом элемента ИЛИ, выход которого соединен с М-м входом первой группы информационных входов коммутатора адреса, группа входов кода команды устройства соединена соответственно с входами второй группы информационных входов коммутатора адреса, выход которого соединен с информационным входом регистра адреса, выход которого соединен с адресным входом блока памяти микрокоманд, группа входов логических условий устройства соединена с входами логических условий блоков конвейерного управления группы, выходы микроопераций которых соединены с выходами микроопераций устройства, выходы признака конца команды блоков конвейерного управления группы соединены с группой входов первого элемента И, отличающееся тем, что, с целью повышения быстродеиствия, () в него введены группа триггеров, первая и вторая группы элементов И, пер- С вая и вторая группы элементов П-НЕ, группа одновибраторов, блок синхронизации, содержащий триггер пуска и

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

ИЛИ j-ro блока конвейерного управления, выход которого соединен с К-м входом первой группы информационных входов коммутатора адреса j-ro блока конвейерного управления (где К вЂ” разрядность адреса микрокоманд), выход поля модифицируемого разряда адреса блока памяти микрокоманд j-го блока конвейерного управления соединен с вторым входом элемента ИЛИ j-го блока конвейерного управления, с первого по (К-1)-й выходы поля немодифицируемых разрядов адреса блока памяти микрокоманд j-ro блока конвейерного управления соединены с первого по (К-1) -й вход первой группы информационных входов коммутатора адреса

j-го блока конвейерного управления и с информационными входами регистра кода команды j-го блока конвейерного управления, выход поля микроопераций блока памяти микрокоманд,J го блока конвейерного управления соединен с информационным входом регистра микроопераций J-го блока конвейерного управления, выходы признака конца команды и микроопераций которого соединены соответственно с управляющими входами коммутатора адреса j-го блока конвейерного управления и с выходом микроопераций j-ro блока конвейерного управления, выход поля признака разрешения записи блока памяти микрокоманд j-ro блока конвейерного управления соединен с входом разрешения записи регистра кода команды j-ro блока конвейерного управления, выход которого соединен с выходом кода команды j-ro блока кон,вейерного управления, вход кода команды j-го блока конвейерного управления соединен с второй группой информационных входов коммутатора адреса j-ro блока конвейерного управления, выход поля адреса команды блока памяти микрокоманд соединен с входом кода команды первого блока конвейерного управления группы, второй выход генератора тактовых им1190 пульсов блока синхронизации соединен с первым прямым входом второго элемента И и первыми входами элемента И второй группы, выход 1-ro элемента

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

j-ro триггера группы, выход признака кода работы первого блока конвейерного управления группы соединен с инверсным входом второго элемента И, выход кода команды i-ro блока конвейерного управления (i = 1, N-1) соединен с входом кода команды (i+1)-ro блока конвейерного управления, вход пуска устройства соединен с входом установки в единицу первого триггера группы, выход J-Fo триггера группы соединен с вторыми входами 1-ro элемента И первой и второй групп, выход признака кода команды

i-ro блока конвейерного управления соединен с i-ми входами элементов

И-НЕ первой группы, первым входом

i-ro элемента И-НЕ второй группы и х-м одновибратором группы, выход которого соединен с входом установки в единицу (i+1)-го триггера группы, выход признака конца команды

N-го блока конвейерного управления группы соединен с N-м входом каждого элемента И-НЕ первой группы и первым входом N-го элемента второй группы, выход j-ro элемента И-НЕ первой группы соединен с вторым входом j-го элемента И-НЕ второй группы, выход которого соединен с третьими входами

j-х элементов И первой и второй групп, выход признака конца работы

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

1471190

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

1(ель изобретения — повышение быст5 родействия микропрограммного устройства управления.

На фиг. 1 приведена функциональная схема предлагаемого микропрограм- 10 много устройства управления; на фиг. 2 — функциональная схема блока конвейерного управления (БКУ); на фиг. 3 — блок синхронизации; на фиг. 4 — временная диаграмма функцио- 15 нирования микропрограммного устройства управления; на фиг. 5 и 6 — временные диаграммы работы микропрограммного устройства управления.

Микропрограммное устройство управления содержит блок 1 памяти микрокоманд,(ПЗУ), регистр 2 адреса, коммутатор 3 адреса, мультиплексор 4 логических условий, элемент ИЛИ 5, д5 второй элемент И 6, блок 7 синхрони.зации, первый элемент И 8, группу блоков 9.1, 9.2, ..., 9N конвейерного управления, группу триггеров 10.1, 10.2, ..., 10.N, первую. группу элемен- 30 тов И-НЕ 11.1, 11.2, ..., 11.N вторую группу элементов И-HE 12 ° 1, 12.2, 12.N, первую 13.1, 13.2, 13.N ивторую 14.1, 14.2, ° ° °, 14.N группы элементов И, группу одновибраторов 15.1, °... 15.N, входы кода . 35 команды 16, логических условий 17 и пуска 18 устройства, второй 19 и первый 20 выходы блока синхронизации. !

Кроме того, позициями 21.1, 21.2, ..., 21.N обозначены группы входов логических условий, 22.1, 22.2, ..., 22.N и 23.1., 23.2, 23.(N-1) обозначены группы микрооперационных и кода команды выходов БКУ соответственно, позициями 24.1, 24.2, ..., 24.N и 25 ° 1., 25.2., 25.N обозначены выходы микроопераций

"Коне работы" и "Конец команды" соответственно, а позицией 26 — выход элемента И 8 °

На фиг. 2 представлены следующие элементы: блок 27.R памяти микрокоманд, регистр 28.R адреса, коммутатор 29.R адреса, мультиплексор 30.R

55 логических условий, элемент И 31.R, регистр 32.R микроопераций, регистр

33.R кода команды.

На фиг. 3 обозначены триггер 34 пуска и генератор 35 тактовых импульсов соответственно.

На фиг . 4 использованы следующие обозначения: А. — команды, выполня) емые j-м БКУ. {где j — номер БКУ, номер выполняемой команды); < „— такт работы БКУ (где k — количество

1 команд в реализуемой программе).

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

Предлагаемое устройство можно разделить на два уровня управления; первый, содержащий ПЗУ1: регистр 2 адреса, коммутатор 3 адреса, мультиплексор 4 и элемент И 5, и второй; содержащий БКУ 9.1-9.N и элементы, управляющие нх работой.

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

32 блоков 9.1-9.N которые формируют единичные сигналы на выходах 25.125.N. В результате на выходе 26 элемента И 8 присутствует единичный сигнал. На выходе конца команды блока 1 присутствует нулевой сигнал (по нулевому адресу в ПЗУ 1 записан нулевой код), открывающий коммутатор 3 по входу 16;

По сигналу запуска, поступающему на вход 18 устройства, блок 7 синхронизации начинает генерировать последовательность импульсов.

Первыи уровень управления функционирует только в случае, если во втором уровне все БКУ завершили выполнение команд, о чем свидетельствуют микрокоманды "Конец команды" на их выходах 25. t 25.2, ..., 25 .N. В этом случае по первому тактовому импульсу с выхода 19 блока 7 синхронизации, поступающему на синхровход регистра

2 адреса через элемент И 6, в регистр

2 адреса считывается адрес очередной команды, которая выбирается по нему из ПЗУ 1.

Адрес очередной команды поступает с адресного выхода ПЗУ 1 на первый информационный вход коммутатора 3 адреса, на управляющий вход которого поступает единичный сигнал. Коммутатор 3 в очередном такте пропускает на вход регистра 2 адреса адрес очередной команды, записанный в формате

ПЗУ 1, или код операции с входа 16.

Проверка логических условий происходит следующим образом.

1471190

На вход 17 мультиплексора 4 поступает код значений логических условий. На другой вход мультиплексора поступает код номера проверяемого

5 логического условия с выхода поля логических условий ПЗУ 1. На выходе мультиплексора 4 появляется сигнал, соответствующий значению проверяемо- го логического условия. Этот сигнал 10 поступает на вход элемента ИЛИ 5, на второй вход которого поступает сигнал "0" модифицируемого разряда адреса микрокоманды, записанный в формате микрокоманды ветвления. На выходе элемента ИЛИ 5 образуется сигнал, соответствующий значению логических условий, поступающий в качестве младшего разряда адреса на вход коммутатора 3 адреса. На этом работа первого уровня управления завершается.

По импульсу запуска триггер 10.1 переводится в положение "1" и разблокирует элементы И 13. 1 и 14. 1. Ifo второму тактовому импульсу, поступающему с выхода 20 устройства синхронизации через элемент И 13.1 на вход синхронизации регистра 28.1 первого

БКУ, в регистр 28 через коммутатор

29.1 адреса считывается код команды с выхода кода команды ПЗУ 1 первого уровня управления. Считанный код команды является адресом первой микрокоманды, реализуемой первым БКУ. Ее операционная часть по первому тактовому импульсу заносится в регистр

30.1 микроопераций, адрес очередной микрокоманды через коммутатор 29.1 по второму тактовому импульсу заносится в регистр 28.1 и по очередному тактовому импульсу работа БКУ продолжается аналогично описанной.

Проверка логических условий в

БКУ ничем не отличается от аналогич- 45 ной операции на первом уровне управления.

В формате микрокоманды БКУ, содержащей микрооперацию "Конец команды", содержится метка Nl обеспечивающая запись адресной части микрокоманды в буферный регистр 32.К. Этот адрес

2 представляет собой код операции А,, выполняющейся БКУ команды.

Сигнал микрооперации "Конец команды" с выхода 25 разблокирует второй

55 вход коммутатора 29 адреса, поступает на вход одновибратора 15.1, формирующего импульс записи второго

БКУ, а также на вход элемента И 8 и блокирует прохождение второго тактового импульса через элемент И 6.

При этом элементом И 8 выполняется функция F = m тп, . °, тп„, причем

m = m = ... = m = 1 следователь2 М но, F = 1. Этот сигнал разблокирует элемент И 6, разрешая тем самым по очередному первому тактовому импульсу работу первого уровня управления. На этом завершается первый такт работы. По импульсу запуска с выхода одновибратора 15.1 триггер

10.2 устанавливается в единичное состояние, разрешая работу второго

БКУ 2. Таким образом, начинается второй такт работы. При этом в пер-!

;вам БКУ считывается код операции А, а во втором БКУ вЂ” А .

Работа устройства продолжается по описанному алгоритму.

При этом в каждом такте К-й БКУ работает по коду операции

К

А„ где К вЂ” номер БКУ; — номер такта ра.боты.

Работа системы прекращается по сигналам микроопераций "Конец работы", обнуляющим триггеры 10.1, 10.2, ..., 10,N последовательно по тактам работы. Сигнал "Конец работы" с выхода 24.1 блокирует также элемент

И 6, а с выхода 24.N абнуляет триггер 36 запуска, тем самым прекращая генерацию импульсов генератором 37.

По импульсу запуска, поступающему на вход 18, работа устройства возобновляется.

Функционирование МПУС можно разбить на три стадии: первая стадия— это стадия втягивания, когда последовательно (фиг. 5) диаграммы БКУ включаются в работу. Причем в каждом последующем такте число работающих БКУ увеличивается на один. Отсюда видно, что стадия втягивания длится ровно N-1 такт для случая, когда количество команд в программе устройства превышает количество обслуживаемых ею каналов, т.е. количество БКУ

Твт„г = Я-1(такт), если К > И, где К вЂ” количество команд в выполня емой программе;

N — - количество БКУ.

5 147

За фазой втягивания (входа) следует основная фаза работы, в которой функционируют все N БКУ.

Для случая устройства, состоящего из трех БКУ, можно сказать, что эта фаза согласно графика, изображенного на фиг. 4, длится с третьего по (К-2)-й такт, т.е. .Т,„= К-2 (N-1) .

Выполнение программы устройства завершается фазой выхода (фиг. 4, такты К-1 и К) .

При этом в каждом такте один из

БКУ завершает работу, о чем свидетельствует сигнал микрооперации

"Конец работы", появляющейся на выходе 24.i БКУ 9 (фиг. 6). По завершении -ro такта работы все N БКУ находятся в ждущем режиме. При:необходимости реализовать очередную программу работа устройства повторяется.

В случае, когда N ) К, т.е. когда каналов конвейерного управления больше, чем реализуемых в программе ко чанд, основная фаза в чистом виде практически отсутствует. А вместо нее одновременно идут процессы втягивания и выхода БКУ из функционирования.

Таким образом, в каждс м такте сохраняется одно и то же число работающих БКУ. Но из работы в каждом такте будет выбывать по одному БКУ, а нм на смену будет приходить i-й

БКУ, где i — номер такта работы.

Рассмотрим случай, когда время выполнения команд в одном такте для всех БКУ различно. Например, в третьем такте (фиг. 4 и 5). В этом случае устройство функционирует следующим образом. По окончании выполнения команды первым БКУ на выходе

25.1 появится сигнал "Конец команды".

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

2ц сигнал "Конец команды", на выходе

25.3 устройство перейдет к очередному такту работы. При этом разблокируются синхровходы всех БКУ и первого уровня управления, после чего работа устройства повторяется.

1471190

31И

25.

Лст2

ЛС» 32

ЛСт

3. Л3.2

ЛСт2Л.2

Rtm B

ЛСт И3

Яст 32.

Л(т 33

zs.ç

Фиг. S

than

Лс

Лст

Яст

Лст

Лст

Фиа б

Составитель .Клюев

Редактор А. Шандор Техред Л.Олийнык Корректор M. Самборская

Заказ 1609/50 Тираж 667 Подписное

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

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

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