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

Иллюстрации

Показать все

Реферат

 

Союз Советскик

Социапистичесниа

Республик

ОП ИСАНИЕ

ИЗОБРЕТЕН ИЯ

К. АВТОРСКОМУ СВИДЕТЕЛЬСТВУ и 980095 (6l ) Дополнительное к авт. свид-ву (22)Заявлено 18.06.81 (21) 3303317/18-24 с присоединением заявки № (23) Приоритет (51)M. Кл.

G 06 F 9/22

G 06 F 11/16

9вударстааеы6 кеннтет

CCCP ав делам нзоаретенил н открытия

Опубликовано 07.12,82. Бюллетень № 4r (53) ЙК681. 3 (088. 8) Дата опубликования описания 09 . 12 .82

В.С. Харченко, А.П. Плахтеев, Н.П. Благодарныи",""-"-.

Г.Н. Тимонькин и С.H. Ткаченко (72) Авторы изобретения

I (71) Заявитель (54) НИКРОПРОГРАНИННЙ ПРОЦЕССОР

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

5 управлением.

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

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

Известны микропрограмнные процессоры с самодиагностикой, содержащие задублированные блоки обработки, блоки локальной памяти и блок основ ной памяти (2,3).

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

Известен также микропрограммный процессор с самодиагностикой, содержащий первый и второй блоки обработки информации, коммутатор, схему сравнения, триггер, блоки основной памяти, регистры адреса и данных, блок микропрограммной памяти, оормирователи адреса и микроопераций 14).

Недостатками указанного аналога являются большой объем средств контроля и сложность восстановления рабо.тоспособности при возникновении отказаi

Наиболее близким к предлагаемому по технической сущности и достигаемо3 9800 му эффекту является процессор, содержащий блок основной памяти, регистр адреса, регистр данных, блок буферной памяти, два блока локальной памяти, два операционных блока, первый комму- татор, первый блок элементов И, схе" му сравнения, первый формирователь адреса микрокоманд, блок памяти микрокоманд, триггер управления, формирователь микроопераций, причем первый 10 выход блока основной памяти соединен с входом регистра данных, первый выход которого соединен с первыми входами первого и второго блоков локальной памяти соответственно, второй вы- 15 ход - с первым входом первого формирователя адреса микрокоманд, третийчерез регистр адреса - с первым входом блока основной памяти, второй вход которого соединен с первым входом щ блока буферной памяти и первым выходом формирователя микроопераций, вто рой выход - со вторым входом блока буферной памяти и первым входом формирователя микроопераций, третий 2s вход - с выходом первого блока элементов И, первый вход которого соеди. нен с выходом первого коммутатора, второй вход - с первым выходом первого формирователя адреса микрокоманд, зо второй вход которого соединен с выходом схемы сравнения, третий вход является входом синхронизации устройства, четвертый вход соединен со вторым выходом формирователя микроопераций, второй вход которого соединен с выходом блока памяти микрокоманд, третий выход — с управляющими входами первого коммутатора, первый информационный вход которого соеди- 4О нен с первым входом схемы сравнения и первым выходом первого операционного блока, второй выход которого соединен со вторым входом первого блока локальной памяти, первый выход ко-4 торого соединен с первым входом первого операционного блока, второй вход схемы сравнения соединен со вторым информационным входом первого коммутатора и первым выходом второго операционного блока, второй выход которого соединен со вторым входом второго блока локальной памяти, выход которого соединен с первым входом второго операционного блока (g).

Недостатками указанного процессора являются низкая отказоустойчивость и низкая достоверность функционирования.

95 4

В прототипе реализуется следующая дисциплина функционирования.

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

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

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

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

Большое время диагностики обуславливается также необходимостью передачи содержимого каналов в буферную память и последующей перезагрузки ра" ботоспособного канала.

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

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

