Устройство для контроля микропроцессора Советский патент 1993 года по МПК G06F11/28 

Описание патента на изобретение SU1817096A1

Изобретение относится к вычислительной технике и может быть применено при построении надежных микропроцессорных систем.

Цель изобретения - повышение достоверности контроля.

На чертеже представлена функциональная схема устройства.

Устройство для контроля микропроцессора содержит первый 1 и второй 2 регистры, первый 3 и второй 4 элементы И, дешифратор 5, блок памяти 6, первую 7, вторую 8 и третью 9 схемы сравнения, первый 10 и второй 11 демультиплексоры, первый 12 и второй 13 элементы ИЛИ и триггер 14, контролируемый микропроцессор 15, выход ошибки 16 устройства, выходы разрешения записи 17 и чтения 18 устройства, третий демультиплексор 19, третий элемент ИЛИ 20 и четвертую схему сравнения 21.

Наиболее полно функциональные возможности устройства реализуются, если программа построена в виде двух уровней: макропрограммы, содержащей только вызовы макрокоманд, и программ выполнения макрокоманд (подпрограмм). Такой метод программирования, когда программа высокого уровня содержит только вызовы подпрограмм, способствует повышению качества программирования и широко используется для программирования микропроцессоров.

Указатель стека SP микропроцессора используется в качестве макропрогрэммно- го счетчика (т.е. счетчика команд второго уровня). Макропрограмма представляет собой последовательность кодов макрокоманд, автоматически назначаемых ассемблером и равных начальным адресам соответствующих программ выполнения. Программы выполнения макрокоманд оформляются как обычные подпрограммы, т.е. в конце тексте каждой из них указывается команда возврата RET, которая и инициирует загрузку программного счетчика микропроцессора кодом макрокоманды из памяти по адресу, определяемому указателем стека - макропрограммным счетчиком, и инкремент последнего (т.е. вызов следующей подпрограммы). При программировании можно потребовать, чтобы каждая подпрограмма была размещена в определенном сегменте памяти программ, а ее входные и выходные данные - в определенных сегментах памяти данных. Каждый такой сегмент может для простоты содержать 2п ячеек памяти (п 1,2.3,4,5,...). Следовательно, его можно идентифицировать по старшим (т- п) разрядам адреса (где т - разрядность адреса микропроцессора). Таким образом, определенному состоянию макропрограммного счетчика, в случае правильной работы микропроцессора, должны соответствовать определенные сегменты

программы, входных и выходных данных. Кроме того, определенному состоянию макропрограммного счетчика соответствует оп- ределенный код адреса следующей макрокоманды. Эти положения и используются в предлагаемом устройстве,

При подготовке его к работе в блок памяти 6 в соответствии с выполняемой микропроцессором 15 программой заносятся по соответствующим адресам коды сегмен5 тов программы, входных и выходных данных, а также коды адреса следующей макрокоманды. При этом код сегмента выходных данных размещается в разрядах, со- ответствующих первому выходу, код

0 сегмента входных данных - второму выходу, код сегмента программы - третьему выходу и код адреса следующей макрокоманды - четвертому выходу. По нулевому адресу размещается код сегмента подпрограммы ини5 циализации указателя стека макропрограммного счетчика (как правило - нулевой).

Устройство работает следующим образом.

0 После включения питания в схеме контролируемого микропроцессора Сформируется сигнал сброса RESET, который через Соответствующий выход поступает на вход сброса второго регистра 2 через третий эле5 мент ИЛИ 20 и на нулевой вход триггера 14, что приводит к установлению их в нулевое исходное состояние.

В результате этого из блока памяти 6 по третьему выходу будет выбран код сегмента

0 программы, содержащей подпрограмму инициализации указателя стека - макропрограммного счетчика. При выборке команд этой подпрограммы старшие разряды адреса, формируемого микропроцессо5 ром 15, будут совпадать с кодом сегмента, установленным на третьем выходе блока постоянной памяти 6. Это приведет к срабаты- ванию третьей схемы сравнения 9, выходной сигнал которой через первый эле0 мент ИЛИ 12, поступит на управляющий аход второго демультиплексора 11, Последний обеспечит прохождение сигнала чтения памяти MEMR с выхода микропроцессора 15 на выход санкционированного чтения 18.

5 в результате из памяти микропроцессорной системы будут считаны команды инициализации указателя стека - макропрограммного счетчика и в нем будет установлен начальный адрес макропрограммы. Подпрограмма инициализации заканчивается

командой возврата RET, При реализации этой команды контролируемый микропроцессор 15 выполнит один или несколько машинных циклов (для микропроцессора серии КР580 - два) обращения к памяти по адресу, указанному в указателе стека.

