если в микрокоманде, на которую вышли по данному переходу, не стоит специал ная микрооперация ОСТАНОВ. Эта микрооперация в нормальном режиме производит останов генератора синхронизирующих импульсов. В специальном режиме по данной микрооперации останова генератора не будет/ но останов произой дет, если сразу же за микрокомандой, в которой указан переход и по которой установлен специальный режим, следует микрокоманда, в которой нет микрооперации ОСТАНОВ. Специальный режим уста навливается при переходах в конкретные адреса по коду в поле данных микрокоманды. Известное устройство предназначено для микропрогрс1ммного управ ления с малым количеством типов переходов и соответственно, малым объемом оборудования, необходимого для формирования микрокоманды. При большом количестве типов переходов при контроле переходов будет возрастать оборудование,необходимое для реализации этих проверок, так как каждая проверка свя зана с конкретным адресом и по коду адреса по отдельным вентилям производится установка триггера специального режима. Кроме того, при большом количестве проверок в памяти микрокоманд растет количество микрокоманд с микро операцией ОСТАНОВ. Это снижает достоверность проверок, так как повканается вероятность при ошибочном переходе попасть на микрокоманду, в которой находится ОСТАНОВ. Целью изобретения является экономия-оборудования и повышение надежности контроля. поставленная цель достигается тем, что устройство содержит блок времени и блок сравнения, причем вьаход дешифратора поля микроопераций соединен со входом блока времени, выход которого соединен с первым входом блока сравнения, второй выход регистра результа та соединен со вторым входом блока сравнения, выход которого является третьим выходом устройства. На фиг. 1 изображена структарная схема устройства для контроля переходов микропрограмму на фиг. 2 приведена временная диаграмма работы устройства. Устройство содержит блок 1 памяти микрокоманд, регистр 2 адреса микрокоманды, .блок 3 выбора адреса микроко манды, регистр 4 микрокоманды, регист 5 кода операции, дешифратор 6 поля микроопераций, арифметико-логический блок 7, дешифратор 8 поля арифметических операций, регистр 9 результата блок 10 времени и блок 11 сравнения. Тип перехода микропрогра мм определяется отдельным полем микрокоманды, поэтому выход регистра 4 микрокоманды соединен с первым управляющим входом блока 3. В современных ЦВМ предус матривается большое количество типов переходов микропрограмм. В частности, есть тип перехода, при котором адрес следующей микрокоманды полностью опеделяется информацией, содержащейся определенном поле микрокоманды. торой вход этого поля регистра 4 соеинен со вторым входом блока 3. В люой ЦВМ с микропрограмным управлением редусматривается переход по регистру ода операции. Выход регистра 5 соединен с четвертым входом блока 3. Кроме атих типов переходов предусматриваетя целый ряд типов переходов по отдельым признакам или целым регистрам. ля простоты изложения первый вход устройства вьаделен как вход, на котоый поступает группа типов переходов. Выход поля данных регистра микрокоманды 4 поступает на первый вход арифметико-логического блока. На третий вход этого блока поступают операнды из оперативной или сверхоперативной памяти ЦВМ. Четвертый выход регистра 4 (поле микроопераций арифметико-логического блока) и третий выход регистра 4 (поле микрюопераций) соединены со входами дешифраторов соответственно 8 и 6. Выходы дешифратора 6 соединены с управляющим входом регистра 5 кода операции, со входом блока 10 времени и третьим входом блока 3 выбора адреса микрокоманды. На вход регистра 5 кода операции поступает информация из оперативной памяти. Вьаход арифметико-логического блока 7 является первым выходом устройства . Второй выход блока 7 соединен со входом регистра 9 результата, первый выход регистра результата 9 соединен со вторым выходом устройства, второй выход регистра результата 9 соединен с вторым входом блока сравнения 11, на первый вход блока сравнения 11 поступает выход блока времени 10. Выход блока сравнения 11 является третьим выходом устройства и поступает в блок управления задающим генератором ЦВМ. По сигналу на этом выходе производится останов генератора/ т.е. прекращение выработки синхронизирующих сигналов. Проверка каждого типа перехода состоит из нескольких примеров. В каждом примере производится проверка перехода на одном коде. Пример состоит из подготовительного этапа и собственно проверки типа перехода. Подготовительный этап производит формирование признака перехода или регистра перехода для данного примера и может включать в себя несколько микрокоманд. Собственно проверка перехода всегда состоит из двух микрокоманд. Рассмотрим пример контроля перехода по коду регистра 5 операции. На фиг. 2 приведена временная диаграмма работы устройства при выполнении данного примера. Предполагается, что в устройстве использована четырехтак ная система синхронизации, широко ра пространенная в современных ЦВМ. Обр щение к блоку 1 начинается по синхро импульсу С1 и длится два синхроимпул са. К концу синхроимпульса С2 информация устанавливается на входе регистра 4 и по синхроимпульсу СЗ принимается в регистр. Во время синхроимпульса С4: формируется адрес следующей микрокоманды. По следующему синхроимпульсу начинается обращение по этому адресу. В подготовительном этапе на регис 5 кода операции микропрограммно заносится код операции, который исполь зуется при контроле перехода в данном примере. В первой микрокоманде собственно проверки перехода задается тип перехода по коду операции, в поле микроопераций арифметико-логического блона задают микрооперацию ПОСЫЛКА, по которой информация из поля данных микрокоманды характерная именно для этого примера, посылается в рифметико-логический блок в поле микроопера ции. Задается микрооперация запуска блока времени. В микрокоманде с адре сом, код которого будет сформирован блоком 3 выбора адреса и установлен в регистре 2 адреса при правильной работе всего оборудования, участвующ го в формировании адреса, в поле микроопераций арифметико-логического блока задается код микрооперации СРАВНЕНИЕ, а в поле данных- код операнда, равный коду, который был послак в арифметико-логический блок мик рокомандой. В остальных полях этой микрокоманды задаются коды, необходи мые для продолжения микропрограммы. Блок 9 выработает признак результата соответствующий равенству операндов, т.е. равенству нулю результата пораз рядной микрооперации СРАВНЕНИЕ. Блок 11 сравнения, анализируя признак результата в момент времени, определяемый блоком 11 времени, не вырабатывает сигнал несравнения т.е. останов задающего генератора. Причем время анализа признака результата строго соответствует времени формирования признака результата блоком 9 по микр операции, которая стоит в поле микро операций арифметико-логического блок в микрокоманде, следующей непосредственно за той, в которой стоит микр операция запуска блока времени. Таким образом, обеспечивается высокая надежность контроля: каждой проверке соответствует конкретный ко операнда и контролируется время выполнения перехода. При этом проверяется все оборудование, участвующее в формировании адреса микрокоманды, а также оборудование блока 1 памяти, которое производит выборку микрокоманды в регистр 4. Содержимое регистра 4 обычно контролируется дополнительными средствами (на фиг. 1 не показаны) . Если какой-либо блок устройства при выполнении данного примера работает с ошибкой, то микропрограмма перейдет не к микрокоманде с определенным операндом и микрооперации СРАВНЕНИЕ,а к какой-либо другой, в которой или нет микрооперации СРАВНЕНИЕ или задан другой операнд. В этом случае регистр 9 результата не выработает признак результата, равного нулю, и блок сравнения 11 выдаст в блок управления сигнал останова. На фиг. 2 показана временная диаграмма работы устройства с момеита начала выборки первой микрокоманды. По синхроимпульсу СЗ выбирается микрокоманда на регистр 4 микрокоманды. По синхроимпульсу С4 на регистр 2 адреса микрокоманды заносится адрес следующей микрокоманды и устанавливаются выходы дешифраторов 6 и 8. По сигналу с дешифратора 6 запускается блок 10 времени, а по сигналу с дешифратора 8 по синхроимпульсу С2 выполняется микрооперация ПОСЫЛКА. По синхроимпульсу СЗ регистр 9 результата формирует признак результата. На фиг. 2 показан случай, когда переход выполнен с ошибкой. В этом случае регистр результата сформирует признак неравенства результата нулю {высоким уровнем) и блок 11 выработает сигнал, по которому блок управления задающим генератором произведет останов синхросигналов. Предлагаемое решение обеспечивает высокую надежность контроля переходов микропрограмм при небольшом объеме дополнительного оборудования. Причем этот объем не зависит от количества проводимых проверок. Формула изобретения Устройство для контроля выполнения переходов микропрограмм, содержащее блок памяти микрокоманд, регистр адреса микрокоманды, блок выбора адреса микрокоманды, регистр микрокоманды, дешифратор поля микроопераций, арифметико-логический блок, дешифратор поля арифметических операций, регистр результата и регистр кода операций, причем выход блока памяти микрокоманд соединен со входом регистра микрокоманды, первый, второй, третий, четвертый и пятый выходы которого соединены соответственно с первым и вторым входами блока выбора адреса микрокоманды, со входом дешифратора поля микроопераций, со входом дешифратора поля арифметических операций и с первым входом арифметико-логического блока, выход дешифратора поля микроопераций
соединен с входом регистра кода операций и с третьим входом блока вьтбора адреса- микрокоманды, выход регистра кода операций соединен с четвертым входом блока выбора адреса микрокоманды, пятый вход которого является первым входом устройства, выход дешифратора поля арифметических операций соединен со вторым входом арифметикологического блока, первый выход которго является первым выходом устройства а второй выход соединен со входом регистра результата, выход регистра результата является вторым выходом устройства, выход блока выбора адреса микрокоманды соединен со входом регистра адреса микрокоманд, выход которого соединен со входом блока памяти микрокоманд, третий вход арифметико-логического блока является третьим входом устройства, о т п ичающееся тем, что с целью экономии оборудования и повышения надежности контроля устройство содержит блок времени и блок сравнения, причем выход дешифратора поля микрюопераций соединен со входом блока времени, выход которого соединен с первым входом блока сравнения, второй выход регистра результата соединен со вторым входом блока сравнения, выход которого является третьим выходом устройства.
Источники информации принятые во внимание при экспертизе:
1.Патент США.№3518413,кл, 235-153, 1970.
2.Патент США 3707703, кл. 340-172.5, 1972.
3.Патент США 3728690, кл. 340-172,5, 1973.
X
название | год | авторы | номер документа |
---|---|---|---|
Микропроцессор | 1982 |
|
SU1119021A1 |
Микропрограммный процессор с самоконтролем | 1980 |
|
SU1007109A1 |
Микропроцессорное вычислительное устройство | 1982 |
|
SU1269145A1 |
Процессор с микропрограммным управлением | 1983 |
|
SU1149273A1 |
Устройство для обмена информацией | 1982 |
|
SU1070536A1 |
Микропроцессор | 1984 |
|
SU1179363A1 |
Устройство для контроля логических блоков | 1986 |
|
SU1386998A1 |
Управляющая векторная вычислительная система | 1982 |
|
SU1120340A1 |
Устройство микропрограммного управления | 1987 |
|
SU1539776A1 |
Микропрограммное устройство управления с контролем | 1983 |
|
SU1142832A1 |
Авторы
Даты
1978-12-05—Публикация
1976-04-05—Подача