Устройство для контроля микропрограмм

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

Авторы: Козий, Тимонькин, Ткаченко, Харченко

Есть еще 1 страница.

Смотреть все страницы или скачать ZIP архив

Текст

(19) (ИЗ 3(59 О 06 Р. 11/22,ОПИСАНИЕ ИЗОБРЕТЕНИЯ ;К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССРПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ(56) 1. Шоу А Логическое проектирование операционных систем. М., 1981,с. 11, 249.2. Авторское свидетельство СССРпо заявке Р 3224689/18-24,кл. О 06 Р 9/22, 26.12,80,3. Патент СИА Р 4167778,кло 06 Р 11/00, опублик. 1971(54)(57) УСТРОЙСТВО ДЛЯ КОНТРОЛЯ МИКРОПРОГРАММ, содержащее регистр микрокоманд, дешифратор адреса, блок памяти, генератор тактовых импульсов,элемент И, элемент задержки, блокэлементов И и триггер управления,причем единичный выход триггера управления соединен с первым входомэлемента И, второй вход которогосоединен с выходом генератора тактовых импульсов, выход:элемента И подключен к управляющему входу блокапамяти и через элемент задержки соединен с первым входом блока элементов И, выход регистра микрокомандсоединен с вторым входом блока элементов И и входом дешифратора адреса,выход которого соединен с адреснымвходом блока памяти, вход регистрамикрокоманд соединен с первым информационным входом устройства, управляющий вход устройства соединенс единичным входом триггера управления, о т л и ч а ю щ е е с я тем, .что, с целью повышения достоверности контроля, в него введены перваяи вторая группы элементов задержки,первая и вторая группы элементовИЛИ, первая, вторая и третья группыэлементов И, группа триггеров состояния ресурсов, триггер фиксации ошибки и два элемента ИЛИ, причем группа выходов занятия ресурсов блока памяти через соответствующие элементы задержки первой группы подключена к первым входам соответствующих элементов ИЛИ первой группы, группа .информационных входов устройства соединена с вторыми входами соответствующих элементов ИЛИ первой группы, выходы элементов ИЛИ первой группы соединены с единичными входами соответствующих триггеров группы состояния ресурсов, группа выходов освобождения ресурсов блока памяти соединена с первыми входами соответствующих элементов И первой и второй групп и через соответствующие элементы задержки второй группы с нулевыми входами соответствующих триггеров группы состояния ресурсов, нулевой выход каядого триггера группы состоя яяяя ния ресурсов соединен с вторыми входами соответствующих элементов И ф второй группы, единичный выход каждого триггера группы состояния ресурсов соединен с первым входом соответствующего элемента И третьей группы, группа выходов занятия ресурсов блока памяти соединена с вторыми входами элементов И первой и третьей групп, выходы одноименных элементов И первой, второй и третьей групп соединены соответственно с первым, вторым и третьим входами соответствующих элементов ИЛИ второй группы, выходы элементов ИЛИ второй группы соединены с соответствующими входами первогоэлемента ИЛИ, вы- ,ВЬ ход которого соединен с единичным входом триггера фиксации Ошибки, единичный выход которого является контрольным выходом устройства и соединен с первым входом второго элемента ИЛИ, вход пуска и останова устройства соединен соответственно с единичным входом триггера управления и с1062709 вторым входом второго элемента ИЛИ,выход которого соединен с нулевымвходом триггера управления, нулевой Изобретение относится к вычислительной технике и может быть использовано в современных вычислительныхсистемах (ВС) .Развитие ВС выдвигает задачу оптимального управления и контроля распределения ресурсов этих систем.При этом под ресурсом в общем случае понимается программная или аппаратная компонента элемент) системы,которая может быть представлена процессу для его реализации,Большинство современных ВС построено на базе принципа микропрограммного управления и поэтому являютсямикропрограммными системами (МПС), вкоторых алгоритмы управления интерпретируются микропрограммами.С учетом этого под ресурсом МПСможно понимать любую компоненту МПС,выделяемую микропрограмме для обеспечения ее реализации и управляемуюсигналом отдельной микрооперации.Для обеспечения заданного алгоритма функционирования МПС микропрограмма должна быть корректна, т.е. недопускать противоречивого распределения ресурсов, вследствие которогосистема не выполнит возлагаемыена нее задачи с заданным качеством.Известные методы определения тупиковых ситуаций при распределенииресурсов не дают практически приемлемых решений для организации контроля корректности микропрограмм 1 .Известно устройство для контроля 35микропрограмм, содержащее регистрмикрокоманд, блок памяти, генератортактовых импульсов, триггер, логические элементы И, ИЛИ и элемент задержки 2,40 Недостатком этого устройства является низкая достоверность контроля, обусловленная тем, что оно не позволяет контролировать корректность микропрограмм в динамическом режиме.Наиболее близким к предлагаемому по технической сущности и достигаемому эффекту является устройство для обнаружения ошибочных кодов, содержащее регистр микрокоманд, дешифратор адреса вектора ресурсов, блок памяти векторов ресурсов, генератор тактовых импульсов, элемент И, элемент задержки, первый блок элевыход триггера фиксации ошибки соединен с третьими входами блока элементов И. ментов И и триггер управления, еди-. ничный выход которого соединен с первым входом элемента И, второй вход которого соединен с выходом генератора тактовых импульсов, выход элемента И подключен к управляющему входу блока памяти векторов ресурсов и через элемент задержки к первому входу первого блока элементов И, второй вход которого соединен с,выходом регистра микрокоманд и входом дешифратора адреса вектора ресурсов, выход которого соединен с информационным входом блока памяти векторов ресурсов, вход регистра микрокоманд соединен с информационным входом устройства, управляющий вход которого является единичным входом триггера управления 3 .Недостатком .данного устройства является низкая достоверность контроля корректности микропрограмм.В данном устройстве контроль корректности микрокоманд осуществляется путем обнаружения запрещенных кодов микрокоманд, т.е. тех, которые содержат некорректные (противоречивые) операции над ресурсами в пределах данной микрокомандн.Будем считать, что МПС характеризуется множеством мойопольно используемых ресурсов, управляемых отдельной микрооперацией. Каждый ресурс Н; может находиться в двух состояниях - либо свободном, либо занятом.В соответствии с этим целесообразно ввести две операции С и Р - занятия и освобождения ресурса соответственно. Выполнение операций С и Р над ресурсом применительно к каждой микрокоманде обозначает, что применение операции занятия к свОбодному ресурсу приводит к тому, что этот ресурс становится занятым, а применение операции освобождения к занятому ресурсу приводит к освобождению ресурса соответственно. Операции С и Р являются допустимыми или корректными.Недопустимыми или некорректными являются операции занятия занятого ресурса и освобождения свободного.Причиной существования в микропрограмме недопустимых и некорректных операций является отсутствие динамического упорядочивания в занятиии освобождения ресурсов (динамическая некорректность),Кроме того, некорректной следуетсчитать микрокоманду, если в нейодновременно предусмотрено два противоречивых воздействия (занятие иосвобождение) на один и тот же ре-сурс (статическая некорректность).Важно отметить, что статическаянекорректность микрокоманды является ее постоянным свойством, независи мым от точек использования микрокоманд в микропрограмме.Динамическая же некорректностьмикрокоманды проявляется только тогда,когда местоположение микрокоманды 15в.микропрограмме приводит к выполнению операций в соответствии с условиями, описанными выше. Таким образом, одна и та же динамически некорректная микрокоманда может приво Одить к ошибочному управлению системой только в определенных последовательностях микрокоманд.Известное устройство позволяетобнаруживать только статически некорректные микрокоманды.Для этого в.блоке памяти устройства запоминаются биты флажков,соответствующие каждому из возможных различных кодов микрокоманд.Бит флажка имеет значение двоичнойп 1 ф, если соответствующий код микрокоманды определяется как допустимыйнепротиворечивый ) для использования код, и двоичнбго "0" в противномслучае. Микрокоманда, выполнениекоторой предстоит в текущем машинном цикле, временно запоминается врегистре, а код операции этой .микрокоманды декодируется с целью образоевания адреса блока памяти бита флажков. По образованному адресу произво-,дится обращение к блоку памяти исчитывается бит флажка, соответствующий заполненной микрокоманде. Если. при обращении кблоку памяти оказывается, что бит флажка, соответствующий данному коду операции, являетсядвоичной "1", то в вычислительную ма-.шину выдается сигнал, подтверждающийзапомненную вРеменно микрокомандукак допустимую для исполнения, Описанные операции повторяются в каждомтаитеработы,РТаким образом, отсутствие в структуре известного устройства элементов и связей, обеспечивающих контроль не только статической, но и динами-. ческой корректности, приводит к низкой достоверности контроля.Цельюизобретения является повы шение достоверности контроля путем расширения класса обнаруживаемых некорректных микрокоманд,Поставленная цель достигается тем, что в устройство для контроля корректности микропрограмм, содержащее регистр микрокоманд, дешифратор адреса, блок памяти, генератор тактовых импульсов, элемент И, элемент задержки, блок элементов И и триггер управления, причем единичный выход триггера управления соеди"нен с первым входом элемента И,второй вход которого соединен с выходом генератора тактовых импульсов, выход элемента И подключен к управляющему входу блока памяти и через элемент задержки соединен с первымвходом блока элементов И, а выход ре-гистра микрокоманд соединен с вторым входом блока элементов И и вхо;дом дешифратора адреса, выход которого соединен с адресным входомблока памяти, вход регистра. микрокоманд соединен с первым информационным входом устройства, управляющий вход устройства соединен с единичным входом триггера управления,дополнительно введены первая и вторая группы элементов задержки,первая и вторая группы элементовИЛИ, первая, .вторая и третья группы элементов И, группа триггеров-состояния ресурсов, триггер фиксацииошибки и два элемента ИЛИ, причемгруппа выходов занятия ресурсов блока памяти через соответствующий элемент задержки первой группы подключена к первым входам соответствующих элементов ИЛИ первой группы, группа информационных входов устройства соединена с вторыми входами соответствующих элементов ИЛИ первой группы,. выходы элементов ИЛИ первой группы соединены с единичными входами соответствующих триггеровгруппы состояния ресурсов, группа выходов освобождения ресурсов блока памяти соединена с первыми входами соответствующих элементов И первой и второй групп и через соответстЬующие элементы задержки второй группы с нулевыми входами соответствующих триггеров группы состояния ресурсов, нулевой выход каждого триггера группы состояния ресурсов соединен .с вторыми входами.соответствующих элементов И второй группы, единичный выход каждого триггера группы состояния ресурсов соединен с первым входом соответствующего элемента И третьей группы группавыходов занятия ресурсов блока памяти соединена с вторыми входами элементов .И первой и третьей групп, выходы одноименных элементов И пер- " вой,. второй и третьей групп соединены соответственно с первым, вторьак и третьим входами соответствующих элементов ИЛИ второй группы, выходы элементов ИЛИ второй группы соединены с соответствующими входа 1062709ми первого элемента ИЛИ, выход которого соединен с единичным входомтриггера фиксации ошибки, единичныйвыход которого является контрольнымвыходом устройства и соединен с первым входом второго элемента ИЛИ,Вход пуска и останова устройствасоединен соответственно с единичнымвходом триггера управления и с вторым входом второго элемента ИЛИ,выход которого соединен с нулевымвходом триггера управления, нулевойвыход триггера фиксации ошибки соединен с третьими входами блока элементов И,Сущность изобретения состоит вовведение в структуру устройстватаких новых элементов и связей, ко 1 О 15 торые обеспечивают контроль статичес 50 На фиг. 1 представлена функциональная схема устройства для контроля микропрограмм, на фиг, 2 и 3 - временные диаграммы работы устройства.Устройство для контроля микропрограмм содержит первый информационный вход 1, регистр 2 микрокоманд, дешифратор 3 адреса, первый блок 4 элементов И, информационный выход 5 устройства, информационный вход 6 блока 7 памяти, группу 8 выходов занятия ресурсов блока 7 памяти, группу 9 выходов освобождения ресурсов блока памяти, первую группу 10 55 60 кой и динамической некорректности микрОпрограмм. Для этого устройство использует средства динамического отслеживания состояния ресурсов с одной стороны, и воздействия на них микрокоманд с другой стороны.В блоке памяти устройства хранятся коды векторов ресурсов микрокоманд микропрограмм.Текущее состояние ресурсов, используемых микропрограммами (ресурс свободен или занят) отслеживается блоком триггеров отвлеживания состоянияДля каждой микрокоманды проверяемой микропрограммы считывается из блока памяти ее вектор воздействия на ресурсы и осуществляется контроль корректности воздействия на ресурсы очередной проверяемой микрокомандой с использованием информации-, о текущем состоянии ресурсов и воздействии на них микрокоманды. При 40 этом фиксируется факт ошибки, если очередная проверяемая микрокоманда пытается занять и освободить один и тот же ресурс (статическая некорректность), либо занять занятый 45 или освободить свободный ресурс (динамическая некорректность, При обнаружении ошибки некорректная микрона" манда на объект управления не выдается. элементов задержки, второй информационный вход 11 устройства, первую группу 12 элементов ИЛИ, группу 13 триггеров состояния ресурсов, третью группу 14 элементов И, вторую группу 15 элементов ИЛИ, первый элемент ИЛИ 16, управляющий вход устройства 17, генератор 18 тактовых импульсов, триггер 19 управления, элемент И 20, элемент 21 задержки, управляющий вход 22, вторую группу 23 элементов задержки, первую группу 24 элементов И, вторую группу 25 элементов И, триггер 26 фиксации ошибки, управляющий выход устройства 27, второй элемент ИЛИ 28.Информационный вход 1 устройства предназначен для подачи в устройство очередной проверяемой микрокоманды, информационный вход 11 - для подачи в устройство кода установки начального значения вектора состояния ресурсов, управляющий вход 17 для подачи управляющих сигналов "Пуск" и "Стоп", информационный выход 5 " для выдачи микрокоманды после проверки ее корректности, управляющий выход 27- для выдачи сигнала ошибки (признака некорректности ).Регистр 2 микрокоманд предназначен для приема очередной проверяемой микрокоманды.Дешифратор 3 адреса предназначендля формирования адреса вектора управления ресурсами очередной мнкрокоманды, блок 7 памяти - для хранениязначений векторов управления ресурсами каждой микрокоманды мнкропрограммы, информационный вход 6 блока 7 памяти - для выдачи в блок памяти адреса вектора управления ресурсами проверяемой микрокоманды.Группа выходов 8 занятия ресурсов.блока 7 предназначена для выдачи сигналов, соответствующих занимаемым ресурсам проверяемой микрокомандой, группа выходов 9 освобождения ресурсов блока 7 - для выдачи сигналов, соответствующих освобождению ресурсов проверяемой мнкрокоиандой, группа 10 элементов задержки - для задержки сигналов установки в единичное состояние триггеров 13 состояния ресурсов, соответствующих занимаемым ресурсам проверяемой микрокомандной, на время срабатывания элементов Й 14, ИЛИ 15, ИЛИ 16 и триггера 26,Граппа 13 триггеров состояния ресурсов предназначена для хранения кода текущего состояния ресурсов, используемых микропрограммой, группа 14 элементов И - для формирования сигналов ошибки, соответствующих занятию ресурса, группа 1 элементов ИЛИ, элемент ИЛИ 16 - для формирования сигнала установки в7 1062709,8единичное состояние триггера 26 Фик- .диаграммах обозначены задержка Ссации ошибки, соответствующего сшиб-. . на элементе 10 (23), задержка сдке воздействия на ресурсы проверяе- на элементе 21.мой микрокомандной. Устройство работает следующим обГруппа 23 элементов задержки разом.предназначена для задержки сигналов 5 В исходном состоянии все элементыустановки в нулевое состояние триг- памяти находятся в нулевом состоягеров группы состояния ресурсов, нии.соответствующих освобождаемым ресур- Перед проверкой микропрограммысам проверяемой микрокомандной, на информационный вход 11 устройстна время срабатывания элементов И 10 ва подается код исходного состояния25, ИЛИ 15, ИЛИ 16 и триггера 26. ресурсов проверяемой микропрограммы.Группа 24 элементов И предназна- При этом триггеры 13 группы устанавчена для формирования сигналов ошиб- ливаются в соответствующее состояки, соответствующих одновременному ние.занятию и освобождению одного и то На вход 17 устройства поступаетго же ресурса проверяемой микроко- управляющий сигнал "Пускф, которыймагдой, группа 25 элементов И - устанавливает триггер 19 управлениядля Формирования сигналов ошибки, в единичное состояние. На вход устсоответствующих освобождению свобод- ройства 1 поступаЕт первая микроного ресурса, триггер 26 фиксации 20 команда проверяемой микропрограммыошибки - для фиксации Факта некор" и записывается по тактовому импульсуректности микропрограьвы. Единичное . с выхода элемента И 20 в регистр 2.состояние триггера определяет факт С выхода регистра 2 микрокомандаошибкипоступает иа вход дешифратора 3 и перГеиератор 18 тактовых импульсов 25 вые входы блока 4 элементов И.предназначен для синхронизации ра- ленияботы устройства, а триггер 19 управ- По адресу сформированнФому дея - для управления работой уст- шифратором 3, по сигналу с выходаро . Ед ичное состояние триг- элемента И 20 происходит считываниеройства. Единичнгера определяет рабочий режим. информации из блока 7 памяти О возНа входы тригге 19действии данной микрокоманды на реа входы триггера 19 поступаютсурсы системы.управляющие сигналы "Пускф и "Стопфс управляющего входа 17 При этом на группе 8 выходов бло управляющий вход 22 б 7ка памяти фоРмируются сигналы,УстройсТва.блока 7 памяти предназначен дл З 5 оответствующие занятию ресурсовтыванием вектон для управления счием вектора ресурсов проверяемикрокомандной, на группе 9 выходовмой микрокоманды элемент 21сигналы, соответствующие освобождеды, элемент задерж- нию ресурсов.ки - для задержки выдачи проверяемой микрокоманды н фна информационныйПо этим сигналам производитсявыход 5 на времямя проверки корректустановка в единичное (занятие ресурности ее воздейсствия на ресурсы,са) или нулевое состояние (ресурсравное величине з еине задеРжки на элемен- ров 13 группы.ф осВобожден) соответствующих триггете 10 (25) плюс время срабатыванияИЛИ 12 гге 13 блокто соответствующий триггер 13 груп- для управления выда пы установлен в единичное (нулевое)ния и обеспечивает в чт выдачу провереннойсостояние. Поэтому, если микрокоманмикрокоманды на информаци н й , да патыается занять (освободить 1ход 5 устройства только в занятый (свободный) ресурс, срабатынекорректного возд йозде ствия на ресурсывает соответствующий элемент И 14микропрограммы. 50 .(И 25) и сигнал ошибки через элеменНа Фиг. 2 - 3 предстпредставлены диты ИЛИ 15, ИЛИ 16 устанавливаетт игге 2аграммы выходных сигналосигналов элементовтриггер б фиксации ошибки в единичустройства (единич ное состояние, соответствующее неичных выходОв триггеРов);. На диаграммах оси абсцис корректному воздействию на ресурсызначены номерами р 55 проверяемой микрокомандной. Это обеси рассматриваемыхэлементов. На фиг. 2, а показаныпечивается задержкой сигналов с группдиаграммы работы уст йустро ства при выи 9 выходов блока 7 памяти наполнении корректной миквремя срабатывания элементов И 14,И НЕКОРРЕКтиой микропрограммы и и ТРиггера 26 группамиРопРогРаммы ИЛИ 15 и 16 и т.случаев освобождения свободного ре- бОраммы для 10 и 23 задержки,соответственно.сурса микрокомандной (Фиг, 2 )занятия занятого рес анд (Фиг, 2, б), . Если проверяемая микрокомандазанятия и освобождения о ногурса (фиг. З,.а), .пытается занять и освободить одинго же рес а вдиого и то-и тот же ресурс срабатывает соотрокоманде иг. 3 бурс одной и той же мик- ветствующий элемент И 24и сигналнд (ф . 3, б). Ва временных с выхода через элементы 15 и 16переводит триггер 26 в единичное состояние.В случае Фиксации ошибки воздействия на ресурсы на управляющий выход устройства 27 выдается сигнал ошибки. 5Перевод триггера 26 в единичное состояние запрещает выдачу некорректной микрокоманды на информационный выход устройства 5 через блок 4 элементов И. 0Выдача проверяемой микрокоманды на информационный выход 5 устройства до окончания проверки корректности ее воздействия на ресурсы системы запрещается задержкой сигнала с вы- ,15 хода элемента 20 И на время проверки корректности элементом 21 задержки.Перевод триггера 19 управления в нулевое сбстояние сигналом ошибки с единичного выхода триггера 26 запрещает прием очередной микрокоманды с информационного входа в ре,гистр 2 и блокирует тем самья работу устройства,В случае корректного воздействия на ресурсы системы проверяемой микрокомандной (нулевое состояние триг" гера 26) по сигналу с выхода элемента 21 задержки на информационный выход устройства 5 выдается проверенная корректная микрокоманда через открытый блок 4 элементов И, а по очередному тактовому импульсу с инФормационного входа устройства 1 в регистр 2 применяется очередная микрокоманда микропрограммы и осу" . ществляется проверка корректности ее воздействия на ресурсы системы,Работа устройства может быть остановлена при поступлении сигнала ошибки, а также при подаче управляющего сигнала "Стоп" с управляющего входа 17 устройства, через элемент ИЛИ 28 на нулевой вход триггера 19 управления, при этом закрывается элемент И 20 и прекращется подача тактовых импульсов управления работой устройства. Таким образом, введение двух элементов задержки, двух групп элементов ИЛИ, в трех групп элементов И, группы триггеров состояния ресурсов, триггера фиксации ошибки и двух элементов ИЛИ позволяет повысить достоверность контроля путем проверки не только статической, но и динамической корректности микро- команд.1062709 24 Составитель И.Сигаловедактор Н.Лазаренко Техред А.Вабинец Корректор В.Вутя сное илиал ППП "Патент", г. Ужгород, ул. Проектная,аказ 10219/50 ВНИИПИ по 113035

Смотреть

Заявка

3494633, 27.09.1982

ХАРЬКОВСКОЕ ВЫСШЕЕ ВОЕННОЕ КОМАНДНО-ИНЖЕНЕРНОЕ УЧИЛИЩЕ ИМ. МАРШАЛА СОВЕТСКОГО СОЮЗА КРЫЛОВА Н. И

ТКАЧЕНКО СЕРГЕЙ НИКОЛАЕВИЧ, ХАРЧЕНКО ВЯЧЕСЛАВ СЕРГЕЕВИЧ, ТИМОНЬКИН ГРИГОРИЙ НИКОЛАЕВИЧ, КОЗИЙ СЕРГЕЙ ПЕТРОВИЧ

МПК / Метки

МПК: G06F 11/22

Метки: микропрограмм

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

Код ссылки

<a href="https://patents.su/9-1062709-ustrojjstvo-dlya-kontrolya-mikroprogramm.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для контроля микропрограмм</a>

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