(54) МИКРОПРОГРАММНЫЙ ПРОЦЕССОР
название | год | авторы | номер документа |
---|---|---|---|
Устройство для распаковки команд | 1981 |
|
SU972507A1 |
Устройство для распаковки команд | 1987 |
|
SU1464157A1 |
Процессор | 1976 |
|
SU670935A1 |
Устройство для распаковки команд | 1990 |
|
SU1702367A1 |
Микропрограммное устройство для управления и обмена данными | 1983 |
|
SU1129601A1 |
Устройство выборки команд процессора | 1986 |
|
SU1410028A1 |
Процессор | 1984 |
|
SU1247884A1 |
Устройство для обработки информации | 1977 |
|
SU742942A1 |
Устройство выборки команд процессора | 1987 |
|
SU1481758A1 |
Система ввода-вывода для микропрограммируемой ЭВМ | 1988 |
|
SU1667084A1 |
Изобретение относится к вычислительной технике и может применяться в цифровьох вычислительных машинах с программным управлением. Известен процессор ЕС 1020, кото для подсчета текущего адреса команды использует арифметический блок, где после очередного считывания из оперативной памяти полуслова (два байта) происходит увеличение текуще го адреса командной информации на дв а 1 . Текущий адрес хранится в адресно регистре или в ячейке местной памяти. При выборе команды формата полуслова необходимо в арифметическом блоке сделать операцию два-один раз формата слова - два раза, формата три полуслова - три раза. Это приво дит к снижению быстродействия процессора, так как арифметический бло занят подсчетом адреса и не может заниматься обработкой команды в то время, когда командная информация уже имеется в процессоре. Наиболее близким по технической сущности к предлагаемому является микропрограммный процессор (модель 50 система 360 .JBM) , которьй для адресации команд содержит блок выработки ajipeca KbMaHflfcr. Этот блок состоит из 24-разрядного регистра адреса команды и 24-разрядного счетчика адреса команды, которые соединены между собой, а также с выходными шинами сумматора, регистром адреса оперативной памяти и регистром данных оперативной памятиС2). Командная информация читается из оперативной памяти по словам (4-е байта) по адресу, определяемому регистром адреса команды, и затем, в счетчике происходит увеличение адреса на число байтов, содержащихся в текущей команде, методом прибавления двойки и (или) четверки к текущему значению счетчика. Затем, в начале следующего цикла обработки команды, происходит передача обновленного адреса из счетчика в регистр адреса оперативной памяти и в регистр адреса команды . Недостаток данной схемы заключается в том, что для подсчета адреса команды используется много оборудования (24-разрядный счетчик команд и 24-разрядный регистр хранения адреса) ..
Цель изобретения - сокращение оборудования, микропрограммного процессора путем исключения счетчй:ка команд и регистра адреса командбез потери быстродействия.
Эта цель достигается тем, что микропрограммныйпроцессор, содержаий регистр ко утации, первый адресный вход которо-го соединен с выходом блока местной памяти, информационный Вход является входом устройства, второй адресныйв ход соединен с выхоом арифметического блока, а выход с первыми входами блока местной памяти, регистра команд,арифметического блс.са и с выходом устройства,выход блока и с выходом устройства, выход регистра команд соединен с первым входом блока микропрограммного управления, выход которого соединен с управляющими входами регистра коммутации, регистра команд, арифметического блока и блока местной памяти, содержит блок формирования остатка, причем первый вход блока формирования остатка соединен с выходом регистра коммутации, второй вход - с выходом регистра команд, а управлямций вход - с выходом блока микропрограммного управления, а выход - со вторыми входами блока микропрограммного управления и арифметического блока.
Причем блок формирования остаткаодержит регистр остатка,дешифратор, вухразрядный сумматор, группыЪлементов И, элементы И, ИЛИ, причем входы двух младших разрядов регистра остатка соединены с выходами первого и второго элемента ИЛИ соответственно, первые входы которых соединены с выходами элементов И первой и второй групп .соответственно,, а вторые входы - с выходами элементов И третьей и четвертой групп соответственно, первые входы элементов И первой и второй групп и вход установки нуля . старшего разряда регистра остатка соединен с соответствующим выходом блока микропрограммного управления, вторые входы элементов И первой и второй групп соединены с выходами соответствующих разрядов регистра коммутации, первые входы элементов И третьей и четвертой групп соединены с входом элемента И и с .соответствукяцим выходом блока KtoKponporpaMMHOfo управления, а вторые входы-с первым и вторым выхоами двухразрядного сумматора соотетственно, выход переноса которого сбеяинен со вторым входом элемента И, выход которого соединен со вхром установки единицы старшего разряда регистра остатка, первый и втоой входы двухразрядного сумматоа соединены с единичными выходами
двух младших разрядов регистра остатка соответственно, а третий вход - с выходом регистра команд, все выходы регистра остатка соединены с соответствующими входами дешифратора, выходы которого соедидинены со вторыми входами блока микропрограммного управления и арифметического блока.
На фиг. 1 изображена блок-схема MHKpont orpaMMHoro процессора; на фиг. 2 - функциональная схема блока формирования остатка.
Микропрограммный процессор состоит из блока 1 микропрограммного уп- равления, шин 2 входа из оперативной памяти, регистра 3 коммутации, регистра 4 команд, блока 5 местной памяти, блока 6 формирования остатка, шин 7 выдачи в оперативную память и арифметического блока 8.
Выборка и отработка команд выполняется под управлением микропрограмм, которые хранятся в блоке 1 микропрограммного управления,который осуществляет адресацию,выборку микрокоманд и выдачу сигналов управления во все узлы процессора.
Командная информация из оперативной памяти выбира:ется двойным словами (8 байтов) и по шинам 2 принимается на регистр 3 коммутации. Из регистра 3 коммутации очередная, команда помещается в регистр 4 команды, а остаток командной информации - в фиксированные ячейки 5 местной памяти.
Код команды из регистра 4 команы поступает в блок 1 микропрограм-. много, упрс вления и однозначно указывает начало микропрограммы текуей команды.
Команды располагаются в оперативной памяти с границы nohyc.rfoBa. Выбранная командная информация может быть длиной в четыре, три, два или одно полуслово. Если адресация оперативной памяти выполняется с точностью до байта, то три последние разряда адреса указывают количество байтов выбранной командной информации, а два старших разряда из этих трех - количество полуслов.
Очередная отрабатьшаемая команда может быть длиной в одно, или три полуслова. Формат (длина) команды определяется соответствующими разрядами кода операции.
В зависимости от величины выбранной командной -информации и формата текущей команды в блоке б формирования остатка устанавливается код, который определяет величину остатка.
После выполнения текущей .команды и выхода на очередную, блок 1 № кропрограммного управления анализирует состояние, блока б формирования остатка, и если остаток есп то очередная команда или начало ее читается из блока 5 местной памяти через регистр 3 коммутации помещается в регистр 4 команд, Если в остатке часть команды ил остаток нулевой, то происходит чте ние командной информации из оперативной памяти.. Адрес командной информации хранится в фиксированной ячейке блока местной памяти. При чтении командной информации адрес читается .из блока 5 местной памяти и через регистр 3 коммутации по шинам 7 выдается в оперативную память. Парал лёльно он поступает в арифметическ блок 8, где увеличивается на велич двойного слова и через регистр 3 коммутации опять записывается в блок 5 местной памяти. Т. е. во время чтения командной информации происходит подготовка адреса для следующего чтения. Таким образом, в процессе выполнения программы, в фиксированно ячейке 5 местной памяти хранится продвинутый адрес, определякщий командную информацию с точностью д двойного слова, и командная информ выбирается из оперативной памяти двойными словами. Для получения адреса следующей команды при выполнении некоторых команд переходов и прерываний, про винутый- адрес корректируется, на ве личину -остатка. Коррекция выполняется в арифметйческом блоке 8 и заключается в вычитании константы их текущего ад реса командной информации. Констан та определяет количество полуслов командной информации, находящейся в остатке, и формируется в арифметическом блоке 8 по значениям потенциалов остатка,поступающим из блока б формирования остатка. На фит. 2 представлен блок б формирования остатка, который состоит из регистра 9 остатка, дешифратора 10, двухразрядного сумматора 11, первой группы элементов К. 1 второй группы элементов И 13, элемента И 14, элементов ИЛИ iS. Величина остатка задается кодом трехразрядного регистра 9: 000 - остаток длиной четыре пол слова (П04) ; Х01 - остаток длиной три полусл ва (ПОЗ); Х10 - остатрк длиной два полусл ва (пб2); XII - остаток длиной одно полуслова (ПО1) ; 100 - остаток отсутствует (ПОО) X - разряд может принимать любое значение. Формат команд определяется двум разрядами кода операции: 01 - команда длиной полуслова; 10- команда длиной слово; 11- команда длиной три полуслоВо время начальной выборки коандной информации (по пуску или выполнению, перехода) значение двух младших раЬряэдов регистра 9 остатка устанавливается по управляющему сигналу 16, .приходящему из блока 1 микропрограммного управления, и значению разрядов адреса команды, определяющих количество. выбранных полуслов, и поступающих из регистра 3 коммутации по шинам 17 и 18 через элементы 12 И, ,15 ИЛИ. Старший разряд регистра 9 остатка по сигналу 16 устанавливается в нуль, В дальнейшем при пе)еходе на отработку очередной команды, регистр 9 остатка переключается по управляЕоцему сигналу 19, поступающему из блока 1 микропрограммного управления . Переключение заключается в еложенин предыдущего значения кода двух младших разрядов регистра 9 остатка с Двухразрядным кодом, определяющим формат команды и поступающим с регистра 4 команд, по шине 20, ; на двухразрядном сумматоре 11. Двухраэ- рядный код суммы через элементы 13 И и 15 ИЛИ заносится в два младших разряда регистра 9 остатка. Если в процессе сложения возникает перенос из старшего разряда, то через эЛемент 14 И старший разряд регистра 9 остатка устанавливается в единицу. Выходы регистра 9 остатка поступают на вход дешифратора 10, гл,е происходит дешифрация кода в потенциалы, определяющие величину Ьстатка ПОО, ПО1, ПО2, ПОЗ и RO4. Эти потенциалы поступают в блок 1 микропрограммного управления и арифметический блок 8. Размещение текущего адреса ikoMaHды в ячейке местной памяти, счет . адреса в пpeдeлaxJ двойных слов в арифметическом блоке и применение блока формирования остатка позволяет отказаться от использования счетчика команд и регистра адреса команд, что приводит к уменьшению оборудования процессора. Формула изобретения 1, Микропрограммный процессор, содержащий регистр коммутации, первый, адресный вход которого соединен с выходом блока местной памяти, информационный вход является входом устройства, второй адресный вход соединен с выходом арифметического блока, а выход - с первыми входами блока местной памяти, регистра команд, арифметического блока и с /
выходом устройства, выход регистра команд соединен с первым входом блока микропрограммного управления, выход которого соединен с управляющими входами регистра коммутации, регистра кома}щ, арифметичёскбго блокаИ блока местной памяти, о тличающийся тем, что, с целью сокращения оборудования, он содержит блок формирования остатка, причем первый вход блока формирЬвания остатка соединен с выходом регистра коммутации, второй вход с выходом регистра команд, а управляющий вход - с выходом блока мглкропрограммного управления, а выход со вторыми входами блока микропрограммного управления и арифметического блока,
соединен с соответствующим выходом блока микропрограммнЬго управления, вторые входы элементов И первый и втоЕюй групп соединены с выходами соответствующих разрядов регистра коммутации, первые входы элементов И третьей и четвертой груп соединены с первым вхсдом элемента И и с соответствующим выходом блока микропрограммного управления, а вторые входы - с первым и вторым выходами двухразрядного сумматора соответственно, выход переноса которого соединен со вторым входом элемента И, выход которого соединен со входом установки единицы старшего разряда регистра остатка, первый и второй входы двухразрядного сумматора соединены с единичными выходами двух мпадшйх разрядов регистра остатка соответственно, а третий вход - с выходом регистра команд, все выходы регистр остатка соединены с соответствующими входами дешифратора, выходы которого соединены со вторыми входами блока микропрограммного управления и арифметического блока.
Источники информации, принятые во внимание при экспертизе
.. Дроздов Е. А. и др. Электронные вычислительные машины единой системы.1976, с. 259 - 261, рис, 7.
2, Хассон С. Микропрограммное упрг1вление, Мир , 1974, с. 162 п, 61,6, рис. ,8,1 8,6 (прототип)
Фиг. 2
Авторы
Даты
1980-06-30—Публикация
1978-04-03—Подача