Процессор
Иллюстрации
Показать всеРеферат
Изобретение относится к области цифровой вычислительной техники и может быть использовано в электронных вычислительных машинах средней производительности. Целью изобретения является повьппение надежности процессора путем обеспечения контроля выборки и чтения операндов, выполнения команд, записи результата и восстановления вычислительного процесса. Поставленная цель достигается введением в процессор, содержащий два блока локальной памяти, два коммутатора входов, арифметико-логическое устройство , блок регистров признаков,блок регистров, маски, блок формирования адреса, блоки оперативной и управляющей памяти, коммутатор данных, узлы регистров выборки и записи, регистр адреса, коммутатор адреса и дешифратор микрокоманд, дополнительно третьего и четвертого блоков локальной памяти, блока контроля, блока микропрограммных прерываний блока регистров повторения, четырех коммутаторов признаков, регистра адреса текущей микрокоманды, регистра результата, четырех схем сравнения, шести элементов ИСКЛЮЧАКЯЦЕЕ ИЛИ и блока коммутации данных. 4 з.п. ф-лы, 20 ил. .о (О (Л N9 4 Oi
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСНИХ
РЕСПУБЛИК (51) 4 С ОС F 15/00
ОГ1ИСАНИЕ ИЗОБРЕТЕНИЯ
Н A BTOPCHOMY СВИДЕТЕЛЬСТВУ ния команд, записи результата и восстановления вычислительного процесса;
Поставленная цель достигается введением в процессор, содержащий два блока локальной памяти, два коммутатора входов, арифметико-логическое устройство, блок регистров признаков, блок регистров, маски, блок формирования адреса, блоки оперативной и управляющей памяти, коммутатор данных, узлы регистров выборки и записи, регистр адреса, коммутатор адреса и дешифратор микрокоманд, дополнительно третьего и четвертого блоков локальной памяти, блока контроля, блока микропрограммных прерываний, блока регистров повторения, четырех коммутаторов признаков, регистра адреса текущей микрокоманды, регистра результата, четырех схем сравнения, шести элементов ИСКЛЮЧАЮЩЕЕ ИЛИ и блока коммутации данных. 4 s.ï. ф-лы, 20 ил.
ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 3730055/24-24 (22) 20. 04. 84 (46) 23.07.86. Бюл. 1Ф 27 (72) P.М. Асцатуров, В.M. Пронин, В.С. Хамелянский и Б.В. Цесин (53) 681.325(088.8) (56) Авторское свидетельство СССР
Ф 535567, кл. G 06 F 15/00, 1976. Патент США Р 3656123;. кл. 340-172,5, опублик. 1972.
Авторское свидетельство СССР
Р 670935, кл. С 06 F 15/00, 1979. (54) ПРОЦЕССОР (57) Изобретение относится к области цифровой вычислительной техники и может быть использовано в электронных вычислительных машинах средней производительности. Целью изобретения является повьппение надежности процессора путем обеспечения контроля выборки и чтения операндов, выполне„„Я0„„1246108 А 1
1246108
Изобретение относится к области цифровой вычислительной техники и может быть использовано в электрон- ных вычислительных машинах средней производительности широкого применения.
Цель изобретения — повышение надеж ности процессора путем обеспечения контроля выборки и чтения операндов, выполнения команд, записи результата и восстановления вычислительного процесса.
На фиг. 1 приведена структурная схема процессора; на фиг. 2 †. структурная схема блока контроля; на фиг. 3— .структурная схема блока микропрограммных прерываний; на фиг. 4 — структурная схема блока регистров повторения; на фиг. 5 вЂ, структурная схема блока коммутации данных „ на фиг.6— структурная схема блока локальной памяти; на фиг. 7 — структурная схема первого коммутатора входов; на фиг.8 структурная схема второго коммутатора входов; на фиг. 9 — структурная схема блока регистров признаков; на фиг. 10 — структурная схема блока ре.гистров маски; на фиг. 11 — структурная схема блока формирования адреса; на фиг. 12 — структурная схема узла регистров выборки; на фиг. 13 — структурная схема узла регистров записи; на фиг. 14 — структурная схема дешиф ратора микрокоманды; на фиг. 15 — временная диаграмма выполнения микрокоманды "Арифметика"; на фиг. 16 — временная диаграмма выполнения микрокоманды "Память"; на фиг. 17 — временная диаграмма выполнения микрокоманды
"Переход с возвратом"; на фиг.18— временная диаграмма выполнения микроманды "Возврат"; на фиг. 19 — временная диаграмма обработки запросов; на .фиг. 20 — блок-схема алгоритма микропрограммного восстановления.
Процессор (фиг. 1) содержит четыре блока 1-4 локальной памяти, коммутаторы 5 и 6 входов арифметико-логического устройства 7, блок 8 регист ров признаков, блок 9 регистров маски, блок 10 формирования адреса, блок
11 оперативной памяти, блок .12 управляющей памяти, коммутатор 13 данных, узел 14 регистров выборки, узел 15, регистров записи, регистр 16 адреса, коммутатор 17 адреса, дешифратор 18 микрокоманды, блок 19 контроля, блок
20 микропрограммных прерываний, блок
21 повторения, коммутаторы 22-25 признаков, регистр 26 адреса текущей микрокоманды, регистр 27 результата схемы 28-32 сравнения, элементы .
ИСКЛЮЧАЮЩЕЕ ИЛИ 33-39, блок 40 коммутации данных, выход 41, вход 42, вход 43.
Блок 19 контроля (фиг. 2) содержит регистр 44 ошибок, регистр 45 типов, регистр 46 признаков, группы 47 и 48 элементов И, группу 49 элементов ИЛИ, элементы ИЛИ 50 и 51, триггеры 53 и
53, элемент И 54.
Блок 20 микропрограммных прерыва1. i ний (фиг. 3) содержит регистр 55 запросов, дешифратор 56, регистр 57, группу 58 элементов И, группу 59 элементов ИЛИ, элемент И 60, элементы
ИЛИ 61 и 62, триггер 63.
20 Блок 21 повторения (фиг ° 4) содержит регистры 64-69.
Блок 40 коммутации данных (фиг.5) содержит триггер 70, элементы И 71 и ИЛИ 72.
Блоки 1-4 локальной памяти (фиг.6) содержат память 73, группу элементов
И 74. °
Коммутатор 5 входов (фиг. 7) содержит коммутаторы 75 и 76 и регист30 ры 77 и 78.
Коммутатор 6 входов (фиг. 8) содержит коммутаторы 79 и 80 и регистр
81, Блок 8 регистров признаков (фиг.9) содержит регистры 82 и 83, коммутато» ры 84 и 85, дешифраторы 86 и 87.
Блок 9 регистров маски (фиг.10) содержит регистр 88 исходной маски, регистр 89 маски назначения, группу
90 элементов. И, элемент ИСКЛЮЧАЮЩЕЕ
ИЛИ 91.
Блск 10 формирования адреса (фиг. 11) содержит регистр 92 базы, коммутаторы 93-98, регистры 99-106, дешифраторы 107 и 108.
Узел 14 регистров выборки (фиг. 12) содержит коммутатор 109, регистры
110 и 111.
Узел 15 регистров .записи (фиг. 13) содержит регистры 112 и 113, элемен50 ты И 114 и 115..
Дешифратор 18 микрокоманды (фиг.14) содержит дешифратор 116, генератор 117, группу элементов И
118, выходы 119-122 дешифратора 116, выход 123 группы элементов И 118.Кроме того, блок 20 (фиг, 3) содержит элементы И 124.
1246108
Блок 19 контроля предназначен для фиксации сбоев, возникающих в узлах и блоках процессора. Сбои, возникающие в узлах и блоках процессора,опре деляются с помощью схем 28-3 2 сравнения и элементов ИСКЛЮЧАЮЩЕЕ ИЛИ 3339. С помощью схемы сравнения реализуется сравнение информации, поступающей по двум шинам. В тех случаях, когда по этим шинам должна передаваться одинаковая информация, производится опрос (стробирование) ошибки.
В случае несовпадения хотя бы в одном из битов фиксируется ошибка. С помощью элемента ИСКЛЮЧАЮЩЕЕ ИЛИ проверяется паритет слова (включая контрольные разряды). Ошибка фиксируется при наличии логической "1" на выходе элемента ИСКЛЮЧАЮЩЕЕ ИЛИ. Информация о сбоях с выхода схем 28-32 и элементов 33-39 поступает на вход приема ошибок блока контроля на первый вход группы элементов И 47 и классифицируется по типам в зависимости от времени возникновения. Результат класс сификации фиксируется в регистре 45 и устанавливается в регистре 46.Если установился хотя бы один разряд регистров 45 и 46, то с помощью элемента 50 устанавливается запрос на микропрограммное прерывание, который выдается в блок 20. С помощью элемента 51 вырабатывается сигнал, закрывающий элемент 54, в результате чего прекращается подача синхросиг.нала в блок 21., Этим обеспечивается фиксация контрольной точки.,Кроме того, устанавливаются триггеры 53 и
52, первый из которых вызывает блокировку записи информации в блоки 1-4 путем сброса регистра 89 в блоке 9.
Триггер 53 обеспечивает прием в ре-. гистр 44.информации только о первом сбое, запрещая дальнейший прием информации в регистр 44 путем блокировки элементов И группы 48.
Сброс регистра 45 осуществляется по. сигналу из блока 20 при удовлетво.рении запроса. Триггер 52 сбрасывается после сброса регистра 45. Сброс регистра 44, регистра 46 признаков и триггера 53 осуществляется микропрограммно по дешифрации микрокода.
Блок 20 презназначен для принудительной передачи управления микропрограммы обработки по вопросам от блока 19 или по запросам от каналов, поступающим по входу 43. Запросы
45 ется микропрограммно путем установки триггера 70 блока 40 .
В блоке 11 хранятся программы,т.е. команды и операнды, в соответствии с
50 ющим буфером, в котором хранятся операнды, обрабатываемые в устройстве 7. В блоках 1 и 2 памяти хранятся общие регистры, регистры с плавающей точкой, а также рабочие зоны.
Блоки 3 и 4 представляют собой быст55
1О
40 устанавливаются в регистре 55 и дешифрируются дешифратором 56, после чего с помощью группы 59 элементов устанавливается начальный адрес микропрограммы обработки и через элемент
61 уста"авливается триггер 63,управляющий коммутатором 17, для передачи в регистр 16 через коммутатор 17 адреса микрокоманды, сформированного блоком 20, устанавливается бит регистра 57. С помощью элемента 60 формируется сигнал сброса регистра 45 блока 19, если поступил запрос из блока 19, который имеет наивысший приоритет и не маскируется. Если поступил запрос от каналов и отсутствует запрос из блока 19, то кроме описанного устанавливается соответствующий бит регистра 57, который через элемент И группы 58 маскирует тот тип запросов, который был удовлетворителен. Если установлен хотя бы оцин бит регистра 57, соответствующий запросам ввода-вывода, то с помощью элементов 62 и 124 выдается сигнал в блок 40 для переключения информационных потоков процессора. Если запрос ввода-вывода, который обслуживается, прерывается запросом от блока 19, то после установки нулевого бита регистра 57 запрещается подача сигнала в блок 40 путем блокировки элемента
124 ° Сброс битов регистра 57 осуществляется микропрограммно по дешифрации микрокода. Установка регистра 55 и триггера 63 осуществляется в каждом цикле микроманды.
Блок 21 предназначен для отслеживания состояния процессора и сохранения состояния на момент сбоя. Блок
40 предназначен для управления коммутацией информационных потоков блоков 1-4. Переключение задается по сигналу из блока 20 или устанавлива-, которыми производятся вычисления.
Блоки 1и 2, куда информация поступает из блока 11, блока 12 и арифметико-логического устройства 7 через коммутатор 13, служат быстродейству1246108 родействующую память встроенных каналов ввода-вывода и предназначены для хранения управляющей информации устройства, управляющей информации канала и рабочих зон. Селекция информационных потоков блоков 1 и 3, а также 2 и 4 осуществляется с помощью .коммутаторов 24 и 25 соответственно под управлением блока 40, Селекция информационных потоков и коммутации байтов, поступающих на первый вход устройства 7, осуществляется с помощью коммутатора 5. Селекция информационных потоков и коммутация байтов, поступающих на второй вход устройства 7, осуществляется с помощью коммутатора б. Кроме того, с помощью коммутатора 6 формируется константа, . которая является частью микрокода, и поступает с выхода 20 дешифратора
18 на второй вход коммутатора 80. . Арифметико-логическое устройство
7 разрядностью четыре байта имеет параллельные цепи для выполнения 2 всех заложенных в него арифметических и логических операций. Результат операции запоминается. Кроме того, устройством 7 формируются признаки результата выполненной операции, например больше "0", меньше "0", равно
"0". Результат операции в арифметикологическом устройстве контролируется по паритету элементов 37.
Арифметико-логическое устройство (АЛУ) 7 может быть реализовано последовательным соединением интегральньгх микросхем. Набор операции устройства 7 реализуется с помощью опера, ций, реализованных на указанных микросхемах. Признаки результата операции устройства 7 устанавливаются через дешифраторы 86 и 87 и коммутато-. ры 84 и 85 в регистрах 82 и 83 блока 8 ° Аппаратура блока 8 продублиро- 4 вана.и контролируется схемой 32.
Блок 10 предназначен для хранения адресов, доступных в данный момент зон блоков 1-4 и регистров блоков 19, 21 и 26. Аппаратура блока для адреса-5О ции блоков 1-4 продублирована. Контроль адресов блоков 1-4 осуществляется схемами 30 и 31.
Управление процессом осуществляется микропрограммно. По адресу, находящемуся в регистре 16, на блоки
12 считывается несколько микрокоманд, .выборка нужной микрокоманды осуществ ляется в узле 14. Поля микрокоманды дешифрируются с помощью дешифратора
18. Контроль кода микрокоманды осуществляется по паритету элементов
36, В дешифраторе 18 с помощью дешифратора 116 из кода микрокоманды выделяются поля, управляющие адресом следующей микрокоманды (выход 119), устанавливающие потенциальные сигналы (выход 120), разрешающие временные сигналы (выход 121) и управляющие генератором 117. С помощью генератора 117 и группы элементов 118 фбрмируются стробирующие сигналы процессора, поступающие с выхода 123 дешифратора 18.
Арифметико-логическое устройство
7 выполняет арифметические операции (сложение и вычитание кодов) и логические операции (И-НЕ, ИЛИ, ИСКЛЮЧАНМЦЕЕ ИЛИ) над операндами, поступающими на его входы. В АЛУ 7 генерируются контрольные разряды результата, а также признаки результата (равен "0", или больше "0", меньше 0", переполнение).
В блоке 12, кроме микропрограмм, хранятся управляющие регистры,области сохранения, области расширенной регистрации. Запись в блок 12 производится по адресу, находящемуся в регистре 16. Записываемая информация поступает в блок 12 через узел 15 и контролируется по паритету элементом 39. Чтение данных из блока 12 производится по адресу, йаходящемуся в регистре 16. Информация, считываемая из блока 12, через узел 14 поступает на коммутатор 13. Выббр адреса обращения к блоку 12 осуществляется коммутатором 17.
Информация, считываемая из блока
11, блока 12 и выхода устройства 7, через коммутатор }3 поступает в блоки 1-4 блок 40 и на выход 41. Инфор-. мация, читаемая из каналов, поступает по входу 42. Каждый бит информации передается по магистралям процессора вместе с контрольным разрядом. Паритет каждого информационного байта должен быть нечетным.
Процессор работает следующим образом.
Управпение всеми функциями процессора осуществляется с помощью микропрограмм. Микрокоманды могут зада7 1246 вать следующие действия: арифметикологические операции над байтом и над словом, обращения к оперативной или управляющей памяти, переход с возвратом, возвращает. С помощью микрокоманд реализуется система команд процессора, процедуры каналов ввода- . вывода, а также система восстанов.-. ления.
Процессор имеет следующую струк- 10 туру микрокоманды:
a) тип микрокоманды (" Арифметика", "Память", "Переход с возвратом", "Возврат ); Х) функция микрокоманды .(например, в микрокоманде "Арифмети- 15 ка" код операции АЛУ, обработка байта или слова и т.п., в микрокоманде
"Память11 — операция чтения или записи, операция с оперативной или управляющей памятью); Ь) поле адреса 20 первого операнда; 2) поле адреса т второго операнда или константа. В микрокоМанде "Память" адрес первого операнда определяет источник данных (при записи) или место назначения 25 (при чтениц). В микрокоманде "Пере-ход с возвратом" второй операнд не используется, в микрокоманде Возв° рат используется как константа (маска сброса регистра 57 блока 20); ) 30 поле адреса следующей микрокоманды; е) функция переходов (безусловный переход, переход по признаку, переход по анализу байта данных).
Группа выходов 119 дешифратора 116 определяется полем е микрокоманды и поступает на управляющий вход коммутатора 17, Содержимое поля микрокоманды поступает на вход коммутатора 17.
Группа выходов 120 и 121 дешифра- . тора 116 определяется полями а — е микрокоманды.
Группа выходов 122 дешифратора.116 определяется полем ь микрокоманды. 45
Выполнение каждой микрокоманды осуществляется за два цикла синхронизации процессора.
Выполнение микрокоманды "Арифметика" осуществляется следующим образом 50 (фиг. 15).
Выборка микрокоманды осуществляется в цикле выполнения предыдущей микрокоманды. По первому синхросигналу в регистр 16 из коммутатора ад- 55 реса заносится адрес выбираемой микрокоманды. Адрес поступает в блок 12.
Содержимое регистра адреса контроли108 руется по паритету элементом 38.Информация из блока 12 поступает в узел 14. Из блока 12 считывается t6 байт. С помощью коммутатора 109 выбирается требуемое слово (4 байт), определяемое с помощью младших разрядов адреса, поступающих на управляющий вход коммутатора 109. Выбран- . ная информация по третьему синхросигналу записывается в регистр 110, а по четвертому синхросигналу переписывается в регистр 111 узла 114.Ðåгистр 111 является регистром микроманды. Его содержимое контролируется по паритету с помощью элемента 36;
Информация из регистра 111 поступает в дешифратор 18 на дешифратор 116.
С помощью. дешифратора 116 выбрасывается группа сигналов, определяющих адрес следующей микрокоманды (выход
119 дешифратора t16) которые через коммутатор 17 поступают в регистр 16 и запоминаются там по первому синхросигналу .микрокоманды "Арифметика".
Если в микрокоманде задан переход по признаку или по анализу бита, то через коммутатор 17 передаются соответственно регистр 82 блока 8 или байт данных, выдаваемый через коммутатор 76.
С помощью дешифратора 116 вырабатывается сигнал, определяющий микрокоманду "Арифметика" (выход 120 дещифратора 116), а также сигнал (выход 112 дешифратора 116), задающий режим работы генератора 117 для выборки соответствующей последовательности синхросигналов, которые с помощью группы элементов 118 формируют последовательность временных сигналов в соответствии с выполняющейся микрокомандой, дешифрируемой дешифратором 116 (выход 121). Сигналы с выхода 123 дешифратора 116 поступают во все узлы и блоки процессора.
При подаче сигналов, соответствующих адресным полям операндов, с выхода 120 дешифратора 116 на коммутаторы 93 и 94, 96 и 97 в совокупности с содержимым регистра 92 блока 10 формируется полый адрес источников, находящихся в блоках локальной памяти. Причем с выхода коммутатора 93 формируется адрес блока 1 или 3, а свыхода коммутатора 94 — адрес блоков
2 или 4. При подаче сигналов, соответствующих адресным полям операндов, с выхода 120 дешифратора 116 на вход
1246108
Для формирования адреса назначенйя в блоке 10 адреса источников блоков локальной памяти с выхода коммутаторов 93 и 94, 96 и 97 запоминаются соответственно в регистрах 99 и
100, 102 и 103 по второму синхросигналу, С помощью коммутаторов 95 и 98 осуществляется выборка адреса первого или второго операнда, по которому будет производиться запись, т,е ° микрокоманда является двухадресной.
Адрес назначения через коммутаторы
95 и 96 поступает в регистры 101 и
104 соответственно и запоминается по пятому синхросигналу. Адрес триггера
70 .запоминается в регистре 105 по второму синхросигналу, а по пятому синхросигналу переписывается в регистр 106. Маска записываемых байтов результата запоминается в регистре
50 дешифратора 117 н совокупности с содержимым регистра 92 формируется полный адрес источников, передаваемых через коммутатор 22. Адреса источников, находящихся в блоках локапьной памяти, контролируются сравнением с помощью схем 30 и 31.
Данные, считанные из блоков локальной памяти, через коммутаторы 24 и 25 поступают на входы коммутаторов 1О
5 и 6. Содержимое регистра, выбранного коммутатором 22, поступает на соответствующий вход коммутатора 5, Кроме того, на соответствующие входы коммутаторов 5 и 6 поступает содер- 15 жимое регистра 82. Управляющие сигналы с выхода 120 дешифратора. 116 управляют коммутаторами 75 и 79 соответственно коммутаторов 5 и 6 и обеспечивают передачу соответствующих ин- 20 формационных потоков на вхсды регистров 77 и 81. Информация в регистрах
77 и 81 запоминается по первому синхросигналу в цикле микрокоманды.
Сигналы полей микрокоманды, управ- 25 ляющие форматом информации, с выхода
120 дешифратора 116 поступают на управляющие входы коммутаторов 76 и 80.
С помощью коммутаторов 76 и 80 осуществляется перекомпоновка байтов.Инфор;, 30 мация с выходов коммутаторов 76 и 80
1 поступает на входы арифметико-логического устройства, на управляющем входе которого устанавливается код выполняемой операции. По окончании
35 операции результат и признаки результата устанавливаются. qo шестому сина хросигналу.
88 блоке 9 по второму синхросигналу, а по пятому синхросигналу содержимое регистра 88 переписывается в регистр
89. Содержимое регистра 89 контролируется по паритету с помощью элемента
91. Если, обнаружено нарушение паритета, то сигналом с выхода элемента 91 закрываются элементы группы 90. В результате блокируется выдача маски наз начения °
Запись результата выполнения операции записывается в следующем цикле синхронизации процессора. Информация с выхода устройства 7 через коммутатор 13 выдается в блоки 1-4, на вход блока 40 и на выход 41. Запись результата производится по третьему синхросигналу. При записи в блок локальной памяти одновременно производится запись в блоки 1 и 2 или 3 и 4.
Информация, записанная в блоки локальной памяти, считывается и сравнивается между собой. В случае несравнения схемой 28 регистрируется сбой ° Кроме того, считанная информация поступает на коммутатор 5 и через коммутатор 75 запоминается в регистре
78 по пятому синхросигналу. Содержимое регистра 78 сравнивается с содержимым регистра 27 с помощью схемы 29.
В регистре 27 хранится результат операции устройства 7, запоминаемый по первому синхросигналу, Адрес текущей микрокоманлы фиксируется в регистре 26 в первую группу разрядов по третьему синхросигналу, а во вторую — по шестому синхросигналу. Первая группа разрядов регист- . ра 26 в микрокоманде "Арифметика" не используется. Вторая группа разрядов регистра 26 используется для сох- ранения адреса текущей микрокоманды в течение всего цикла ее выполнения.
Состояние процессора в каждом цикле по четвертому синхросигналу запоминается в регистрах 68 и 69. В регистре 68 хранится адрес текущей микрокоманды, в регистре 69 — значение операнда, который будет записан в результате выполнения микрокоманды.
Информация в регистрах 68 и 69 относится к первому циклу синхронизации выполнения микрокоманды, Информация в регистр 69 поступает с выхода коммутатора 23, с помощью которого выбирается тот из операндов, по адресу которого будет произведена запись результата.
1246108
По третьему синхросигналу н каждом цикле процессора состояние его запоминается в регистрах 64-67.Информация в регистрах 64-67 для данной микрокоманды действительна после второго цикла синхронизации процессора. В регистре 64 запоминается адрес блоков локальной памяти, по которому была произведена запись, В регистре
65 запоминается маска назначения. - 10
В .регистре 66 запоминается адрес выполненной микрокоманды. В регистре
67 — операнд, используемый в качестве источника, по адресу которого был записан результат. 15
Опрос сбоев, относящихся к выборке микрокоманды, производится по пятому синхросигналу в микрокоманде, предшествующей выполняемой. Опрос сбоев, связанных с выборкой источни- 20 ков, производится по пятому синхросигналу. в первом цикле синхронизации, связанном с выполнением данной микрокоманды. Опрос сбоев, связанных с выполнением операции и записью реэуль- 25 тата, осуществляется по пятому и шестому синхросигналам во втором цикле синхронизации, связанном с выполнением данной микрокоманды. Занесение в регистры 82 и 83 и в регистр 92 производится по дешифрации микрокода с выхода устройства 7 по шестому синхросигналу в первом цикле синхронизации данной микрокоманды. Сброс регистров
44 и 46 и триггера 53 производится по дешифрации микрокода по шестому синхросигналу в первом цикле синхронизации данной микрокоманды.
С помощью микрокоманды Памятьи производится чтение или запись инфор- 40 мации в блок 11 или блок 12. Адрес данных поступает через коммутатор 5.
Данные иэ памяти поступают через коммутатор 13.
11
Выполнение микрокоманды Память осуществляется следующим образом (фиг, 16) . Выборка микрокоманды осуществляется в цикле выполнения преды-. дущей микрокоманды так же, как и при выборке микрокоманды "Арифметика".С помощью дешифратора 116 вырабатывается сигнал, определяющий микрокоманду "Память" выход 120 дешифратора
116), а также сигнал (выход 122 дешифратора 116), задающий режим работы генератора 117. Сигнал, определяющий микрокоманду "Память", выдается в течение двух циклов синхронизации процессора, включая паузу между циклами. Длительность паузы определяется генератором 117 и зависит от того, производится обращение к блоку 11 или блоку 12, Сигналы с выхода 123 дешифратора 116 поступают во.все узлы и блоки процессора.
Считывание адреса обращения производится из блоков 2 или 4 в регистр
81 коммутатора 6. Адрес иэ регистра
81 поступает в блок 11 или на коммутатор 17 при обращении к блоку 12. Со:держимое регистра 81 контролируется по паритету элементом 34. Информация в регистр 81 принимается по первому синхросигналу первого цикла синхрони. зации так же, как чтение операнда в микрокоманде "Арифметика". Если производится обращение к блоку 12, то адрес обращения через коммутатор 17 поступает в регистр 16 по пятому синхросигналу первого цикла, предварительно по третьему синхросигналу первого цикла содержимое регистра 16 сохраняется в первой группе разрядов регистра 26. Восстановление содержимого регистра 16 производится во втором цикле синхронизации из первой группы разрядов регистра 26 по первому синхросигналу. Содержимое регистра 26 поступает в регистр 16 через коммутатор 17.
Если выполняется, операция записи, то записываемая информация поступает на первый выход коммутатор 5 так же, как и при считывании первого операнда в микрокоманде "Арифметика". Данные для записи поступают в блок 11 и в узел 15. При записи в блок 12 данные помещаются в четное или нечетное слово двойного слова, адрес которого указан в регистре 16, Информация, записываемая в блок 12, помещается в регистр 112 или 113 в зависимости от младших разрядов адреса обращения,что определяется с помощью элементов 114 и 115. Занесение в регистры 112 и 113 производится по четвертому синхросигналу в первом цикле синхронизации.
Запуск блоков 11 или 12 памяти осуществляется по шестому синхросигналу в первом цикле синхронизации при операциях чтения и записи.
При выполнении операции чтения из блока 11 данные, считанные из памяти, поступают на вход коммутатора
13 ° При выполнении операции чтения из блока 12 данные, считанные иэ па14
1246108 !
3 мяти, поступают в регистр 110 через коммутатор 109 и запоминаются по первому синхросигналу Во втором цикле синхронизации, а затем поступают на вход коммутатора 13. Данные с выхода коммутатора 13 поступают в блоки 1-4 и на выход 41. Запись данных в блоки
1 и 2 или 3 и 4 производится во втором цикле синхронизации по пятому синхросигналу. Запись производится по 1п адресу первого операнда, формируемого блоком адресации так же, как и при выполнении микрокоманды "Арифметика".
Маски байтов при записи в б.поки локальной памяти формируются так же, как при выполнении микрокоманды "Арифметика", описанной выше. Установки регистров блока 19,, блока 21 и второй группы разрядов регистра 26 осуществляются аналогично, как и в микрокоманде "Арифметика". С помощью микрокоманды "Hepexop, с возвратомп осущ ; ствляется запоминание в ячейки локальной памяти адреса текущей микрокоман- ды. Микрокоманда используется для 25 сохранения адреса выпоЛняемой микрокоманды при прерывании вычислительного процесса запросами от каналовь
Микрокоманда Переход с )зозвратом
fl т1
ЗО (фиг. 17) выполняется аналогично миккроманде Арифметика", в которой выполняется операция сложения операндов, а в качестве первого операнда используется первая группа разрядов регистра 26, в качестве второго операнда — 15 ячейка блока локальной памяти. Результат записывается по адресу второго операнда. Отличие выполнения микрокоманды Переход с возвратомп от микрокоманды "Арифметика" заключается в том, что при выборке второго операнда блокируется передача информации через коммутатор 80 (коммутатор 6), поэтому первый операнд передается через устройство 7 без изменений,Через коммутатор 23 передается содержимое регистра 77.
t1 11
С помощью микрокоманды Возврат осуществляется передача управления на микрокоманду, адрес которой хра- 50 нится в ячейке блока локальной памяти, указанной в микрокоманде. Кроме того, с помощью микрокоманды осуществляется сброс битов регистра 57.
tt 1t
Выполнение микрокоманды Возврат 15 осуществляется следующим образом (фиг. 18). Выборка микрокоманды осуществляется в цикле выполнения предыдущей микрокоманды так же, как и при выборке микрокоманды "Арифметика"
С помощью дешифратора 116 вырабатывается сигнал, определяющий микрокоманду "Возврат" (выход 120 дешифратора 116), а также сигнал, задающий режим работы генератора 117. Сигналы с выхода 1?3 дешифратора 116 поступают во все узлы и блоки процессора.
Считывание, адреса микрокоманды из блока 2 или 4 в регистр 81 коммутатора 6 производится так, как описано выше. Содержимое регистра 81 поступаЭ ет на коммутатор 17 и запоминается в регистре 16 в первой группе разрядов регистра 26 по третьему синхросигнат у
Адрес поступает в блок 12. Информация, считанная из блока 12, поступает в узел 14. С помощью коммутатора 109 выбирается требуемое слово (4 байт), определяемое с помощью младших разрядов адреса, поступающих на управляющий вход коммутатора 109.
Выбранная информация по пятому синхросигналу записывается в регистр
110, а по шестому синхросигналу переписывается в регистр 111 узла 14, Содержимое регистра 111 определяет микрокоманцу, которая будет выполняться в слецующем цикле синхронизации процессора. Адрес следующей микрокоманды формируется как описано выше и заносится в регистр 16 по первому синхросигналу в следующем цикле синхронизации, Если в микрокоманде "Возврат" заданы условия сброса соответствующих битов регистра 57 блока 20, то по второму синхросигналу вырабатываются управляющие сигналы сброса.
Запрос на обслуживание каналов ввода-вывода (фиг. 19) вызывается возбуждением одного из разрядов шины
43, соответствующие сигналы которых поступают на элементы группы 58 блока 20. Если соответствующий элемент группы 58 открыт (бит регистра 57, маскирующий этот вид запросов, не установлен), то по третьему синхросигналу производится установка соответствующего бита регистра 55. Код, установленный в регистре 55, дешифрируегся дешифратором 56 для выбора самого приоритетного запроса. Возбуждение одной из шин дешифратора 56 указьпзает на удовлетворение соответствующего типа запроса и через элементы группы 59 формирует код началь
12461
Последней микрокомандой обработки запроса от каналов ввода-вывода является микрокоманда "Возврат", с по- 45 мощью которой управление передается прерванному вычислительному процессу. Кроме того, по второму синхросигналу в микрокоманде "Возврат" осуществляется сброс соответствующего 50 бита регистра 57, в результате чего снимается блокировка запросов этого типа.
При возникновении сбоя при выполнении микрокоманды (фиг. 15-18) уста- 55 навливается соответствующий бит регистра 44 и в зависимости от времени возникновения сбоя (первый или втоного адреса микропрограммы обслуживания данного запроса, устанавливает соответствующий бит регистра 57 для маскирования. запросов этого же бита (бит "0" регистра 57 устанавливается по запросу от блока 19 и маскирует все запросы от каналов ввода-вывода) а также через элемент 61 по пятому синхросигналу устанавливает триггер
63, сигнал с выхода которого управ- 10 ляя коммутатором 17, разрешает передачу кода с выхода группы .59 элементов .через коммутатор 17 на вход регистра 16. Регистр 16 устанавливается по первому синхросигналу в 15 следующем цикле синхронизации. Производится выборка микрокоманды по адресу, установленному в регистре 16 так, как описано вышее.
Регистр 57 устанавливается по вто- 20 рому синхросигналу в следующем по отношению к запросу цикла синхронизации. В результате этого устанавли В вается блокировка удовлетворенного запроса через группу 58 элементов, поэтому по третьему синхроимпульсу в соответствующий разряд регистра 55 устанавливается код логического "0".
Микрокоманда, выбранная по запросу, является макрокомандой Переход с возвратом" и предназначена для запоминания адреса микрокоманды прерванного вычислительного процесса. .При удовлетворении запроса от каналов ввода-вывода (установлен хотя бы один бит регистра 57, кроме нулевого) по сигналу через элементы 62 и открытый элемент 124, который поступает в блок 40 на элемент 72, обеспечивается переключение информа- 4О ционных потоков процессора, как описано выше.
08 16 рой цикл синхронизации сбойной микрокоманды) бит регистра 45 блока 19, как описано выше. Содержимое регистра 45 переписывается в регистр 46.
При установке хотя бы одного бита в регистре 45 через элемент 50 устанавливается запрос ошибки, поступающий в блок 20 на вход регистра 55. Кроме того, устанавливается триггер 53,сигнал с выхода которого запрещает повторную установку регистра 44 в случае многократных сбоев, так как закрываются элементы группы 48. По зап-росу ошибки по первому синхросигналу устанавливается триггер 52, сигнал с выхода которого поступает в блок 9, где производится сброс регистра 9 и блокировка сигналов назначения (закрываются элементы группы
90). Сигналй с выхода триггера 52 блокируют изменение содержимого блоков 1-4. При установке хотя бы одного бита регистра 46 через элемент
51 выдается сигнал, с помощью которого закрываются элемент 54, в ре- зультате чего запрещается подача стробирующих сигналов в регистрации
64-67 и обеспечивается сохранение состояния процессора на момент сбоя.
Запрос ошибки в блоке 20 обрабатывается аналогично описанному. E этом случае устанавливается нулевой бит регистра 57, открывается элемент 60, сигнал с выхода которого обеспечивает сброс регистра 45 в блоке 19.
В этом случае прекращается выдача сигнала запроса ошибки в блок 20 и сброс регистра 57 по первому синхросигналу. Кроме того, при установленном нулевом бите регистра 57 обеспечивается блокировка выдачи сигнала в блок 40, так как сигналом с выхода нулевого бита регистра 57 закрывается элемент 124. Этим обеспечивается переключение информационных потоков процессора на работу с бЛоками 1 и 2 независимо от того, произошел сбой при работе микрокоманды системы команды или обслуживания. запроса от каналов ввода-вывода. Управление. передается микропрограмме восстановления, блок-схема алгоритма которого приведена на фиг. 20.
Микропрограмма восстановления выполняет следующие действия.
1. Регистрация состояния процессора (блок 1 и 2). Для этого содержимое регистра 44 и регистров 64-67
1246108
l7
18 блока 21 переписывается в фиксированную область блока 12. Перепись содержимого регистров 44, 64-67 осуществляется микрокомандами Память", как описано выше. 5
2. Сброс регистров блока l9 (блок
3) осуществляется микрокомандой
"Арифметика", как описано выше.
3. Анализ сбоев (блок 4) выполняется с целью определения.необходимос- 10 ти восстановления операндов. Сбои, связанные с выборкой микрокоманды, не требует восстановления операндов.
Для анализа сбоев содержимое регистра
44 считывается в рабочую зону блоков 15
1 и 2 с помощью микрокоманды "Память".
Затем с помощью микрокоманд ."Арифметика" (задан переход по источнику) производится анализ всех битов ячеек
1 и 2, где хранится содержимое регистра 44.
4. Если восстановление операндов необходимо, то выполняются блоки 5-11 алгоритма. С помощью микрокоманд
"Память производится считывание содержимого регистров 64 и 65 из блока, 12 в рабочую зону блоков 1 и 2 (блок
5). Затем формируется микрокод микрокоманды "Арифметика" типа X=O+YM
30 (блок 6) в фиксированной ячейке блока 12. В микрокоманде "Арифметика"
Х вЂ” адрес ячейки локальной памяти, содержимое которой требуется восстановить, Y — адрес ячейки локальной пам