Устройство для контроля микропроцессорной системы

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

Авторы: Альтерман, Гладштейн, Комаров, Шубин

ZIP архив

Текст

(57) Изобрете тельной техни вано при пост цессорных сис ет контроль М числи ользо ие относится к в е, может быть ис оении надежных м ем (МПС).и обесп С с тремя шинами ропроиваЦел ГОСУДАРСТВЕННЫЙ НСМИТЕТПО ИЗОБРЕТЕНИЯМ И ОТНРЦТИЯМПРИ ГКНТ СССР ИСАНИЕ ИЗ Н АВТОРСНОМУ С 1(71) Рыбинский авиационный технолсгический институт(56) Авторское свидетельство СССРР 807299, кл. С:Об Р 11/12, 1976.Авторское свидетельство СССРУ 1260960, кл. С Сб Р 11/00, 1985.(54) УСТРОЙСТВО ДЛЯ КОНТРОЛЯ ИИКРОПЦЕССОРНОЙ СИСТЕМЫ изобретения - повышение достоверностиконтроля ИПС а процессе выполнениямашинных программ, Устройство содержиттри блока постоянной памяти 1,10 и11, два регистра 4 и 3, шифратор 2,два мультиплексора 3 и 12 и элементыИ 14 и ИЛИ 15 и 16. В устройстве производится контроль соответствия управляющих и адресных сигналов в системной шине микропроцессора, а такжеконтроль за корректностью временногораспределения управляющих сигналов,Для этого в двух регистрах устройствафиксируется предыстория появления управляющих сигналов за два последнихмашинных цикла микропроцессора. Этаинформация является исходной для опре.деления единственно возможного набора управляющих сигналов в следующеммашинном цикле микропроцессора. 1 ил.Изобретение относится к вычислительной технике и может быть исполь-.зовано при построении надежных микропроцессорных систем.Целью изобретения является повышение достоверности контроля программ в процессе их выполнения.Н а чертеже изображена структурнаясхема устройства,Устройство для контроля микропроцессорной системы содержит первыйблок 1 постоянной памяти,.шифратор 2,первыи мультиплексор 3, первый регистр4 и триггер 5, выход которого является выходом 6 сигнала ошибки устройства, а вход сброса которого соединенс входом 7 сброса устройства и входом 20сброса первого регистра Й, причем.информцннй вход первого мультиплек сора 3 соединен с выходом шиФратора,2, вход которого является информационным входом устройства 8, управляющий 2вход первого мультиплексора 3 соеди"нен с выходом первого блока 1 постоянной памяти, вход которого являетсяадресным входом 9 устройства, второй10 и третий 11 блоки постоянной памяти, второй мультиплексор 12, второйрегистр 13, элемент И 11, первый 15и второй 16 элементы ИЛИ, выход которого соединен с установочным входомтриггера 5, а его входы соединены соответственно с выходами первого муль"типлексора,3 и элемента И 14, выходвторого блока 10 постоянной памятисоединен с управляющим входом второ го мультиплексора 12, а адресные вхо. ды соединены с выходами первого 4 ивторого 13 регистров, вход сброса пос-;леднего соединен с входом 7 сбросаустройства, а информационный входс выходом первого регистра М, входы 4синхронизации регистров объединены иподключены к выходу первого элементаИЛИ 15 и прямому входу элемента И 14,инверсный вход которого соединен свыходом второго мультиплексора 12, информационный вход которого соединенс выходом третьего блока 11 постояннойпамяти, адресный вход которого соеди"нен с информационным входом первого,регистра ч и информационным входом 8устройства, а входы первого элементаИЛИ 15 соединены с линиями сигналов"Выдача" и "Прием" информационноговхода устройства,Для обеспечения контроля микропроцессорной системы вход 8 предлагаемого устройства подключается к управляющей шине контролируемой системы,вход 9 - к ее адресной шине, вход 7.сброса - к цепи сброса микропроцессора, а выход 6 сигнала ошибки - к входу запроса прерывания микропроцессораили может использоваться другим образом.В общем случае контролируемая микропроцессорная система содержит блокпостоянной памяти (ПЗУ), блок оперативной памяти (ОЗУ), в которой организуется стек, и .устройства ваода (УВВ)и вывода (УВИВ), На стадии программирования программист должен распределить зону адресного пространства микропроцессора и закрепить за каждым изустройств системы определенную адресную зону. При этом часть адресногопространства остается неиспользованной.Для обращения к конкретному устрой-.ству микропроцессор формирует на шинеадреса соответствующий код, обеспечивающий активацию выбранного устройства. Для упрощения селекции выбираемого устройства распределение адресовосуществляется так, что по старшимразрядам можно определить устройство,к которому осуществляется обращение.Количество используемых для этогостарших разрядов определяется минимальным объемом адресного пространства,.закрепляемого за каким-либо устройством микропроцессорной системы.Например; для идентификации выбираемого уСтройства системы используютпять разрядов А А А 1, А А,и адресной шины и зоны адресного пространства распределяются в соответствии стабл. 1,При укаэанном составе контролируемой микропроцессорной системы устройство, к которому осуществляется обращение, может быть указано трехразрядным кодом. Перекодирование входного кода на старших разрядах шины 9 адреса в код, указывающий тип выбираемогоустройстваосуществляется блоком 1постоянной памяти. Для этого в нем по соответствующим адресам хранятся кодыустройств МПС. Пусть код ПЗУ 001, кодОЗУ 010 код СТЕКА 011, код УВВ 100,код УВЫВ .101, а код неиспользованнойэоны 000, Тогда в блоке 1 постоянной,.47 15593памяти должны храниться коды в соответствии с табл. 2, где представленыкодовые соотношения устройства.Таким образом, при обращении микропроцессора к какому-либо конкретномуустройству системы на выходах блокапостоянной памяти Формируется соответствующий код, а мультиплексор 3 выбирает соответствующий информационныйвход, подключенный к одному из выходов шифратора 2, вход которого черезинформационный вход 8 подключен к управляющей шине контролируемой системы.В состав шины управления типовой МПСс неизолированным интерфейсом входятследующие выходные сигналы: "Чтениепамяти" (ЧТ), "Запись в память" (ЗП),"Обращение к стеку" (СТЕК). "Чтениепервого байта команды (М 1) и "Подт Оверждение прерывания" (ППР). Для конкретизации обращений к стеку в МПСиспользуются дополнительные управляющие сигналы "Извлечение из стекла"(ИСТ) и "Загрузка в стек" (ЗСТ). Приэтом ИСТ = СТЕК ПРИЕМ, ЗСТ = СТЕК -ВЫ"ДАЧА, где "Прием" и "Выдача" - стробсигналы микропроцессора, указывающиенаправление передачи информации пошине данных МПС,При нормальном ФункционированииМПС микропроцессор генерирует управляющие сигналы в строгом соответствии сустройством, к которому обращается.Нарушение этого соответствия свидетельствует об отказе или сбое в системе и является некорректной ситуацией, Шифратор 2 обеспечивает кодирование этих ситуаций в соответствии с допустимыми комбинациями управляющихсигналов.В табл. 3 представлена таблица истинности шифратора 2,Каждый разряд выходного кода шифратора 2 соответствует устройству контролируемой МПС (Уо - неиспользованная зона адресного пространства; 7,ПЗУ; У - ОЗУ; У - СТЕК; У- УВВ;У- УВЫВ. Единицы в правой частитабл. 3 соответствуют некорректным, 50а нули - корректным ситуациям. Например, для ПЗУ некорректными входнымисигналами являются ЗП, ЗСТ, ИСТ. Длянеиспользуемой зоны адресного пространства любой управляющий сигнал некорректный.Для обнаружения некороектных ситуаций в контролируемой системе необходи.мо значения выходного кода шифратора 2 сопоставить с устройством, к кото-,. рому осуществляется обращение по ад-реснои шине 9 в текущий момент времени. Это осуществляется мультиплексором 3. При нормальной работе МПС исполняемые команды синтаксицески корректны, поэтому на соответствующем выходе шифратора 2 и выходе мультиплексора 3 " постоянный уровень логического нуля, Это связано с тем, что на управляющих входах мультиплексора 3 блок 1 постоянной памяти устанавливает код устройства, к которому идет. обращение, и выбирается соответствующий информационный вход мультиплексора 3. Последний подключен к соответствующему выходу шифратора 2 (табл. 2), где единицами закодированы только некорректные обращения (табл.3). Поскольку на выход мультиплексора 3 сигнал не поступает, то и триггер 5 находится в обнуленном состоянии, которое устанавливается при .сбросе МПС.При исполнении процессором.МПС программы в результате сбоя или отказа его элементов возможно возникновение некорректных ситуаций при обращении к какому-либо устройству системы, К таким ситуациям относятся попытка извлецения команды из зоны оперативной памяти в результате сбоя программного счетчика процессора, попытка записи числа в зону ПЗУ в результате сбоя косвенного адреса или отказа одной из линий адресной шины и т.д. Некорректным является также любое обращение к неиспользованной зоне адресного пространства.При возникновении подобной некорректной ситуации устройство работает следующим образом. Блок 1 постоянной памяти устанавливает на управляющих входах мультиплексора 3 код устройства МПС, к которому должно производиться обращение. Благодаря этому среди информационных входов мультиплексора 3 выбирается тот, который связан с соответствующим выходом шифратора 2. При некорректнои ситуации код адресной зоны выбираемого устройства не соответствует комбинации управляющих сигналов на шине 8 управления. Поэтому на выбранном информационном входе мультиплексора 3 всегда присутствует логическая единица (табл. 3), а на его выходе появ-, 155934725Однако, кроме подобных некорректных ситуаций, в результате отказов .или сбоев возникают другие некорректные ситуации, связанные с нарушением необходимой последовательности генерации управляющих сигналов. Несмотря на то, что характер следования во времени сигналов по шине управления МПС целиком зависит от последовательности команд выполняемой программы, суще 35 ствуют строгие взаимные ограничения на порядок их следования в соседних машинных циклах. Для МПС, построенных на базе микропроцессора КР 580 ВМ 80 А, сигнал "Запись в память" не может следовать подряд более, чем в двух соседних машинных циклах, а сигнал "Стек" при первом своем появлении должен обязательно появиться снова в следующем машинном цикле и т.д. При 45 этом после завершения двух машинных циклов микропроцессора "Обращение к стеку" следующим должен следовать только машинный цикл "Извлечение первого байта команды", сопровождающийся сигналом М 1 на шине управления. На рушение временного распределения сигналов может. проявиться и в отсутствии управляющих сигналов в машинных циклах выборки или исполнения команды в55 результате сбоя микропроцессора или отказа линий шины управления. Последствия всех этих нарушений весьма значительны, так как они всегда приводят 40 ляется сигнал, свидетельствующий обошибке. Этот сигнал через элементИЛИ 16 поступает на установочный входтриггера 5, переводя его в единичноесостояние, В результате на выходе 6ошибки устройства появляется сигнал,свидетельствующий об ошибке. Напримерпри попытке извлечения команды из зоны ОЗУ на выходе блока постоянной памяти (табл. 2) устанавливается код010 и, соответственно, выбираетсявход мультиплексора 3, связанный с выходом У шифратора 2. СигналМ 1,(табл. 3), поступивший на вход шиФратора 2 при извлечении команды, вызывает Формирование на выходе У шифратора уровня логической единицы, которыи через мультиплексор 3 и элементИЛИ 16, поступает на установочный вход 20триггера 5, что приводит к установкеего в состояние логической единицы ивыдаче активного сигнала на выход 6ошибки устройства. к потере информации в потребителе либо источнике и, как следствие, к функциональному отказу всей микропроцессорной системы,Для обнаружения подобных некорректных ситуаций состояние управляющихсигналов в текущем машинном циклефиксируется в регистре 4. Запись этихсигналов осуществляется по спаду стробсигналов "Прием" и "Выдача", поступающих через элемент ИЛИ 15 на вход синхронизации регистра 4. Одновременноэтим же сигналом производится записьс выхода регистра 4 в регистр 13 значений управляющих сигналов в предыду"щем машинном цикле. Таким образом,по окончании текущего машинного цикламикропроцессора на выходе .регистров4 и 13 устанавливается информация осостоянии управляющих сигналов за двапоследних машинных цикла. Это соответствует накоплению предыстории генерации упра.вляющих сигналов в этих регистрах, разрядность которых равначислу запоминаемых управляющих сигналов, Для проведения анализа за правильным временным распределением управляющих сигналов эта информация кодируется с помощью блока 10 постоянной памяти в соответствии с табл. 4.Каждому набору управляющих сигналов,за два последних машинных цикла можно поставить в соответствие набор возможных управляющих сигналов, которыемогут активироваться в последующем машинном цикле микропроцессора. Такойнабор управляющих сигналов удобно характеризовать Функцией допустимостиР. Для МПС на базе различных микропроцессоров эти функции могут быть,различны, Функции допустимости.дляМПС, например, на базе микропроцессора УР 580 ВМ 80 А приведены в табл. 4.Единичные значения этих Функций соответствуют появлению ожидаемых управляющих сигналов в последующем машинномцикле, а нулевые - некорректным комбинациям управляющих сигналов. Например, при следовании в двух предыдущихмашинных циклах сигналов сначала "Чтение памяти", затем "Запись памяти",(табл. 4, строка 4) в последующем машинном цикле допускается активирование сигналов М 1 или пЗапись в память".Функция допустимости Р , соответствующая этой комбинации, приобретает единичное значение лишь при активныхзначениях одного из этих сигналов.Аналогичным образом из анализа системы команд микропроцессора и порядка их выполнения записываются все остальные функции допустимости (табл. 4).Реализация функций допустимости осуществляется блоком 11 постоянной памяти. Иа адресный вход блока 11 поступают управляющие сигналы с информационного входа устройства. При этом 10 каждой функции допустимости соответствует отдельный выход блока 11 постоянной памяти. единичное значение в разряд, управляющий некоторым выходом блока 11, записывается только в тех ячейках, адрес которых определяется допустимыми комбинациями управляющих сигналов (табл. 4), а в остальных ячейках в этот разряд записывается нулевое значение. 20 Для обнаружения состояния временного распределения управляющих сигналов необходимо сопоставить предысторию процесса генерации управляющих 25 сигналов в предыдущих машинных циклах с значением функции допустимости в последующем машинном цикле. Зто осуществляется мультиплексором 12 следующим образом. Выходной сигнал, поступающий с выхода блока 1 О постоянной памяти на управляющие входы мультиплексора 12, обеспечивает выбор его информационного входа, соответствующего предыстории процесса генерации управляющих сигналов. При нормальной работе МПС управляющие сигналы распределяются во времени корректно. Поэтому в последующем машинном цикле на выходе блока 11 постоянной памяти, подключенному к выбранному информационному входу мультиплексора 12, и выходе мультиплексора 12 устанавливается единичное значение функции допустимости, запирающее эле мент И 14. Оценка состояния временного распределения управляющих сигналов производится в момент действия стробирующих сигналов "Прием" или "Выдача" микропроцессора. При нормальной работе МПС в момент появления этих сигналов на выходе элемента ИЛИ 15 элемент И 14 закрыт, что предотвращает появление сигнала ошибки на его выходе. Например, при появлении в двух55 предыдущих машинных циклах сигнала "Запись в память" на выходе блока 1 О устанавливаетс я код 0011 (табл.4),По этому коду выбирается информационный вход мультиплексора 12; подключенный квыходу блока 11, соответствующемуфункции допустимости 1 р = М 1. Приправильном функционировании МПС вследза двумя машинными циклами с управляющим сигналом "Запись в память" должен всегда следовать машинный цикл нВыборка первого байта команды", сопровождаемый генерацией сигнала М 1.При активировании этого сигнала на выходеблока 11 и выходе мультиплексора 12 формируется единичный уровень, запирающий элемент И 14. Поэтому в мо- менТ оценки состояния системы сигнал на выходе элемента И 14 не формируется, и триггер 5 остается в исходном нулевом состоянии, установленном че" рез вход 7 сброса при начальнои установке МПС.При нарушении временного распределения сигналов вследствие отказовили сбоев МПС выбранная функция допустимости принимает нулевое значение,т.е. ни один. из ожидаемых управляющихсигналов не формируется, В результате на выбранном входе мультиплексора 12 в момент оценки состояния временного распределения управляющих сигналов присутствует нулевой уровень, отпирающий элемент И 14. При этом сигнал с выхода элемента ИЛИ 15 поступает на установочный вход триггера 5 и переводит его и выход б ошибки в активное состояние. Если на шине управляющих сигналов МПС возникает недопустимое сочетание сигналов, например, в результате замыкания отдельных линий шины управления, то эта ситуация также приводит к формированию сигнала ошибки. При замыкании линий "Чтение памяти" и "Запись в память" в шине управгания МПС одновременно гене" рируют два взаимоисключающих сигнала ЧТ и ЗП, что приводит к потере информации и отказу в целом МПС. При такой некорректной ситуации на выходе блока 10 устанавливается код 1000. Так как всегда Р -- 0, то в следующем машинном цикле нулевой сигнал на выбранном входе мультиплексора 12(табл. 4) приводит к установке в активное состояние триггера 5 и формированию сигнала на выходе 6 устройст"ва, Выход 6 ошибки устройства может соединяться с входом запроса прерывания МПС или использоваться каким-либо другим образом по усмотрению разработ" чика. В первом случае при возникнове-.1559317 Таблица 1 Устройства микропроцессорной системы Адресный массив А А А А А ПЗУ. 0 О 0 О 0 0 1 1 1 1 1 О О 0 0 ОЗУ 1 0 1 О О 1 0 1 О 1 1 О 1 1 0 СТЕК Не использовано 1 1 1 О 1 1 1 1 0 УВВ УВЫВ нии ошибки выполнение текущей программы прерывается и система переходит к выполнению программы обработки прерывания по ошибке, Эта программа может предусматривать восстановление процес 5 са, нарушенного сбоем, иметь диагностический характер или в простейшем случае обеспечивать останов нарушенного процесса. 10 Формула и зобретения Устройство для контроля микропроцессорной системы, содержащее первый блок постоянной памяти, шифратор, первый мультиплексор, первый регистр и триггер, причем выход триггера является, выходом сигнала ошибки устройства, вход начальной установки устройст" 2 О ва соединен с входами обнуления первого регистра и триггера, информацион" ный вход устройства для подключения,к шине управления контролируемой системы соединен с входом шифратора, выход 25 которого соединен с информационным входом первого мультиплексора, вход устройства для подключения к шине ад" реса контролируемой системы соединенс адресным входом первого блока памя- ЗО ти, выход которого соединен с управляющим входом первого мультиплексора, о т л и ч а ю щ е е с я тем, что, с целью повышения достоверности контроля программ в процессе их выполнения,Э в устройство введены второй и третий блоки постоянной памяти, второй мультиплексор, второй регистр, элемент И,первый и второй элементы ИЛИ, причемвходы устройства для подключения к,выходам .контролируемой системы соединены соответственно с первым и вторым входами первого элемента ИЛИ,выход которого соединен с входами эа"писи первого и второго регистров и спрямым входом элемента И,информационный выход первого регистра соединен сс первым адресным входом второго блока постоянной памяти и с информационным входом второго регистра, выход которого соединен с вторым адресным входом второго блока постоянной памяти,выход которого соединен с управляющимвходом второго мультиплексора, входначальной установки устройства соединен с входом обнуления второго регистра, вход устройства для подключенияк шине управления контролируемой системы соединен с информационным входомпервого регистра и адресным входомтретьего блока постоянной памяти, выход которого соединен с информационным входом второго мультиплексора,выход которого соединен с инверснымвходом элемента И, выходы первогомультиплексора и элемента И соединенысоответственно с первым и вторым входами второго элемента ИЛИ,выход которого соединен с единичным входомтриггера.1 Я 9347 Таблица 2 Тип устройства системы Выбираемый информационный вход мультиплексора 3 Код на выходе блока 1 постоянной памяти Код на входах 9 адреса 001 0 ОТ ПЗУ 00000 01111 10000 ТОТО 0 010 ОТО 011 ОЗУ СТЕК 10101 10110 000 100 УВВ 10 УВЫВ Таблица 3 Выходные сигналы шифратора 21 М 1 ППР У У Уа з 1 0 0 1 0 1 1 1 О, 1 1 0 11 0 11 1 1 0 1 1 1 0 1 1 1 1 1 0 ч0 О 0 0 0 0 0 0 0 0 0 0 Табли ца 4 функция допустимости (вмомент Т+1) Управлякнцие сигналы МПС Код предыстории генерации управляющих сигналов (выход блока 1 О) ччч ччччч в момент Т(вы- в момент Т (выход регистра 13) ход регистра 4) Математическаяформа Реализацияактивной(выход блока 11) ччччч чччч ЧТ ЗП СТЕК ППР ЧТ ЗП СТЕК ППР 0 0 00 0 О0 0 01 0 01 0 0О 1 О.0 1 01 1 0 Х Х Х Х 0 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0 Х 0 0 0 0 0 О 0 10 1 0 1 Х 0 Х О 0 Р =М 1 ЧЧТЧЗПЧППРГ =М 1 ЧЧТЧЗП=М ЧЗП Р =МР=ЧТ СТЕКР -ФЧ ЗП СТЕКГ=ЗПСТЕК Ф 1 0 0 0 0 0 1110115 1559347 Продолжение табл ч Управляющие сигналы МПС Функция допустимости (вмомент Т+1)в момент Т(вы- в момент Т (вы" ход регистра 13) ход регистра Й) МатематическаяФорма ЧТ ЗП СТЕК ППР ЧТ ЗП СТЕК ППР 0 0 1 ОЗаказ 838 Тираж 567 ПодписноеВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР 113035, Москва, И, Раушская наб., д. /5 Производственно-издательский комбинат "Патент", г. Ужгород, ул.Гагарина,01 0 1 1 0 0О а О 0 О. О 0 О 0 1 0 0 Все остальные комбинации Код предыстории генерации управляющихсигналов

Смотреть

Заявка

4454946, 05.07.1988

РЫБИНСКИЙ АВИАЦИОННЫЙ ТЕХНОЛОГИЧЕСКИЙ ИНСТИТУТ

АЛЬТЕРМАН ИГОРЬ ЗЕЛИМОВИЧ, КОМАРОВ ВАЛЕРИЙ МИХАЙЛОВИЧ, ГЛАДШТЕЙН МИХАИЛ АРКАДЬЕВИЧ, ШУБИН НИКОЛАЙ АЛЕКСЕЕВИЧ

МПК / Метки

МПК: G06F 11/28

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

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

Код ссылки

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

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