Устройство для контроля микропроцессорной системы
Иллюстрации
Показать всеРеферат
Изобретение относится к вычислительной технике, может быть использовано при построении надежных микропроцессорных систем (МПС) и обеспечивает контроль МПС с тремя шинами. Цель изобретения - повышение достоверности контроля МПС в процессе выполнения машинных программ. Устройство содержит три блока постоянной памяти 1,10 и 11, два регистра 4 и 13, шифратор 2, два мультиплексора 3 и 12 и элементы И 14 и ИЛИ 15 и 16. В устройстве производится контроль соответствия управляющих и адресных сигналов в системной шине микропроцессора, а также контроль за корректностью временного распределения управляющих сигналов. Для этого в двух регистрах устройства фиксируется предыстория появления управляющих сигналов за два последних машинных цикла микропроцессора. Эта информация является исходной для определения единственно возможного набора управляющих сигналов в следующем машинном цикле микропроцессора. 1 ил.
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСНИХ
РЕСПУБЛИН (19) (И) (51)5 " О6 11/28
ГОСУДАРСТВЕННЫЙ НСМИТЕТ
ПО ИЗОБРЕТЕНИЯМ И ОТНРЫТИЯМ
ПРИ ГКНТ СССР
1 (21) 4454946/24-24; 4454562/24-24 (22) 05.07.88 (46) 23.04.90. Бюл. V 15 (71) Рыбинский авиационный технологический институт (72) И.З. Альтерман, В.И. Комаров, И.А. Гладштейн и Н.А. Ыубин (53) 681.3(088.8) (56) Авторское свидетельство СССР
h" 807299, кл. (06 F. 11/12, 1976.
Авторское свидетельство СССР
1260960, кл. (Об F 11/00, 1985. (54) УСТРОЙСТВО ЛЛЯ КОНТРОЛЯ МИКРОПРОЦЕССОРНОЙ СИСТЕМЫ (57) Изобретение относится к вычислительной технике, может быть использовано при построении надежных микропроцессорных систем (МПС).и обеспечивает контроль HflC с тремя шинами. Цель
2 изобретения - повышение достоверности контроля ИПС а процессе выполнения машинных программ. Устройство содержит три блока постоянной памяти 1,10 и
11, два регистра 4 и !3, шифратор 2, два мультиплексора 3 и 12 и элементы
И 14 и ИЛИ 15 и 16. В устройстве производится контроль соответствия управляющих и адресных сигналов в системной шине микропроцессора, а также контроль за корректностью временного распределения управляющих сигналов, Для этого в двух регистрах устройства фиксируется предыстория появления управляющих сигналов за два последних машинных цикла микропроцессора. Эта информация является исходной для определения единственно возможного набора управляющих сигналов в следующем машинном цикле микропроцессора. 1 ил.
1559347
Изобретение относится к вычислительной технике и может быть исполь- зовано при построении надежных микропроцессорных систем.
Целью изобретения является повышение достоверности контроля программ в процессе их выполнения.
H а чертеже изображена структурная 10 схема устройства.
Устройство для контроля микропроцессорной системы содержит первый блок 1 постоянной памяти,.шифратор 2, первыи мультиплексор 3, первый регистр
4 и триггер 5, выход которого является выходом 6 сигнала ошибки устройства, а вход сброса которого соединен с входом 7 сброса устройства и входом 20 сброса первого регистра ч, причем.информационный вход первого мультиплек сора 3 соединен с выходом шифратора. 2, вход которого является информационным входом устройства 8, управляющий 2 вход первого мультиплексора 3 соеди" нен с выходом первого блока 1 постоянной памяти, вход которого является адресным входом g устройства, второй
10 и третий 11 блоки т<остоянной памя- >> ти, второй мультиплексор 12, второй регистр 13, элемент И 14, первый 1 и второй 16 элементы ИЛИ, выход которого соединен с установочным входом триггера 5, а его входы соединены соответственно с выходами первого мультиплексора,3 и элемента И 1<, выход второго блока 10 постоянной памяти соединен с управляющим входом второ-го мультиплексора 12, а адресные вхо-.40 . ды соединены с выходами первого < и второго 13 регистров, вход сброса пос-; леднего соединен с входом 7 сброса устройства, а информационный входс выходом первого регистра <<, входы 45 синхронизации регистров объединены и подключены к выходу первого элемента
ИЛИ 15 и прямому входу элемента И l4 инверсный вход которого соединен с выходом второго мультиплексора l2, информационный вход которого соединен с выходом третьего блока 11 постоянной памяти, адресный вход которого соеди" нен с информационным входом первого, регистра 4 и информационным входом 8 устройства, а входы первого элемента
ИЛИ 15 соединены с линиями сигналов
"Выдача" и "Прием" информационного входа устройства.
Для обеспечения контроля микропроцессорной системы вход 8 предпагаемого устройства подключается к управляющей шине контролируемой системы, вход 9 - к ее адресной шине, вход 7. сброса - к цепи сброса микропроцессора, а выход 6 сигнала ошибки - к входу запроса прерывания микропроцессора или может использоваться другим образом.
В общем случае контролируемая микропроцессорная система содержит блок постоянной памяти (ПЗУ), блок оперативной памяти (ОЗУ), в которой организуется стек, и .устройства ваода (УВВ) и вывода (УВИВ). На стадии программирования программист должен распределить зону адресного пространства микропроцессора и закрепить за каждым из устройств системы определенную адресную зону. При этом часть адресного пространства остается неиспользованной.
Для обращения к конкретному устрой-. ству микропроцессор формирует на шине адреса соответствующий код, обеспечи вающий активацию выбранного устройства. Для упрощения селекции выбираемого устройства распределение адресов осуществляется так, что bio старшим разрядам можно определить устройство, к которому осуществляется обращение.
Количество используемых для этого старших разрядов определяется минимальным объемом адресного пространства,.закрепляемого за каким-либо устройством микропроцессорной системы.
Например; для идентификации выбираемого уСтройства системы используют пять разрядов А«, А<, А<, А«, А«адресной шины и зоны адресного пространства распределяются в соответствии с табл. 1.
При укаэанном составе контролируемой микропроцессорной системы устройство, к которому осуществляется -обращение, может быть указано трехразрядным кодом. Перекодирование входного кода на старших разрядах шины 9 адреса в код, указывающий тип выбираемого устройства, осуществляется блоком 1 постоянной памяти. Для этого в нем по соответствующим адресам хранятся коды устройств МПС. Пусть код ПЗУ 001, код
ОЗУ 010, код СТЕКА 011, код УВВ 100, код УВЫВ .101, а код неиспользованной эоны 000. Тогда в блоке 1 постоянной, 47! 5593 памяти должны храниться коды в соответс вии с табл. 2, где представлены кодовые соотношения устройства. Таким образом, при обращении микропроцессора к какому-либо конкретному устройству системы на выходах блока постоянной памяти формируется соответствующий код, а мультиплексор 3 выбирает соответствующий информационный вход, подключенный к одному из выходов шифратора 2, вход которого через информационный вход 8 подключен к управляющей шине контролируемой системы.
В состав шины управления типовой МПС с неизолированным интерфейсом входят следующие выходные сигналы: "Чтение памяти" (ЧТ), "Запись в память" (ЗП), "Обращение к стеку" (СТЕК). "Чтение первого байта команды (М!) и "Подт- 2О верждение прерывания" (ППР). Для конкретизации обращений к стеку в МПС используются дополнительные управляющие сигналы "Извлечение из стекла" (ИСТ) и "Загрузка в стек" (ЗСТ). При этом ИСТ = СТЕК ПРИЕМ, ЗСТ = СТЕК -ВЫ"
ДАЧА, где "Прием" и "Выдача" - стробсигналы микропроцессора, указывающие направление передачи информации по шине данных МПС.
При нормальном функционировании
МПС микропроцессор генерирует управляющие сигналы в строгом соответствии с устройством, к которому обращается.
Нарушение этого соответствия свидетельствует об отказе или сбое в системе и является некорректной ситуацией. Шифратор 2 обеспечивает кодирование этих ситуаций в соответствии с допустимыми комбинациями управляющих сигналов.
В табл. 3 представлена таблица истинности шифратора 2.
Каждый разряд выходного кода шифратора 2 соответствует устройству контролируемой МПС (Yo — неиспользованная зона адресного пространства; У
ПЗУ; Yg - ОЗУ; Y - СТЕК; У - УВВ;
Y < — УВЫВ. Единицы в правой части табл. 3 соответствуют некорректным, 50 а нули - корректным ситуациям. Например, для ПЗУ некорректными входными сигналами являются ЗП, ЗСТ, ИСТ. Для неиспользуемой зоны адресного пространства любой управляющий сигнал некорректный.
Для обнаружения некороектных ситуаций в контролируемой системе необходи.мо значения выходного кода шифратора
2 сопоставить с устройством, к кото-.. рому осуществляется обращение по адреснои шине 9 в текущий момент времени. Это осуществляется мультиплексором 3. При нормальной работе МПС исполняемые команды синтаксически корректны, поэтому на соответствующем выходе шифратора 2 и выходе мультиплексора 3 " постоянный уровень логического нуля. Это связано с тем, что на управляющих входах мультиплексора
3 блок 1 постоянной памяти устанавливает код устройства, к которому идет. обращение, и выбирается соответствующий информационный вход мультиплексора 3. Последний подключен к сооТветствующему выходу шифратора 2 (табл. 2), где единицами закодированы только некорректные обращения (табл.3) .
Поскольку на выход мультиплексора сигнал не поступает, то и триггер находится в обнуленном состоянии, которое устанавливается при .сбросе
МПС.
При исполнении процессором МПС программы в результате сбоя или отказа его элементов возможно возникновение некорректных ситуаций при обращении к какому-либо устройству системы.
К таким ситуациям относятся попытка извлечения команды из зоны оперативной памяти в результате сбоя программного счетчика процессора, попытка записи числа в зону ПЗУ в результате сбоя косвенного адреса или отказа одной из линий адресной шины и т.д. Некорректным является также любое обращение к неиспользованной зоне адресного пространства.
При возникновении подобной некорректной ситуации устройство работает следующим образом.
Блок постоянной памяти устанавливает на управляющих входах мультиплексора 3 код устройства МПС, к которому должно производиться обращение.
Благодаря этому среди информационных входов мультиплексора 3 выбирается тот, который связан с соответствующим выходом шифратора 2. При некорректнои ситуации код адресной зоны выбираемого устройства не соответствует комбинации управляющих сигналов на шине 8 управления. Поэтому на выбранном информационном входе мультиплексора
3 всегда присутствует логическая единица (табл. 3), а на его выходе появ-, 1559347
Однако, кроме подобных некорректных ситуаций, в результате: отказрв . или сбоев возникают другие некорректные ситуации, связанные с нарушением необходимой последовательности генерации управляющих сигналов. Несмотря на то, что характер следования so времени сигналов по шине управления МПС целиком зависит от последовательности команд выполняемой программы, суще35 ствуют строгие взаимные ограничения на порядок их следования в соседних машинных циклах. Для МПС, построенных на базе микропроцессора КР580ВМ80А, сигнал "Запись в память" не может следовать подряд более, чем в двух соседних машинных циклах, а сигнал
"Стек" при первом своем появлении должен обязательно появиться снова в следующем машинном цикле и т.д. При 45 этом после завершения двух машинных циклов микропроцессора "Обращение к стеку" следующим должен следовать только машинный цикл "Извлечение первого байта команды", сопровождающийся сигналом М1 на шине управления. На. рушение временного распределения сигналов может. проявиться и в отсутствии управляющих сигналов в машинных циклах выборки или исполнения команды в
55 результате сбоя микропроцессора или,, отказа линий шины управления. Последствия всех этих нарушений весьма значительны, так как они всегда приводят
40 ляется сигнал, свидетельствующий об ошибке. Этот сигнал через элемент
ИЛИ 16 поступает на установочный вход триггера 5, переводя его в единичное состояние. В результате на выходе 6 ошибки устройства появляется сигнал, свидетельствующий об ошибке. Например„ при попытке извлечения команды из зоны ОЗУ на выходе блока постоянной па- 10 мяти (табл. 2) устанавливается код
010 и, соответственно, выбирается вход мультиплексора 3, связанный с выходом У шифратора 2. Сигнал И1, (табл. 3), поступивший на вход шифратора 2 при извлечении команды, вызывает формирование на выходе Y шифратора уровня логической единицы, которыи через мультиплексор 3 и элемент
ИЛИ 16. поступает на установочный вход 20 триггера 5, что приводит к установке его в состояние логической единицы и выдаче активного сигнала на выход 6 ошибки устройства. к потере информации в потребителе ли( бо источнике и, как следствие, к функциональному отказу всей микропроцессорной системы.
Для обнаружения подобных некорректных ситуаций состояние управляющих сигналов в текущем машинном цикле фиксируется в регистре 4. Запись этих сигналов осуществляется по спаду строб сигналов "Прием" и "Выдача", поступающих через элемент ИЛИ 15 на вход синхронизации регистра 4. Одновременно этим же сигналом производится запись с выхода регистра 4 s регистр 13 значений управляющих сигналов в предыду" щем машинном цикле. Таким образом, по окончании текущего машинного цикла микропроцессора на выходе .регистров
4 и 13 устанавливается информация о состоянии управляющих сигналов за два последних машинных цикла. Это соответствует накоплению предыстории генерации упра.вляющих сигналов в этих регистрах, разрядность которых равна числу запоминаемых управляющих сигналов. Для проведения анализа за правильным временным распределением управляющих сигналов эта информация кодируется с помощью блока 10 постоянной памяти в соответствии с табл. 4.
Каждому набору управляющих сигналов, за два последних машинных цикла можно поставить в соответствие набор возможных управляющих сигналов, которые могут активироваться в последующем машинном цикле микропроцессора. Такой набор управляющих сигналов удобно характеризовать функцией допустимости
F . Для МПС на базе различных микропроцессоров эти функции могут быть, различны. Функции допустимости.для
МПС, например, на базе микропроцессора KP5808NBOA приведены в табл. 4.Единичные значения этих функций соответствуют появлению ожидаемых управляющих сигналов в последующем машинном цикле, а нулевые - некорректным комбинациям управляющих сигналов. Например, при следовании в двух предыдущих машинных циклах сигналов сначала "Чтеwe памяти", затем "Запись памяти", (табл. 4, строка 4) в последующем машинном цикле допускается активирование сигналов М1 или Запись в память".
Функция допустимости F соответствующая этой комбинации, приобретает единичное значение лишь при активных значениях одного из этих сигналов.
1559347
Аналогичным образом из анализа системы команд микропроцессора и порядка их выполнения записываются все остальные функции допустимости (табл. 4).
Реализация функций допустимости осуществляется блоком 11 постоянной памяти. Иа адресный вход блока 11 поступают управляющие сигналы с информационного входа устройства. При этом 10 каждой функции допустимости соответствует отдельный выход блока 11 постоянной памяти. Единичное значение в разряд, управляющий некоторым выходом блока 11, записывается только в тех ячейках, адрес которых определяется допустимыми комбинациями управляющих сигналов (табл. 4), а в остальных ячейках в этот разряд записывается нулевое значение. 20
Для обнаружения состояния временного распределения управляющих сигналов необходимо сопоставить предысторию процесса генерации управляющих сигналов в предыдущих машинных циклах с значением функции допустимости в последующем машинном цикле. Это осуществляется мультиплексором 12 следующим образом. Выходной сигнал, поступающий с выхода блока 10 постоянной памяти на управляющие входы мультиплексора 12, обеспечивает выбор его информационного входа, соответствующего предыстории процесса генерации управляющих сигналов. При нормальной работе МПС управляющие сигналы распределяются во времени корректно. Поэтому в последующем машинном цикле на выходе блока 11 постоянной памяти, подключенному к выбранному информационному входу мультиплексора 12, и выходе мультиплексора
l2 устанавливается единичное значение функции допустимости, запиРающее эле- 45 мент И 14. Оценка состояния временного распределения управляющих сигналов производится в момент действия. стробирующих сигналов "Прием" или "Выдача" микропроцессора. При нормальной работе МПС в момент появления этих сигналов на выходе элемента ИЛИ 15 элемент И 14 закрыт, что предотвращает появление сигнала ошибки на его выходе. Например, при появлении в двух
55 предыдущих машинных циклах сигнала
"Запись в память" на выходе блока 10 уста на вли ва етс я код 0011 (табл. 4), По этому коду выбирается информационный вход мультиплексора 12; подключенный к выходу блока 11, cooTветствующему функции допустимости Fg = Ml При правильном функционировании МПС вслед за двумя машинными циклами с управляющим сигналом "Запись в память" должен всегда следовать машинный цикл
"Выборка первого байта команды", сопровождаемый генерацией сигнала Ml.При активировании этого сигнала на выходе блока 11 и выходе мультиплексора
12 формируется единичный уровень, запирающий элемент И 14. Поэтому в моменТ оценки состояния системы сигнал на выходе элемента И 14 не формируется, и триггер 5 остается в исходном нулевом состоянии, установленном че" рез вход 7 сброса при начальнои установке МПС.
При нарушении временного распределения сигналов вследствие отказов или сбоев МПС выбранная функция допустимости принимает нулевое значение, т.е. ни один из ожидаемых управляющих сигналов не формируется. В результате на выбранном входе мультиплексора
12 в момент оценки состояния временного распределения управляющих сигналов присутствует нулевой уровень, отпирающий элемент И 14. При этом сигнал с выхода элемента ИЛИ 15 поступает на установочный вход триггера 5 и переводит его и выход 6 ошибки B активное состояние. Если на шине управляющих сигналов МПС возникает недопустимое сочетание сигналов, например, в результате замыкания отдельных линий шины управления, то эта ситуация также приводит к формированию сигнала ошибки. При замыкании линий "Чтение памяти" и "Запись в память" в шиI не управления МПС одновременно гене" рируют два взаимоисключающих сигнала
ЧТ и ЗП, что приводит к потере информации и отказу в целом MllC. При такой некорректной ситуации на выходе блока 10 устанавливается код 1000. Так как всегда I > — — О, то в следующем машинном цикле нулевой сигнал на выбранном входе мультиплексора 12 (табл ° 4) приводит к установке в активное состояние триггера 5 и формированию сигнала на выходе 6 устройст" ва. Выход 6 ошибки устройства может соединяться с входом запроса прерывания МПС или использоваться каким-либо другим образом по усмотрению разработчика. В первом случае при возникнове-.
1Ь59347
12!
Таблица 1 нии ошибки выполнение текущей программы прерывается и система переходит к выполнению программы обработки прерывания по ошибке. Эта программа может предусматривать восстановление процес-.
5 са, нарушенного сбоем, иметь диагностический характер или в простейшем случае обеспечивать останов нарушенного процесса. 10
Формула изобретения
Устройство для контроля микропроцессорной системы, содержащее первый блок постоянной памяти, шифратор, первый мультиплексор, первый регистр и триггер, причем выход триггера является . выходом сигнала ошибки устройства, вход начальной установки устройст" 2О ва соединен с входами обнуления первого регистра и триггера, информацион" ный вход устройства для подключения.к шине управления контролируемой системы соединен с входом шифратора, выход 25 которого соединен с информационным входом первого мультиплексора, вход устройства для подключения к шине ад" реса контролируемой системы соединен с адресным входом первого блока памя- О ти, выход которого соединен с управляющим входом первого мультиплексора, отличающееся тем, что, с целью повышения достоверности контроля программ в процессе их выполнения, Э в устройство введены второй и третий блоки постоянной памяти, второй мультиплексор, второй регистр, элемент И, первый и второй элементы ИЛИ, причем входы устройства для подключения к . выходам .контролируемой системы соединены соответственно с первым и вторым входами первого элемента ИЛИ, выход которого соединен с входами за" писи первого и второго регистров и с прямым входом элемента И,информационный выход первого регистра соединен с с первым адресным входом второго блока постоянной памяти и с информационным входом второго регистра, выход которого соединен с вторым адресным входом второго блока постоянной памяти, выход которого соединен с управляющим входом второго мультиплексора, вход начальной установки устройства соединен с входом обнуления второго регистра, вход устройства для подключения к шине управления контролируемой системы соединен с информационным входом первого регистра и адресным входом третьего блока постоянной памяти, выход которого соединен с информационным входом второго мультиплексора, выход которого соединен с инверсным входом элемента И, выходы первого мультиплексора и элемента И соединены соответственно с первым и вторым входами второго элемента ИЛИ,выход которого соединен с единичным входом триггера .
Адресный массив j
А< А А А„ А
О О О О О
О 1 1 1 1
1 О 0 О О
1 0 1 О О
1 О 1 О
1 О 1 1 О
1 1 1 0
1 I 1 1 О .1 l 1 I
Устройства микропроцессорной системы
ПЗУОЗУ
СТЕК
Не использовано
УВВ
УВЫВ!
1559347
Таблица 2
Тип устройства системы
Выбираемый информа ционный вход мультиплексора 3
Код на выходе блока
1 постоянной памяти.
Код на входах 9 адреса
001
О OT
ПЗУ
00000
01111
ТОТО О
О 1 О
ОТО
011
ОЗУ
СТЕК
10101
1 О 1 1 О
000
1 О О
УВВ
1 О
УВЫВ
Табли ца 3
Выходные сигналы шифратора 2 (I (И1 ППР Y Y(Y
1 О О 1 О 1 ! 1 О 1 1 О
1 1 О 1 . 1
1 1 1 О 1 . 1
1 О 1 1 1 1
1 О 1 1 1 1
О О О О О О
О О О
О 0 О
Табли ца 4 функция допустимости (в момент Т+1) Управляющие сигналы ИПС
Код предыстории генерации упра вляющих сигналов (выход блока 10) ч ч ч в момент Т-1 (вы- в момент Т (выход регистра 13) ход регистра 4) Иатематическая форма
Реализация активной . (выход блока 11) ч ччч ч
ЧТ ЗП СТЕК ППР ЧТ ЗП СТЕК ППР
О О О
0 О 0
О О О
1 О О
1 О О.
О 1 О.
О 1 О
1 1 О
Х Х Х Х О
О О О О 1
1 О О О 1
1 О О О О
О X О О О
О О О О 1 1 О 1 О 1
Х О Х О О
F =И!чЧТЧЗПЧППР
F1 =ИИЧТЧЗП
F =И1 ЗП
F И.!
F =ЧТ СТЕК
F W1V ЗП СТЕК
Г =ЗП СТЕК б
О
О
О
О
111 01
;1 1 1 1 О
111.11
О О
О О
1 О
О
О О
0 О
О О
0 О
О . О
О О
1 О
О 1
11001
0011
0101
0110
Ое а, о
О, о
0Ô
0s
15!
559347
Продолжение табл. 4, Управляющие сигналы МПС
Функция допустимости (в момент Т+1) в момент Т-1 (вы- в момент Т (выход регистра 13) ход регистра 4) Реализация активной (выход блока 11) Математическая
Форма
ЧТ ЗП СТЕК ППР ЧТ ЗП СТЕК ППР
0 1
О 1
F --- ППР
F .= 0
П р и м е ч а н и е. Х - состояние безралично.
Составитель А. Сигалов
Редактор И. Шулла Техред М.Ходанич Корректор А. Обручар Заказ 838 Тираж 567 Подписное
ВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР
113035, Москва, И-35, Раушская наб., д. 4/5
Производственно-издательский комбинат "Патент", г. Ужгород, ул.Гагарина,!01
0 1 1 О О 1 о а а о о о
О О 0 1 О О
Все остальные комбинации
Код предыстории генерации уп равляющих сигналов (выход блока 10) 0011
0111 .0011 !
О00
03 о
03