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

Номер патента: 763902

Авторы: Аверьянов, Елисеев, Ленкова, Лиокумович

ZIP архив

Текст

ОПИСАНИЕИЗОБРЕТЕНИЯК АВТОРСКОМУ СВИДЕТЕЛЬСТВУ Союз СоветскикСоциалистически иРеспублик оц 763902(22) Заявлено ЗШ 078 (21) 2679855/18-24с присоединением заявки Нов(51)М. Кл.3С 06 Г 15/00 Государственный комитет СССР оо делам изобретений и открытий(54) МИКРОПРОГРАММНЫЙ ПРОЦЕССОР С САМОДИАГНОСТИКОЙ 10 25 30 1Изобретение относится к цифровой вычислительной технике и может быть применено в электронной вычислительной машинеИзвестны микропрограммные процес сары с самодиагностикой, содержащие задублированные блоки обработки и локальные памяти, блок управления и основную память 1,12 . Недостатком известных процессоров является то, что для обеспечения их работоспособности при отказах оборудования требуется дополнительное резервирование на уровне устройств и разработка специальных программ отключения/подключения резервных процессоров. Наиболее близким техниЧеским решением к данному устройству являетсямикропрограммный процессор с самодиагностикой 3, содержащий первую и вторую локальные памяти с первым и вторым блоками обработки, коммутатор и компаратор данных, триггер управления, основную память с регистрами адреса и данных, микропрограммную память с узлами формирования адреса и микроопераций. 2Недостатком известного решения является сложность оборудования контроля и восстановления работоспособности процессора при возникновении отказа.Цель изобретения - упрощение процессора.Эта цель достигается тем, что микропрограммный процессор с самодиагностикой, содержащий первую и вторую локальные памяти, выходы которых соединены соответственно с информационными входами первого и второго блоков обработки данных, выходы которых соединены соответственно с первыми информационными входами первой и второй локальных памятей, с первыми и вторыми информационными входами коммутатора данных и компаратора данных, управляющий вход коммутатора данных соединен с выходом триггера управления, выход коммутатора данных соединен с информационным входом основной памяти, первый управляющий вход которой .соединен с первым выходом управления узла формирования микроопераций, с управляющими входами регистра адреса, первого и второго блоков обработки данных, первой и второй локальных памятей, вторые информационные входы первой и второй локальных памятей соединены с разряднымвыходом регистра данных, с информационным входом регистра адресаи с первым информационным входомузла формирования адреса, управляющий вход которого соединен со вторым выходом управления узла формирования микроопераций, вход которого соединен с выходом микропрограммной памяти, вход которой соединенс выходом узла формирования адреса,разрядный выход регистра адреса соединен с адресным входом основнойпамяти, выход которой соединен с первым информационным входом регистра.данных, содержит первый и второй тестовые компараторы, первый и второйрегистры результатов теста, генератор эталона, регистр возврата и 20память разгрузки, к первому и второму информационным входам которойподключены, соответственно, выходкоммутатора данных и разрядный выход регистра возврата, к адресномуи управляющему входам памяти разгрузки подключены разрядный выходрегистра адреса и первый выходуправления узла формирования микроопераций соответственно, а к выходу памяти разгрузки - второй информационный вход регистра данных,третий выход управления узла формирования микроопераций соединен совходом триггера управления, выходузла формирования адреса соединенс информационным входом регистравозврата, выход компаратора данныхподключен ко второму информационному входу узла формирования адреса,к управляющему входу регистра воз Оврата и ко второму управляющему входу основной памяти, четвертый выход управления узла Формированиямикроопераций соединен со входомгенератора эталона, выход которогоподключен к первым входам первогои второго тестовых компараторов, ковторым входам которых подключены соответственно выходы первого и второго блоков обработки данных, второйвыход управления узла формированиямикроопераций соединен с управляющими входами первого и второго регистров результатов теста, к информационным входам которых подключены соответственно выходы первого 55И второго тестовых компараторов, авыходы первого и второго регистроврезультатов теста соединены соответственно с третьим и четвертым инФормационными входами узла формирова- цния адреса.Сохранение работоспособности процессора при об аружении отказа оборудования .обеспечивается автоматической перезаписью состояния всех запоминающих элементов процессорав память разгрузки, причем длядублированных блоков запись состояния каждой половины дубля производится раздельно. После перезаписиначинается выполнение диагностического теста, по результатам которогоустанавливаются первый и второйрегистры результатов теста, чтопозволяет локализовать неисправнуюполовину дубля. Затем в процессоревосстанавливается состояние, в котором находилась исправная половина дубля в момент обнаружения отказа, и выполнение вычислений продолжается. При использовании данного устройства на аппаратуру блоков обработки данных и локальныхпамятей возлагаются только рабочиефункции по хранению и обработкеданных, что позволяет использоватьдля реализации указанных блоковтиповые средние и большие интегральные схемы,На чертеже показана структурнаясхема предложенного процессора.В состав процессора входят: первая локальная память 1, вторая локальная память 2, первый блок 3обработки данных, второй блок 4обработки данных, компаратор 5 данных, коммутатор 6 данных, первыйтестовый комгаратор 7, второй тестовый компаратор 8, основная память 9, память разгрузки 10, регистр 11 адреса, регистр 12 данных,узел 13 формирования адреса, регистр 14 возврата, микропрограммнаяпамять 15, узел 16 формированиямикроопераций, первый регистр 17результатов теста, второй регистррезультатов теста 18, триггер управления 19 генератор эталона 20,Процессор работает следующим образом. При выполнении программы команды считываются из основной памяти 9 в регистр данных 12. Код операции из регистра данных 12 поступает в узел 13 формирования адреса. По выработанному в этом узле адресу из микропрограммной памяти 15 считывается первая микрокоманда микропрограммы обработки операндов для данной команды. При выполнении микропрограммы обработки операндов узел 16 формирования микроопераций вырабатывает управляющие воздействия, по которым операнды для данной команды считываются из основной памяти 9 и через регистр данных 12 записываются в первую и вторую локальные памяти 1 ипараллельно. Если в процессоре отсутствуют неисправности, то в каждый данный момент первая и вторая локальные памяти 1 и 2 хранят одинаковую информацию. В ходе обработки операнды поступают из первой и второй локальных памятей 1 и 2 в первый3 и второй 4 блоки обработки данныхпараллельно и независимо, причемдля этих блоков узлом 16 формирования микроопераций задается выполнение одинаковых операций. Результатобработки в зависимости от выполняемой команды записывается либов первую и вторую локальные памяти1 и 2, либо в основную память 9через коммутатор 6 данных. Такимобразом, первым 3 и вторым 4 блоками обработки данных выполняетсяпараллельная обработка одинаковыхданных. При отсутствии неисправности триггер управления 19 может бытьустановлен в произвольное состояние,например в единичное, при которомчерез коммутатор 6 данных разрешается прохождение информации с выхода первого блока 3 обработки данных,Предположим, что при запуске процессора (например, после включенияпитания) триггер управления 19 устанавливается в единичное состояние.Компаратор 5 данных сравнивает ре-зультаты обработки цанных в первОм 253 и втором 4 блоках обработки данных; при совпадении результатов никаких специальных действий в процессоре не предпринимается и вычисления продолжаются. Если в первом 3 ЗОили втором 4 блоке обработке данных,либо в первой 1 или второй 2 локальной памяти происходит отказ, компаратор 5 данных обнаружит этот отказ иэ-за расхождения в реэультатах обработки. отказ может бытьобнаружен немедленно после еговозникновения или со значительнойвременной задержкой, Независимоот наличия или отсутствия задержкик моменту обнаружения отказа в основной памяти 9 будут находитьсякорректные команды и данные, дажеесли триггер управления 19 в течение времени задержки установленв состояние, соответствующее разрешению прохождения в основную память 9 информации с выхода неисправного блока. Это обусловлено тем,что компаратор 5 данных разрешаетвыполнять запись информации в основную память 9 только при совпадениисигналов на выходах первого 3 и второго 4 блоков обработки данных.Кроме этого, в момент обнаруженияотказа исправные блок обработки данных и локальная память содержаткорректную информацию, соответствующую данному моменту обработки. Присрабатывании компаратора 5 данных(обнаружен отказ) для адресации микропрограммной памяти 15 формируется И)начальный адрес микропрограммы обработки отказа узлом 13 формированияадреса,Адрес микрокоманды, которая должна была выполняться следующей, если 65 бы отказ не был обнаружен, запоминается в регистре 14 возврата. Кроме того, в основную память 9 выдается сигнал, временно блокирующий выполнение операции записи для предотвращения ошибочного искажения данных в памяти. Блокировка устанавливается только в том случае, когда в последней выполненной микрокоманде была указана, микро- операция записи в основную память 9; она автоматически вызывает выполнение записи в основную память 9 в конце микропрограммы обработки отказа.Для микропрограммы обработки отказа в памяти разгрузки 10 предусматривается три обЛасти ячеек.Первая область предназначена длясохранения адреса микрокоманды,перед"выполнением которой в процессоре обнаружен отказ, а такжедля сохранения содержимого регистра 11 адреса. Вторая область служитдля сохранения содержимого первойлокальной памяти 1 и всех элементовпамяти первого блока 3 обработкиданных. Третья область аналогичнавторой и используется для сохранения состояния второй локальной памяти 2 и второго блока 4 обработкиданных,При выполнении микропрограммы обработки отказа блокируется реакция узла 13 формирования адреса на сигналы с выхода компаратора 5 данных и происходит запоминание содержимого регистра 14 возврата и регистра 11 адреса в первой области памяти разгрузки 10, затем по единичному состоянию триггера управления 19 во вторую область памяти разгрузки 10 переписывается информация о состоянии всех запоминающих элементов первого блока 3 обработки данных (например, выходной регистр блока обработки, состояние переноса, переполнения и т.п.) и содержимое первой локальной памяти 1. После этого триггер управления 19 устанавливается в нулевое состояние и в третью об ласть памяти разгрузки 10 переписывается состояние второго блока 4обработки данных и второй локальной памяти 2. Таким образом, состояние всех запоминающих элементов процессора сохраняется в памяти разгрузки 10, причем корректное состояние записано либо во вторую либо в третью область памяти разгрузки 10, в зависимости от места отказа.Локализация места отказа выполняется микропрограммным диагностическим тестом, которому передает управление микропрограмма обработкиотказа. Диагностический тест выполняется путем передачи тестовой информации в первую и вторую локальные памяти 1 и 2, в первый 3 и второй 4 блоки обработки данных, затем блокам обработки задается определенная функция. Результаты выполнения этой функции в первом 3 и втором 4 блоках обработки данных раздельно подаются на входы первого и второго тестовых компараторов 7 и 8. Этими компараторами действительные результаты обработки данных в блоках 3 и 4 сравниваются с ожидаемыми в результате тестирования (эталонными), которые подготавливаются генератором эталона 20 по микрооперациям узла 16 формирования микроопераций. Результаты сравнения в первом и втором тестовых компараторах 7 и 8 накапливаются первым 17 и вторым 18 регистрами результатов теста. Весь диагностический тест состоит из целого ряда тестовых проверок, результат каждой иэ которых фиксируется отдельным битом первого 17 и второго 18 регистров результатов теста. После завершения выполнения микропрограммы .диагностического теста по содержимому этих регистров определяется неисправный блок, а если возможно, неисправный элемент.Для обеспечения возможности продолжить работу процессора достаточно знать только неисправный блок; локализация неисправности до уровня элементов используется для последующего ремонта оборудования. Предположим, неисправность была обнаружена в первой локальной памяти 1 или в первом блоке 3 обработки данных. Микропрограмма диагностического теста в этом случае установит триггер управления 19 в нулевое состояние, сформирует в регистре 11 адреса начальный адрес третьей области памяти разгрузки 10 и возвратит управление микропрограмме обработки отказа, Если отказ обнаружен во второй локальной памяти 2 или во втором блоке 4 обработки данных, то управление микропрограмме обработки отказа будет возвращено с единичным состоянием триггера управления 19 и с подготовленным в регистре 11 адреса начальным адресом второй области памяти разгрузки 10. После этого микропрограмма обработки отказа переписывает в блЬки обработки данных и в локальные памяти информацию из той области памяти разгрузки 10, начальный адрес которой установлен в регистре 11 адреса. В результате элементы памяти исправных блоков установлены в состояние, соответствующее правильно выполнявшейся обработке. Правильность установки элементов памяти неисправных блоков гарантировать65 формула изобретенияМикропрограммный процессор с самодиагностикой, содержащий первую нельзя, однако в этом и нет необходимости, так как в дальнейшемв качестве истинного будет рассматриваться результат работы исправного блока, При завершении микропрограммы обработки отказа изпервой области памяти разгрузки врегистр адреса 11 возвращаетсяадрес, хранившийся там в моментобнаружения отказа, и снимаетсяблокировка записи в основную память9. Запись в основную память 9 выполняется только в том случае, еслиона была указана в микрокоманде,при выполнении которой был обнаружен отказ компаратором 5 данных.15 В узел 13 формирования адреса пересылается адрес микрокоманды, которая должна была выполняться после обнаружения отказа, и обработкаданных продолжается с того момента, 20 в котором она была приостановленаобработкой отказа, Реакция узла 13формирования адреса на сигналы несоответствия с выхода компаратора5 данных остается заблокированнойдо тех пор, пока отказавшее оборудование не будет отремонтировано(например, нормальная реакция наотказ может быть восстановлена выполнением после завершения ремонтаопераций приведения процессора висходное состояние - сброс илисброс при включении питания). Такимже образом восстанавливается нормальная реакция на сигнал компаратора 5 данных при записи в основную память 9, т.е. блокировказаписи при обнаружении компаратором 5 данных несовпадения будетвыполняться только после ремонтаоборудования и приведения процессо ра в исходное состояние. При использовании данного процессора достигаются:упрощение оборудования блоковобработки данных и локальных памятей, что позволяет применить дляих реализации типовые средние ибольшие интегральные схемы;- реализация избыточного оборудования, вводимого в процессор (память разгрузки, регистры и компараторы), на типовых микросхемах;упрощение создания диагностического теста за счет ограничения функции блоков обработки данных и локальных памятей функциями обработки и хра нения данных; тест может быть реализован меньшей микропрограммой, таккак уменьшено количество функций,требующих проверки, кроме этого,появляется возможность в значительной степени увеличить перечень неисправностей, обнаруживаемых тестом.763902 10 25 Источники информации,принятые во внимание при экспертизе1. Экспресс-информация, сер."Вычислительная техника", Р 20,1978, Методы автоматического возврата к программе в вычислительной машине СОРКА,2, Патент США Р 3848116,кл. 235-153 АЕ.3. Патент ВеликобританииР 1414095, кл. С 4 А (прототип),мяти разгрузки подключены разрядныйвыход регистра адреса и первый выход управления узла формированиямикроопераций соответственно, а квыходу памяти разгрузки - второйинфорМационный вход регистра данных,третий выход управления узла формирования микроопераций соединен совходом триггера управления, выходузла формирования адреса соединенс информационным входом регистравозврата, выход компаратора данныхподключен ко второму информационному входу узла формирования адреса, к управляющему входу регистра возврата и ко второму управляющему входу основной памяти, четвертый выход управления узла Формирования микроопераций соединен совходом генератора эталона, выходкоторого подключен к первым входампервого и второго тестовых компараторов, ко вторым входам которыхподключены соответственно выходыпервого и второго блоков обработки данных, второй вход управленияузла формирования микроопераций соединен с управляющими входами первого и второго регистров результатов теста, .к информационным входамкоторых подключены соответственновыходы первого и второго тестовыхкомпараторов, а выходы первого ивторого регистров результатов теста соединены соответственно с третьим и четвертым информационнымивходами узла формирования адреса.76 3902 Сост Техр тель Г.Пономарев Е.Гаврилешко Ред Т.Орловска ектор О.Била к Подписное Филиал ППП "Патент, г, Ужгород, ул. Проектная 6284/42 Тираж 751 ВНИИПИ Государственного хамит по делам изобретений и отк 113035, Москва, З, Раушска

Смотреть

Заявка

2679855, 30.10.1978

ПРЕДПРИЯТИЕ ПЯ М-5339

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

МПК / Метки

МПК: G06F 11/22

Метки: микропрограммный, процессор, самодиагностикой

Опубликовано: 15.09.1980

Код ссылки

<a href="https://patents.su/6-763902-mikroprogrammnyjj-processor-s-samodiagnostikojj.html" target="_blank" rel="follow" title="База патентов СССР">Микропрограммный процессор с самодиагностикой</a>

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