Процессор с динамическим микро-программным управлением
Иллюстрации
Показать всеРеферат
ОПИСАНИЕ
ИЗОБРЕТЕНИЯ
Союз Советских
Социалистических
Республик (щ849223
К. АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (64) Дополнительное к авт. свид-ву (22) 3аявлено,221pg9 (QI ) 2834705/18-24 (51)М. Кл с присоединением заявки ¹ (23) Приоритет—
G 06 Р 15/20
G F 9/22
Государственный комитет.
СССР ло делам изобретений и открытий
Опубликовано 230781. Бюллетень № 27 (53) УДК 681.325 (088.8) Дата опубликования описания 230781 (54) ПРОЦЕССОР С ДИНАМИЧЕСКИМ МИКРОПРОГРАММНЫМ
JJIIPABJIEHHEN
Изобретение относится к цифровой вычислительной технике и может быть использовано при проектировании процессоров быстродействующих эмулируемых вычислительных систем с микропрограммным управлением.
Известен процессор с микропрограммным управлением, содержащий операционный блок, блок данных, регистр коьуанд и регистр адреса (1).
Недостаток процессора — недостаточная гибкость и универсальность, обусловленная статическим микропрог- раммированием.
Известен также процессор с динамическим микропрограммным управлением, содержащий регистр команд, операционный блок и блок управления (2) .
Недостаток этого процессора заключается в низком быстродействии.
Наиболее близким к предлагаемому по технической сущности является процессор, содержащий регистры команд и адреса, операционный блок, узел ветвления, генератор импульсов и узел пуска-останова И
Недостатком известного процессо" ра является низкое быстродействие.
Цель изобретения — повышение быстродействия процессора.
Поставленная. цель достигается тем, что в процессор, содержащий регистр команд, регистр. адреса, операционный блок, блок ветвления, генератор импульсов, элемент И, командный вход процессора соединен с информационным входом регистра
О команд, первый разрядный выход которого соединен с первым информационным входом регистра адреса, выход которого является выходом адреса процессора, вход операндов процессора соединен с первым информационным входом операционного блока, первый информационный выход которого соединен с-первым входом блока ветвления, выход генератора импульсов соединен с первым входом элемента И, второй вход которого является первым управляющим входом процессбра, вход адреса процессора соединен с вторым информационным входом регистра адреса, второй информационный выход операционного блоКа является выходом операндов процессора, введены блоки элементов И, элемент ИИЛИ, элемент задержки, сумматоры, дешифраторы, выход элемента И сое849223 динен с первым управляющим входом первого сумматора, второй управляющий вход которого соединен с выходом элемента задержки и первым управляющим входом второго сумматора, выход первого сумматора соединен с вторым входом блока ветвления и входом первого дешифратора, группа выходов которого соединена с первой группой входов блоков элементов И, с первого до п-го, и соединена с первой группой входов элемента И-ИЛИ вторая группа входов которого соеди.нена с первой группой разрядных выходов регистра команд, вторая группа разрядных выходов которого соединена с второй группой входов блоков элементов И, с первого до п-го,выходы которых соединены с входом микрокоманд бперационного блока и выходом микроопераций процессора, выход элемента И-ИЛИ соединен с вторым управляющим входом второго сумматора, выход которого соединен с входом второго дешифратора, группа выходов которого соединена с первой группой входов блока элементов И, с (n-1)-го до m-го, вторая группа входов которого соединена с третьей группой разрядных выходов регистра команд, выходы блоков элементов И, с (n+1)-го до в-го,соединены с третьим входом блока ветвления, четвертый вход которого соединен с вторым разрядным выходом регистра команд,первый выход блока ветвления соединен с первым входом (п+щ+1)"го блока элементов И, выход которого соединен с третьим информационным входом регистра адреса, второй вход (n+m+
+1)-ro блока элементов И соединен с входом элемента задержки и выходом и-го блока элементов И,второй выход блока ветвления соединен с третьим управляющим входом первого сумматора, третий управляющий вход второго сумматора соединен с третьим входом блока ветвления.
Кроме того, блок ветвления содержит элементы И, ИЛИ и шифратор, выходы которого являются выходами блока, первый вход которого соединен с первым входом шифратора, второй вход которого соединен с вторым входом блока, третий вход которого соединен с входами элементов ИЛИ, выходы которых соединены с третьим входом шифратора, четвертый вход блока соединен с вторыми входами элементов И.
На фиг.1 приведена структурная схема процессорау на фиг.2 - структурная схема узла ветвления.
Процессор содержит вход 1 команд процессорау регистр 2 команд с полем 3 адреса следующей команды, полем 4 кода признака микропрограммы и полем 5 кода микропрограммы, состоящей из полей 6„ -6„ кодов микрокоманд, полей 7„ -7„ меток и полей
8 -8„; бла. ки элементов 9„ -,9„ И; элемент 10 ИИЛИ; элемент 11 задержкиу выход 12 процессора; вход 13 операндов процессора; операционный блок 14,вторые сумматор 15 и дешифратор 16; выход
17 операндов процессора, блоки элементов 18 -18„, И, блок 19 ветвления с первым 20, вторым 21 и третьим 22 выходами; блок элементов 23 Иувход
24 адреса процессорау регистр 25 .адреса, выход 26 адреса процессора; генератор 27 импульсов; вход 28 управления процессора; элемент 29 И, первые сумматор 30 и дешифратор 31;
15 выходы 32, -32„ второго дешифратора и первые входы 33, -33„„ блоков элементов 18„ -18„,Й элементов, Блок 19 ветвления (фиг.2) содер жит элементы ИЛИ 34 -34., элементы
g() И 35 -35 и шифратор 36.
Процессор работает следующим образом.
В исходном состоянии все элементы памяти процессора обнулены. На вход
24 из оперативной памяти поступает начальный адрес, который затем из регистра 25 адреса передается на выход 26. По этому адресу из оперативной памяти считывается код первой ко3О манды микропрограммы, который через вход 1 записывается в регистр 2 команд. В поле 3 записывается адрес очередной команды, который затем передается в регистр 25, в поле 4 код признака микропрограммы, а в поле 5 - собственно микропрограмма, состоящая из кода микрокоманд (поля
6„ -6„), кода меток (поля 7„ -7„ ) и кода логических условий (поля 8 -8,„) .
Одновременно на .вход 13 из оператив40 ной памяти могут поступать исходные операнды, над которыми производятся вычисления в операционном блоке 14.
После поступления на вход 28 разрешающего сигнала первый тактовый
45 импульс от генератора 27 проходит в сумматор 30. В результате возбуждается первый выход 32 дешифратора 31 и открывает первый блок элементов И.
Микрокоманда, записанная в поле 6, поступает в операционный блок 14, определяя порядок его работы.
Одновременно сигнал с шины 32 поступает на вход соответствующей группы входом элемента 10 И-ИЛИ,раразрешая прохождение информации с поля 71 в сумматор 15. Если после первой микрокоманды должны быть проверены логические условия, в поле 71 записывается единица, которая проходит в сумматор 15.
60 Дешифратор 16 открывает блок элементов 18 И, и код логических условий, хранимый в поле 8„ регистра 2, по шине 33 постуцает в блок 19, кото. рый осуществляет проверку значений
65 требуемых логических условий, которые
849223 подаются из операционного блока, и формирует на выходах 21 и 22 коды, определяющие соответственно микрокоманду, к которой должен быть осуществлен переход,и очередные проверяемые логические условия. Причем код, записываемый в сумматор 30,дополняет его содержимое до величины К-1 (К-номер поля 6к, в котором хранится код очередной микрокоманды), а код, записываемый в сумматор 15, дополняет его содержимое до величины 3-1 (Ю вЂ” номер поля Qg в котором хранится код очередных проверяемых логических условий).
Очередным тактовым импульсом содержимое сумматора 30 увеличиваеТся 15 на единицу и возбуждается выход 32 дешифратора 31. Сигнал на шине 32 открывает блок элементов 9 И, и микрокоманда из поля бк поступает в операционный блок 14 и на выход 12. Од- gp новременно метка из поля 7к через элемент 10 И-ИЛИ поступает в сумматор
15. Если метка равна нулю, его содер,жимое не изменяется, выход дешифратора 16 не возбуждайтся и провеРка логических условий не проводится. Следующий тактовый импульс прибавляет единицу.в сумматор 30, и появляется сигнал на выходе 32к+„ дешифратора
31, которым открывается блок элемен9к 1 И и разрешается прохождеЗО ние информации из полей 6 и 7 к+л к+1
В дальнейшем работа процессора осуществляется аналогично.
После. считывания из регистра 2 последней микрокоманды сигналом с
35 выхода соответствующего элемента блока элементов. 9„ И открывается блок элементов 23 И и код модификации адреса следующей команды с выхода 20 блока 19 поступает в регистр 40 адреса. Затем этот сигнал, проходя через элемент 11 задержки, устанавливает сумматоры 15 и 30 в исходное состояние.
С выхода 17 операционного блока в 45 оперативную память поступает результат выполнения операции, а из регистра 25 на выход 26 — адрес очередной команды. По этому адресу из оперативной памяти на вход 1 поступает код 5г) очередной команды, и процессор переяодит к ее выполнению.
Микрокоманды, поступающие на выход 12, используются для управления другими устройствами и оперативной памятью (например, для управления считыванием информации) ° Выполнение микропрограмм,, код которых превосходит разрядность слов, хранимых в оперативной памяти, может быть осуществлено путем последовательного 60 считывания их частей.
Блок ветвления работает следующим образом.
На вход блока поступают коды проверяемых логических условий, которые 65 проходят через элементы 34, -34 ИЛИ на входы элементов 35, -35г И.
На другие входы этих элементов поступают значения логических условий.
В зависимости от значений проверенных логических условий и содержимого сумматора 30 шифратор 36 формирует коды на выходах 21 и 22. Настройка шифратора 36 осуществляется кодом признака микропрограммы, который приходит с поля 4 регистра 2. В конце выполнения микропрограммы после проверки последних логических условий на выходе 20 шифратора 36 появляется код модификации, который поступает в регистр 25 адреса. Если после заключительной микрокоманды логические условия не проверяются, на выходе 20 деформируется нулевой код и модификация адреса следующей команды не производится.
Предлагаемый процессор имеет более высокое быстродействие по сравнению с известным за счет сокращения числа обращений к оперативной памяти.
Формула изобретения
1. Процессор с динамическим микропрограммным управлением, содержащий регистр команд, регистр адреса, операционный блок, блок ветвления, ге; нератор импульсов, элемент И, команд.ный вход процессора соединен с информационным входом регистра команд, первый разрядный выход которого соединен с первым информационным входом регистра адреса, выход которого является выходом адреса процессора, вход. операндов процессора соединен с первым информационным входом операционного блока, первый информационный выход которого соединен с первым входом блока ветвления, выход генератора импульсов соединен с первым входом элемента И, второй вход которого является первым управляющим входом процессора, вход адреса процессора соединен с вторым информационным входом регистра адреса, второй информационный выход операционного блока является выходом опе" рандов процессора, о т л и ч а юшийся тем, что, с целью повышения быстродействия, в него введены блоки элементов И, элемент И-ИЛИ, элемент задержки, сумматоры, дешифраторы, выход элемента И соединен с первым управляющим входом первого сумматора, второй управляющий вход которого соединен с выходом элемента задержки и первым управляющим входом второго сумматора, выход первого сумматора соединен с вторым входом блока ветвления и входом первого дешифратора, группа выходов которого соединена с первой группой входов блоков элементов И, с первого до
849223 п-го, и соединена с первой группой входов элемента И-H3IH вторая группа входов которого соединена с первой группой разрядных выходов регистра команд, вторая группа Разрядных выходов которого соединена с второй группой входов блоков элементов И,с первого до п-го,выходы которых соединены с входом микрокоманд операционного блока и выходом микроопераций процес. сора, выход элемента И-ИЛИ соединен с вторым управляющим входом второго сумматора, выход которого соединен с входом второго дешифратора, группа выходов которого соединена с первой гРуппой входов блока элементов И, с (n+1)-ro до m-го, вторая группа входов которого соединена с -третьей группой разрядных выходов регистра . команд, выходы блоков элементов И, с (n+1) ão до m-ro, соединены с третьим входом блока ветвления, четвертый вход которого соединен с вторым разрядным выходом регистра команд, первый выход блока ветвления соединен с первым входом (n+m+1)-ro блока элементов И, выход которого соединен с третьим информационным входом регистра адреса, второй вход (n+m+1)-ro блока элементов И соединен с входом элемента задержки и выходом и-го блока элементов И, второй выход блока ветвления соединен с третьим управляющим входом первого сумматора, третий управляющий вход второго сум.матора соединен с третьим входом блока ветвления.
2. Процессор до п.1, о т л и ч ею шийся тем, что блок ветвления содержит. элементы ИЛИ, элементы И и шифратор, выходы которого являются выходами блока ветвления, первый вход которого соединен с первым входом шифратора, второй вход которого соепинен с вторым входом блока ветвления, третий вход которого соединен с входами элементов ИЛИ, выходы кото, Рых соединены с первыми входами эле-. ментов И, выходы которых. соединены с третьим входом шифратора, четвер(5 тый вход блока ветвления соединен с вторыми входами элементов И.
Источники информации, принятые во внимание при экспертизе
Щ 1. Авторское свидетельство СССР .Р 525956, кл. G 06 F 15/20, G 06 F 9/14, 1976, 2. Палагин А.В. Мини-ЭВМ. Принцицы построения и проектирования. Кид ев, Наукова думка, 1975, с.71, р, 18.
3. Атовиян И.О. и Березкин Е.Ф.
Диагностическая процедура микропрограммного процессора.- Сб. Инженерно-математические методы в физике и кибернетике, М., Атомиздат, 1977, вып.б, с 58, рис.1 (прототип).
849223
Составитель В.усков
Редактор Г.Кацалап Техред М.Голинка
Корректор В.Бутяга
Заказ 6095/64 Тираж 745 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
ll3035, Москва, Ж-35, Раушская наб., д.4/5
Филиал ППП Патент,, r.Óæãoðoä, ул.Проектная, 4