вторым входом второго элемента ИЛИ, выход которого соединен с нулевым входом триггера управления, нулевой
выход триггера фиксации ошибки соединен с третьими входами блока элементов И.
название | год | авторы | номер документа |
---|---|---|---|
Микропрограммное устройство управления с контролем | 1985 |
|
SU1277105A1 |
Устройство для контроля устройства микропрограммного управления | 1988 |
|
SU1608674A1 |
Микропрограммное устройство управления с контролем | 1983 |
|
SU1142832A1 |
Устройство для контроля программных автоматов | 1988 |
|
SU1571552A1 |
Микропрограммное устройство управления | 1982 |
|
SU1024920A1 |
Микропрограммное устройство управления с контролем | 1985 |
|
SU1267414A1 |
Устройство для контроля микропрограмм | 1982 |
|
SU1034042A1 |
Микропрограммное устройство управления | 1983 |
|
SU1100624A1 |
Микропрограммное устройство управления с контролем | 1983 |
|
SU1140121A1 |
Мультимикропрограммное устройство управления с контролем | 1985 |
|
SU1272333A1 |
УСТРОЙСТВО ДЛЯ КОНТРОЛЯ МИКРОПРОГРАММ, содержащее регистр микрокоманд, дешифратор адреса, блок памяти, генератор тактовых импульсов, элемент И, элемент задержки, блок элементов И и триггер управления, причем единичный выход триггера управления соединен с первым входом элементами, второй вход которого соединен .с выходом генератора тактовых импульсов, выход элемента И подключен к управляющему входу блока памяти и через элемент задержки соединен с первым входом блока элементов И, выход регистра микрокоманд соединен с вторым входом блока -элементов И и входом дешифратора адреса, выхёд которого соединен с адресным входом блока памяти, вход регистра микрокоманд соединен с первым информационным входом устройства, управляющий вход устройства соединен с единичным входом триггера управления, отличающееся тем, . что, с целью повышения достоверности контроля, в него введены первая и вторая группы элементов задержки, первая и вторая группы элементов ИЛИ, первая, вторая и третья группы элементов И, группа триггеров состояния ресурсов, триггер фиксации ошибки и дйа элемента ИЛИ, причем группа выходов занятия ресурсов блока памяти через соответствующие элементы задержки первой группы подключена к первым входам соответствующих элементов ИЛИ первой группы, группа информационных входов устройства соединена с вторыми входами соответствующих элементов ИЛИ первой группы, выходы элементов ИЛИ первой группы соединены с единичньгми входами соответствующих триггеров группы состояния ресурсов, группа выходов освобождения ресурсов блока памяти соединена с первыми входами соответствующих элементов И первой и второй групп и через соответствующие элемен-ф ты задержки второй группы с нулевыми (Л входами соответствующих триггеров группы состояния ресурсов, нулевой выход каждого триггера группы состояния ресурсов соединен с вторыми входами соответствующих элементов И g второй группы, единичный выход каждого триггера группы состояния ресурсов соединен с первым входом соответствующего элемента И третьей группы, группа выходов занятия ресурО) сов блока памяти соединена с вторыю ми входами элементов И первой и третьей групп, выходы одноименных элементов И первой, второй и третьей о со групп соединены соответственно с первым, вторым и третьим входами соответствующих элементов ИЛИ второй группы, выходы элементов ИЛИ второй группы соединены с соответствующими входами первого элемента ИЛИ, вы. ход которого соединен с единичным входом триггера фиксации ошибки, единичный выход которого, является контрольным выходом устройства и соединен с первым входом второго элемента ИЛИ, вход пуска и останова устройства соединен соответственно с единичным входом триггера управления и с
Изобретение относится к вычислительной технике и может быть исполь зовано в современных вычислительных системах (вс). Развитие ВС выдвигает задачу опт мального управления и контроля распределения ресурсов этих систем. При этом под ресурсом в общем случае понимается программная или аппа ратная компонента (элемент системы которая может быть представлена про цессу для его реализации. Большинство современных ВС построено на базе принципа микропрограм много управления и поэтому являются микропрограммными системами (МПС), в которых алгоритмы управления интерпр тируются микропрограммами. С учетом этого под ресурсом МПС можно понимать любую компоненту МПС выделяемую микропрограмме для обеспечения ее реализации и управляемую сигналом отдельной микрооперации. Для обеспечения заданного алгори ма функционирования МПС микропрограм ма должна быть корректна, т.е. не допускать противоречивого распреде,Ленин ресурсов, вследствие которого система не выполнит возлагаемые на нее задачи с заданным качеством. Известные методы определения тупиковых ситуаций при распределении ресурсов не дают практически приемлемых решений для организации контроля корректности микропрограмм ij Известно устройство для контроля микропрограмм, содержащее регистр микрокоманд, блок памяти, генератор тактовых импульсов, триггер, логические элементы И, ИЛИ и элемент задержки 2 . - Недостатком этого устройства является низкая достоверность контроля, обусловленная тем, что оно не позволяет контролировать корректность микропрограмм в динамическом режиме. Наиболее близким к предлагаемому по технической сущности и- достигаемому эффекту является устройство для обнаружения ошибочных кодов, содержащее регистр микрокоманд, дешифратор адреса вектора ресурсов, блок памяти векторов ресурсов, генератор тактовых импульсов, элемент И элемент задержки, первый блок элементов И и триггер управления, единичный выход которого соединен с первым входом элемента И, второй вход которого соединен с выходом генератора тактовых импульсов, выход элемента И подключен к управляющему входу блока памяти векторов ресурсов и через элемент задержки к первому входу первого блока элементов И, второй вход которого соединен с, выходом регистра микрокоманд и входом дешифратора адреса вектора ресурсов, выход которого соединен с информационным входом блока памяти векторов ресурсов, вход регистра микрокоманд соединен с информационным входом устройства, управляющий вход которого является единичным входом триггера управления З . Недостатком данного устройства является низкая достоверность контроля корректности микропрограмм. В данном устройстве контроль корректности микрокоманд осуществляв ется путем обнаружения запрещенных кодов микрокоманд, т.е. тех, которые содержат некорректные (противоречивые) операции над ресурсами в пределах данной микрокоманды. Будем считать, что МПС характеризуется множеством монопольно используемых ресурсов, управляемых отдельной микрооперацией. Каждый ресурс R; может находиться в двух состояниях - либо свободном, либо занятом. В соответствии с этим целесообразно ввести две операции G и Р - занятия и освобождения ресурса соответственно. Выполнение операций G и Р над ресурсом применительно к каждой микрокоманде обозначает, что применение операции занятия к свободному ресурсу приводит к тому, что этот ресурс становится занятым, а применение операции освобождения к занятому ресурсу приводит к освобождению ресурса соответственно. Операций G и Р являются допустимыми или корректными. Недопустимыми или некорректными являются операции занятия занятого ресурса и освобождения свободного. Причиной существования в микропрограмме недопустимых и некорректных операций является отсутствие динамического упорядочивания в занятии
и освобождения ресурсов (динамическая некорректность).
Кроме того, некорректной следует считать микрокоманду, если в ней одновременно предусмотрено два противоречивых воздействия (занятие и освобождение) на один и тот же ре«сурс (статическая некорректность).
Важно отметить, что статическая некорректность микрокоманды является ее постоянным свойством, независи мым от точек использования микрокоманд в микропрограмме.
Дин амическая же некорректность микрокоманды проявляется только тогд когда местоположение микрокоманды в микропрограмме приводит к выполнению операций в соответствии с условиями, описанными выше. Таким образом, одна и та же динамически некорректная микрокоманда может приводить .к сяиибочному управлению системой только в определенных последовательностях микрокоманд.
Известное устройство позволяет обнаруживать только статически некорректные микрокоманды.
Для этого в.блок0 памяти устройства запоминаются биты флажков, соответствующие каждому из возможных различных кодов микрокоманд. Бит флажка имеет значение двоичной 1, если соответствующий код микрокоманды определяется как допустимый (непротиворечивый )j для использования код, и двоичного О в противном случае. Микрокоманда, выполнение которой предстоит в текущем машинном цикле, временно запоминается в регистре, а код операции этой микрокоманды декодируется с целью образов вания адреса блока памяти бита флажков. По образованному адресу произво дится обращение к блоку памяти и считывается бит флажка, соответствующий заполненной микрокоманде. Если при обрайцении к блоку памяти оказывается, что бит , соответствующий данному коду операции, является двоичной 1, то в вычислительную машину .выдается сигнал, подтверждающий .запомненную временно микрокоманду как допустимую для исполнения.. Описанные операции повтсэряются в каждом так1теработы.
Таким образом, отсутствие в структуре известного устройства элементов и связей, обеспечивающих контроль не только статической, но и динамической корректности, приводит к низкой достоверности контроля.
Целью изобретения является повышение достоверности контроля путем расширения класса обнаруживаемых некорректных микрокоманд.
Поставленная цель достига ется тем, что в устройство для контроля
корректности микропрограмм, содержащее регистр микрокоманд, дешифратор адреса, блок памяти, генератор тактовых импульсов, элемент.И, элемент задержки, блок элементов И и триггер- управления, причем единичный выход триггера управления соединен с первым входом элемента И, второй вход которого соединен с выхдом генератора тактовых импульсов, выход элемента И подключен к управ ляющему входу блока памяти и через элемент задержки соединен с первым входом блока элементов И, а выход ргистра- микрокоманд соединен с вторым входом блока элементов И и вхог дом дешифратора адреса, выход которого соединен с адресным входом блока памяти, вход регистра микрокоманд соединен с первым информационным входом устройства, управляющий вход устройства соединен с еди ничным входом триггера управления, доп.олнительно введены первая и вторая группы элементов задержки, nepBaifi и вторая группы элементов ИЛИ, первая, .вторая и третья группы элементов И, группа триггеров -состояния ресурсов, триггер фиксаци ошибки и два элемента ИЛИ, причем группа выходов занятия ресурсов блока памятиЧерез Соответствующий элемент задержки первой группы подключена к первым входам соответствующих элементов ИЛИ первой группы, группа информационных входов устройства соединена с вторыми входами соответствующих элементов ИЛИ первой группы,, выходы элементов ИЛИ первой группы соединены с единичными входс1ми соответствующих триггеро группы состояния ресурсов, группа выходов освобождения ресурсов блока памяти соединена с первыми входс1ми соответствующих элементов И первой и второй групп и через соответствующие элементы задержки второй группы с нулевыми входами соответствующих триггеров группы состояния ресурсов, нулевой выход каждого триггера группы состояния ресурсов соединен с вторыми входами-соответствующих элементов И второй группы, единичный выход каждого триггера группы состояния ресурсов соединен с первым входом соответствующего элемента И третьей группы группа выходов занятия ресурсов блока памяти соединена с вторыми входами элементов .И первой и третьей групп,
выходы одноименных элементов и первой, второй и третьейгрупп соединены соответственно с первым, втоPfcw и третьим входами соответствующих элементов ИЛИ второй группы, выходы элементов ИЛИ второй группы соединены с соответствующими входами первого элемента ИЛИ, выход которого соединен с единичным входом триггера фиксации ошибки, единичный выход которого является контрольным выходом устройства и соединен с первым входом второго элемента ИЛИ, йход пуска и останова устройства соединен соответственно с единичным входом триггера управления и с вторым входом второго элемента ИЛИ, выход которого соединен с нулевым входом триггера управления, нулевой выход триггера фиксации ошибки соединен с третьими входами блока элементов И.
Сущность изобретения состоит во введение в структуру устройства таких новых элементов и связей, которые обеспечивают контроль статичекой и динамической некорректности пикрЬпрограмм. Для этого устройство использует средства динамического отслеживания состояния ресурсов с. одной стороны, и воздействия на них микрокоманд с другой стороны.В блоке памяти устройства хранят ся коды векторов ресурсов микрокоманд микропрограмм.
Текущее состояние ресурсов, используемых микропрогра1У1мами (ресурс свободен или занят) отслеживается блоком триггеров отвлеживания соетояния.
Для каждой микрокоманды проверяемой микропрограммы считывается из блока Пс1мяти ее вектор воздействия На ресурсы и осуществляется контрол корректности воздействия на ресурсы очередной проверяемой - икрокомандой с использованием информации6 текущем состоянии ресурсов и воздействии на них микрокоманды. При этом фиксируется факт ошибки, если очередная проверяемая микрокоманда пытается занять и освободить один и тот же ресурс (статическая некорректность), либо занять занятый или освободить свободный ресурс (динамическая некорректностьJ. При обнружении ошибки некорректная микрокоманда на объект управления не выдается.
На фиг. 1 представлена функциональная схема устройства для контроля микропрограмм; на фиг. 2 и 3 временные диаграммы работы устройства..
Устройство для контроля микропрограмм содержит первый информационный вход 1, регистр 2 микрокоманд, дешифратор 3 адреса, первый блок.
4элементов И, информационный выход
5устройства, информационный вход б блока 7 памяти, группу 8 выходов занятия ресурсов блока 7 памяти, группу 9 выходов освобождения ресурсов блока памяти, первую группу 10
элементов задержки, второй информационный вход 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 памяти - для хранения значений векторов управления ресурсами каждой микрокоманды микропрограммы, информационный; вхсзд б блока 7 памяти - для выдачи в блок памяти адреса вектора управления ресурсами проверяемой микрокоманды.
Группа выходов 8 занятия ресурсов блока 7 предназначена для вьвдачи сигналов , соответствующих занимаемым ресурсам проверяемой микрокомандой, группа выходов 9 освобождения ресурсов блока 7 -. для выдачи сигналов, соответствующих освобождению ресурсов проверяемой микроксмавдой, группа 10 элементов задержки - для задержки сигналов установки в единичное состояние триггеров 13 состояния ресурсов, соответствующих занимаемым ресурсам проверяемой микрокомандной, на время срабатывания элементов И 14, ИЛИ. 15, ИЛИ 16 и триггера 26.
Граппа 13 триггеров состояния ресурсов предназначена для хранения кода текущего состояния ресурсов, используемых микропрограммой, группа 14 элементов И - для формирования сигналов ошибки, соответствующих занятию ресурса, группа 15 элементов ИЛИ, элемент ИЛИ 16 - для формирования сигнала установки в
единичное состояние триггера 26 фиксации ошибки, соответствующего ошибке воздействия на ресурсы проверяемой микрокомандной.
Группа 23 элементов задержки предназначена для задержки сигналов установки в нулевое состояние триггеров группы состояния ресурсов, соответствующих освобождаемым ресурсам проверяемой микрокомандной, на время срабатывания элементов И 25, ИЛИ 15, ИЛИ 16 и триггера 26.
Группа 24 элементов И предназначена для формирования сигналов ошибки, соответствующих одновременнс(у занятию и освобождению одного и того же ресурса проверяемой микрокомандой, группа 25 элементов И для формирования сигналов ошибки, соответствующих освобождению свободного ресурса, триггер 26 фиксации ошибки - для фиксации факта некорректности микропрограммы. Единичное состояние триггера определяет факт ошибки.
Генератор 18 тактовых импульсов предназначен для синхронизации работы устройства, а триггер 19 управления - для управления работой устройства . Единичное состояние триггера определяет рабочий режим.
На входы триггера 19 поступшот управляющие сигналы Пуск и Стоп с управляювдего входа 17 устройства.
Управляющий вход 22 блока 7 памяти предназначен для управления счи тыванием вектора ресурсов проверяемой микрокоманды, элемент 21 задержки - для задержки вьщачи проверяемой микрок(1анды на информационный выход 5 на время прсхверки корректности ее воздействия на ресурсы, равное величине задержки на элементе 10 ((25) плюс время срабатывания элемента ИЛИ 12, триггера 13, блок 4 элементов И - для упра вления выдачей MHKpoKcJMaHj i на объект управления и обеспечивает выдачу проверенно микрокоманды на информационный выход 5 устройства только в случае некорректного воздействия на ресурсы микропрограммы..
На фиг. 2-3 представлены диаграммы выходных сигналов элементов устройства (единичных выходов триггеров)). На диаграммах оси абсцисс обозначены номерами рассматриваемых элементов. На фиг. 2, а показаны диаграммы работы устройства при выполнении корректной микропрограммы и некорректной микропрограммы для случаев освобождения свободного ресурса микрокомаидной (фиг. 2, б), занятия занятого ресурса (фиг. 3, ei) занятия и освобождения одного и того же ресурса в одной и той же микрокоманде (Сфиг. 3, б) . На временных
диаграммах обозначены задержка с на элементе 10 (23) , задержка Сдр на элементе 21.
Устройство работает следующим образом.
В исходном состоянии все элемент пё1мяти находятся в нулевом состоянии.
Перед проверкой микропрограммы на информационный вход 11 устройства подается код исходного состояния ресурсов проверяемой микропрограммы При этом триггеры 13 группы устанавливаются в соответствующее состояние.
На вход 17 устройства поступает управляющий сигнал Пуск, который устанавливает триггер 19 управления в единичное состояние. На вход устройства 1 поступает первая микрокоманда проверяемой микропрограммы и записывается по тактовому импульс с выхода элемента И 20 в регистр 2. С выхода регистра 2 микрокоманда поступает на вход дешифратора 3 и пвые входы блока 4 элементов И.
По адресу, сформированному дешифратором 3, по сигналу с выхода элемента И 20 происходит считывание информации из блока 7 памяти о воздействии данной микрокоманды на ресурсы системы.
При этом на группе 8 выходов блока 7 памяти формируются сигналы, соответствующие занятию ресурсов микрокомандной, на группе 9 выходов сигналы, соответствующие освобождению ресурсов.
По этим сигналам производится установка в единичное (занятие ресуса) или нулевое состояние (ресурс освобожден) соответствующих триггеров 13 группы.
Бели ресурс занят (освобожден), то соответствующий триггер 13 группы установлен в единичное (нулевое) состояние. Поэтому, если микрокоманда патыается занять (освободить занятьай (свободный-) ресурс, срабатывает соответствующий элемент И 14 ((и 25) и сигнал сяыибки через элементы ИЛИ 15, ИЛИ 16 устанавливает триггер 26 фиксации ошибки в единичное состояние, соответствующее некорректному воздействию на ресурсы проверяемой микрокомандной. Это обепечивается задержкой сигналов с гру 8 и 9 выходов блока 7 памяти на время срабатывания элементов И 14, ИЛИ 15 и 16 и триггера 26 группами 10 и 23 задержки .соответственно.
Если проверяемая микрокоманда пытается занять и освободить один и тот же ресурс, срабатывает соответствующий элемент И 24 и сигнал с выхода через элементы 15 и 16
переводит триггер 26 в единичное состояние.
В случае фиксации ошибки воздействия на ресурсы на управляющий выход устройства 27 выдается сигнал оигабки.
Перевод триггера 26 в единичное состояние зёшрещает выдачу некоррекной микрокснианды на информационный выход устройства 5 через блок 4 элементов И. .
Выдача проверяемой микрокоманды на информационный выход 5 устройств до окончания проверки корректности ее воздействия на ресурсы системы запрещается задержкой сигнала с выхода элемента 20 И на время проверк корректности элементе 21 задержки.
Перевод триггера 19 управления в нулевое сбстояние сигналом ошибки с единичного выхода триггера 26 запрещает прием очередной микрокоманды с информационного входа в-ре,гистр 2 и блокирует тем самым работ устройства.
.В случае корректного воздействия на ресурсы системы проверяемой микрокомандной (нулевое состояние триггера 26) по сигналу с выхода элемента 21 задержки на информационный
выход устройства 5 выдается провереная корректная микрокоманда через открытый блок 4 элементов И, а по очередному тактовому импульсу с информационного входа устройства 1 в регистр 2 применяется очередная микрокоманда микропрогргшмы и осуществляется проверка корректности е воздействия на ресурсы системы.
Работа устройства может быть остановлена при поступлении сигнала ошибки, а также при подаче управляющего сигнала Стоп с управляющего входа 17 устройства, через элемент ИЛИ 28 на нулевой вход триггера 19 управления, при этом закрывается элемент И 20 и прекращется подача тактовых импульсов управления работой устройства.
Таким обраэсх, введение двухэлементов задержки, двух групп элементов ИЛИ, в трех групп элементов И, группы триггеров состояния ресурсов, триггера фиксации сжшбки и двух элементов ИЛИ позволяет повысить достоверность контроля путем проверки не только статической, но и динамической корректности микрокоманд.
|Ь
Г
|ai
йе.г
Печь для непрерывного получения сернистого натрия | 1921 |
|
SU1A1 |
Шоу А. | |||
Логическое проектирование операционных систем | |||
М., 1981, с | |||
Походная разборная печь для варки пищи и печения хлеба | 1920 |
|
SU11A1 |
Аппарат для очищения воды при помощи химических реактивов | 1917 |
|
SU2A1 |
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Переносная печь для варки пищи и отопления в окопах, походных помещениях и т.п. | 1921 |
|
SU3A1 |
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Устройство станционной централизации и блокировочной сигнализации | 1915 |
|
SU1971A1 |
Авторы
Даты
1983-12-23—Публикация
1982-09-27—Подача