Поставленная цель достигается тем, что в микропрограммный процессор, содержащий блок основной памяти, регистр адреса, регистр данных, блок буферной памяти, первый и второй блоки 5 локальной памяти, первый и второй операцйонные блоки, первый коммутатор, первый блок элементов И, схему сравнения, первый формирователь адреса микрокоманд, триггер управления, блок 0 памяти микрокоманд и первый формирователь микроопераций, причем первый информационныи выход блока основной памяти соединен с входом регистра данных, первый выход которого соединен с 15 первыми входами первого и второго блоков локальной памяти, второй выход регистра данных соединен с входом кода операции первого форлирователя микрокоманд, управляющий выход которого 20 соединен с инверсными входами первого блока элементов И, третий .выход регистра данных соединен с входом регистра адреса, выход ноторого соединен с первым адресным входом блока 25 основной памяти, второй информационный выход блока основной памяти соединен с первым информационным входом блока буферной памяти и первым входом формирователя микроопераций, вы- З0 ход микроопераций которого соединен с управляющим входом блока основной памяти и управляющим входом блока буферной памяти, выход первого коммутатора соединен с входом первого блока элементов И, выход которого соединен с информационным входом блока основной памяти, выход блока памяти микрокоманд соединен со вторым входом формирователя микроопераций, адресный 40 выход которого соединен с адресным вХодом первого формирователя адреса микрокоманд, выход первого операционного блока соединен с первым информационным входом первого коммутатора

: и первым входом схемы сравнения, выход которой соединен с управляющим входом формирователя адреса микрокоманд, выход второго операционного блока соединен со вторым входом схемы сравнения, и вторым информацион ным входом первого коммутатора, прямой и инверсный управляющие входы которого соединены с первым управляющим выходом формирователя микроопера55 ций, второй выход первого операционного блока соединен со вторым входом первого блока локальной памяти, выход оторого соединен с первым информа95 6 ционным входом первого операционного блока, второй вйход второго операционного блока соединен со вторым входом второго блока локальной памяти, выход которого соединен с первым информационным входом второго операционного блона, вход синхронизации Формирователя адреса микрокоманд соединен с входом тактовых импульсов устройст" ва, введенй второй и третий коммутаторы, второй, третий и четвертый блоки элементов И, триггер режима, второй формирователь адреса микрокоманд, счетчик адреса, первый, второй и третий элементы ИЛИ, первый и второй одновибраторы, элемент ИЛИ-НЕ,причем информационный выход блока буферной памяти соединен с первыми информационными входами второго и третьего коммутаторов, выход которого соединен,со вторыми входами первого и второго операционных блоков, выход микроопераций формирователя микроопераций соединен со вторыми информационными входами третьего и второго коммутаторов, выход которого соединен с третьими входами первого и второго блоков локальной памяти, выход первого элемента ИЛИ соединен с входом первого одновибратора; выход которого соединен с первым входом второго элемента ИЛИ, единичный выход триггера управления соединен со вторым входом второго элемента ИЛИ, выход которого соединен с прямыми и инверсными управляющими входами второго и третьего коммутаторов, второй управляющий выход формирователя микроопераций соединен с единичным входом триггера режима, единичный выход которого соединен с первым входом второго блока элементов И, выход минроопераций формирователя соединен со вторым входом второго блока элементов И, выход которого соединен с входами первого элемента ИЛИ и входами второго 4юрмирователя адреса микрокоманд, выход вто980095 мента ИЛИ, выход которого соединен с установочным входом счетчика адреса и нулевым входом триггера управления, третий управляющий выход блока ;буферной памяти соединен с входом второго одновибратора и счетным входом счетчика адреса, выходы которого соединены со вторым информационным входом блока буферной памяти и входами элементаИЛИ-НЕ, адресный выход пер1О вого Формирователя адреса микрокоманд и выход элемента ИЛИ-HE соединены соответственно с первым и вторым входами четвертого блока элементов И, выход которого соединен с входом блока памяти микрокоманд, выход кода отказавших микрокоманд формирователя микроопераций соединен со вторым, адресным входом блока основной памяти, выход схемы сравнения и выход второго 20 одновибратора соединены соответственно со вторым и третьим входами третьего элемента ИЛИ, установочный вход устройства соединен с нулевым входом триггера режима. 25

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

Множество микрокоманд, образующих микрооперационный базис Мо вычислительной системы, как правило обладает функциональной избыточностью. Множество микрокоманд М может быть представ-4„ лено объединением подмножества микрокоманд M.l,.áåç которых не могут быть реализованы все требуемые операции и подмножества микрокоманд М.2, вводимых дополнительно для обеспечения заданного уровня производительности системы. Поэтому часть микрокоманд подмножества М.1 может быть выполнена пу. тем реализации эквивалентной последовательности других микрокоманд из подмножеств М.1 и М.2. Например, микрокоманды операции умножения могут быть заменены последовательностью микрокоманд сложения и сдвига. Это позволяет для большинства микрокоманд

