Устройство микропрограммного управления
ОПИСАНИЕ
ИЗОБРЕТЕНИЯ
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ
Союз Советских
Социалистических
Республик
< ц942020 (61) Дополнительное к авт. свид-ву (22) Заявлено 2 И080 (21) 32193 93/18-24 с присоединением заявки Йо (и) м.кл.
G Об F 9/22
Государственный комитет
СССР но делам изобретений и открытий (23) Приоритет— (53) УДК 6 81в 32б (088. 8) Опубликовано 07.07.82. Бюллетень Мо 25
Дата опубликования описания 07.0782 (72) Авторы изобретения
A.È. Никитин, Л.С. Зак и Н.М. Маликова (7f) Заявитель (54 ) УСТРОЙСТВО МИКРОПРОГРАММНОГО УПРАВЛБНИЯ
Изобретение относится к вычислительной технике и предназначено для работы в центральном процессоре быстродействующих ЭВМ с уровнями совмещения выполнения команд {и— конечное число уровней совмещения выполнения команд).
Известно устройство мчкропрограммного управления, содержащее группы элементов И, ИЛИ, НЕ, блоки основной памяти микропрограмм. Из блоков основной и дополнительной памяти микропрограмм через элементы И, ИЛИ микртзкоманда выбирается на общий регистр микрокоманд. Увеличение производительности достигается п„ тем совмещенного выполнения последней микрокоманды из последовательности микрокоманд, необходимой для выпол нения системной команды, с обращением к первой микрокоманде последовательности.следующей системной команды (1).
Недостатком такого устройства является то, что оно обеспечивае-,. только двухуровневое совмещение.Это не позволяет достигнуть высокой скорости обработки команд, требуемой в больших вычислительных системах.
Наиболее близким к предлагаемому является устройство микропрограммного управления, предназначенное для работы в составе процессора с тремя уровнями совмещения ксыанд.Это устройство; содержит группы элементов И, ИЛИ, НЕ, блоки основной и дополнительной памяти. микропрограмм, первый и второй регистры адреса, регистры кода операции первой команды и второй команды, регистры основной и дополнительной микрокоманд и узел модификации адреса микрокоманды. Из двух блоков основной и дополнительной памяти микропрог- рамм синхронно выбираются две микро15 команды. Действия, зависящие от кода операции системной команды, управляются основной микрокомандой, а действия, зависящие от такта выполнения команды, управляются микроко20 мандой, выбираемой из дополнительной памяти микропрограмм. Система адресации микрокоманд обеспечивает обращение к основной или дополнительной памяти микропрограмм без потери вре25 мени (2) .
К недостаткам известного устройства относится то, что в дополнительной памяти микропрограмм необходимо для каждого случая выполнения команд (с совмещением выполнения трех
942020 команд, двух команд и без овмещения) иметь свой образ микрокоманды.
Это существенно увеличивает емкость памяти микропрограмм и затрудняет микропрограммирование, По этой причине нецелесообразно использовать та- 5
ircoe устройство в центральном процес.соре с числом уровней совмещения выполнения команд больше трех.
Кроме того, расширение состава выполняемых команд невозможно без 10 увеличения объема памяти микропрограмм, объема оборудования устройства микропрограммного управления и процессора.
Цель изобРетения — уменьшение оборудования и упрощение микропрограммирования для процессора с количеством уровней совмещения больше
)трех.
Поставленная цель достигается тем, что в устройство микропрограммного управления, содержащее .коммутатор адреса микрокоманд, память микропрограмм, память койстант, регистр адреса микрокоманд, регистр микрокоманд, причем первый вход коммутатора адреса .является входом адресных констант процедур устройства, второй и третий входы коммутатора адреса подключены к выходам первой ,и второй секций регистра микрокоманд соответственно, а входы первой и второй секций регистра микрокоманд соединены соответственно с выходами первой и второй секций памяти микропрограмм, входы которых подключены 35 соответственно к выходам первой и второй секций регистра адреса микрокоманд, входы которых соединены со-. ответственно с первым и вторым выходами коммутатора адреса, введены 40 блок приоритета, шифратор адреса первой микрокоманды, 3,4... n секции регистра адреса микрокоманд,3,4...n секции памяти микрокоманд, 3,4,...ll секции регистра микрокоманд, причем 45 входы блока приоритета являются входами запросов процедур устройства, а выход блока приоритета соединен с четвертым входом коммутатора адреса, пятый вход которого подключен к выходу шифратора адреса первой микрокоманды, шестой вход — к выходу первой секции памяти констант, входы и секций которой соединены с группой и входов кода операции устройства, а вход первой секции подключен к входу шифратора, выходы памяти констант являются выходами констант устройства, 3,4,...п выходы коммутатора подключены соответственно к входам 3,4,... и секций регистра ад- 60 реса микрокоманд, выходы которых соединены соответственно с входами
3,4,... ь секций памяти микропрограмм, выходы которых подключены соответственно к входам 3,4.;.,flсекций ре- 65 гистра микрокоманд, выходы которого подключены соответственно к группе входов коммутатора и являются выходами микрокоманд устройства.
На фиг.l представлена блок-схема предлагаемого устройства; на фиг.2— состав микрокоманды.
Устройство состоит из памяти 1 констант, блока 2 приоритета, шифратора 3 адреса первой микрокоманды, коммутатора 4 адреса микрокоманд, регистра 5 адресов микрокоманд, памяти б микропрограмм, регистра 7 микрокоманд, входов 8 запросов процедур устройства, входов 9 адресных констант процедур, входов 10 кодов операций.
Устройство предназначено для обработки команд типа принятых в ЕС
3ВМ, процедур восстановления по контролю, обработки прерываний,таймерной и пультовых операций.
Рассмотрим работу предлагаемого устройства, ограничившись четырьмя уровнями совмещения команд, на примере выполнения команды формата РХ.
Команда формата РХ (например, сложение с фиксированной точкой) вЫполняется в процессоре за восемь машинных тактов (каждый из которых выполняется на определенном уровне совмещения):
T0 — такт работы блока 2 приоритета обслуживания запросов на выполнение в процессоре процедур восстановления по контролю, обработки прерывания, пультовой (сервисной) операции, таймерной операции или команды.
Tl — такт выборки команды из буфера командных слов и расшифровки команды.
Т2 — такт модификации адреса. В этом такте модифицируется адрес обращения в главную память. Разновид ностей действий, выполняемых в этом такте — четыре. Эти четыре типа действий инициируются схемными приказами, полученныМи на основании кода операции команды на шифраторе
3 адреса первой микрокоманды в такте .Tl, T3 — такт трансляции адреса. В такте ТЗ производится преобразование логического адреса в абсолютный, если задан режим переадресации и выдается запрос в буферную (главную) память.
Т4 " такт работы буферной памяти.
Т5 " такт получения операндов из буферной (главной) памяти и из локальной памяти процессора и передачи их в операционное устройство.
T6 — такт работы операционного устройства..
Т7 — такт записи результата операции в местную память процессора.
942020
Допустим, что такты ТО, Tl выпол-, няются на нулевом уровне Т2 и ТЗ
7 на первом уровне, Т4 и Т5 - на втором уровне, Тб и Т7 — на третьем уровне совмещения выполнения команд.
Микрооперации тактов ТО, Т1 уп- 5 равляются схемно, все остальные микропрограммно. Соответственно количеству уровней, управляемых микропрограммно, память 1 констант, регистр 5 адресов микрокоманд, память б микропрограмм и регистр 7 микрокоманд разбиты на такое же количество секций.
Микрокоманды, управляющие действиями каждая на своем уровне, помещаются в соответствующую секцию регистра 7 микрокоманд. Все микрокоманды состоят иэ поля исполнительной части (фиг.2). На каждом иэ уровней работают разные единицы оборудования процессора, что позволяет не дублиро-20 вать исполнительные поля микрокоманд разных уровней,. Исключение составляет лишь поле управления локальной памятью процессора, обращение к которой возможно на каждом из уров- 2 ней в различных полутактах. Конфликты по обращению в локальную память разрешаются схемно в тактах Т0 .и Tl.
В совмещенном режиме выполнения команд на уровнях выполняются одновре- 30 менно четыре команды. Боли для выполнения какой-либо команды требуется больше восьми тактов, то в такте Т2. этой команды устанавливается блокировка входа приоритет- 35 ной схемы 2 в коммутатор адресов микрокоманд, и оборудование процессора монополиэируется данной командой. Блокировка снимается одной иэ микрокоманд данной команды, после 40 чего восстанавливается совмещенное выполнение команд.
Формирование адреса каждой следующей микрокоманды делается одним из трех способов: при помощи безус- 45 ловного перехода; при помощи условного перехода и при помощи перехода по регистру.
При безусловном переходе адрес следующей микрокоманды находится в поле 14 слова микрокоманды (фиг.2) .
При условном переходе адрес следующей микрокоманды формируется из содержимого поля 14 (фиг.2) и условия перехода, приведенного к состоянию разрядов регистра 5 адреса Ы микрокоманды, При переходах по регистру адрес следующей микрокоманды либо находится на некотором регистре (безусловный переход по регистру), либо 60 формируется из содержимого такого регистра и условия перехода (условный переход по регистру) .
Номер секции памяти б микропрограмм< к которой нужно обратиться 65 за следующей микрокомандой, помещается в поле 12 (фиг.2),микрокоманды..
Это же поле осуществляет управление передвижением командной информации ! с уровня на уровень. наличие условного перехода и перехода по регистру идентифицируется полем 13 (фиг.2).
Содержимое полей 12, 13 и 14 микрокоманды поступает в коммутатор 4 адресов микрокоманд. Обращение в первую секцию памяти б микропрограмм эа первой микрокомандой начинается в такте Т2. Весь состав команд по количеству различных тактов ТЗ разбит на шестнадцать групп. Поскольку в такте ТЗ выполняется первая микрокоманда каждой команды, то все первые микрокоманды всех команд сведены в памяти б микропрограмм в отдельную зону иэ шестнадцати слОв, адрес которой фиксирован, а четырехраэрядный адрес внутри эоны формируется схемно на шифраторе 3 адреса в такте Т2 на основании кода операции первого уровня, поступающего по линиям кодов операций 10. По этому же коду операции происходит обращение в первую секцию памяти 1 констант эа адресной константой следующей микрокоманды.
В памяти 1 констант хранятся признаки, зависящие от кодов операций вы- . полняемых команд и необходимые при их выполнении, например признак привилегированности выполняемой команды, длины операндов, признак выполнения команд в несовмещенном режиме и т.д. Обращение к секциям памяти 1 констант происходит по коду операции команды соответствующего уровня.
В такте ТЗ одновременно с выполнением первой микрокоманды производится выборка второй микрокоманды по. адресу, сформированному на входе памяти 1 констант. Последующие микрокоманды выбираются по адресам формируемым одним иэ указанных выше способов.
Выработка первых микрокоманд обработки таких процедур, как прерывание, пультовые и таймерные операции, восстановление ио контролю происходит при помощи перехода по регистру к адресным константам первых микрокоманд, формируемьж в узлах процессора и поступающим по входным линиям
9 адресных констант процедур в коммутатор 4 адресов микрокоманд под управлением сигналов, выработанных блоком 2 приоритета на основании запросов, поступающих по линиям 8 входов запросов устройства.
При организации переходов с уровня на уровень при совмещенном выполнении команд, руководствуясь. принципом концептуальности выпол" нения команд, разрешаются следующие переходы: с каждого из уровней на
942020
) )
Я=а 9, ) {3)
1=1
Для системы команд EC ЭВМ и количества микропрограькно управляемых уровней совмещения паа3 численные соотношения между 2ие +a Чсопэ и Я примерно следующие: следующий, предыдущий, на тот же самый и на первый. В частных случаяХ не все возможные переходы необходимы.
Например, для случая n = 4 оказывается необязательным переход с третьего на второй уровень. В общем случае 5 нет необходимости память б микропрограмм делить на равные по объему секции. В рассматриваемом случае
)i= 4, например, первая секция микропрограмм вдвое больше второй и треть-)0 ей секций. Это относится и к памяти
1 констант и к регистру 7 микрокоманд и к регистру 5 адресов микрокоманд.
Такйм образом, предлагаемое тех ническое решение обеспечивает существенное сокращение требуемого объема памяти микропрограмм по сравнению с прототипом. В снязи с тем, что при разделении памяти микропрограмм на секции, каждая из которых управляет дей твиями, выполняемыми на определенном уровне, исчезает необходимость в дублировании упранляющих полей в микрокомандах и количест- 5 ва самих микрокоманд в зависимости от возможных вариантов совмещений в ныполнении операций.
Произведем количественную оценку уменьшения объема памяти микропрограмм н сравниваемых вариантах.
Представим весь объем требуемой памяти микропрограмм (V) в виде суммы двух составляющих: части памяти микропрограмм (Ч,„се,.)е управляющей совмещаемыми действиями н процес- 35 соре, объем которой зависит от организации устройства.)якропрограммного управления и количества уронней совмещения, и части памяти микропрограмм (Vco»q ), которая управляет 40 несовмещаемыми действиями и не зависит ст количества уровней и структуры устройства микропрограммного управления °
V = Ч va)- + VCo st 45
Длину одной микрокоманды условно .представим в виде и + с (2) где Хи- суммарная длина полей,определяющих выполняемые по дан- 50 ной микрокоманде дейстния в узлах процессора (исполнительная часть), величина Хи зависит от организации памяти микРопРограмм и количества уровней совмещения (n), управляемых микропрограммно;
2,)(— суммарная длина полей, составляющих, в основном, адресную часть микрокоманды,независящая от варианта структу- 60 ры памяти микропрограмм и уровней совмещения.
При сравнении двух вариантов организации,устройства микропрограммного управления (1 — предлагаемое тех- 65 ническое решение, 2 - (21) по требуемому объему памяти микропрограмм исходим из следующих предположений: а) в обсих нариантах микропрограммно управляются одни и те же действия процессора, как совмещаемые,так несовмещаемые, причем Ч )„э =Чсо„э = (1 ) (1)
=ЧсопМ
6) количество функционально различных микрокоманд, определяющих работу всех узлов процессора, одно и то же (для заданного n) независимо от того, является ли память микропрограмм секционированной по уронням совмещений или нет, и составляет где q — количество микрокоманд, выполняемых на i-ом уровне; в) длина адресной части микрокоманд одинакова для обоих вариантов (4)
r) поскольку Q =const длина исполнительной части микрокоманд всех уровней для первого. варианта, то (считая что все 2< )равны)
7 .Ие д) поскольку во втором нарианте
)в зависимости QT возможных типов совмещенного выполнения операций (О,l.....n одновременно выполняемых команд) для каждого иэ типов должен быть предусмотрен собственный образ микрокоманды для каждого иэ действий, общее количество микрокоманд для второго варианта равно: пф"{= nQ. (6)
Отсюда
V())= Чсопв + Q(2и + 2 ) (7)
Ч(= Чсо„ + ng(n2q + Zg) (8) „() V „scca)ac„. a) Q цпе-п)Е„.(п-c)Ea)
Е)п= й,„,е.а(Ц еп) Ч,; еп a) и: 1С) = 3:, 5 (10)
Чс э ) ®и + ) (1l)
Подставляя в (9) n=3, а также соотношения (10) и (11) получаем
Ч(1) — — 3,125 (12)
Предлагаемое техническое решение является также универсальной структурой (т.е. независимой от числа совмещаемых команд), способной к расширению состава выполняемых команд
942020,, 10 (например, при введении в систему спецпроцессоров), что достигается наличием памяти 1 констант. В предлагаемом решении облегчено микропрограммирование из-за отсутствия необходимости учитывать в микропрог- 5 раммах вариантов выполнения команд .с совмещениями и без них.
К эоме того, секционированность памяти микропрограмм позволяет при увеличении числа уровней совмещения и состава выполняемых команд не увеличивать существенно время выборки микрокоманды из памяти микропрограмм, что в конечном счете является важным параметром при опреде- )5 ленни работы процессора.
10 формула изобретения
Устройство для микропрогравеаного
20 управления, содержащее коммутатор адреса микрокоманд, память микропрограмм, память констант, регистр адреса микрокоманд, регистр микрокоманд, причем первый вход коммутатора адреса является входом адреснщс констант процедур устройства, второй и третий входы ковжутатора адреса подключены к выходам первой и второй секций регистра микрокоманд соответственно, à входы первой и второй секциЯ регистра микрокоманд соединены соответственно с Ры» ходами первой и второй секций памяти микропрограмм, входы которых под- . З ключены ссответственно к высодам первой и второй секций регистра адреса микрокоманд, входы которыс соединены соответственно с первнч и вторым выходами коммутатора адреса, о т л и-40,ч а ю щ е е с я тем, что, с целью уменьШения оборудования и увеличения
:уровней совмещения больше трех, оно содержит блок приоритета, вшфратор адреса первой микрокоманды, 3,4, ° . п секции регистра адреса микрокоманд, 3,4,. °,и секции памяти микрокоманд, 3,4,.;.„n секции регистра микрокоманд, йричем входы. блока приоритета являются входами запросов процедур устройства, а выход блока приоритета соединен .с четвертым входом коыяутатора адреса, пятый вход которОго подключен к выходу шифратора адреса первой микрокоманды, шестой вход — к выходу первой секции памяти констант, входы и секций которой соединены с группой и входов кода Операции устройства, а вход первой секции подключен к входу шиф-ратора, выходы памяти констант являются выходами констант устройства
3,4,... и выходы коммутатора подклю-чены соответственно к входам 3,4..., n секций регистра адреса мнкрокоманд, выходы которых соединены соответственно с входами 3,4,... я секций памяти микропрограмм, выходы которых подключены соответственно к входам
3>4,....n секций регистра микрокомаид, выходы которого подключены соответственно к группе входов коммутатора и являются выходами микро команд устройства.
ИстОчники информации, принятые во внимание при экспертизе
1. Патент CItR Р 3800293, кл. 340-172,5, опублик . 1974.
2. Авторское свидетельсдво СССР
В 561964 кл G 06 F 9/22, 1977 (црототип) .
Сост ави тель Л; Логачева
Редактор Л. Филь Техред Е, Кастелевич Ко екто У. Пономаренко рр р
Заказ 4841/39 Тираж 731 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб., д. 4/5
Фи тиал ППП Патент "., r. Ужгород, ул. Проектная, 4