Изобретение относится к вычислительной технике и может быть применено при построении надежных микропроцессорных систем.
Цель изобретения - повышение достоверности контроля.
На чертеже представлена функциональная схема устройства.
Устройство для контроля микропроцессора содержит первый 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
название | год | авторы | номер документа |
---|---|---|---|
Устройство для контроля микропроцессора | 1988 |
|
SU1599862A1 |
Устройство для контроля микропроцессора | 1989 |
|
SU1693610A2 |
Устройство для контроля последовательности выполнения программ | 1987 |
|
SU1536389A1 |
Устройство для контроля микропроцессорной системы | 1987 |
|
SU1474650A2 |
Устройство для контроля микропроцессорной системы | 1989 |
|
SU1640693A1 |
Устройство для сопряжения центрального процессора с группой арифметических процессоров | 1988 |
|
SU1529236A1 |
Устройство для отладки микроЭВМ | 1987 |
|
SU1553981A1 |
Устройство для контроля программ | 1986 |
|
SU1332323A1 |
СИСТЕМА ДЛЯ ПРОГРАММНОГО УПРАВЛЕНИЯ ТЕХНОЛОГИЧЕСКИМ ОБОРУДОВАНИЕМ | 2000 |
|
RU2189623C2 |
Устройство для программного управления технологическим оборудованием | 1989 |
|
SU1714575A1 |
Изобретение относится к вычислительной технике и может найти применение при построении микропроцессорных устройств для повышения их надежности. Цель изобретения - повышение достоверности контроля. Устройство содержит первый 1 и второй 2 регистры, первый 3 и второй 4 элементы И, дешифратор 5, блок памяти 6. первую 7, вторую 8 и третью 9 схемы сравнения, первый 10 и второй 11 демультиплек- соры, первый 12 и второй 13 элементы ИЛИ и триггер 14. В устройство введены третий демультиплексор 19, третий элемент ИЛИ 20, четвертая схема сравнения 21. 1 ил.
Устройство для контроля микропроцессора | 1987 |
|
SU1444783A1 |
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Устройство для контроля микропроцессора | 1988 |
|
SU1599862A1 |
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Авторы
Даты
1993-05-23—Публикация
1989-11-13—Подача