55 формировать эквивалентные заменяющие последовательности и использовать их при соответствующих отказах с целью восстановления работоспособности.

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

Для реализации сущности изобретения в микропрограммный процессор дополнительно введены второй и третий коммутаторы, три блока элементов И, три элемента ИЛИ, элемент ИЛИ-НЕ, второй триггер, второй формирователь адреса микрокоманд, состоящий из дешифратора и шиФратора, два одновибратора, счетчик адреса. ! а

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

Код микрокоманд, входящих в эквивалентную заменяющую последовательность иикрокоманд, состоит из трех полей: поле метки, определяющей необходимость выполнения данной эквивалентной заменяющей последовательности микрокоманд; поле кода микроопераций; поле метки считывания информации.

9 9800

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

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

Введение триггера режима, второго 20 формирователя адреса микрокоманд, второго блока элементов И и обуслов" ленных ими связей позволяет записывать в счетчик адреса адрес первой микрокоманды эквивалентной заменяю- 25 щей последовательности для отказавшей микрокоманды °

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

Например, если полное множество заменяемых микрокоманд состоит из микрокоманд Й„,. Р >, ° ° . ° к Tî дешифратор4о второго формирователя адреса имеет К выходов и Ч входов (Ч вЂ” разрядность операционной части Ю- микрокоманд

R° .,, i 6 1,К).

На каждом из выходов дешифратора 45 д„ реализуется функция

5о блока буферной памяти; на фиг. 655 к где E = 3 ОД Х 1 „Г где 1. - двоичная переменная j-того

Ю.

3 разряда операционной части

И -.

Шифратор второго формирователя адреса имеет в этом случае 9 входов и Е, выходов, 95 10 где N - число микрокоманд образую1 щих эквивалентную заменяющую последовательность для 1-той микрокоманды.

Шифратор формирует на своих выходах двоичные коды разрядностью которые соответствуют единичным сигналам, поступающим с выхода дешифратора, Эти коды задают начальные адреса эквивалентных заменяющих последовательностей.

Введенйе счетчика адресов обуслов лено необходимостью формирования адресов микрокоманд, входящих в эквивалентную заменяющую последовательность микрокоманд, и считывания по этим адресам микрокоманд из блока буферной памяти.

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

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

На фиг. 1 приведена функциональная схема микропрограммного процессора; на Фиг. 2 - функциональная схема блоков локальной памяти, выполненных идентично; на фиг. 3 функциональная схема операционных блоков, выполненных идентично; на фиг. Й - шункциональная схема блока основной памяти; на h»r. 5 - функциональная схема функциональная схема первого бормирователя адреса микрокоманд, на фиг. 7функциональная схема формирователя микроопераций. Пример кодирования полей эквивалентных заменяющих последовательностей микрокоманд для отказавших и неотказавших микрокоманд показан на фиг. 8.

11 9800

На Фиг. 1 используются следующие, обозначения: второй коммутатор 1, первый блок 2 локальной памяти, второй блок 3 локальной памяти., первый операционный блок 4 и второй операционный блок 5, блок 6 основной памяти, регистр 7 данных, регистр 8 адреса, третий коммутатор 9, схема 10 сравнения, первый коммутатор 11, первый блок 12 элементов И, блок 13 буферной памяти, триггер 14 управления, первый Формирователь 15 адреса микрокоманд, четвертый блок 16 элементов И, блок 17 памяти микрокоманд, формирователь 18 микроопераций, второй блок 19 элементов И, второй формирователь 20 адреса микрокоманд, состоящий из дешифратора 21 и шифратора 22, третий блок 23 элементов И, третий элемент ИЛИ 24, счетчик 25 ад- о реса, элемент ИЛИ-НЕ 26, второй одновибратор 27, триггер 28 режима, первый элемент ИЛИ 29, первый одновибратор 30, второй элемент ИЛИ 31, вход 32 синхронизации, вход 33 установки триггера 28 в нуль.

