Микропроцессор
Иллюстрации
Показать всеРеферат
Союз Советских
Социалистических
Респубпии
ОП ИСАНИЕ
И ЗОБРЕТЕ Н,ИЯ
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ ()943734
{6l ) Дополнительное к авт. свнд-ву (22) Заявлено 26.04.77 (21) 2479571/1824 (51)М. Кл. с присоединением заявки М
Q 06 F 15/00
: Геоударствеаый комитет
СССР (23) Приоритет
Опубликовано 1 5.07.82. Бюллетень № 26 вв делам изобретений и открытий (53) УДК 681.325 (088.8) Дата опубликования .описания 15.07.82
А.В. Палагин, А. Ф. Кургаев, А. Ф. Дряпак, В.В. Городецкий, И. С. Евзович и P. È. Белицкий (72) Авторы изобретения (7!) Заявитель (54) МИКРОПРОЦЕССОР
Настоящее изобретение относится к вычислительной технике и может быть использовано при построении процессоров
ЭВМ различных классов и, в частности, микропрог раммируемых эмулирующиХ одно5 кристальных микропроцессоров.
Известны микропрограммы те устройства управления, построенные с использованием матрицы памяти микропрограмм и содержащие регистр адреса MHKpoKDMBHA, матри1о цу памяти, регистр микрокоманд и дешиф- . ратор микрокоманд f1).
В качестве памяти микропрограмм используется обычно пассивное запоминающее устройство или программируемая логическая матрица.
Известны также микропрограммные устройства управления, использующие для хранения микропрограмм две матрицы памяти (2 . го
Недостатком укаэанных устройств яв= ляется большой обьем памяти микропрограмм при реализации достаточно мощной системы команд.
Наиболее близким к предлагаемому является однокристальный микропроцессор, содержащий постоянное запоминающее устройство с управляющей микропрограммой, регистр команд, арифметико логический узел, регистры, первую группу элементов
И, регистр адреса микрокоманд, матри» цу памяти, регистр микрокоманд, дешифратор микрокоманд, входную информационную шину процессора, шину условий, шину адреса микрокоманд, выходную шину процессора °
Микропроцессор работает следующим образом.
Иэ внешней памяти поступает управ ляюшее слово (команда), которое через информационную шину передается в ре-гистр команд. По содержимому регистра команд с помощью первой группы элементов И через шину адреса микрокоманд в регистре формируется начальный адрес микропрограммы, соответствующий принятой команде. В соответствии с этим адресом из матрицы памяти в регистр
3 9437 выбирается микрокоманда, операционная часть которой расшифровывается дешифратором микрокоманд, При линейной последовательности микрокоманд часть слова микрокоманды из регистра по связи и шине передается в регистр и определяет адрес следующей микрокоманды. При ветв ленни в микрокоманде адрес следующей микрокоманды формируется на шине, например, логическим сложением кодов ц условий ветвления, проходящих через первую группу элементов И и адреса, указан» ного в текущей микрокоманде. На информационные входы первой группы элемен-. тов И поступают сигналы BHBBIHHx условий 15 со входа, код команды с регистра, интерпретируемый как начальный адрес соответствующей микропрограммы, и признаки результата выполнения арифметико-логических операций с выхода арифметикологического устройства.
На управляющие входы первой группы элементов И поступают микроприказы с выходов дешифратора микрокоманд.
После выполнения микропрограммы в регистре устанавливается адрес микрокома нды, формирующей микроприказы чтения из внешней памяти следующей команды и начала интерпретации ее кода (3).
Недостатками известного устройства являются большой объем матрицы памяти микропрограммы и ограниченные функциональные возможности, заключающиеся в том, что устройство реализует лишь набор микропрограмм, существенно ограниченный.
35 объемом матрицы памяти и недостоточное быстродействие.
Целью изобретения является повышение быстродействия.
Поставленная цель достигается тем, Q что в микропроцессор введены счетчикрегистр адреса внешних микрокоманд, ре-. гистр внешних микрокоманд, вторая группа элементов И, третья группа элементов
И, дешифратор внешних микрокоманд, об45 щий дешифратор, четвертая группа элементов И, пятая группа элементов И, первая и вторая группа элементов ИЛИ, шестая группа элементов И, причем первая группа входов счетчика-регистра адресВ внешних микрокоманд подключена к выходам элементов И четвертой группы, вторая группа входов подключена к выходам элементов И второй группы, а третья группа входов счетчика-регистра адреса внешних микрокоманд и первые входы элементов И пятой группы подключены к первой группе выходов дополнительных микI микроприказов регистра микрскоманд, а
34 выходы счетчика-регистра адреса внешних микрокоманд подключены к многоразрядному информационному выходу микропроцессора, группа входов регистра внешних микрокоманд подключена к информационным входам микропроцессора, первая группа выходов регистра внешних микрокоманд подключена к первым входам элементов И второй и третьей групп,, вторая группа выходов регистра внешних микрокоманд подключена ко вторым входам элементов И пятой группы, вторые входы элементов И второй группы подключены к второй группе выходов дополнительных микроприказов регистра микрокоманд, вторые входы элементов И третьей группы подключены к третьей группе выходов дополнительных микроприказов регистра микрокоманд, четвертая группа выходов дополнительных микроприказов регистра микрокоманд подключена ко вторым входам элементов И четвертой группы, выходы элементов И третьей группы подключены ко входам дешифратора внешних микрокоманд и к первой группе входов общего дешифратора, выходы дешифратора внешних микрокоманд подключены к первым входам элементов ИЛИ первой группы, вторые входы которых подключены к выходам общего дешифратора, а третьи входы подключены к выходам дешифратора микрокоманд, первые выходы элементов ИЛИ первой группы подключены ко вторым входам соответствующих. элементов И первой группы, а вторая группа выходов является выходами основных микроприказов микропроцессора, выходы элементов И первой группы подключены к первым входам элементов ИЛИ второй группы, выходы которых подключены к первой группе входов элементов И шестой группы, вторые входы элементов
И шестой группы подключены к пятой группе выходов регистра шестой группы И, а также выходы элементов И пятой группы через шину адреса микрокоманд подключены ко входам регистра адреса микрокоманд и ко вторым входам элементов И третьей группы, шестая групIIB выходов регистра микрокоманд подключена ко входам дешифратора микрокоманд и ко второй группе входов общего дешифратора микропроцессора.
На чертеже изображена схема предлагаемого устройства.
Схема включает регистр команд 1, арифметикологическое устройство 2, регистры 3, первую группу элементов И 4, регистр адреса микрокоманд 5, матрицу и пятой группы элементов И 23 через шину адреса микрокоманд 11 подключены ко входам регистра адреса микрокоманд 5, и ко вторым входам четвертой группы элементов И 23, выход которого через матртшу памяти 6 подключен ко входу регистра микрокоманд 7, шестая группа выходов регистра микрокоманд 7 подключена ко входам дешифратора микрокоманд и ко второй группе входов обutего дешифратора 21, первая группа манд 20, а выход общего дешифратора 20 подключен ко второй группе входов первой группы элементов ИЛИ 17, первая грутпта выходов первой группы элементов ИЛИ 1 7 подключена к выход:.м дешифратора внешних микрокоманд . .О, а третья группа входов подклточеиа g выходам дешифратора микрокоманд 8, первая группа выходов первой группы элегруппе входов первой группы элементов
И 4, а вторая группа выходов являет ся основными микроприказами 24," первая группа выходов дополнительных мийроприказов 25 регистра микрокоманд 7 подключена к первым входам пятой группы элементов И 23 и к третьей группе вхо- . дов счетчика-регистра адреса внешних микрокоманд 15, вторая группа выходов дополнительш тх микроприказов 26 регистра микрокоманд 7 подключена ко второй группе входов второй группы элементов
И 18, третья группа выходов дополнительных микроприказов 27 регистра микрокоманд 7 подключена ко вторсй группе входов третьей группы элементов 1 19, четвертая группа выходов дополнительных микроприказов 28 подключена к первым входам четвертой группы элементов
И 22, выходы четвертой группы элементов И 22 подключены к первой группе входов счетчика-регистра адреса внешнтпс микрокоманд 15, вторая группа вхо- дов которого подключена к выходам второй группы элементов И 18.
Схема работает следуюцим образом.
В матрице памяти 6 хранятся внутренние микропрограммы, реализующие, например, основную систему команд процессора либо ее подмножество. Состав этой системы команд или ее подмножества выбирается исходя из функциональных требований, предъявляемътх к процессору и технологических организаций.
5 943734 6 памяти 6, регистр микрокоманд 7, дешифратор микрокоманд 8, входную информационную шину микропроцессора 9, шину условий микропроцессора 10, шину адреса микрокоманд 11, информационную выходную шину микропроцессора 12, вход сигналов прерывания и других внешних условий микропроцессора 13, связь регистра микрокоманд с шестой группой элементов И 14, счетчик-регистр адреса внеш- та них микрокоманд 15, регистр внешних микрокоманд 16, первую грутшу элемен- входов которого подклточена к выходам тов ИЛИ 17, вторую группу элементов третьей группы элементов И 19 и ко
И 18, третью группу элементов И 19, входам дешифратора внешних микрокодешифратор внешних микрокоманд 20, т3 общий дешифратор 21, четвертую группу элементов И 22, пятую группу элементов И .23, выходы мнкропрнказов 24, 25-28 — первая, вторая, третья и четвер тая группы выходов дополнительных микро-щ приказов, соответственно, вторую группу элементов ИЛИ 29 - шестую группу элементов И 30.
Входы регистра адреса микрокоманд 5 ментов ИЛИ 17 подключена ко второй шиной адреса мтткрокоманд 11, соединены g3 с выходами четвертой группы элементов
И 22 второй группы элементов ИЛИ 29, а выходы подключены ко входам матрицы памяти 6, -выходы которой подключены ко входам регистра микрокоманд 7 .
Информационные входы регистра команд 1, арифметико-логического устройства 2, общих регистров 3 и регистра внешних микрокоманд 16 подключены к входной информационной шине микропрсь35 цессора 9, выходы регистров 3 арифметико-логического устройства 2, счетчика-регистра адреса внешних микрокоманд 15 подключевы к информационной"; выходной шине микропроцессора 12.
Первые выходы регистра внешних мйкрокоманд 16 подключены к первым группам входов второй группы элементов И 18 и третьей группы элементов И 19, вторая группа выходов подключена ко вхо43 дам пятой группы элементов И 23.
Вход сигналов прерываний и других внешних условий микропроцессора 13, а также выходы регистра команд 1, ари метико-логического устройства 2, через шину условий микропроцессора подключены к первым входам первой группы элементов И 4, выходы которых через вторую группу элементов ИЛИ 29 подключены к первой группе входов шестой группы элементов И 30, вторая группа входов которой подключена к пятой группе выходов регистра микрокоманд 7, а выход шестой группы элементов И 30
7 9437
Микропрограммы, хранящиеся во внешней памяти, реализуют команды, дополняющие основное подмножество системы команд процессора до полнрго или пред- . ставляющие собой самостоятельную и отличную от основной систему команд.
Микрокоманды микропрограмм дополнительных команд эмулируются (выполняются) с помощью микропрограммы, храняшейся в матрице памяти 6. 10
Множество внутренних и множество внешних микрокоманд имеют общий базис микроприкаэов, соответствующий структуре и функционированию процессора.
По внешнему сигналу в регистрах 5 t5 и 15 устанавливаются начальные адреса, регистр 16 в "нулевое" состояние.
По начальному коду регистра 5 (в общем случае отличному от "нулевого ) с выходов матрицы 6 снимается и запи- 20 сывается в регистр 7 код микрокоманды, который затем расшифровывается цешнфратором 8 и 21 и реализует чтение иэ внешней памяти и интерпретацию командыы. 25
Микрокоманда на регистре 7 состоит иэ опереционной н адресной частей. Операционная часть представляет собой совокупность независимо закодированных полей основанных и. дополнительных микро- 50 приказов, первые из которых декодируются дешифраторами 8 и 21. Дешифратор дополнительных микроприказов на чертеже не показан. Дополнительные микроприказы в MHKpoKQMBHQBK, реализующих основные команды процессора, не выра батываются. Адресная часть (поле) содержит код адреса следующей микрокоманды или базовый адрес группы следую, щих мнкрокоманд.
В соответствии с основными микроприкаэами читается из внешней памяти и записывается в регистр 1 код команды.
Микроприказы условий с выходов элементов ИЛИ 17 открывают соответствующие элементы И первой группы 4.
Адрес следующей микрокоманды формируется на элементах ИЛИ 29 и элементах И 30, например, логическим сложением разрядов команды, прошедших через открытые элементы И 4 и элементы
ИЛИ 29 и кода базового адреса с выходов 14 регистра микрокоманд 7. Сформированный адрес записывается в регистр 5 и является адресом первой внутренней микрокоманды исполнительной час-55 ти одной из основных команд, адресом внутренней микрокоманды интерпретируюшей внешнюю микрокоманду или адресом
34 8 микрокома нды, продолжающей интерпретацию команды.
После. окончания интерпретации команды устройство переходит к выполнению внутренней микропрограммы, содержащейся в матрице памяти 6 исполнительной части одной иэ основных команд либо к выполнению микропрограммы, записанной во внешней памяти.
При выполнении внутренней микропрограммы исполнительной части одной из основных команд работа устройства по существу не отличается от работы известных микропрограммных устройств управления и происходит аналогично описанной при интерпретации команды.
При переходе к выполнению команды интерпретации внешней микрокоманды в регистре адреса 5 устанавливается "Нулевой" код адреса, в соответствии с которым в регистр 7 записывается код микрокоманды, содержащей базовый адрес группы следующих микрокоманд, основные микроприказы и дополнительный микроприказ
25. В соответствии с основными микроприказами выполняется чтение внешней микрокоманды иэ внешней памяти по адресу, указанному на регистре 15, и запись ее в регистр внешних микрокоманд 16.
Микроприказ на выходе 25 увеличивает содержимое счетчика-регистра 15, например, на единицу" младшего разряда и открывает элементы И 23.
Адрес спедующей микрокоманды формируется из адреса, содержащегося в текущей микрокоманде, и кода внешней микрокоманды, поступающих на шину адреса микрокоманд 11 иэ регистра микроко. манд 7 с выходов 14 и вторых выхо-, дов регистра внешних микрокоманд 16 и записывается в регистр 5. Таким образом, в зависимости от кода внешней микрокоманды осуществляется переход к выполнению одной нз внешних микрокоманд.
Внешние микропрограммы записывают ся в языке внешних микрокоманд эмулируемых внутренними микрокомандами, с держащимися в матрице памяти 6. Если на регистр 16 принята микрокоманда "выполнить. с помощью соответствующей внутренней микрокоманды осуществляется выполнение микропрккаэов, код которых содержится в соответствующем поле этой микрокоманды.
В соответствии с кодом регистра 5 из матрицы памяти 6,выбирается и принимается в регистр 7 микрокоманда, содержащая нулевой адрес следующей микроко9 943734 10 манды и микроприказ 27 открывающий дующей микрокоманцы с выходов 14 реэлементы И 19. гистра 7 записываетса в регистр 5.
При этом код микроприкаэов с первых Если на регистр 16 принята внешняя выходов регистра 16 проходит через оъ» миикрокоманаа безусловный переход втокрытые элементы И 19, декодируется де- S рого типа". Согласно этой микрокоманшифратором 20 и 21 и, пройдя через эле. де с помощью внутренней микрокоманцы менты ИЛИ 17, поступает на соответ- осуществляется безусловный цереход во ствующие управляющие входы схем про- внешней микропрограмме и переход к вы» цессора, вызывая выполнение внешней полнению интерпретации кранцы. Эта микрокоманды "выполнить". Микроприка- <о микрокоманда используется после вы.зы условий микрокоманда выполнить полнения внешней микропрограммы и оэнане формирует. Если в регистр 16 принята чает возврат к выполнению внутренней микрокоманда условный переход . Coo микропрограммы. ветственно внешней микрокоманде "услов- В соответствии с кодом регистра 5 ный переход" с помощью внутренней мик- 3S из матрицы памяти 6 выбирается и эапиpoKoMaHgbl осуществляется ветвление во сывается в регистр 7 микрокоманца, совнешней микропрограмме формированием держащая код адреса первой микрокомансоответствующего адреса в счетчике-ре- ды блока 1 и дополнительный macponpmгистре 15. каз 26. Под действием микроприказа на
В соответствии с кодом регистра 5 2О выходе 26 содержимое поля микрокоманиэ матрицы памяти 6 выбирается и при- ды "бм условный переход второго типа" с нимается в регистр 7 микрокоманде, со первых выходов регистра 16 проходит ч держащая нулевой адрес следующей мик- реэ элементы И 18 и записывается в
Рокоманды и дополнительные микроприказы регистр 15. Код адреса с .выходов 14
28 и 27. Микроприказ 27 открывает эле 25 регистра 7 записывается в регистр 5, и менты И 19, разрешая дешифрацию one- устройство управления переходит к вырационного поля внешней микрокоманды полнению интерпретации команды. условный переход» и формирование соот- Функциональные j воэможности микроветствУюших микРоприкаэов, в том числе программируемого микропроцессора рас» микроприкаэов Условий. ПРизнаки 7«>»><" 30 ширены эа счет структурно-микропрогрампрошедшие перед выборочно открытую пер- мной реализации .наравне с внутренним вую группу;элементов И 4 и через откры- микропрограммированием внешнего микротые элементы И 22, вписываются в соот- программирования. Внутренняя микропрог» ветствующие разряды счетчика-регистра рамма, кроме реализаций основной сиоадреса внешних микрокоманд 15. B pe- темы команд, с помощью структурных гистр адреса микрокоманд 5 с выходов средств интерпретирует внешние микрьl4 pemcrpa микрокоманд 7 записывается команды и реализует взаимодействие
"нулевой код. Если на регистр 16 при- внутреннего и внешнего микропрограммиията внешняя микрокоманда безуслов рования. Положительный эффект достигнут ный переход первого типа, то согласно за счет; введения в устройство счетчикаэтой микрокоманде с помощью внутренней регистра адреса внешних микрокоманд 15, микрокоманды осуществляется безуслов- регистра внешних мнкрокоманд 1 6, еленый переход во внешней микропрограмме ментов ИЛИ 17, дешифраторов 20 и 21, формированием в регистре 15 адреса мик- элементов И 18, 19, 22 и 23 и оригирокоманды, к которой осуществляется бе- нальных связей между узлами. зусловный переход и затем возврат с ко- Использование этого устройства поэво дом-регистра 5 из матрицы памяти 6 вы- ляет в предельном случае полностью искбирается и принимается в регистр 7 мик- лючить иэ матрицы памяти 6 микропрограмрокома иди, coneðæàïàÿ нулевой" код му системы команд, оставив в ней лишь адреса следующей микрокоманды и допол- вспомогательные микрокоманды, обеспе- нительный микроприкаэ на выходе 26, чивающие использование внешнего микрооткрываюший элементы И 18. Пройдя че- программирования. рез открытые элементы И 18, код со При другом варианте, когда в матрице, вторых выходов регистра 16 записывает-. памяти 6 содержится микропрограмма ся в счетчик-регистр адреса внешних базовой системы команд, описанное устмикрокоманд 15, т. е. в регистре 15 фор- ройство позволяет использовать внешнее
И мируется адрес, указанный в поле внеш- микропрограммирование наравне с внуч ней микрокоманцы безусловный переход ренним, не предъявляя к последнему супервого типа . Нулевой код адреса сле- щественных требований и предоставляя возмсжность расширять систему команд вне зависимости от ограничений на объем матрицы памяти 6 микропрограммируемого микропроцессора.
Одновременное использование внутреннего и внешнего микропрограммирования при проектировании микропроцессора служит целям повышения его производительности на заданном классе задач, 1 благодаря реализации с помощью внутренних микропрограмм, как более быстродействующих, команд с наибольшей частотой встречаемости в программах, а редко встречающихся — с помощью внешних микропрограммм. 15
Формула изобретения
Микропроцессор, содержащий регистр команд, арифметико-логическое устройст- 2о во, блок регистров, регистр адреса микрокомацд, матрицу памяти, регистр микро. команд, первую группу элементов И, дешифратор микрокоманд, причем входы регистра команд, арифметикологического 25 устройства и блока регистров подключеиы к входной шине микропроцессора, выходы арифметикэ-логического устройства и блока .регистров подключены к информационному выходу микропроцессора, вы- Эр яоды арифметико-логического устройства, выходы регистра команд и первые входы элементов И первой группы подключены к шине условий микропроцессора, выход регистра адреса микрокоманд через матри 5 . цу памяти подключен к входу регистра микрокоманд, отличающийся тем, что, с целью увеличения быстродействия, в него введены счетчик-регистр адреса внешних микрокоманд, ре-. гистр внешних микрокоманд, вторая группа элементов И, третья группа элементов И, дешифратор внешних микрокоманд, общий дешифратор, четвертая группа элементов И, пятая группа элементов И, пер- вая и вторая группы элементов ИЛИ, шестая группа элементов И, причем пер» вая группа входов счетчика-регистра адреса внешних микрокоманд подключена к выходам элементов И четвертой группы, вторая группа входов подключена к выходам элементов И второй группы, а третья группа входов счетчика-регистра адресов внешних микрокоманд и первые входы элементов И пятой группы подклю55 чены к первой группе выходов дополнительных микроприказов регистра микрокоманд, а выходы счетчика-регистра адреса внешних микрокоманд подключены к
34 12 многоразрядному информационному выход микропроцессора, группа выходов регистра внешних микрокоманд. подключена к информационным входам микропроцессора, первая группа выходов регистра внешних микрокоманд подключена к первым входам элементов И второй и третьей групп, вторая группа выходов регистра внешних микрокоманд подключена к вторым входам элементов И пятой группы, вторые входы элементов И второй группы подключены к второй группе выходов дополнительных микроприказов регистра . микрокоманд, вторые элементы
И третьей группы подключены к третьей группе выходов дополнительных микроприказов регистра микрокоманд, четвертая группа выходов дополнительных микроприказов регистра микрокоманд подключена к вторым входам элементов И четвертой группы, выходы элементов И третьей группы подключены к входам дешифратора внешних микрокоманд и к первой группе ,входов общего дешифратора, выходы дешифратора внешних мнкрокоманд подключены к первым входам элементов ИЛИ первой группы, вторые входы которых подключены к выходам общего дешифратора, а третьи входы подключены к выходам дешифратора микрокоманд, первая группа выходов элементов ИЛИ первой группы подключена к вторым входам элементов И первой группы, вторая группа выходов элементов ИЛИ первой группы является выходами основных микроприказов микрс процессора, выходы элементов И первой группы подключены к первым входам элементов ИЛИ второй группы, выходы которых подключены к первым входам шестой группы, вторые входы элементов И шестой группы подключены к пятой группе выходов регистра микрокоманд, выходы элементов И шестой группы и выходы элементов И пятой группы, через шину адреса микрокоманд подключены к входам регистра адреса микрокоманд и к второй группе входов элементов И четвертой группы, шестая группа выходов регистра микрокоманд подключена к входам дешифратора микрокоманд и к второй группе входов общего дешифратора.
Источники информаш и, принятые во внимание при экспертизе
1. Справочник по цифровой вычислительной технике Техника,K.,1974,с,241-245.
2.Хассон С, Микропрограммное управление", вын,1, Мир",М., 1973, с. 43, 3."Электроника". % 6, 1974, с. 50-57 (прототип),