Код первого байта каждой команды, исполняемой контролируемым микропроцессором 15, фиксируется в первом регистре 1, благодаря поступлению на вход его синхро- низации конъюнкции сигналов чтения первого байта команды М1 и сигнала чтения памяти MEMR с выхода первого элемента И 3. В тот момент, когда контролируемый микропроцессор 15 прочитает команду RET срабатывает настроенный на ее код дешифратор 5. В момент обращения к стеку в период исполнения команды RET на шине управления контролируемого микропроцессора 15 появится сигнал STAC, который стробирует дешифратор 5. На его выходе появится единичный потенциал. В момент считывания кода очередной макрокоманды этот потенциал совпадает с сигналом чтения памяти MEMR и на выходе второго эле- мента И 4 появится импульс. Этот импульс через третий демультиплексор 19 поступит на вход синхронизации второго регистра 2, в котором зафиксируется адрес обращения, установленный в этот момент на шине адре- са контролируемого микропроцессора 15.

Дальнейшее выполнение программы контролируемым микропроцессором 15 связано с исполнением очередной, вызванной командой RET с помощью указателя стека - макропрограммного счетчика подпрограммы. Поскольку во втором регистре 2 установлен адрес очередной макрокоманды, то с выходов блока памяти 6 будут считываться коды сегментов выходных данных, входных данных, программы и адрес следу- ющей макрокоманды. Исполнение команд подпрограммы сводится к реализации типовых машинныхциклов: записи в память, чтения памяти и чтения байтов команды.

В машинном цикле записи старшие разряды адреса обращения с помощью первой схемы сравнения 7 сравниваются с кодом сегмента выходных данных. При правильной работе микропроцессора 15 эти коды совпадают и первый демультиплексор 10 пропустит на выход санкционированной записи 17 устройства сигнал записи в память MEMW, в результате чего произойдет запись в память микропроцессорной системы информации с шины данных микропроцессора 15. При некотором обращении первая схема сравнения 7 не сработает и первый демультиплексор 10 пропустит сигнал MEMW на второй выход. При этом записи в

память не произойдет, в ней будет сохранена корректная информация, полученная в предшествующем цикле вычислений, а сигнал со второго выхода первого демультил- лексорэ 10 через второй элемент ИЛИ 13 поступит на единичный вход триггера 14 и с его выхода будет активирован выход ошибки 16 устройства.

В машинном цикле чтения старшие разряды адреса обращения с помощью второй схемы сравнения 8 сравниваются с кодом сегмента входных данных. При правильной работе микропроцессора 15 эти коды совпадают и выходной сигнал второй схемы сравнения 8 через первый элемент ИЛИ J2 переводит второй демультиплексор 11 в такое состояние, что сигнал чтения памяти MEMR с выхода микропроцессора 15 поступает через первый выход второго демуль- типлексора11 на выход санкционированного чтения 18 устройства и в память микроцессорной системы. При этом последняя через шину данных направляет информацию в микропроцессор 15, т.е. реализуется чтение. При некорректном обращении в результате, сбоя или отказа микропроцессора 15 старшие разряды адреса и код сегмента не совпадают, что приводит к отсутствию единичного сигнала us выходе второй схемы сравнения 8 и первого элемента ИЛИ 12. Поэтому в этом случае сигнал чтения памяти MEMR поступит на второй выход второго демультиплексора 11. Следовательно, чтение памяти будет запрещено и микропроцессор прочитает четную комбинацию с неактивированной шины данных. Если в программе использован контроль на нечетность, то такие данные не будут использованы в вычислительном процессе. Кроме того, сигнал со второго выхода второго демультиплексора 11 через второй элемент ИЛИ 13 поступит на единичный вход триггера 14, который перейдет в активное состояние и сформирует единичный сигнал на выходе ошибки 16 устройства.

В машинном цикле чтения байта команды старшие разряды адреса обращения сравниваются с кодом сегмента программы с помощью третьей схемы сравнения 9. Далее все протекает аналогично машинному циклу чтения, рассмотренному выше. Единственным отличием является то, что коды команд в случае некорректного чтения на нечетность не проверяются. Однако, если учесть, что рекомендуется каждую линию Шины данных микропроцессора 15 через резистор подключать к питанию, то прочитанная при некорректном чтении кодовая комбинация будет FFie, что соответствует крманде перезапуска RSTT. Т.е. при некорректном чтении команды, в худшем случае произойдет перезапуск программы.