На Фиг. 2 используются следующие обозначения: третий вход 34 блока локальной памяти, дешифратор 35, шифратор 36, и коммутаторов 37, первых 3î регистров 38, у1 вторых регистров 39, первый вход 40 блоков локальной памяти, выход 41 блока локальной памяти, второй вход 42 блока локальной памяти. 35

На Фиг. 3 используются следующие обозначения: второй вход 43 операционного блока, дешифратор 44, шифратор 45,коммутатор 46, сумматор 47, регистр 48, второй вход 49 операцион-40 ного блока, первый 50 и второй 51 блоки элементов И, первый 52 и второй 53 выходы операционного блока соответственно.

На Фиг. 4 используются следующие

45 обозначения: инфррмационный вход 54 блока основной памяти, регистр 55, первый накопитель 56 инФормации, первый адресный вход 57 блока основной памяти, управляющий вход 58 блока основной памяти, первый элемент И 59, вход 60 импульсов записи, вход 61 импульсов считывания, второй элемент И 62,третий элемент И 63, второй накопитель 64 информации, второй 65 адресный у вход, первый 66 и второй 67 информационные выходы блока основной памяти- соответственно.

95 12

На фи г, 5 испол ь зуются слеачющие обозначения: управляющий вход 68 блока буферной памяти, первый блок 69 элементов И, блок 70 элементов ИЛИ, накопитель 71 информации, первый 72 и второй 73 информационные входы блока буферной памяти, второй блок 74 элементов И, первый элемент ИЛИ .75, вход 76 импульсов записи, первый 77 и второй 78 элементы И соответственно, вход 79 генератора константы единицы (вход постоянного уровня логической единицы), второй элемент

ИЛИ 80, третий элемент И 81, вход 82 импульсов считывания, четвертый элемент И 83, первый 84 управляющий, информационный 85, третий 86 и второй 87 управляющие выходы блока буферной памяти соответственно.

На Фиг. 6 используются следующие обозначения: вход 88 кода операции и управляющий вход 89 первого Формирователя адреса микрокоманд соответственно, шифратор 90, блок 91 элементов ИЛИ, регистр 92 адреса, первый одновибратор 93, первый блок 94 элементов И, третий элемент И 95, первый элемент И 96, второй блок 97 элементов И, пятый. блок 98 элементов И, второй буферный регистр 99, третий блок 100 элементов И, первый буферный регистр 101, элемент ИЛИ 102, схема 103 сравнения, второй одновибратор 104, четвертЫй блок 105 элементов И, второй элемент И 106, счетчик 107 сбоев, первый 108 и второй 189 триггеры, синхронизирующий и адресный входы 110 и 111 первого формирователя адреса микрокоманд соответственно, адресный и управляющий выходы 112 и 113 первого .Формирователя адреса микрокоманд соответственно.

На Фиг. 7 используются следующие обозначения: второй вход 114 формирователя микроопераций, регистр 115 микрокоманд, группа первых дешифраторов 116, дешифратор 117, первый вход 118 формирователя микроопераций, элемент И 119, триггер 120, пер. вый 121 и второй 122 одновибраторы соответственно, выход адреса, первый

Ф управляющий выход, выходы кода "отказавших микрокоманд, микроопераций и второй управляющий выход формироватеJlR микроопераций 123-127 соответственно.

На йиг. 8 используются следующие обозначения: 1-3 — столбцы первого980095

50 третьего полей микрокоманд, входящих в эквивалентную заменяющую последовательность микрокоманд, соответственно Э - эквивалентная заменяющая последовательность для микрокоманд 5

hf jE 1 i-l, 1, !+11.

Назначение основных элементов функциональной схемы микропрограммного процессора (фиг. 1) состоит в следующем.

Коммутатор предназначен для коммутации микроопераций, поступающих с формирователя 18 микроопераций или с блока 13 буферной памяти на .третьи входы первого и второго блоков локаль-!5 ной памяти 2 и 3 соответственно.

Блоки 2 и 3 локальной памяти предназначены для хранения операндов и промежуточных результа1ов обработки информации. 20

