Микропрограммный процессор

 

СОЮЗ СОВЕТСКИХ

СОЦИАЛИСТИЧЕСКИХ

РЕСПУБЛИК (191 (11) gg y G 06 F 15/00

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

Н АВТОРСКОМУ СВИДЕТЕЛЬСТВУ

ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 3770805/24-24 (22) 10.07.84 (46) 15.02.86. Бюл. Р 6 (71) Уфимский ордена Ленина авиационный институт им.Серго Орджоникидзе (72) А.И.Иванов, Ю.П.Жиляев и В.Е.Кладов (53) 681.32(088.8) (56) Авторское свидетельство СССР

У 490122, кл. С 06 F 9/00, 1975.

Авторское свидетельство СССР

Р 705452, кл. С 06 F 15/00, 1979. (54)(57) МИКРОПРОГРАММНЫЙ ПРОЦЕССОР, содержащий операционный блок, ре- . гистр микрокоманд, блок памяти микрокоманд, регистр адреса микрокоманд, счетчик, триггер фиксации сбоев, первый элемент ИЛИ, элемент

И и схему сравнения, причем выход регистра адреса микрокоманд подключен к адресному входу блока памяти микрокоманд, выход которого подключен к информационному входу регистра микрокоманд, выход кода операции которого подключен к входу кода операции операционного блока, выход признака условного перехода которого подключен к первому входу первого элемента ИЛИ, выход счетчика подключен к первому входу схемы сравнения, информационный вход-выход операционного блока подключен к информационному входу-выходу процессора, отличающийся

:тем, что, с целью повышения быстродействия и достоверности функционирования в него введены второй элемент ИЛИ, сумматор по модулю два, два мультиплексора, причем первый вход тактовых импульсов процессора подключен к входу записи регистра адреса микрономанд, входу записи счетчика и к синхровходу триггера фиксации сбоев, информационный вход прямой и инверсный входы которого подключены соответственно к выходу схемы сравнения, первому входу второго элемента ИЛИ, первому входу элемента И, второй вход тактовых импульсов процессора подключен: к входу синхронизации операционного блока, синхровходу регистра микрокоманд и ко второму входу элемента И, выход которого подключен к счетному входу счетчика, информационный вход, вход разрешения записи и выход которого подключены соответственно к выходу первого мультиплексора, .выхо-.

:ду первого элемента ИЛИ и к первому информационному входу второго мультиплексора, второй информационный вход, управляющий вход и выход которого подключены соответственно к выходу адреса следующей микрокоманды регистра микрокоманд, выходу второго элемента ИЛИ, первому информационному входу первого мультиплексора, второй информационный вход, управляющий вход и выход которого подключены соответственно к информационному входувыходу процессора, выходу признака начала команды регистра микрокоманд и к информационному входу регистра адреса микрокоманд, выход которого подключен ко второму входу схемы сравнения, третий выход регистра микрокоманд подключен к второму входу первого элемента ИЛИ, третий вход которого подключен к выходу признака безусловного перехода регистра микро1211746 команд, выход признака условного перехода которого подключен: к входу признака условного перехода операцион-. ного блока и к первому входу сумматора по модулю два, второй вход и выход которого подключены соответственно к перовму входу первого элемен, та HJIH и ко второму входу второго элемента ИЛИ, прямой выход триггера фиксации сбоев подключен к входу разрешения записи регистра микрокоманд, управляющий выход операционного блока подключен к выходу управления обменом процессора.

2. Процессор по п.1, о т л и ч аю шийся тем, что операционный блок содержит арифметическое уСтройство, пять элементов И,элемент НЕ и элемент ИЛИ, причем вход кода операции арифметического устройства подключен к входу кода операции операционного блока, разряды (с первого по четвертый) входа кода операции операционного блока подключены к первым входам элементов И операционного блока соответственно с первого

Изобретение относится к вычислительной технике, в частности к проектированию процессоров с контролем и восстановлением при сбоях.

Целью изобретения является по- 5 вышение быстродействия и достоверности функционирования.

На фиг. 1 изображена функциональная схема процессора; на фиг. 2— функциональная схема операционного блока; на фиг. 3 — временная диаг- . рамма работы процессора.

Микропрограммный процессор содержит операционный блок 1, регистр 2 микрокоманд (РМК), поля признака; 1S

3 — начала команды (НК), 4 — кода операции признака (КОП), 5 — условного перехода (УП), 6 — безусловного перехода (БП), 7 — адреса следующей микрокоманды, регистр 8 ад- 20 реса микрокоманд (РАМК), блок 9 памяти микрокоманд, выход 10 управления обменом процессора, мультиплексоры 11 и 12, выход 13 подтверждения перехода, первый 14 и второй 15, 25 по четвертый, вторые входы которых подключены к входу признака условного перехода операционного блока и к входу элемента НЕ, выход которого подключен к первому входу пятого элемента И операционного блока, второй вход и выход которого подключены соответственно к входу синхронизации операционного блока и к входу синхронизации арифметического устройства, выходы признаков переноса, равенства результата нулю, отрицательного результата и переполнения подключены соответственно к третьим входам элементов И операционного блока с первого по четвертый, выходы которых подключены к входам элемента.

ИЛИ операционного блока, выход которого подключен к выходу признака условного перехода операционного блока, информационный вход-выход и выход признака готовности результата арифметического устройства подключены соответственно к информационному входу-выходу и управляющему выходу операционного блока. входы тактовых импульсов процессора, элемент ИЛИ 16, информационный вход-выход 17 процессора, триггер

18 фиксации сбоев, схему 19 сравнения, счетчик 20, сумматор 21 по модулю два, элЕмент ИЛИ 22, элемент

И 23.

Операционный блок содержит арифметическое .устройство 24, элементы И 25-29, элемент ИЛИ 30, элемент

НЕ 31. На фиг. 3 приведена времменная диафрагма работы микропрограммного процессора, где Ф1 - тактовые импульсы 14; Ф2 — тактовые импульсы

15, НК вЂ” сигнал начала команды;

РМК вЂ” содержимое регистра микрокоманд; РАМК вЂ” содержимое регистра адреса микрокоманд; сбой вЂ, сигнал сбоя с выхода триггера сбоя 18;

СС вЂ” сигнал с выхода схемы сравнения 19. Арифметическое устройство

24 может быть реализовано на основе микросхемы Ê588ÂÑ1.

Микропрограммы в предлагаемом процессоре хранятея в блоке 9 памя1211746

45 ти микрокоманд и соответствуют командам процессора. Микрокоманда, соответствующая какой-либо команде, .может состоять из нескольких ветвей последней микрокомандой ветви явля5 ется микрокоманда УП или БП, Последней микрокомандой микропрограммы является микрокоманда, бит НК 3 которой установлен в "1". Адреса микрокоманд в ветвях возрастают линейно т.е. наращивают на 1, и поэтому ветви микропрограммы далее могут называться линейными последовательностями микрокоманд. При выполнении микрокоманд линейной последовательности их адреса линейно возрастают. При выполнии микрокоманды УП, в случае выполнения условия, и для микрокоманд

БП адрес следующей микрокоманды изменяется скачком, при этом процессор переходит к выполнению микрокоманд другой линейной последовательности. При невыполнеии заданного условия в микрокоманде УП адрес следующей микрокоманды изменяется линей- 25 но,т.е. наращивается на 1. При этом выполняется следующая по адресам линейная последовательность микрокоманд.

Микропрограммный процессор рабо. тает следующим образом. !

Операционный блок 1 принимает и выдает информацию по информационному входу-выходу, производит логическое и арифметическое преобразование информации, в соответствии

35 с кодом микрокоманды. PMK 2 содержит код очередной микрокоманды, выполняемой операционным блоком 1. Микрокоманда состоит из нескольких функциональных полей: НК 3 — бит начала

40 новой команды, КОП 4 — задает вид операции в операционном блоке 1, УП

5 — бит управления для организации условного перехода, БП 6 — бит включения для организации БП, адресное поле микрокоманды 7 содержит разряды адреса следующей микрокоманды исполняемой микропрограммы. Микрокоманды в процессоре хранятся в блоке 9 памяти микрокоманд с выхода которого поступают на.информационный вход

РМК 2. Запись в PMK 2 производится по положительному фронту синхроимпульса Ф2 при наличии на управляющем входе PMK 0 — го уровня сигнала сбоя с выхода триггера сбоя 18. Адрес микрокоманды, извлекаемой из блока 9 памяти микрокоманд, передается на вход блока 9 памяти микрокоманд с выхода PAMK 8.PAMK 8 содержит адрес, очередной.микрокоманды,выполняемой процессором.

При нормальном функционировании аппаратуры процессора триггер 18 фиксации сбоев установлен .в логический

"0".

Рассмотрим функционирование процессора при выполнении одной команды. В конце йредыдущей микропрограммы из поля НК 3 РМК 2 выдается "1" сигнала НК,по которому с выхода первого мультиплексора 11 на информационный вход РАМК 8 и на информационный вход счетчика 20 передаются разряды кода команды с первого информационного входа первого мультиплексора

11, сигнал НК через первый элемент

ИЛИ 16 по управляющему входу счетчика

20 разрешает запись кода команды в счетчике 20. Запись в PAMK 8 разрешена всегда и производится по положительному фронту синхроимпульса Ф1.

Запись в счетчик 20 производится также по положительному фронту синхроимпульса Ф1..Код команды с выхода PAMK 8 передается на адресный вход 9 памяти микрокоманд. С его выхода через время, определяемое быстродействем блока 9 памяти микрокоманд код первой микрокоманды поступает на информационный вход PMK 2, на управляющий вход которого поступает !! !!

0 сигнала сбоя, с выхода тр иггер а фиксации сбоя, который является разрешающим для записи микр окоманд в РМК . По положительному фронту синхр оимпуль са Ф2 микр окоманда з аписывается в PMK PMK 2 к од новой микрок оманды поступает в бит НК 3 на второй вход первого элемента ИЛИ и управляющий вход первого мультиплексора 1 1 ; содержимое поля

K0II 4 на первый управляющий вход операционного блока 1; бит УП 5 на второй управляющий вход операционного блока, первый вход сумматора 2 1; бит БП 6 на третий вход первого элемента ИЛИ 1 6 ; содержимое адресного поля 7 РМК 2 на первый вход второго мультиплексора 1 2 .

Цикл выполнения микрокоманды в операционном блоке 1 равен периоду следования синхроимпуль сов Ф 1 . Цикл начинается с положительного фронта синхроимпульса Ф 1, по которому адрес следующей микрокомапды записывается PAMK 8 . Адрес микр ок оманды с выхоКод условия,.заданного в поле

КОП 4 РМК 2, сравнивается с выработанными признаками результата операции в операционном блоке 1.

В случае совпадения кодов условия с кодом признаков результата на первом управляющем выходе операционного блока появляется "1, которая проходит на выход первого элемента

ИЛИ 16 и подается на управляющий вход счетчика 20, разрешая запись.

Адресное поле 7 PMK 2 содержит адреса перехода, которые передаются через второй 12 и и первый 11 мультиплексоры на информационный вход

PAMK 8 и информационный вход счетчика 20, поскольку на управляющий вход второго мультиплексора поступает "0" с выхода сумматора 21, на первый вход которого поступает логическая

"1" бита УП 5 микрокоманды, а на второй вход — логическая "1" сигнала

13 подтверждения перехода (ПП), а на управляющий вход первого мультиплексора подается логический "О" бита

НК 3 микрокоманды.

По положительному фронту Ф1 производится запись в PAMK 8 и счетчик

20 адреса условного перехода в выпол» няемой процессором микропрограмме.

В случае несовпадения кода условия с кодом признаков результата на выходе 13 и следовательно, на втором входе сумматора 21 находится логический "0", в то время как на первом входе сумматора 21 — логическая

"1". На выходе сумматора 21 находится "1", за счет чего на выходе второго элемента ИЛИ 22 — "1", и второй вход второго мультиплексора 12 коммутируется с его выходом, тем самым разрешая прохождение на вход РАХК 8 адреса следующей микрокоманды с выхода счетчика 20. Поскольку на управляющем входе 20 находится "P с выхода первого элемента ИЛИ 16, запись в счетчик 20 запрещена. Содержимое счетчика 20 является адресом следующей микрокоманды выполняемой линейной последовательности микрокоманд, поскольку к моменту появления синроимпульса Ф1 к содержимому счетчику 20 была прибавлена 1. Таким образом, перехода не происходит и из блока 9 памяти микрокоманд извлекается следующая микрокоманда выполняемой линейной последовательности. микрокоманд.

3 1211746 d да РАИК 8 передается на вход блока 9 памяти микрокоманд. На выходе блока

9 памяти Макрокоманд с задержкой, равной времени считывания, появляется код микрокоманды. К моменту появления синхроимпульса Ф2 на синхронизирующем входе PMK 2 на информационном входе PMK 2 устанавливается код микрокоманды. Запись в PMK производит.ся по положительному фронту синхроим- 10 пульса Ф2 . После этого в операционном блоке 1 начинается выполнение новой микрокоманды.

При выполнении арифметико-логических микрокоманд цикл повторяется. 15

Для микрокоманд безусловного перехода формирование адреса следующей микрокоманды осуществляется следующим образом. Поскольку бит

БП 6 в РМК 2 установлен в "1", то на выходе первого элемента ИЛИ 16 появляется "1", которая подается на управляющий вход счетчика 20, разрешая запись в него. На первом управляющем выходе операционного 25 блока 1 — "0", поэтому на управляющем входе второго мультиплексора

12 — "0", поскольку на обоих входах второго элемента ИЛИ 22 логические "0". Таким образом, в счетчик 20 и в PANK 8 положительным фронтом Ф1 записывается адрес новой линейной последовательности микрокоманды с адресного поля 7 PMK 2.

После этого извлекается первая микрокоманда новой последовательности .Формулирование адреса следующей микрокоманды для микрокоманд условного перехода производится следующим образом. Бит УП 5 PMK 2 для микро40 команд условного перехода установлен в "1" и передается на второй управляющий вход операционного блока 1. Первые 4 разряда поля КОП 4

РМК 2 в этих микрокоманд содержат

45 код условия, которое должно быть выполнено при реализации условного перехода. Условием могут быть признаки результата, вырабатывающиесяв операционном блбке 1 при выполнении арифметико-логических микрокоманд: равенство нулю результата операции; отрицательный результат операций; переполнение разрядной сетки при выполнении арифметических операций;.установка бита переноса при сдвигах и арифметических операциях.

46 8 на управляющий вход второго мультиплексора, на выход второго мультиплексора 12 проходит код с выхода счетчи- ка 20, который является адресом мик« рокоманды, при выполнении которой произошел сбой. Сигнал .сбоя ("0") с инверсного выхода триггера 18 фик4 сации сбоя поступает на второй вход первого элемента И 23, блокируя прохождение импульсов Ф2 на счетчике

20, тем самым блокируя счетчик 20, Таким образом, в PAMK 8 по положительному фронту Ф1 записывается адрес микрокоманды выполняемой линейной последовательности микрокоманд, при выполнении которой произошел сбой. Эта микрокоманда повторяется.

На выходе схемы 19 сравнения сигнал "1" сменяется сигналом "0".Этот сигнал поступает на установочный вход триггера 18 фиксации сбоев,который отрицательным фронтом Ф1 сбрасывается в "0", разблокируя тем самым счетчик 20. Таким образом, нормальное функционирование процессора восстанавливается, и процессор выполняет микрокоманду, при формировании адреса которой был зафиксирован сбой.

7 12117

Если при формировании адреса следующей микрокоманды выполняемой линейной последовательности микрокоманд произошел сбой в работе аппаратуры процессора, этот сбой фиксируется следующим образом. Срабатывает схема защиТы от сбоев, реализованная на счетчике 20, схеме 19 сравнения, триггера 18 фиксации сбоя.

При нормальной работе процессора 10 адрес очередной микрокоманды,сформированный процессором и адрес, сформированный счетчиком 20 должны совпадать. В случае их несовпадения фиксируется сбой в работе блоков процессо- 15 ра. При этом адрес, хранящийся в счетчике 20, является адресом микрокоманды, при выполнении которой произошел сбой в аппаратуре процессора.

Таким образом, при несовпадении 2п адресов в счетчике 20 и в PARK 8 на выходе схемы сравнения появляется сигнал логической "1", который поступает на установочный вход триггера 18 фиксации сбоев, по отрицатель-р ному фронту Ф1 триггер фиксации сбоев устанавливается в 1 . Сигнал "Сбой

С выхода триггера 18 сбоев, проходя через второй элемент ИЛИ 22 подается

1211746

17

Фиг 2

РД и

Составитель И.Силин

Редактор Т.Парфенова Техред Л.Микещ. Корректор В.Бутяга

Заказ 642/54 Тираж 673 Подиисное

ВНИИПИ Государственного комитета СССР по делам изобретений и открыткой

113035, Москва, Ж-35, Раушская наб., д. 4/5

Филиал ППП "Патент", r. Ужгород, ул. Проектная, 4

Микропрограммный процессор Микропрограммный процессор Микропрограммный процессор Микропрограммный процессор Микропрограммный процессор Микропрограммный процессор 

 

Похожие патенты:

Изобретение относится к области цифровой вычислительной техники, в (Частности к устройствам обработки информации специального назначения ,с точки зрения вычислительного устройства

Изобретение относится к цифровой вычислительной технике и может быть использовано в специализированных устройствах, предназначенных для решения систем линейных алгебраических уравнений

Процессор // 1200294

Изобретение относится к вычислительной технике и может быть использовано для определения состава и веса критических путей в орграфе без петель

Изобретение относится к вычислительной технике и может быть использовано в электронной цифровой вычислительной машине

Изобретение относится к вычислительной технике и может быть использовано в электронной цифровой вычислительной машине

Изобретение относится к вычислительной технике и может быть использовано в вычислительных системах для связи процессоров с внешними устройствами, между процессорами, а также между процессорами и запоминающими устройствами

Изобретение относится к вычислительной технике и используется для обработки сигналов, которые состоят из множества компонентов, каждый из которых представляет какой-то один аспект физического объекта

Изобретение относится к электронным играм

Микроэвм // 2108619
Изобретение относится к области микропроцессорной техники, в частности, может применяться для реализации обмена информацией

Изобретение относится к системам передачи стоимости товара при безналичных операциях
Наверх