Микропрограммный процессор
Иллюстрации
Показать всеРеферат
СОЮЗ СОВЕТСНИХ
СОЦИАЛИСТИЧЕСНИХ
РЕСГ1УБЛИН
„„SU „„102492? ю G 06 f 15/00
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Н ABTOPCKOMV СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ НОМИТЕТ СССР
IlO ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИЙ (21) 3348038/18-24 (22) 19.10.81 (46) 23.06.83. Бюл. 11 23 (72) И.Б.Шапиро (53) 681.325 (088.8) (56) 1. Булей Г. Микропрограммирование. М., "Мир", 1973, с.80, рис.3.18.
2. Авторское свидетельство CCCP 717773, кл. G 06 F 15/00, 1980 (прототип). (54)(57) 1.. МИКРОПРОГРАММНЫЙ ПРОЦЕССОР, содержащий операционный блок, блок постоянной памяти, первый регистр микрокоманд,: дешифратор ветвлений, блок управления и элемент И, первый и второй входы которого соединены соответственно с выходом дешифратора ветвлений и первым выходом блока управления, выход операционного блока подключен к входу дешифратора ветвлений а вход первого регистра микрокоманд .. соединен с выходом блока постоянной памяти отличающийся .тем, что, с целью повышения быстродействия, он содержит счетчик адреса, второй регистр микрокоманд и элемент ИЛИ, первый и второй входы и выход которого подключены соответственно.к выходу элемента И, второму .выходу блока управления и управляющему входу перво го регистра микрокоманд, управляющий вход, первый и второй входы и первый и второй выходы второго регистра микрокоманд соединены соответственно с третьим выходом блока управления первым и вторым выходами первого ре-, гистра микрокоманд, управляющим входом дешифратора ветвлений и входом операционного блока, а управляющий вход, синхровход, установочный вход и выход счетчика адреса подключены соответственно к второму и третьему выходам блока управления, третьему выходу первого регистра микрокоманд и входу блока постоянной памяти.
Процессор по п.1, о т л и ч а ю . шийся тем, что блок управления содержит триггер, ключ, элемент И, шесть элементов И-HE три элемента задержки и три элемента НЕ, причем установочные входы триггера соединены с соответствующими контактами ключа а выход триггера - с первым входом элемента И, первые входа первого элемента задержки, nepaoro и второго а .элементов И-.НЕ подключены к выходу элемента И,первые входы второго.элемента задержки, третьего и четвертого элементов И-HE соединены с выходом второго элемента И-НЕ, первые входы третьего элемента задержки, пятого и шестого элементов И-HE подключены к выходу четвертого элемента И-НЕ, Ю вторые входы первого, третьего и Ф© пятого элементов И-НЕ соединены со- Д:ь ответственно с выходами первого, второго и третьего элементов задерж- Я ки, вторые входы второго, четвертого 1 и шестого элементов И-HE подключены соответственно к выходам первого, третьего и пятого элементов И-НЕ, входы первого, второго и третьего элементов HE соединены соответственно с выходами второго, четвертого и шестого элементов И-НЕ, а выходы третьего, второго и первого элементов
HE подключены соответственно к перво. му, второму и третьему выходам блока.
1024927
Изобретение относится к вычислительной технике, в частности к микроВ программным вычислительным устройствам.
Известно микропрограммное устройство управления, содержащее регистр адреса, модификатор;и логические схемы, позволяющее совмещать процессы вы полнения микроопераций в операционном блоке и выборки следующей микрокоманды из памяти микропрограмм )1j .
Недостатком данного устройства является невозможность осуществления условного перехода по результату текущей микрокоманды в том же микропро граммном такте, что снижает быстродействие устройства.
Наиболее близким к предложенному по технической сущности является микропрограммный процессор, содержащий блок управления, операционный блок, первый регистр микрокоманд, блок. постоянной памяти, дешифратор ветвлений, элемент И. причем выходы блока посто" янной памяти соединены с первыми входами первого регистра микрокоманд, первый выход блока управления соединен с первым входом элемента И, второй вход которого соединен с выходом дешифратора ветвлений, первые входы которого соединены с выходами операционного блока.
Известный микропрограммный процессор позволяет организовать условный переход по результату выполнения текущей микрокоманды в,том же микропрограммном такте (2) .
Недостатком изеестного .устройства является низкое быстродействие, свя" занное с тем, что в нем не достигнуто полное совмещение процесса выборки следующей микрокоманды с процессом реализации предыдущей микрокоманды в операционном блоке. Совмещение осуществляется при выборке следующей микрокоманды лишь по адресным входам блоков постоянной памяти. Выборка же по входам выбора блоков постоянной памяти начинается после окончания реализации предыдущей микрокоманды в операционном блоке.
Цель изобретения - повышение быстродействия процессора.
Поставленная цель достигается тем, что в микропрограммный процессор,содержащий операционный блок постоянной памяти, первый регистр микрокоманд, дешифратор ветвленйй, блок управления и элемент И, первый и второй входы которого соединены соответственно с выходом,дешифратора ветвлений и первым выходом блока; управления, выход операционного бло. ка подключен к входу дешифратора вет. влений, а вход первого регистра микрокоманд соединен с выходом блока, постоянной памяти, введены счетчик
10 адреса, второй регистр микрокоманд и элемент ИЛИ, первый и второй входы и выход которого подключены соответственно к выходу элемента И, второму выходу блока управления и управляюще15 му входу первого регистра микрокоманд, управляющий вход, первый и второй входы и первый и второй выходы второго регистра микрокоманд соединены соответственно с третьим вы20 ходом блока управления, первым и вторым выходами первого регистра ми-.. крокоманд, управляющим входом дешифратора ветвлений и входом операционного блока, а управляющий вход, син25 хровход, установочный вход и выход счетчика адреса подключены соответственно к второму и третьему выходам блока управления, третьему выходу первого регистра микрокоманд и входу
30 блока постоянной памяти.
Кроме того, блок управления со. держит триггер, ключ, элемент И,шесть элементов И-НЕ, три элемента задержки и три элемента НЕ, причем уста35 новочные входы триггера соединены с соответствующими контактами ключа, а выход триггера - с первым входом элемента И, первые входы первого цемента задрежки, первого и второго эле40 ментов И-НЕ подключены к выходу элемента И, первые входы второго элемента задержки, третьего и четвертого элементов И-НЕ соединены с выходом второго элемента И-НЕ, первые входы
45 третьего элемента задержки, пятого и шестого элементов И-HE подключены к выходу четвертого элемента И-НЕ вторые входы первого, третьего и пятого элементов И-HE соединены соот50 ветственно с выходами первого, второго и третьего элементов задержки,вторые входы второго, четвертого и шестого элементов И-НЕ подключены соот ветственио к выходам первого, третьего и пятого элементов И-НЕ, входы первого, второго и третьего элементов
HE содинены соответственно с выходами второго, четвертого и шестого элемен! тов И НЕ, а выходы третьего, второго
1024927 и первого элементов НЕ подключены соответственно к первому, второму и третьему выходам блока.
На фиг,1 приведена структурная . схема предлагаемого микропрограммного процессора; на фиг. 2 - временная диаграмма работы блока управления; на фиг.3 - функциональная схема блока управления; на фиг.4 - функциональная схема операционного блока.
Микропрограммный процессор содержит операционный блок 1, блок 2 постоянной памяти, счетчик 3 адреса, первый регистр 4 микрокоманд, дешифратор 5 ветвлений, блок 6 управления, элемент И 7, второй регистр
8 микрокоманд и элемент ИЛИ 9; Выход
11 блока 6 управления подключен соот ветственно к входу синхронизации регистра 8 и входу синхронизации установки счетчика 3. Выход 12 блока 6 подключен к счетному входу счетчика
3 и первому входу элемента ИЛИ 9. Выход 13 блока 6 подключен к первому входу элемента 7 И. Вход блока 2 подключен к выходу счетчика 3. Каждая микрокоманда, записанная в блоке 2, содержит поле операций, поле адреса .и поле ветвлений, причем последнее поле определяет номер проверяемого условия ветвления, получаемого из блока 1. Выходы блока 2 подключены к входу регистра 4, а выход 14 регистра 4, соответствующий полям операций и ветвлений, подключен к установочному входу регистра 8. Выход
15 регистра 4, соответствующий полю адреса, подключен к установочному входу счетчика 3 - Выход 16 регистра
8, соответствующий полю ветвлений микрокоманды, соединен с первым входом .дешифратора 5, выход которого под ключен к второму входу элемента 7.
Выход 17 регистра 8,соответствующий полю операций микрокоманд, подключен к входу операционного блока 1, выходы которого соединены с вторым входом дешифратора 5, Выход элемента
7 подключен к второму входу элемента
ИЛИ 9, выход которого соединен со счетным входом регистра 4.. Никропрограммный процессор может быть реализован на микросхемах малой и средней степени интеграции. Счетчик адреса может быть выполнен, например, на микросхемах 133 ИЕ 6 или 133 ИЕ 7.
Блок 6 управления предназначен для формирования импульсной последо.вательности в соответствии с временной диа граммой, приведен ной на фи r . 2.
Брок 6 может быть выполнен, например, на основе трех последовательно соединенных формирователей импульсов с элементами задержки. Блок 6 (фиг.3) содержит ключ 18, триггер 19, элемент
И 20 и три последовательно соединенных формирователя импульсов, содержащих элементы И-НЕ 21 и 22, элемент о
23 задержки и элемент HE 24.
Операционный блок 1 предназначен для хранения слов информации, выполнения набора микроопераций и вычисления значений логический условий, 15 Поэтому в качестве блока 1 может быть использован любой операционный автомат. Блок 1 (фиг.4) содержит мультиплексоры 25 и 26, регистры 27, демультиплексор 28 и сумматор 29. Входы
17 блока 1 соединены с выходами поля операций регистра 8, которое при работе с данным блоком 1 должно содержать четыре сегмента: два сегмента адресов операндов, выходы которых
17- 1 и 17-2 подключены к управляющим входам соответственно мультиплексоров
25 и 26, сегмент адреса результата, выходы 17-4 которого подключены к управляющим входам демультиплексора
27, и сегмент кода операции, выходы
l7-3 которого подключены к настроечным входам сумматора 29. Выходы ре» гистров 27 соединены с информационными входами мультиплексоров 25 и 26.
3g .Цепи передачи данных и вывода резуль. тата не показаны.
Принцип работы процессора состоит в том, что в нем реализуется совмещение процесса обработки команд в one40 рационном блоке 1 с процессом выборки следующей микрокоманды иэ блока . 2. По фронту синхроимпульса, снимаемо
t-o с выхода 11 блока 6, в регистр 8 с выходов 14 регистра 4 записывает45 ся код поля операций и код поля ветвления текущей микрокоманды. Одновременно данный синхроимпульс стробирует код адреса следующей микрокоманды, приходящего с выходов 15 регистра 4 на установочные входы счетчика 3 (запись кода по установочным входам в микросхемах 133 ИЕ 6 и 133 ИЕ7 осу ществляется по срезу синхроимпульса).
После записи информации в регистр 8 и счетчик 3 одновременно начинают выполняться обработка микрокоманды блоком 1 и выборка следующей микрокоманды из блока 2. При этом из блока ,2 выбирается микрокоманда, которая
102492) будет обрабатываться процессором в следующем такте при невыполнении (или отсутствии) условия, заданного в поле ветвления текущей микрокоманды. После выборки этой микрокоманды из блока 2 с выхода 12 блока 6 поступает синхросигнал, по фронту кото". рого выбранная микрокоманда записывается в регистр 4, а код счетчи †ка 3 увеличивается на +1. Если текущая микрокоманда является микроко. мандой условного перехода, по коду адреса, образованного в счетчике 3 при увеличении прежнего кода на 1, в блоке 2 должна быть записана микрокоманда, которая будет обрабатываться процессором в следующем такте при выполнении условия, заданного в поле ветвления текущей микрокоманды. После установки нового поля адреса в счетчике 3 начнется выборка этой микрокоманды из блока
2. Если время то обработки микрокоманды в блоке 1 превыаает время вы-. борки 1lf,z микрокоманды из блока 2, .к этому моменту блок 1 еще не закончит обработку текущей микрокоманды и не выработает условия, необходимые для работы дешифратора 5. Таким образом, совмещены обработка текущей и выборка очередной микрокоманды, После окончания этих процессов на вьрходе 13 блока 6 формируется очеред ной синхроимпульс. При выполнении условия, записанного в поле ветвлений текущей микрокоманды, на выходе дешифратооа 5 формируется сигнал логической единицы. При этом по Фрон ту синхроимпульса, снимаемого с Bblxo да 13 блока 6, код микрокоманды, считанной из блока 2, замещает прежний код в регистре 4. Если условие,, записанное в поле ветвлений текущей микрокоманды, не выполнено или текущая микрокоманда не является микро. командой условного перехода (в поле ветвлений записан нулевой код), на выходе дешифратора 5 формируется сигнал логического нуля, замещения не происходит и в регистре 4 сохраняется код первоначально считанной микрокоманды.
При этом минимальная длительность
Т2 микропрограммного такта процессора определяется следующим выражением (без учета задержек на логических эле ментах);
2= А., + tO + tg +,С„И, где tan и tg - время записи соответственно в регистр 4 и регистр 8;
tg - время задержки дешифратора,5.
Будем считать, что как в известном, так и в предлагаемом процессоре применены идентичные регистры, т.е. выполняется равенство АА= t© М - Ы
f0 где t - время записи адреса.
Тогда выигрыш в длительности микропрограммного такта определяется
fS. выражением дт - Т, - Т, = .
Ъ
Этот выигрыш достигается при выпол20 нении следующих временных соотношений в микропрограммном процессоре: о 2 выр .+ сд + tc< где йсА- время записи кода в счетчик
3 по установочным входам;
- время установки счетчика 3 по счетному суммирующему входу. Можно считать. что 1СА-" 1с сьй Ввыб
СА С1 . Вйв и, следовательно, соотношение перепишется в виде и о «» .З внь, Для существующих процессоров количественные соотношения между йо и
ФЗЬ1 ПРИМЕРНО СЛЕДУЮЩИЕ: tP
"- (1 "30)(,;„-,, Таким образом, данный микропрограммный процессор позволяет организовать работу с минимальными задерж4р ками при ветвлении по результату выполнения текущей микрокоманды. При
t = З вь,в и р= с(- Ь относительное сокращение длительности микропрограммного такта определяется выражением
hT, » Ь д = — оо% — оо%-30%p + 1 1 9 Ь+ Ь т.e. увеличение быстродействия составляет 103.
Экономический эффект от использования одной СЦВИ согласно изобрете" нию составляет 1000 руб в год. При выпуске пяти СЦВИ в год экономический эффект составит 5000 руб. в год.
1024927
1024927
1024927
1024927
Заказ 4397/46 Тираж 70б
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб., д, 4/5
Подписное
Филиал AllO "Патент", r Ужгород, ул. Проектная, 4
Составитель Г.Виталиев
Редактор Г.Безвершенко Техред T.Ôàíòà, Корректор В . Гирняк