Операционные блоки 4 и 5 осуществляют преобразование информации по микрокомандам, поступающим от коммутатора 9. На первые входы операционных блоков 4 и 5 из блоков 2 и 3 ло- 25 кальной памяти поступают операнды, над которыми осуществляются соответствующие операции. Результат вычислений выдается на вторые входы блоков локальной памяти, на коммутатор 11 30 и на схему 10 сравнения.

Блок 6 основной памяти предназначен для хранения данных и команд и адресов начальных микрокоманд, входящих в эквивалентные заменяющие последовательности микрокоманд.

Регистр 7 данных предназначен для приема и хранения очередных команд выполняемой программы, поступающих из 4 блока 6 основной памяти. Операнды с первого выхода регистра 7 поступают в блоки 2 и 3 локальной памяти.

Регистр 8 адреса. предназначен для хранения адреса следующей команды ° 45

Коммутатор 9 предназначен для коммутации микроопераций, поступающих с выхода формирователя 18 микроопераций или с выхода блока 13 буферной памяти на вторые входы первого 4 и второго 5 операционных блоков соответственно, в зависимости от режима работы.

Схема 10 сравнения предназначена для сравнения результатов обработки информации в первом 4 и втором 5 операционных блоках и выдачи сигнала на выходе в случае их несовпадения.!

Коммутатор 11 предназначен для ком-, мутации информации, поступающей из первого 4 или второго 5 операционного блока в блок 6 основной памяти °

Блок 12 элементов И предназначен для передачи обработанной информации с выхода коммутатора 11 на вход блока 6.основной памяти и блокировки этой передачи при возникновейии отказа в одном из каналов микропрограммного процессора.

Блок 13 буферной памяти предназначен для хранения эквивалентных заменяющих последовательностей микрокоманд. Триггер 14 предназначен для управления через второй элемент ИЛИ 31 коммутаторами 1 и 9 в зависимости от режима работы микропрограммного процессора. формирователь 15 адреса микрокоманд предназначен для формирования адресов микрокоманд и выдачи сигналов управления на второй вход первого блока !2 элементов И.

Блок 16 элементов И предназначен для управления считыванием микроко- манд из блока 17 памяти микрокоманд по адресу, сформированному в первом формирователе 15 адреса микрокоманд.

Блок 17 памяти микрокоманд предназначен для хранения микрокоманд, используемых при обработке информации и выполнении микропрограммы диагностики формирователь 18 микроопераций предназначен для формирования микроопераций, по которым осуществляется обработка информации, для формирования кодов номеров отказавших микрокоманд, для .формирования адреса следующей микрокоманды, для формирования сигнала конца выполнения микропрограммы диагностики и сигнала начала работы процессора после восстановления отказа, для управления выходами операционных блоков 4 и 5.

Блок 19 элементов И предназначен для управления выдачей кода первой микрокоманды эквивалентной заменяющей последовательности с выхода формирователя микроопераций 18 на вход формирователя 20 адреса микрокоманд.

Формирователь 20 адреса микрокоманд, состоящий из последовательно соединенных дешифратора 21 и шифрато" ра 22, предназначен для формирования адреса первой микрокоманды эквивалентной заменяющей последовательности

980095

15 микрокоманд, который через блок 23 элементов И поступает на вход счетчика 25 адреса.

Счетчик 25 адреса предназначен для считывания по записанному в нем адресу из блока 13 буферной памяти микрокоманд, входящих в эквивалентную заменяющую последовательность микрокоманд. Элемент ИЛИ 24 предназначен для передачи сигнала обнуления счетr0 чика 25 адреса и триггера 14 управления с выхода схемы 10 сравнения, одновибратора. 27 и выхода блока 13 буферной памяти.

Элемент ИЛИ-НЕ 26 предназначен для формирования сигналов управления блоком 16 элементов И, Одновибратор 27 предназначен для формирования сигнала обнуления счетчика 25 адреса. зо

Триггер 28 режима предназначен для управления цередачей кода микрокоманды через блок ",9 элементов И в режиме функционирования после восстановления отказа.

Одновибратор 30, элементы ИЛИ 31 и 29 предназначены для запрещения про хождения микроопераций с выхода формирователя 18 микроопераций на входы блоков 2 и 3: локальной памяти и входы операционных блоков 4 и 5 в течение времени проверки очередной микрокоманды на предмет необходимости ее замены эквивалентной заменяющей последовательностью микрокоманд. 35

