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

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

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

ZIP архив

Текст

1545221 2, дешифратор 3, шифратор 4, мультиплексоры 6 и 14, триггеры 8, 11, 12и 13, регистры 15, 16 и 17 сдвига,счетчикй 18, 19 и 20, элементы 2 И-ИЛИ24, 25 и 26. Устройство обеспечиваетдостоверный и гибкий контроль микропроцессорных систем с тремя шинами впроцессе их функционирования. Гибкость контроля обеспечивается путемизбирательной фильтрации потока ошибок по типам, связанным с устройствами контролируемой .микропроцессорнойсистемы, при обращении к которым онивозникают. Оценка частных потоковошибок с целью формирования сигналаобщей ошибки осуществляется по двум Изобретение относится к вычислительной технике и может быть использовано при построении надежных микропроцессорных систем. 25Целью изобретения является повышение диагностических возможностейустройства за счет разделения возникающих ошибок на ошибки, требующие и не требующие перезапуска.На фиг. 1 изображена структурнаясхема устройства; на фиг, 2 - вре-.менные диаграммы его работы.Устройство для контроля микропроцессорной системы содержит (фиг,1)35последовательно соединенные блок 1постоянной памяти, регистр 2 и дешифратор 3, последовательно соединенныешифратор 4, информационный вход которого является информационным входом 405 устройства, и первый мультиплексор6, управляющий вход которого соединен с выходом блока 1 постоянной памяти, адресный вход которого являетсяадресным входом 7 устройства, первый 45триггер 8, выход которого являетсявыходом 9 сигнала ошибки, а вход сброса соединен с входом 10 сброса устройства, второй 11, третий 12 и четвертый 13 триггеры, второй мультиплексор 14, три регистра 15-17 сдвига, три счетчика 18-20, три элемента И 21-23, и три элемента 2 И-ИЛИ24-26,Устройство для контроля микропроцессорной системы работает следующим55образом,Оно обеспечивает контроль наиболее распространенной микропроцессорпорогам: порогу плотности распределения и интегральному порогу потокаошибок каждого типа. Сигнал общейошибки формируется лишь при достижении в некотором канале контроля пороговых значений. Это обеспечивает прерывание выполнения основной программы в существенно более редких случаях итолько в ситуациях, заранее назначаемых разработчиком и представляющихреальную опасность для выполнения основной задачи. В результате существенно повышается устойчивость вычислительного процесса в контролируемойсистеме к воздействию помехи расширяется область ее применения, 2 ил 3 табл. ной системы с тремя шинами: шинойадреса, шиной данных и шиной управления,Для обеспечения контроля микропроцессорной системы вход 5 предлагаемого устройства подключается к управляющей шине контролируемой системы,вход 7 - к ее адресной шине, вход 1 Осброса - к цепи сброса микропроцессора, вход 27 - к линии сигнала "Синхро 1низация контролируемой системы, авыход 9 сигнала ошибки - к входу запроса прерывания микропроцессора илиможет использоваться другим образом.В общем случае контролируемая микропроцессорная система содержит постоянную память (ПЗУ), оперативную память (ОЗУ), в которой организуетсястек, и устройства ввода-вывода (УБВ).На стадии программирования программист должен распределить зону адресного пространства микропроцессора изакрепить за каждым из устройств системы определенную адресную зону. Приэтом, как правило, часть адресногопространства остается неиспользованной.Для обращения к конкретному устрой.ству микропроцессор формирует на шине адреса соответствующий код, обеспечивающий активацию выбранного устройства, Для упрощения селекции выбираемого устройства распределениеадресов осуществляется таким образом,чтобы по старшим разрядам адресаможно было бы определить устройство, ккоторому осуществляется обращение.Количество используемых для этого21 6 5 15452 старших разрядов определяется минимальным объемом адресного пространства, закрепляемого за каким-либо устройством микропроцессорной систе-. мы. Пусть, например, для идентифи 5 кации выбираемого устройства системы использоввно пять разрядов А , АЮфА,3Ад, Аадресной шины и зоны адресного пространства распределения в соответствии с табл,1.При таком составе контролируемой микропроцессорной системы устройство, к которому осуществляется обращение, может быть указано трехразрядным кодом. Перекодирование входного кода на старших разрядах шины адреса 7 в код, указывающий тип выбираемого устройства, осуществляется блоком 1 постоянной памяти.,Для этого в нем по 20 существующим адресам хранятся коды устройств микропроцессорной системы. Пусть код ПЗУ - 000, код ОЗУ - 001, код стека - 010, код УВВ - 011, а код неиспользованной зоны - 1 00. Тог да в блоке 1 постоянной памяти должны храниться коды в соответствии с табл.2.Таким образом, при обращении микропроцессора к какому-либо конкретно му устройству системы на выходах блока 1 постоянной памяти формируется соответствующий код, и мультиплексор 6 выбирает соответствующий информационный вход, подключенный к одному из выходов шифратора 4, вход которого через информационный вход 5 подключен к управляющей шине контролируемой системы. В состав шины управления типовой микропроцессорной сис темы входят следующие сигналы: чтение памяти ЧТ; запись в память; ввод ВВ; вывод ВЫВ; загрузка в стек ЗСТ; извлечение из стека ИСТ; чтение первого байта команды М 1; подтверждение 45 прерывания ППР.При этом, как правило, все управляющие сигналы стробированы соответствующими строб-сигналами микропроцессора Прием или Запись 50Совершенно очевидно, что при нормальном функционировании системы микропроцессор генерирует управляющие сигналы в строгом соответствии с устройством, к которому обращается.На рушение этого соответствия свидетельствует об отказе,или сбое и является синтаксически некорректной ситуацией. Шифратор 4 обеспечивает кодирование этих ситуаций в соответствии с допустимыми комбинациями управляющих сигналов. Функционирование шифратора 4 описывается табл.З истинности.Каждый разряд выходного кода шифратора 4 соответствует устройству контролируемой микропроцессорной системы (У - устройство ввода-выводами У - неиспользуемая эона адресного пространства; У, - ПЗУ; У, - ОЗУ; У - стек), Единицы в правой части табл,З соответствуют некорректным, а нули - корректным синтаксическим ситуациям. Например, для ПЗУ некорректными входными сигналами являются ЗП, ВВ, ВЫВ, ЗСТ, ИСТ. Для неиспользуемой зоны адресного пространства любой управляющий сигнал будет некорректным.Для обнаружения синтаксически некорректных ситуаций в контролируемой системе необходимо значения выходного кода шифратора 4 сопоставить с устройством, к которому осуществляется обращение по адресной шине 7 в текущий мсмент времени. Это осуществляется мультиплексором 6. При нормальной работе микропроцессорной системы исполняемые коканды синтаксически корректны, поэтому на соответствующем выходе шифратора 4 и на выходе мультиплексора 6 будет постоянный уровень логического нуля. Это связано с тем, что на управляющих входах мультиплексора 6 блок 1 постоянной памяти устанавливает код устройства, к которому идет обращение, и выбирается соответствующий информационный вход мультиплексора 6. Последний подключен к соответствующему выходу шифратора 4 (табл.2), где единицами закодированы только некорректные обращения (табл.З), Поскольку на выход мультиплексора 6 сигнал не поступает, триггер 11, фиксирующий однократную ошибку в контролируемой системе, остается в обнуленном состоянии, которое было установлено при сбросе микропроцессорной системы через вход 10 сброса устройства.При исполнении процессором микропроцессорной системы программы в результате сбоя или отказа его элементов возможно возникновение некорректной синтаксической ситуации при обращении к какому-либо устройству системы. К таким ситуациям относятся попытка извлечения команды из зоны опе-1 54522 ративной памяти в результате сбоя программного счетчика процессора, попытка записи числа в зону ПЗУ в результате сбоя косвенного адреса или отказа одной из линий адресной вины и т.п . Некорректным является также любое обращение к используемой зоне адресного пространства. При возникновении подобной некорректной синтаксической ситуации работа устройства описьвается следующей последовательностью событий, Блок постоянной памяти 1 устанавливает на управляющих входах мультиплексора 6 код устройст ва микропроцессорной системы, к которому должно производиться обращение. Благодаря этому, среди информационных входов мультиплексора 6 выбирается тот, который связан с соответствую щим выходом шифратора 4, При некорректной ситуации код адресной зоны выбираемого устройства не соответствует комбинации управляющих сигналов на щине управления 5, Поэтому 25 на выбранном информационном входе мультиплексора 6 всегда будет лрисутствовать логическая единица табл.З), а на его выходе появится сигнал, свидетельствующий об ошибке. ЗО Этот сигнал поступает на установочный вход триггера 11, переводя его в единичное состояние.В результате этого в триггере 11 фиксируется факт наступления в контролируемой системе однократной ошибки некоторого типа.Для обеспечения высокой гибкости и достоверности контроля в предлагаемом устройстве осуществляется раз О личная обработка ошибок различного типа. При этом все обнаруживаемые ошибки разделены на пять типов в соответствии с типами устройств контролируемой микропроцессорной системы, при обращении к которым они возникаютВ соответствии с этим в отдельные типы выделены ошибки при обращении к ПЗУ, ОЗУ, стеку, УВВ и неисполь. зуемой зоне памяти. Возможность раз- о личной обработки этих ошибок обусловлена тем, что они вызывают различные последствия в контролируемой системе. Например, ошибки при обращении к п 1 юграммному ПЗУ и стеку, в которых чаще всего хранится управляющая информация, могут вызвать непредсказуемые последствия и, следовательно, в этом случае сразу же, при однократной ошибке, должны быть приняты соответствующие меры. С другой стороны, в большом классе микропроцессорных систем, реализующих функции контроллеров, ошибки при обращении к ОЗУ и УВВ, хранящим регенерируемые данные, а также к неиспользуемой зоне памяти за данными не вызывают столь критичных последствий. Это обусловлено тем, что в .контроллерах реализуется непрерывный процесс управления и программа решения задачи представляет собой бесконечный цикл. При этом, как правило, объект управления обладает большой инерционностью и не может изменить своего состояния при генерации ложных управляющих воздействий в течение коротких интервалов времени. Вследствие цикличности процесса .управления ошибки, возникшие в результате сбоя в текущем цикле, исправляются уже в следующем цикле и не вызывают нарушения процесса управления, так как длительность программного цикла в контроллерах очень мала. При этом ошибки, связанные с обращением к неиспользуемой зоне памяти за командами, также не вызывают критических последствий., Это обусловлено тем, что в неиспользуемую зону всегда вводятся программные ловушки, обеспечивающие автоматический перезапуск программы сначала при попадании в нее. В этом случае возникновение ошибок такого типа влечет за собой пропуск некоторой части программы лишь в текущем цикле, что не вызывает нарушения процесса управления в целом. Для повышения устойчивости процесса управления в условиях сильных помех, вызывающих сбои в контролируемой микропроцессорной системе, фиксация ошибок, не вызываюших критичных последствий, с принятием соответствующих мер должна осуществляться не при их однократном проявлении, а после превышения некоторого порога в их потоке. При этом могут быть установлены различные типы порогов для фиксации общей ошибки.В предлагаемом устройстве обработ ка ошибок осуществляется по двум типам наиболее важных порогов; порога плотности распределения потока ошибок и интегрального или суммарного порога потока ошибок, Плотность распределения потока ошибок характеризует частоту их появления во времени, 1545221 1 ОЭтот порог превышается, если подряд в течение некоторого заранее заданного количества последовательных циклов контроля фиксируется факт появле5 ния ошибки одного типа. Если же эта ошибка носит перемежающийся характер с количеством ошибок в пачке, не превышающем установленного порога плотности, то общая ошибка в этом случае не фиксируется.Интегральный показатель потока ошибок характеризует общее количество появления однократных ошибок одцого типа, в течение некоторого заранее установленного интервала времени наблюдения, в качестве которого может использоваться общее время работы устройства. Интегральный порог превышается, еслИ в течение времени наблюдения количество однократных ошибок одного типа становится равным некоторому заранее выбранному чисцуАнализ однократных ошибок, возникающих в контролируемой системе, с 25 учетом их типов и установленных порогов осуществляется следующим образом. В микропроцессорных системах (например, на базе микропроцессора КР 580 ВИ 80 А) каждая команда програм- ЗО мы выполняется в течение нескольких машинных циклов, каждый из которых состоит из нескольких машинных тактов, Каждый машинный цикл связан с обращением к внешним по отношению к процессору системы устройствам (ПЗУ, ОЗУ, стеку, УВВ)и, следовательно, в каждом машинном цикле возможно появление однократной ошибки некоторого типа, В связи с этим анализ сос - 40 , тояния триггера 11, фиксирующего однократную ошибку, осуществляется в каждом машинном цикле.В начале каждого машинного цикла процессор системы генерирует сигнал 45 Синхронизация, поступающий на тактовый вход 27 устройства. По спаду этого сигнала триггер 11 в начале каждого машинного цикла устанавливается в исходное нулевое состояние (Фиг.2). Это обеспечивает сброс результата контроля однократной ошибки в предыдущем машинном цикле и подготавливает устройство к ее фиксации в текущем машинном цикле. При этом одновременно в регистре 2 фиксируется код устройства (табл.2), к которому осуществляется обращение в текущем машинном цикле. Этот код поступает на вход дешифратора 3, рабо- та которого в данный момент запрещена нулевым уровнем на входе стробировация. Поэтому все выходы дешифратора 3 при этом остаются в пассивном состоянии, Вслед за сигналомСинхронизация" процессор контролируемой системы генерирует управляющие сигналы, осуществляющие фактическое обращение к выбранному по шине адреса устройству системы. При несоответствии адреса на входе 7 управляющему сигналу на входе 5 в триггере 1 фиксируется однократная ошибка в контролируемой системе, что быцо подробно рассмотрено выше.Выходной сигнал с триггера 11 поступает на информационные входы триггеров 2 и 3, регистров 15-17 сдви- га и входь элементов И 21-23, управляющих прохождением сигналов на счетные входы счетчиков 18-20. Это подготавливает предлагаемое устройство к анализу типа зафиксированной однократной ошибки. Триггеры 12 и 13 предназначены для фиксации однократных ошибок при обращении к программному ПЗУ и стеку соответственно, регистры 5-17 сдвига - для Фиксации плотности распределения потоков ошибок при обращении к ОЗУ, УВВ и неиспользуемой зоне адресного пространства соответственно, а счетчики 18-20 - для фиксации интегральных показателей потоков ошибок при обрашении к тем же устройствам. Разрядность элементов 12 и 13, 15-20 определяется максимальным допустимым значением соответствующих порогов для Фиксации общей ошибки.Факт достижения порога плотности распределения и интегрального потока ошибок при обращении к ОЗУ, УВВ и неиспользуемой зоне памяти устанавливается, с помощью элементов И-ИЛИ 24- 26 соответственно, Их настройка на некоторый порог осуществляется путем соответствуюшего подключения их входов к прямым выходам регистров 15-17 сдвига или к прямым и инверсным выходам счетчиков 8-20 в зависимости от выделяемого кода. Например, если порог плотности распределения потока ошибок при обращении к ОЗУ установлен на уровне 8, то разрядность регистра 15 сдвига должна быть равна 8, и восемь входов первой группы элемента И-ИЛИ 24 должны быть подключены кпрямым выходам всех триггеров регист-ра 15 сдвига Если интегральный порог по"тока ошибок при обращении к ОЗУ установлен на уровне 100 = 11000100, то разряд-,5нЬсть счетчика 18 должна быть равна7, а семь входов второй группы элемента И-ИЛИ 24 должны быть подключены к прямым выходам 7,6 и 3 и инверсным выходам 5, 4, 2 и 1 триггеровочетчика 18. Аналогичным образом определяется разрядность остальных регистров сдвига, счетчиков и вариантПодключения к ним соответствующихэлементов И-ИЛИ. 15Анализ типа однократной ошибки, зафиксированный в триггере 11, осуществляется по фронту очередного сигнала"Синхронизация" (фиг.2). При этом повходу стробирования разрешается работа дешифратора 3, и активный уровеньпоявляется на его выходе, соответстВующем коду, запомненному в регистре2, т.е, тину устройства контролируемой системы, к которому было обращенне в предыдущем машинном цикле. По.фронту выходного сигнала дешифратора3 осуществляется фиксация однократнойошибки с выхода триггера 11 в соответствующем канале контроля. Например, 30если активируется нулевой или второйвйходы дешифратора 3, то однократнаяошибка фиксируется в триггерах 1 2или 13 соответственно. При активировании первого, третьего или четвертого выходов дешифратора 3 ошибка фиксируется путем сдвига соответствующего регистра сдвига и инкрементирования соответствующего счетчика, таккак все элементы И в этот момент времени открыты сигналом с выхода триггера 11,Если при обращении к некоторомуустройству контролируемой системы однократная ошибка в очередном машинном цикле не обнаруживается, то работа предлагаемого устройства описывается совершенно аналогичной последовательностью событий. Однако вэтом случае триггер 11 находится внулевом состоянии. Поэтому при активировании выхода дешифратора 3 состояние всех счетчиков не изменяется,а в,соответствующий регистр сдвигазаписывается логический "0". Это обес.55печивает отсчет плотности распределе-ния потока ошибок при обращении к соответствующему устройству контролируемой системы сначала. Рассмотренный процесс функциониро.вания предлагаемого устройства обеспечивает избирательную фильтрацию по.тока однократных ошибок с их раздель.ным накоплением по различным типамошибок и их оценку по различным поро.гам. При достижении в некотором канале какого-либо установленного порогаошибок активируется выход соответствующего элемента И-ИЛИ 24-26 иливыход триггеров .12 и 13, подключенныхк информационным входам мультиплексора 14, Этот мультиплексор предназначен для оценки необходимости фиксациви общей ошибки. Для этого код срегистра 2 поступает на управляющийвход мультиплексора 14 и выбираетего информационный вход, соответствующий типу ошибки, контролируемойв текущий момент времени. Если в результате фиксации очередной однократной ошибки в выбранном канале достигается какой-либо порог, то на выбранном информационном входе мультиплексора 14, а следовательно, и навыходе появляется активный уровень,устанавливающий триггер 8, фиксирующий общую ошибку, в единичное состояние. В результате этого на выходе9 устройства появляется активныйуровень, свидетельствующий о возникновении в контролируемой системеошибки, по которой должны быть приняты соответствующие меры,Выход 9 ошибки устройства соединяется с входом запроса прерываниямикропроцессорной системыили,можетиспользоваться каким-либо другим образом. В первом случае при возникновении ошибки выполнение текущейпрограммы прерывается и система переходит к выполнению программы обработки .прерывания по ошибке. Этапрограмма может предусматривать восстановление процесса, нарушенногообщей ошибкой, может иметь диагностический характер (выявление причиношибки) или обеспечивать остановнарушенного процесса. Формула изобретенияУстройство для контроля микропро-цессорной системы, содержащее блок постоянной памяти, шифратор, первый мультиплексор, первый триггер, регистр и дешифратор, причем информационный вход устройства для подключения к управляющей шине объекта конт 1545221 4роля соединен с входом шифратора,выход которого соединен с входамиданных первого мультиплексора, адресный вход устройства для подключения кадресной шине объекта контроля соединен с адресным входом блока постоянной памяти, выход которого соединенс управляющими входами первого мультиплексора, с информационными входами 0регистра, выходы которого соединены синформационными входами дешифратора,вход сброса устройства соединен свходом начальной установки первого реГистра, с нулевым входом первоготриггера, прямой выход которого является выходом ошибки устройства, о т -л и ч а ю щ е е с я тем, вто, с целью повышения диагностических возможностей устройства за счет разде-.ления возникающих ошибок на ошибки,требующие и не требующие перезапуска,в устройство введены второй, третийи четвертый триггеры, второй мультиплексор, три регистра сдвига, трисчетчика, три элемента И и три элемента 2 И-ИЛИ, причем вход сбросаустройства соединен с нулевыми входами второго, третьего и четвертоготриггеров, с входами начальной установки первого, второго и третьегосчетчиков, первого, второго и третьего регистров сдвига, тактовый входустройства соединен с тактовыми входами дешифратора, регистра и второготриггера, выход первого мультиплексора соединен с единичным входом второго триггера, прямой выход которогосоединен с информационными входамитретьего и четвертого триггеров, с ин формационными входами первого, второго и третьего регистров сдвига, информационный вход второго триггерасоединен с шиной логического нуля устройства, первый, второй, третий, четвертый и пятый выходы дешифратора соединены с тактовыми, входами соответственно третьего триггера, первого регистра сдвига, четвертого триггера,второго и третьего регистров сдвига, 50Адресныймассив Устройства микропроцессорной системы АцА,АдА АО О О О О ПЗУ О 1 1 1 1 АтеА 1 зА А т 1 О О О О 1 О 1 О О ОЗУ О 1 ОСтек 1 О 1 1 О Не использовано 1 1 1 1 О 1 1 1 1 1 ШУВВ второй, четвертый и пятый выходы де-:. шифратора соединены с первыми входами соответственно первого, второго и третьего элементов И, прямой выход второго триггера соединен с вторыми входами первого, второго и третьего элементов И, выходы которых соединены со счетными входами соответственно первого, второго и третьего счетчиков, выходы первого, второго и третьего регистров сдвига соединены с пер" выми входами соответственно первого, второго и третьего элементов 2 И-ИЛИ, выходы первого, второго и третьего счетчиков соединены с вторыми входами соответственно первого, второго и третьего элементов 2 И-ИЛИ, выходы третьего триггера, первого элемента 2 И-ИЛИ, четвертого триггера, второго и третьего элементов 2 И-ИЛИ соединены соответственно с первым, вторым и третьим, четвертым и пятым информационными входами второго мультиплексора, выход которого соединен, с единичным входом первого триггера, выход регистра соединен с управляющим входом втооого мчльтиплексооа.Таблица 11545221 б 5 Таблица 2 Код на выходе блокапостоянной Код на входах7 адреса Тип устройства системы Выбираемый информационный вход мультиплексо-,ра 6 памяти 0 0 0 0 0 0 0 0 ПЗУ О 1 1 1 1 0 0 1 1 0 0 0 0 1 0 1 0 0 ОЗУ 0 1 0 1 0 1 0 1 Стек 1 О 1 1 01545221 И)-й Опорныйнал конщлируеюйпеныМре Сныеход У 7 аКтПЬ ход г%(ход лра О др а 8 ихпд ращор Нирорм НЫЦ ЙП Жхпды з юеещФ Ж ю-:га РЫХПУЮ пьекспрЪ ВыходкиФ Составитель И. Сигалов енко Техред М. Ходанедактор Н. орректор А.Обр Заказ 49ВНИИПИ Го Производственно"издательский комбинат "Патент", г од, ул. Гагарина, 10 Тираж 565 Подписное сударственного комитета по изобретениям и открытиям при ГКНТ ССС 113035, Москва, Ж, Раушская наб., д. 4/5

Смотреть

Заявка

4420227, 03.05.1988

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

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

МПК / Метки

МПК: G06F 11/08

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

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

Код ссылки

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

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