Так функционирует устройство до тех пор, пока подпрограмма не кончится, Последняя команда подпрограммы RET исполняется также, как описано выше: в момент обращения к памяти при исполнении команды появится импульс на выходе второго эле- мента И 4, который поступит на информационный вход третьего дёмультип- лексора 19. Если при этом адрес обращения совпадает с адресом следующей команды с четвертого выхода блока памяти б, то на выходе четвертой схемы сравнения 21 появится единичный сигнал. Этот сигнал через первый элемент ИЛИ 12 поступит на управляющий вход второго демультиплексора 11, разрешая прохождение сигнала чтения MEMR на выход 18 санкционированного чтения устройства. Кроме того, этот сигнал с выхода четвертой схемы сравнения 21 поступит на управляющий вход третьего де- мультиплексорэ 19, разрешая прохождение импульса с выхода второго элемента И 4 через первый выход на синхровход второго регистра 2, благодаря чему разрешается фиксация адреса очередной макрокоманды. Далее начинается контроль очередной подпрограммы.

В случае некорректного обращения к памяти за очередной макрокомандой совпадение адреса не произойдет и на выходе четвертой схемы сравнения 21 установится нулевой сигнал. Это приведет соответственно к переключению второго 11 и третьего 19 демультиплексоров. В результате сигнал чтения памяти MEMR поступит со второго выхода второго демультиплексора 11 через второй элемент ИЛИ 13 на единичный вход триггера 14 и произойдет активизация выхода ошибки 16 устройства. Кроме того, импульс с выхода второго элемента И 4 через второй выход третьего демультиплексора 19 и третий элемент ИЛИ 20 вызовет обнуление второго регистра 2, что является подготовкой к повторению подпрограммы инициализации указателя стека - макро- программного счетчика, необходимой для восстановления вычислительного процесса.

Сигнал с выхода ошибки 16 устройства может быть использован различным образом, например, для световой или звуковой сигнализации о неправильной работе микропроцессора; для прерывания или сброса микропроцессора с целью восстановления вычислений после сбоя; для подключения резервного микропроцессора в случае отказа контролируемого.

Формула изобретения Устройство для контроля микропроцессора, содержащее первый и второй регистры, первый и второй элементы И,

дешифратор, блок памяти, первую, вторую и третью схемы сравнения, первый и второй демультиплексоры, первый и второй элементы ИЛИ и триггер, причем информационный вход первого регистра является

0 входом устройства для подключения к шине данных контролируемого микропроцессора, входы устройства для подключения к выходу признака первого байта команды и к выходу чтения памяти контролируемого

5 микропроцессора подключены соответственно к первому и второму входам первого элемента И, выход которого подключен к синхровходу первого регистра, первые информационные входы первой, второй и

0 третьей схем сравнения соединены с входом устройства для подключения к шине адреса контролируемого микропроцессора, нулевой вход триггера подключен к входу устройства для подключения к выходу сбро5 са контролируемого микропроцессора, прямой выход триггера является выходом ошибки устройства, вход стробирования дешифратора подключен к входу устройства для подключения к выходу обращения к сте0 ку контролируемого микропроцессора, выход первого регистра соединен с информационным входом дешифратора, выход которого соединен с первым входом второго элемента И, второй вход которого

5 объединен с информационным входом второго демультиплексора и подключен к входу устройства для подключения выхода чтения памяти контролируемого микропроцессора, информационный . вход второго регистра

0 является входом устройства для подключения к шине адреса контролируемого микропроцессора, а выход подключен к адресному входу блока памяти, выходы кодов сегментов выходных данных, входных

5 данных и программы которого подключены к вторым информационным входам соответственно первой, второй и третьей схем срав- нения, выходы которых соединены соответственно с управляющим входом пер0 вого демультиплексора, первым и вторым входами первого элемента ИЛИ, выход которого соединен с управляющим входом второго демультиплексора, первые выходы первого и второго демультиплексоров явля5 ются соответственно выходами разрешения записи и чтения устройства, вторые выходы демультиплексоров соединены соответственно с первым и вторым входами второго элемента ИЛИ, выход которого подключен к

единичному входу триггера, информацией91817096 .10

ный вход первого демультиплексора под-третьему входу первого элемента ИЛИ и к

ключей к входу устройства для подключенияуправляющему входу третьего демультипвыхода записи контролируемого микропро-лексора, информационный вход которого

цессора, отличающееся тем, что, ссоединен с выходом второго элемента И,

целью повышения достоверности контроля,5 первый и второй выходы третьего демульв устройство введены третий демультиплек-типлексора соединены соответственно с

сор, третий элемент ИЛИ и четвертая схема- синхровходом второго регистра и с первым

сравнения, первый информационный входвходом третьего элемента ИЛИ, второй вход

которой подключен к входам устройства длякоторого подключен к входу устройства для