Назначение основных элементов функциональной схемы блока локальной памяти (фиг. 21 состоит в следующем.

Кодопреобразователь, состоящий из дешифратора 35 и шифратора 36, преоб- <0 разует поступающие на третий вход блока локальной памяти 34 коды микроопераций в управляющие сигналы, которые поступают на управляющие входы коммутаторов,37 и на вход синхронизации 45

11.вторых регистров 39.

Коммутаторы 37 предназначены для передачи информации с первого входа 40 или со второго входа 42 с выхода соответствующего второго регистра 39 в 50 соответствующий регистр 38 (при восстановлении информации) .

Регистры 39 предназначены для хра. нения информации и выдачи ее на вход соответствующих регистров 39 и на вы- ход блока 41.

Блок 2 (3J локальной памяти функционирует следующим образом.

16

По очередному коду микроопераций через соответствующий коммутатор 37 операнд со входа 40 блока локальной памяти записывается в регистр 38 и хранится в нем или передается затем в операционный блок. Таким we образом осуществляется запись, хранение и выдача информации в операционный блок при обработке информации, поступающей на вход 42 блока локальной памяти или с выхода соответствующего регистра 39.

Если информация является результатом выполнения программы в -.й контрольной точке и ее необходимо хранить до получения результата выполнения программы в (+1) -й контрольной точке, то эта информация хранится в соответствующем регистре 39. Сигнал записи информации в контрольной точке поступает на вход синхронизации регистра 39, после чего информация с регистра 38 перезаписывается в регистр 39.

Назначение основных функциональных элементов операционного блока (фиг.33 состоит в следующем.

Кодопреобразователь, состоящий из дешифратора 44 и шифратора 45, преобразовывает поступающие на вход 43 операционного блока коды микроопераций в коды управляющих сигналов, которыми управляются коммутатор 46 и блоки 50 и 51 элементов И.

Коммутатор 46 предназначен для передачи информации, поступающей с выхода регистра 48 или с входа 49 на вход сумматора 47 в зависимостРот кода микроопераций на управляющих входах.

Сумматор 47 предназначен для обработки информации и выдачи ее в регистр 48, регистр 48 предназначен для промежуточного хранения информации.

Блоки 50 и 51 элементов И предназначены для выдачи информации из операционного блока в локальную или основную память процессора.

Операционный блок 4 (5) функционирует следующим образом.

По кодам микроопераций формируется код управляющих сигналов, по которому информация с. входа 49 через коммутатор 46 поступает на вход сумматора 47, Далее по управляющим сигналам осуществляется подача информации с выхода регистра 48 на вход сумматора 47 и с его выхода на вход ре"

17 9800 гистра 48. После окончания обработки, информации открываются блоки 50 или

51 элементов И и информация с выхода регистра 48 поступает на первый 52 или второй 53 выходы операционного 5 блока °

Назначение основных функциональных элементов блока основной памяти (йиг.Ц состоит в следующем.

Регистр. 55 предназначен для приема о обработанной информации с входа 54 и последующей ее записи в накопитель 56

Накопитель 56 предназначен для хранения данных и команд. Первый 59 и второй 62 элементы И по сигналам микроопераций, поступающим нв вход 58 формируют сигналы записи и считывания, по которым осуществляется запись в накопитель 56 содержимого регистра 55 и считывание очередной ко- 0 манды по адресу, поступающему на вход 57.

Накопитель 64 предназначен для хранения адресов первых микрокоманд эквивалентных заменяющих последователь25 ностей микрокоманд. Элемент И 63 предназначен для формирования сигнала считывания информации по адресу, который поступает на четвертый вход 65 °

Блок основной памяти функциониру- 50 ет в трех режимах.

1. Режим записи информации, поступающей на вход 54. Информация с первого 4 или второго 5 операционного блока поступает на вход блока 6 ос- з5 новной памяти и записывается в регистр 55.

Код микроопераций открывает элемент И 59. Импульсы записи через weмент И 59 поступают на вход накопите- 40 ля 56 и записывают в него содержимое регистра 55.

2. Режим считывания следующей команды.

Код микроопераций считывания по- 45 ступает на вход элемента И 62. Импульсы считывания через элемент И 62 поступают на вход накопителя 56 и по адресу, поступающему на адресный ,вход 57 накопителя, производят считы- 5в вание следующей команды и подают ее на первый выход 66.

3. Режим считывания адресов начальных микрокоманд эквивалентных за55 меняющих последовательностеи микрокоманд. Код микроопераций считывания поступает на вход элемента И 63. Импульсы считывания через элемент И 63

95 18 поступают на вход второго накопителя 64 и по адресу, поступающему с входа 65 считывают на выход 67 адрес начальной микрокоманды эквивалентной последовательности, отказавшей микрокоманды.

Назначение основных функциональных элементов блока буферной памяти (фиг. 5) состоит в следующем.

Блоки 69 и 74 элементов И, блок 70 элементов ИЛИ формируют адрес, по которому осуществляется запись или считывание микрокоманд, входящих в эквивалентную заменяющую последовательность микрокоманд.

Элемент ИЛИ 75, первый 77 и второй, 78 элементы И предназначены для записи в первое поле микрокоманд по выбранному адресу единичного сигнала.

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

Накопитель 71 предназначен для хранения эквивалентных заменяющих последовательностей микрокоманд.

Элемент И 83 предназначен для формирования сигнала установки в нулевое состояние счетчика 25 адреса при считывании из блока 13 буферной памяти первой микрокоманды эквивалентной заменяющей последовательности микрокоманд для неотказавшей микрокоманды. I

Блок 13 буферной памяти функционирует следующим образом.

Адрес очередной микрокоманды, вхо" дящей в эквивалентную заменяющую последовательность микрокоманды, посту пает через вход 72 на вход блока 69 элементов И и на входы элемента ИЛИ 75.

Сигнал микрооперации поступает на вход блока 69 элементов И. Адрес микрокоманды с выхода блока 69 элементов поступает на вход блока 70 элементов ИЛИ и через него далее на,адресный вход накопителя 71. Сигнал с выхода элемента ИЛИ 75 открывает первый 77 и второй 78 элементы И. При этом сигнал записи поступает на вход элемента И 77 и через него на вход записи накопителя 71, а единичный сигнал с входа 79 через элемент И 78 поступает на информационный вход накопителя и записывает в первое поле микрокоманды единицу.

19 980

Считывание микрокоманд иэ блока 1 буферной памяти осуществляется следую. щим образом.

Адрес микрокомвнды поступает че" рез блок элементов И 74, блок элемен" 5 тов ИЛИ 70 и на адресный вход накопи" теля 71, а также через элемент ИЛИ 80 открывает элемент И 81.

Сигнал считывания через элемент

И 81 поступает на вход считывания на- ®Э копителя 71 и по выбранному адресу считывает микрокоманду.

При считывании первой микрокоманды каждой эквивалентной заменяющей последовательности микрокоманд с помощью элемента И 83 осуществляется проверка, является ли данная микрокоманда отказавшей.

Назначение основных функциональных элементов nepeoro формирователя 15 адреса микрокоманд (Фиг. 6 ) состоит в следующем.

Регистр 92 предназначен для хранения адреса следующей микрокоманды и выдачи его на выход 112 формирователя 15.адреса микрокоманд.

Блок 91 элементов ИЛИ предназначен для записи в регистр 92 адреса инфор- мации либо со входа 88, либо с выхода шифратора 90, либо с выходов блоков 94, 97, 105 элементов И.

Нифратор 90.предназначен для Формирования адреса первой микрокоманды микропрограммы диагностики при появлении сигнала несравнения .

Одновибратор 93 предназначен для запуска шифратора 90 при формировании адреса первой микрокоманды микро- 4„ программы диагностики.

Блоки 94 и 97 элементов И предна" значены для управления передачей в соответствующие моменты работы микропрограммного процессора на блок 91 45 элементов ИЛИ адреса следующей микрокоманды или адреса микрокоманды обработки информации а контрольной точке.

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

v v

50 отказ и работе микропрограммного про» цессора. Блок 100 элементов И предназначен для передачи адреса отказавшей микрокоманды с информационного .выхода регистра 92 адреса на вход пер-

coro буферного регистра 101 при наличии на