(54) ПРОЦЕССОР С МИКРОПРОГРАММНЫМ УПРАВЛЕНИЕМ И ДИНАМИЧЕСКИМ ВЕТВЛЕНИЕМ
Изобретение относится к вычислительной технике и может быть использовано в ЭВМ и вычислительных устройствах цифровой автоматики для цифровой обработки данных.
Известно устройство с микропрограммным управлением, в котором в каждой микрокоманде для адресации выделяется некоторое поле. Для получения адреса следующей микрокоманды над этим полем и признаками состояния устройства производится логическая обработка д Однако, данному устройству присуще относительно низкое быстродействие, снижение которого проиЬходит из-за того, что адрес выдается з управляюдую память с задержкой, равной времени логической обработки адресного поля и признаков состояния.
Наиболее близким техническим решением к предложенному является процессор с микропрограммным управлением, содержащий управляющую память, состоящую из п сегментов, узел формирования старшего адреса, регистр микрокоманд, состоящий из первой, второй и третей групп разрядов, узел выработки микроопераций, операционное устройство, блок обработки статических признаков, причем выход узла формирова ния старшего адреса соединен с первым адресным входом
5 каждого сегмента управляющей памяти, выход которых соединен с информационным входом регистра микрокоманд, выход первой группы разрядов регистра микрокоманд соединен со
10 входом узла выработки микрооперации, выход которого соединен со входом операционного устройства, выход второй группы разрядов регистра микрокоманд соединен со входом узла
15 формирования старшего адреса, а выход третьей группы разрядов регистра микрокоманд соединен с первым входом блока обработки статических признаков, ко второму входу которого подключен первый выход операционного устройства 2.
Недостатком устройства является низкое быстродействие работы при выполнении условного ветвления по
25 текущим признакам состояния устройства.
Цель изобретения - повышение быстродействия устройства.
Цель достигается тем, что в-из30 вестное устройство, содержащее управляющую память, состоящую из п блоко памяти, блок формирования старшего адреса, регистр микрокоманды, блок микропрограммного управления, операционный блок, блок обработки статических признаков, причем выходы блоков, памяти соединены с входом регистра микрокоманды, первый выход которого соединен со входом блока микропрограммного управления, выход которого соединен со входом операционного блока, первый выход которого соединен с первым, входом блока обработки статических признаков, первые входы блоков памяти соединены с выходом блока формирования старшего адреса, вход которого соединен со вторым выходом регистра микрокоманд, третий выход которого соединен со вторым входом блока обработки статических признаков, введены группы из п коммутаторов, блок обработки динамических признаков, содержащий m коммутаторов (т ) и дешифратор, причем выходы блока обработки статических признаков соединены с первыми входами коммутаторов группы, вторые входы которых соединены с выходами Дешифратора, третьи входы коммутаторов группы соединены с четвертым выходом регистра микрокоманды, выходы коммутаторов группы соединены со вторыми входами блоков памяти, пятый выход регистра микрокоманды соединен с первыми входами коммутаторов , вторые входы которых соеди «ены со вторым выходом операционного блока, выходы коммутаторов соединены со входами дешифратора.
На чертеже изображена блок-схема процессора.
Управляющая память 1 служит для хранения рабочих микрокоманд и содержит п блоков 2 памяти, при этом микрокоманды распределяются в управляющей памяти 1 соответственно в ворастающем порядке по п блокам 2 управляющей памяти 1 так, что m млад ших адресных разрядов управляющей памяти 1 определяют номер блока 2 памяти, где .
Блок 3 формирования старшего адреса служит для формирования старших адресных разрядов управляющей памяти 1. Регистр б микрокоманд служит для хранения микрокоманды, считываемой из управляющей памяти 1 в рабочем такте, и содержит первую 7, вторую 8, третью 9, четвертую 10 и пятую 11 группы разрядов, хранящих соответствующие поля микрокоманды. При этом, первая группа 7 рарядов служит для хранения операционного поля микроко1манды, управляющего блоком 12 микропрограммного управления; вторая группа 8 разрядов служит для хранения адресного , поля микрокоманды, используемого
блоком 14 обработки статических прунаков для формирования номера блока 2 памяти в управляквдей памяти 1 четвертая группа разрядов 10 служит для хранения поля микрокоманды, используемого блоком 15 обработки динамических признаков для Формировния номера блока памяти 2 в управляющей памяти 1; пятая группа разрядов 11 служит для хранения поля микрокоманды, управляющего группой 4 коммутаторов, блок 12 микропрограммного управления служит для выработки микроопераций, управля адих работой операционного блока 13, выполняющего обработку данных в процессоре .
Блок обработки статических признаков служит для формирования номера блока 2 памяти в управлякицей памяти 1 по результатам логической обработки статических признаков состояния операционного блока 13, т.е. признаков, сформированных в предыдущих микрокомандах и заполненных в соответствующих регистрах состояния а также данных поля микрокоманды, хранящегося в третьей группе разрядов 9 регистра б микрокоманд.
Блок 15 обработки динамических признаков служит для формирования номера блока 2 памяти в управляющей памяти 1 по результату логической обработки динамических признаков состояния операционного блока 13, т.е. признаков, сформированных в текущей микрокоманде и не требующих запоминания в регистре состоянйя, так как условное ветвление по ним выполняется в текущей микрокоманде. Группа 4 ко 1мутаторов служит для выбора номера блока 2 управляющей памяти 1 из номеров, сформированных блоком 14 обработки статических признаков и блоком 15 обработки динамических признаков,
В начале каждого рабочего такта на первый адресный вход каждого из п блоков 2 управлякядей памяти 1 поступают старшие адресные разрядыв управляющей памяти 1, сформированные блоком 3 формирования старшего адреса. Таким образом выполняется одновременное считывание группы из п микрокоманд из п блоков 2 управляю1ией памяти 1.
Для формирования старшего адреса блок 3.формирования старшего адреса использует данные адресного поля теку;11ей микрокоманды, заносимые во вторую группу 8 разрядов регистра 6 микрокоманд, а также используются данные из других источников (например с пульта управления, фиксированный адрес прерываний и пр.). Параллельно с чтением группы микрокоманд по старшему адресу из управляквдей памяти 1, операционное поле текущей микрокоманды, хранящееся
в первой группе 7 разрядов регистра б микрокоманд вьщается в блок микропрограммного управления, который формирует микрооперации., управляющие работой операционного блока 13. в процессе работы операционного блока 13 формируются признаки, отражающие различные состоящие устройства. Эти признаки подразделяются на статические и динамические. В динамические признаки включаются такие признаки, по которым требуется выполнять условное ветвление в текущей микрокоманде, в следующих микрокомандах эти признаки не используются и поэтому они не требуют запоминания в регистре состояния, истоят только в течение текущего рабочего такта.
В статические признаки включаются все признаки, по которьм условное ветвление будет выполняться в следующих микрокомандах, поэтому их требуется запоминать в регистре состояния. Статические признаки, запомненные в регистре состояния предыдущими микрокомандами, поступают в начале рабочего такта в блок 14 обработки статических признаков, который используя управляющую информацию, а также данные, поступающие из третьей группы 9 разрядов регистра 6 микрокоманды, выполняет их логическую обработку. По результату этой логической обработки, блок 14 обработки статических признаков в конце рабочего такта формирует номер блока 2 управляющей памяти 1 в унитарном коде, т.е. возбуждая одну из п выходных шин, соответствующих этому номеру. Сигнал с этой возбужденной шины проходит соответствующий коммутатор 5 группы 4 коммутаторов и поступает на адресный вход Разрешения считывания также соответствующего блока 2 управляющей памяти If открывая его и пропуская н-з выход управляющей памяти 1 микрокоманду этого блока 2, чтение которой началось в начале рабочего такта одновременно с чтением параллельной группы микрокоманд во всех осталных блоках 2 управляющей памяти 1. С выхода управляющей памяти 1 прочитанная микрокоманда заносится в регистр 6 микрокоманд. Так как блок 14 обработки статических признаков начинает работу в начале рабочего, тата, номер блока 2 управляющей памяти 1 требуется сформировать только к концу рабочего такта, то допустимы сложные цепи логической обработки статических признаков в этом блоке. При необходимости выполнить условное ветвление в текущей микрокоманде по динамическим признакам, эти признаки из операционного блока 13 поступают в блок 15 обработки динамических -признаков, который, без логической обработки формирует прямо по ним номер блока 2 управляющей памяти 1 в унитарном коде, т.е. возбуждая одну из п выходных шин, соответствующих этому номеру. Сигнал с этой возбужденной шины проходит соответствуквдий коммутатор группы 4 коммутатора и поступает на адресный вход Разрешения считывания также соответствукщего блока 2 управляющей памяти 1, открывая его.и
0 пропуская на выход управляющей памяти 1 микрокоманду, считываемую из этого блока 2. Блок 15 обработки динамических признаков работает под управлением.специального поля микро5команды, хранящегося в четвертой группе 10 разрядов регистра б микрокоманд, которое указывает по каким динамическим признакам необходимо выполнить условное ветвление в те кущей микрокоманде. Так как блок
0 15 обработки динамических признаков не выполняет логической обработки признаков, а прямо по ним формирует номер блока 2 управлякщей памяти 1, то условное ветвление в теку5щей микрокоманде можно выполнять как по динамическим признакам, возникающим в начале текущего рабочего такта, так и практически в его конце.
0
Группа 4 коммутаторов управляется специальным полем микрокоманды, хранящемся в пятой группе 11 разрядов регистра 6 микрокоманд, которое указывает, что на адресный вход Раз5решения считывания блоков 2 управляклцей памяти 1 необходимо пропустить номер блока 2, cфop шpoвaнный. или блоком 14 обработки статических признаков или блоком 15 обработки динамических признаков.
0
Изобретение обеспечивает повышение быстродействия устройства.
изобретения
Процессор с микропрограммным управлением и динамическим ветвлением, содержащий управляющую память, состоящую из п блоков памяти, блок формирования старшего адреса, регистр микрокоманды, блок микропрограммного управления, операционный блок, блок обработки статических признаков, причем выходы блоков памяти соединены с входом регистра микрокоманды, первый выход которого соединен со входом блока микропрограммного управления, выход которого соединен со входом операционного блока, первый выход которого соединен с операционным блоком, первый выход которого соединен с первым входом блока обработки статических признаков, первые входы блоков памяти соединены с выходом блока
,4)О1 мирования старшего гщреса, вход которого соединен со вторым выходом регистра микрокоманд, третий выход которого соединен со вторым входом блока обработки статических признаков, отличающийся тем, что, с целью повышения быстродействия устройства в него введены группа из п коммутаторов, блок обработки динамических признаков, содержащий m коммутаторов ( п) и дешифратор, причем выходы блока обработки статических признаков соединены с первыми входами коммутаторов группы, вторые входы которых соединены с выходами дешифратора, третьи входы коммутаторов группы соединены с четвертым выходом регист ра микрокоманды, выходы комг.1утаторов группы соединены со вторыми входами блоков памяти/ пятый выход регистра микрокоманды соединен с первыми входами коммутаторов, вторые входы которых соединены со вторым выходом операционного блока, выходы коммутаторов соединены со входами дешифратора.
Источники информации, принятые во внимание при экспертизе
1.Патент США 3900835, кл. 340-172.5, 1975.
2.Патент ФРГ 3536622, КЛ. 42 т 9/16, 1976.
название | год | авторы | номер документа |
---|---|---|---|
Микропроцессор | 1982 |
|
SU1119021A1 |
Процессор с микропрограммным управлением | 1982 |
|
SU1124298A1 |
Микропрограммное устройство управления | 1984 |
|
SU1264172A1 |
Микропрограммный процессор | 1985 |
|
SU1275457A1 |
Микропрограммное устройство управления | 1988 |
|
SU1621027A1 |
Микропрограммное устройство управления | 1983 |
|
SU1170457A1 |
Микропрограммный процессор | 1982 |
|
SU1062712A1 |
Устройство для сопряжения периферийных устройств с процессором и оперативной памятью | 1983 |
|
SU1156084A1 |
Устройство центрального управления процессора | 1983 |
|
SU1136177A1 |
Устройство микропрограммного управления | 1984 |
|
SU1226453A1 |
Авторы
Даты
1980-10-23—Публикация
1979-02-14—Подача