подключения шины адреса контролируемо-10 подключения выхода сброса контррлируего микропроцессора, второй информацией-мого микропроцессора, выход третьего эленый вход-к выходу кода адреса следующеймента ИЛИ подключен к входу сброса

микрокоманды блока памяти, а выход - квторого регистра.

15

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

название год авторы номер документа
Устройство для контроля микропроцессора 1988
  • Гладштейн Михаил Аркадьевич
  • Комаров Валерий Михайлович
  • Шубин Николай Алексеевич
  • Альтерман Игорь Зелимович
SU1599862A1
Устройство для контроля микропроцессора 1989
  • Альтерман Игорь Зелимович
  • Гладштейн Михаил Аркадьевич
  • Комаров Валерий Михайлович
  • Шубин Николай Алексеевич
SU1693610A2
Устройство для контроля последовательности выполнения программ 1987
  • Пушкарев Юрий Яковлевич
  • Гайворонский Михаил Алексеевич
SU1536389A1
Устройство для контроля микропроцессорной системы 1987
  • Гладштейн Михаил Аркадьевич
  • Комаров Валерий Михайлович
  • Шубин Николай Алексеевич
  • Альтерман Игорь Зелимович
SU1474650A2
Устройство для контроля микропроцессорной системы 1989
  • Комаров Валерий Михайлович
SU1640693A1
Устройство для сопряжения центрального процессора с группой арифметических процессоров 1988
  • Михнов Юрий Павлович
SU1529236A1
Устройство для отладки микроЭВМ 1987
  • Мамонько Александр Иванович
  • Кирпиченко Владимир Васильевич
  • Прохоренко Александр Яковлевич
  • Далецкий Юрий Михайлович
  • Ким Виктор Иванович
SU1553981A1
Устройство для контроля программ 1986
  • Гладштейн Михаил Аркадьевич
  • Комаров Валерий Михайлович
  • Шубин Николай Алексеевич
SU1332323A1
СИСТЕМА ДЛЯ ПРОГРАММНОГО УПРАВЛЕНИЯ ТЕХНОЛОГИЧЕСКИМ ОБОРУДОВАНИЕМ 2000
  • Тюрин С.Ф.
  • Прохоров А.А.
  • Дудин Я.В.
  • Яковлев А.В.
  • Мальчиков А.И.
  • Мишкин С.В.
  • Голдобин А.Ю.
  • Горбунов С.Л.
  • Пермяков С.А.
  • Плешков О.В.
  • Прохоров Д.А.
RU2189623C2
Устройство для программного управления технологическим оборудованием 1989
  • Харченко Вячеслав Сергеевич
  • Сперанский Борис Олегович
  • Тюрин Сергей Феофентович
  • Улитенко Валентин Павлович
  • Тимонькин Григорий Николаевич
  • Ткаченко Сергей Николаевич
  • Крюков Дмитрий Зиновьевич
SU1714575A1

Реферат патента 1993 года Устройство для контроля микропроцессора

Изобретение относится к вычислительной технике и может найти применение при построении микропроцессорных устройств для повышения их надежности. Цель изобретения - повышение достоверности контроля. Устройство содержит первый 1 и второй 2 регистры, первый 3 и второй 4 элементы И, дешифратор 5, блок памяти 6. первую 7, вторую 8 и третью 9 схемы сравнения, первый 10 и второй 11 демультиплек- соры, первый 12 и второй 13 элементы ИЛИ и триггер 14. В устройство введены третий демультиплексор 19, третий элемент ИЛИ 20, четвертая схема сравнения 21. 1 ил.

Формула изобретения SU 1 817 096 A1

Документы, цитированные в отчете о поиске Патент 1993 года SU1817096A1

Устройство для контроля микропроцессора 1987
  • Гладштейн Михаил Аркадьевич
  • Комаров Валерий Михайлович
  • Шубин Николай Алексеевич
  • Альтерман Игорь Зелимович
SU1444783A1
Приспособление для точного наложения листов бумаги при снятии оттисков 1922
  • Асафов Н.И.
SU6A1
Устройство для контроля микропроцессора 1988
  • Гладштейн Михаил Аркадьевич
  • Комаров Валерий Михайлович
  • Шубин Николай Алексеевич
  • Альтерман Игорь Зелимович
SU1599862A1
Приспособление для точного наложения листов бумаги при снятии оттисков 1922
  • Асафов Н.И.
SU6A1

SU 1 817 096 A1

Авторы

Гладштейн Михаил Аркадьевич

Комаров Валерий Михайлович

Шубин Николай Алексеевич

Альтерман Игорь Зелимович

Даты

1993-05-23Публикация

1989-11-13Подача