Устройство для контроля микропроцессорной системы
Иллюстрации
Показать всеРеферат
Изобретение относится к области вычислительной техники и может быть использовано при построении надежных микропроцессорных систем (МПС), Устройство обеспечивает контроль МПС с тремя шинами. Цель изобретения - повьпление достоверности контроля МПС в процессе функционирования. Устройство содержит два блока постоянной памяти, регистр, счетчик, схему сравнения, мультиплексор, триггер, элементы И и ИЛИ. Для обеспечения контроля в устройстве каждому машинному циклу команды ставится в соответствие адрес ячейки в блоке постоянной памяти. Содержимое этой ячейки памяти представляет информацию об ожидаемых сигналах на шине управления МПС, типе устройств, с которыми возможен обмен, последнем машинном цикле команды. Эта информация является исходной для m. iOBeASHnK контроля за корректным исполнением команд программы . При наличии любой некорректной ситуации при выполнении команд активируется выход ошибки устройства, который соединен с входом запроса прерывания процессора системы. Это обеспечивает переход к выполнению подпрограммы прерывания по ошибке с целью принятия необходимых действий. 1 ил., 4 табл. i (О
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК
<5И 4 С 06 Р 11/00
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
И ABTOPCKOMV СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ КОМИТЕТ
ПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМ
ПРИ ГКНТ СССР (21) 4272309/24-24 (22) 30.06.87 (46) 23.02.89. Бюл. М 7 (7 1) Андроповский авиационный технологический институт (72) И.З.Альтерман, В.М.Комаров и Н.Л.Шубин (53) 681. 3 (088. 8) (56) Авторское свидетельство СССР
Р 807299, кл. G 06 F 11/00, 1980.
Авторское свидетельство СCCP
У 1260960, кл. G 06 F 11/00, 1985. (54) УСТРОЙСТВО ДЛЯ КОНТРОЛЯ МИКРОПРОЦЕССОРНОЙ СИСТЕМЫ (57) Изобретение относится к области вычислительной техники и может быть использовано при построении надежных микропроцессорных систем (ИПС). Устройство обеспечивает контроль ИПС с тремя шинами. Цель иэобретения— повышение достоверности контроля МПС в процессе функционирования. Устройство содержит два блока постоянной
Изобретение относится к вычислительной технике и может быть использовано при построении надежных микропроцессорных систем, Цель изобретения — повышение достоверности контроля микропроцессор» ной системы в процессе функционирования.
На чертеже изображена структурная ,схема устройства.
УстройсТво для контроля микропроцессорной системы содержит первый блок 1 постоянной памяти, адресный
„„Я0„„1 46 О 72 2 А 1 памяти, регистр, счетчик, схему сравнения, мультиплексор, триггер, элементы И и ИЛИ. Для обеспечения контроля в устройстве каждому машинному циклу команды ставится в соответствие адрес ячейки в блоке постоянной памяти. Содержимое этой ячей" ки памяти представляет информацию об ожидаемых сигналах на шине управления MIIC типе устройств, с которыми возможен обмен, последнем машинном цикле команды. Эта информация является исходной для проведения контроля за корректным исполнением команд программы. При наличии любой некс рректной ситуации при выполнении команд активируется вьжод ошибки устройства, который соединен с входом запроса прерывания процессора системы. Это обеспечивает переход к выполнению подпрограммы прерывания по ошибке с целью принятия необходчмых действий.
1 ил., 4 табл.
М е вход 2 устройства, мультиплексор 3, триггер 4, выход 5 ошибки устройства, вход 6 установки устройства, регистр 7, второй блок 8 постоянной памяти, вход 9 данных устройства, схему 10 сравнения, управляющий вход 11 устройства, счетчик 12, первый элемент И 13, первый элемент ИЛИ
14, второй элемент ИЛИ 15, третий элемент ИЛИ 16, второй элемент И 17.
Предлагаемое устройство обеспечивает контроль наиболее распространенной микропроцессорнсй системы с
146072 тремя шинами: шиной адреса, шиной данных и шиной управления. Для обеспечения контроля микропроцессорной системы вход 11 устройства подключа5 ется к управляющей шине контролируемой системы, вход 2 — к старшим разрядам ее адресной шины, вход 9 — к шине данных, вход установки 6 — к цепи сброса микропроцессора, а выход 5 сигнала ошибки может подключаться к входу запроса прерывания микропроцессора или использоваться другим образом. В общем случае контролируемая микропроцессорная система (MIIC) содержит постоянную память (ПЗУ), оперативную память (ОЗУ), в которой организуется стек, и устройства вводавывода (УВВ) ° Нормальное функционирование МПС заключается в корректном исполнении. команд микропроцессора, расположенных в программной памяти
МПС. Известно, что реализация команд микропроцессора происходит в течение одного или более машинных циклов. 25
При этом для каждой команды точно известны количество составляющих ее циклов и их типьi. Тип машинного цикла несет информацию о типе устройства, к которому осуществляется обращение, З0 и о характере сигналов шины управления МПС, с помощью которых осуществляется обмен информацией.
Таким образом, нормальное функционирование MIIC характеризуется корректным выполнением команд (по машинншм циклам) и соответствием информации на шине адреса и управления в каждом ма шинном цикле реализации команды.
При работе MIC в условиях помех возможны и отказы системы, которые приводят к нарушению ее нормального функционирования. При этом наиболее часто причинами нарушения нормального функционирования являются: 45 нарушение корректного выполнения команд, обусловленное нарушением процесса чтения и декодирования команды, например, вследствие отказа шины данных или регистра и дешифрато- 5р ра команд микропроцессора, а также пропуском или основанием лишних машинных циклов микропроцессора, например, вследствие сбоя в схеме формирования машинных циклов микропроцессора; нарушение соответствия сигналов на шине адреса и управления текущей .командой, например, вследствие сбоя
4 устройства управления микропроцессора или одновременного сбоя на шине адреса и управления.
Для обнаружения некорректных ситуаций первой группы в устройстве производится сопоставление ожидаемого состояния шины управления MIIC соответствующее текущей команде, фактическому состоянию сигналов на шине управления в каждом машинном цикле. В состав шины управления типовой
МПС входят -следующие сигналы: чтение памяти (ЧТ), запись в память (ЗП), ввод (ВВ), вывод (Выв), чтение первого байта команды (М1).
Дпя обращения к внешним устройствам эти сигналы стробируются соответствующими строб-сигналами микропроцессора "Прием" (DBIN) или "Выдачи» (WRITE).
Устройство работает следующим образом.
Для осуществления контроля на соответствие ожидаемых и текущих сигналов на шине управления MIIC ожидаемые состояния сигналов на этой шине, соответствующие каждой команде микропроцессора, хранятся в блоке 8 постоянной памяти. Адрес ячейки блока
8 памяти формируется из кода команды, поступающего с выхода регистра 7, и текущего номера машинного цикла исполняемой команды, поступающего с выхода счетчика 12. Разрядность счетчика 12 определяется исходя из количества машинных циклов, необходимых для выполнения самой длинной команды.
Так, для микропроцессора КР580ВМ80А максимальное количество машинных циклов для выполнения команды равно 5.
Тогда разрядность счетчика 12 должна быть равна 3, и он имеет 8 состояний.
Часть ячеек описывает корректные машинные циклы, используемые при реализации команды. Другая часть ячеек, количество которых равно разнице между числом состояний счетчика 12 и числом корректных машинных циклов, описывает некорректные с точки зрения исполняемой команды машинные циклы. Эти ячейки могут выбираться .лишь при нарушении нормального функционирования МПС, связанного с превышением количества машинных циклов при исполнении текущей команды. В табл.1 приведены фрагменты содержимого блока постоянной памяти 8 для контроля МПС на базе микропроцессора КР580ВМ80А.
60722 6
35
5 14
В частности, выход поля типа операций (1-я группа) блока 8 постоянной памяти сопержит информацию о состоянии основных сигналов шины управления МПС по машинным циклам для каждой конкретной команды микропроцес сора °
В качестве контролируемых сигналов шины управления выбраны сигналы М1, ЧТ, ЗП, Выв, ВВ.
В примечании табл. 1 знаком "+" обозначены ячейки блока 8 постоянной памяти, обращение к которым разрешено при нормальной работе ИПС. Знаком "-" отмечены ячейки, адресация к которым производится при реализации избыточных машинных циклов при выполнении текущей команды микропроцессора. В этих ячейках записаны нули, что соответствует непрограммируемым ячейкам памяти.
Контроль за соответствием ожидаемых и текущих сигналов на шине управления МПС осуществляется схемой 10 сравнения. При этом оценка сигнала ошибки, поступающего с выхода схемы 10 сравнения через элемент
ИЛИ 15 на вход элемента И 17 осуществляется стробирующими сигналами
"Выдача" или "Прием" микропроцессора, поступающими через элемент ИЛИ
16 на второй вход элемента И 17.
При нормальном функционировании
МПС осуществляется чтение команд из программной памяти. При этом код команды появляется на шине данных системы (вход 9 устройства) и сопровождается сигналом М1. Под действием этого сигнала код команды записывается с шины данных системы в регистр
7 и одновременно сбрасывается в нулевое состояние счетчик 12, подготавливая устройство к контролю за выполнением первого машинного цикла. В результате этого на выходе поля типа операций блока 8 памяти появляется информация, описывающая ожидаемые;: . состояния сигналов на шине управления системы (вход 11 устройства) в первом машинном цикле текущей команды.
При соответствии ожидаемого и те" кущего состояний сигналов на шине управления системы на выходе схемы 10 сравнения формируется уровень логического нуля, свидетельствующий об отсутствии ошибки в текущем машинном цикле. При переходе к следующему ма,шинному циклу текущей команды появляется сигнал Синхронизация", указывающий начало очередного машинного цикла. При этом состся1п:.-: счетчика
12 увеличивается на "1", подготавливая устройство к контролю очередного машинного цикла, который осуществляется аналогично.
При переключении счетчика 12 соответствие сигналов на входе .,г= схемы 10 сравнения нарушается и на ее выходе формируется уровень логической единицы, свидетельствующий об ошибке.
Однако в этот момент времени оценка сигнала ошибки не производится и поэтому на выходе элемента И 1? сигнал ложной ошибки отсутствует. При нормальком функционировании МПС в момент оценки сигнала ошибки соответствие кодов на входах схемы 10 сравнения всегда установлено, и нулевой сигнал с ее выхода запирает элемент
И 17, что блокирует формирование сиг" нала на его выходе. В результате триггер 4 всегда находится в исходном состоянии, в которое он был переведен при начальном сбросе системы. При этом на выходе 5 ошибки устройства установлен нулевой уровень, свидетельствующий об отсутствии опнбки.
При нарушении приема или декодирования команд вследствие отказов или сбоев системы ожидаемая комбинация сигналов с выхода блока 8 памяти не совпадает с текущей комбинацией сигналов на шине управления ИПС (вход 11 устройства). В резульIave схема 10 сравнения формирует сигнал ошибки, который поступает на установочный вход триггера 4, переводя его в единичное состояние. При этом на выходе 5 ошибки устройства появляется активный уровень, свидетельствующий об ошибке. Для контроля за строгим соответствием фактического и ожидаемого количества машинных циклов при реализации текущей команды микропроцессора используется одноразрядный выход разрешения записи данных (выход 3) блока 8 памяти. Значение этого разряда равно "1" лишь в ячейках блока 8 памяти, соответствующих последнему машинному циклу для каждой команды.
Как видно из табл.1, например, для команды NOP сигнал на выходе разрешения записи данных (выход 3) блока 8 памяти равен логической "1" в первой ячейке группы ячеек, объе1460
722 8 щая пропущенному машинному циклу команды. Появление неожидаемого сигнала
Ml на шине управления МПС обнаруживается схемой 10 сравнения, что приводит к появлению единичного сигнала на выходе 5 ошибки устройства.
Для обнаружения некорректных ситуаций второй группы в предлагаемом устройстве производится сопоставление информации, устанавливаемой на шине адреса системы (вход 2 устройства), на соответствие текущему машинному циклу исполняемой команды, Действительно, в каждом машинном цикле допустимо обращение лишь к корректному типу устройств микропроцессорной системы. Некоторые машинные циклы допускают обращения к различным устройствам МПС. Например, в цикле чтения информации допустимо обращение к ОЗУ и к ПЗУ. В зависимости от возможности обращения к устройствам МПС все типы машинных циклов можно разбить на группы.
Кодирование машинных циклов по обращению у устройствам МПС представлено в табл.2.
Так, например, код 001 соответствует таким машинным циклам микропроцессора, в которых допустимо обращение к одному из трех устройств МПС:
ПЗУ, ОЗУ и УВВ. Код 011 соответствует машинным циклам чтения команды, в которых разрешено обращение только к программному ПЗУ. Код 100 соответствует машинным циклам обращения к стеку при выполнении "стековых" команд.
Если же н результате отказа или сбоя МПС при выполнении текущей команды пропущен один или несколько машинных циклов, то эта ситуация также обнаруживается устройством. Действительно, факт пропуска машинного цик- . ла команды однозначно связано с внеочередным появлением сигнала Мl на шине 11 управления. Vo поскольку сигнал окончания команды на выходе разрешения записи данных блока 8 в этот момент времени не сформироваFI> то сигнал Мl не проходит через элемент
И 13 на вход синхронизации регистра
7 и записи кода новой команды не про- 55 исходит. Это означает, что на выходе блока 8 устанавливается комбинация сигналов на шине управления MI|C (вход 11 устройства), соответствуюдиненных кодом команды Ы0Р, а для команды CALL ADDR сигнал на этом выходе равен логической "1" в пятой ячейке группы ячеек, объединенных кодом команды CALL ADDR, так как эти команды выполняются, соответственно, за 1 и 5 машинных циклов.
Таким образом, при исполнении последнего машинного цикла команды íà 10 выходе разрешения записи данных (выход 3) блока 8 памяти всегда формируется единичный сигнал, который поступает на вход элемента И 13, подготавливая его к передаче в следующем 15 машинном цикле ожидаемого сигнала
Ml на вход синхронизации регистра 7 и вход сброса счетчика 12, т.е. подготавливая цикл контроля очередной команды. 20
Если же в результате отказа или сбоя МПС ожидаемый сигнал Мl после выполнения последнего машинного цикла текущей команды не формируется, то счетчик 12 не сбрасывается, а уве-. личивает свое состояние на "1" по приходу очередного импульса Синхронизация". Это приводит к обращению к ячейкам блока 8 памяти, описывающим некорректные машинные циклы. В этом случае с выхода блока 8 памяти на вход схемы 10 сравнения поступает нулевая комбинация ожидаемых сигналов шины 11 управления (см. табл.1). При этом соответствие сигналов на входах 35 схемы 10 сравнения в момент оценки сигнала ошибки не будет установлено, и триггер 4 будет установлен в единичное состояние, фиксируя ошибку.
Для идентификации устройств МПС на стадии программирования программист должен распределить зону адресного пространства микропроцессора и закрепить за каждым из устройств системы определенную адресную зону.
При этом, как правило, часть адресного пространства остается неиспользованной ° Для упрощения селекции выбираемого устройства распределения адресов осуществляется таким образом, чтобы по старшим разрядам можно было определить устройство, к которому осуществляется обращение. Количество используемых для этого старших разрядов определяется минимальным объемом адресного пространства, закрепленного эа каким-либо устройством микропроцессорной системы. ПустЬ, например, для идентификации выбираустройства. Выход 5 ошибки устройства может соединяться с входом запроса прерывания микропроцессорной системы. В этом случае, выполнение текущей программы прерывается и система переходит к BbIIiQJTHpHHK> программы обработки прерывания по ошибке. Эта программа может предусматривать восстановление процесса, нарушенного сбоем, может иметь диагностический характер (выявления причин ошибки) или, в простейшем случае, обеспечивать останов нарушенного процесса.
Возможен и другой вариант использования сигнала ошибки.
Таким образом, предложенное устройство за счет обнаружения факта любого некорректного исполнения команд микропроцессора обеспечивает существенно более полный и достоверный контроль функционирования микропроцессорных систем, что значительно повышает их надежность.
Формула изобретения
Устройство для контроля микропроцессорной системы, содержащее первый блок постоянной памяти, регистр, мультиплексор, триггер, причем вход адреса первого блока постоянной памяти является адресным входом устройства для подключения к шине адреса контролируемой микропроцессорной системы, выход первого блока постоянной памяти соединен со старшими разрядами информационного входа мультиплексора, выход триггера является выходом ошибки устройства, установочный вход устройства соединен с входом сброса регистра и входом сброса триггера, о т л и ч а ю щ е е с я тем, что, с целью повьппения достоверности контроля микропроцессорной системы в процессе функционирования, в него введены второй блок постоянной памя ти, счетчик, схема сравнения, два элемента И, три элемента ИЛИ, причем группа старших разрядов входа адреса второго блока постоянной памяти соединена с выходом регистра, информационный вход которого является входом данных устройства для подключения к шине данных контролируемой микропроцессорной системы, группа младших разрядов входа адреса второго блока постоянной памяти соединена с информационным выходом счет(1460722 10 емого устройства системы использовано 5 разрядов А„, А 4 А„, А„, A<„ адресной шины и зоны адресного пространства распределены в соот5 ветствии с табл.3
Перекодирование кода старших раз" рядов шины адреса (вход 3 устройства) в код, указывающий устройства, к которым возможно обращение с помощью одной группы машинных циклов (табл.2), осуществляется блоком 1 постоянной памяти.
Кодовые соотношения блока 1 постоянной памяти представлены в табл.4.
Сопоставление группы текущего машинного цикла с устройством, к которому производится обращение в данном машинном цикле по шине адреса (вход
2 устройства) реализуется с помощью мультиплексора 3. При обращении микпропроцессора к какому-либо конкретному устройству системы на информационных входах мультиплексора 3 устанавливается код, поступающий с выхо- 25 да блока 1 постоянной памяти. Код исполняемого машинного цикла команды, поступающий на управляющие входы мультиплексора 3 с выхода блока 8 постоянной памяти, выбирает соответ- З0 ствующий вход мультиплексора 3 (табл.2). Если устройство, K которому осуществляется обращение в текущем машинном цикле, соответствует типу этого машинного цикла, то на
35 выбранном информационном выходе мультиплексора 3 присутствует сигнал логической "1", который с инверти" рующего выхода мультиплексора 3 поступает на вход элемента И 17 в виде 40 уровня логического "0". Следователь" но, в момент оценки сигнала ошибки элемент И 17 закрыт и триггер 4 не изменяет своего состояния.
Если в результате сбоев системы информации на шине адреса M1IC (вход
2 устройства) не соответствует исполняемому машинному циклу команды, то на выбранном информационном входе мультиплексора 3-присутствует сигнал логического "0", который инвертируется на выходе мультиплексора 3 и через элемент ИЛИ 15 поступает на вход элемента И 17. Это приводит к формированию в момент оценки сигнала ошибки на выходе элемента
И 17 импульса, установке триггера
4 в. единичное состояние и появлению сигнала ошибки на выходе 5 ошибки
Т а б л и ц а. 1
Команда
Код на выходе блока 8
Лдрес на входе блока 8 римеание
2-я группа
1"я группа
Код с выхода счетчика
Код с выхода регистра 7
М1 ЧТ ЗП Выв ВВ
Тип
МЦ (Н) 1 1 0 0 0 011
0 0 0 0 0 000
N0P
0 0 0 0 0 000 0 +
0 0 0 0 0 000
0 0 0 0 0 000
0 0 0 0 0 000
0 0 0 0 0 000
1 1 0 0 0 011
0 1 0 0 0 011
0 i 0 0 0 011
0 0 0 0 0 000
0 0 0 0 0 000
0 +
0 +
1 +
LXI B data 16 01
11 146 чика, счетный вход которого соединен с входом сигнала "Синхронизация" устройства для подключения к шине управления контролируемой микропроцессорной системы, вход сброса счетчика соединен с выходом первого элемента
ИЛИ, первый вход которого и вход синхронизации регистра соединены с выходом первого элемента И, первый вход которого соединен с входом сигнала "Чтение первого байта команды" устройства для подключения к шине управления контролируемой микропроцессорной системы, второй вход первого элемента И соединен с выходом поля разрешения записи данных второго блока постоянной памяти, выход поля типа цикла которого соединен с адресным входом мультиплексора, младший разряд информационного входа которого сбединен с шиной потенциала логического нуля устройства, выхоп
0722 12 мультиплексора соединен с первым входом второго элемента ИЛИ, второй вход которого соединен с выходом схемы сравнения, первый информационный вход которой является управляюшим входом устройства для подключения к шине управления контролируемой микропроцессорной системы, второй инфор10 мационный вход схемы сравнения соединен с выходом поля типа операции второго блока постоянной памяти, выход второго элемента ИЛИ соединен с первым входом второго элемента И, второй вход которого соединен с выходом третьего элемента ИЛИ, первый и второй входы которого соединены соответственно с входами сигналов "Выдача" и "Прием" устройства для подключения
20 к шине управления контролируемой микропроцессорной системы, выход второго элемента И соединен с входом установки в "1" триггера.
14 продолжение табл
1460722
О О О О О 000 О
О О О О О 000 О
О О О О О 000 О
STAX D
О 1 1
О О О 011 О
1 О О 1 О О 010
2 О О О О О 000 О
О .О О О О 000 О
О О О О О ООО О
О О О 0 О 000 О
О О О О О 000 О
MVI И, data
2 - 0 0
1 О О 010 1
0 О
0 О
О О О
О О О
000 О
000 0
О О О О О 000 О
0 О О О О 000 О
О О О О О 000 О 1 1 О О О 011 О
О 1 О О О 001
ADD М
0 0
О О 0 ООО О
О О О О О 000 О
О 0 О О 0 000 О
7 0 О О О О ООО 0
О 1 1 О 0 О О!1 О
1 О 1 О О О 011 О
1460722
Продолжение табл.1
Код на выходе блока 8
Примечание
Команда
2-я группа
1-я группа
Код с выхода счетчика
Код с выхода регистра 7 (н) Выв ВВ Тип
ИЦ
И1 ЧТ ЗП
О О
О 0 000
О О 0 О О 000
О О 0 О О 000
1 1 0 О О 011
О
CALL ADDR
О +
О +
О 1
О 1
0 О
0 О
О 011
0 О О 011 0 +
1 0
О О 1 О О 100
0 О 0 0 0 000
О О О О О 000
О О 0 О О 000
1 1 О 0 О 011
0 1 0 О О 011
О
OUT PORT
О +
О +
0 1
О О
О 101
0 О О 0 0 000
О 0
О О
О 000 !
О 000
0 0 О О О 000
О 000
О 0 О . О О 000.
Неисполь- 0 зуемые коды 1
О О О 000
О О
О
О
О О О О 0 000
0 000
0 О 0 0 0 000
Адрес на входе блока 8
О 0 О О
О О О О
О 0 0 О
О 100 О +
1460722 и 0 0 О 000 О
О О О О, 0 000 О
О О 0 С О 000 0
Таблица 2
Группы машинных циклов по обращению к устройствам ИПС
Код
Выбираемый информационный вход мультиплексора Э
ПЗУ,ОЗУ,УВВ
ОЗУ, УВВ
001
010
ПЗУ
011
СТЕК
100
УВВ
101!
Таблица 3
Устройства микропроцессорной системы
Адресный массив
1 I I
ПЗУ
ОЗУ
СТЕК
A«A«A q А Ан
О О 0 О 0
0 1 1 1 1
1 О О 0 О
1 О 1 О О
1 О 1 0 1
1 0 1 1 0
18
Продо пх.ение табл.1
1460722
2О
Продолжение табл.3
4 5 6
Не использовано
1 1 1 1 0
1 1 1 1 1
УВВ
Таблица А
Тип устройст" Коды на выходе блока noc" вв системы тоянной памяти
Код на входах адреса
01 02 03 04 05
О О О О 0
О 1 1 1 1
1 О 0 О О
1 О 1 О О
1 О 1 0 1
1 О 1 О О,ИЗУ
1. 1 О О О
ОЗУ
О О О
0 О 0
1 О
О .О
СТЕК
1 1 О
1 1 О
1 О
1 1 1 1 1
1 1 О О
Составитель Н.Постовой
Техред М.Ходанич Корректор М, Пожо
Редактор В.Данко
Заказ 543/56 Тираж бб7 Подписное
ВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР
113035, Москва, Ж-35, Раушская наб., д. 4/5
Производственно-издательский комбинат "Патент", г.ужгород, ул. Гагарина,101