Устройство для контроля микропроцессора
Иллюстрации
Показать всеРеферат
Изобретение относится к вычислительной технике и может найти применение при построении микропроцессорных устройств для повышения их надежности. Цель изобретения - повышение достоверности контроля . Устройство содержит первый 1 и второй 2 регистры, первый 3 и второй 4 элементы И, дешифратор 5, блок памяти 6. первую 7, вторую 8 и третью 9 схемы сравнения , первый 10 и второй 11 демультиплексоры, первый 12 и второй 13 элементы ИЛИ и триггер 14. В устройство введены третий демультиплексор 19, третий элемент ИЛИ 20, четвертая схема сравнения 21. 1 ил.
СОК)3 СОВЕ ГСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК
ГЯ)5 G 06 F 11/28
ГОсудАРстВен-юе пАтентнОе
ВЕДОМСТВО СССР (ГОспАтент сссР) ОПИСАНИЕ ИЗОБРЕТЕНИЯ г
1
1 ! с !
00 4
О
О
{Ос, К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (21) 4758114/24 (22) 13.11.89
1461.23.05.93. Бюл. N. 19 (71) Рыбинский авиационный технологический vHcTvTyr (72) M.А,Гладштейн, В,М.Комаров, H.À,Øóбин и И.З,Альтерман (56) Авторское свидетельство СССР
М 1444783, кл, G 06 F 11(28, 1987, Авторское свидетельство СССР
М 1599862, кл. G 06 F11/28,,1988, (54) УСТРОЙСТВО ДЛЯ КОНТРОЛЯ МИКРОПРОЦЕССОРА .
„„ЯЦ ÄÄ 1817096 Al (57) Изобретение относится к вычислительной технике и может найти применение при построении микропроцессорных устройств для повышения их надежности. Цель изобретения — повышение достоверности контроля. Устройство содержит первый 1 и второй 2- регистры, первый 3 и второй 4 элементы И, дешифратор 5, блок памяти 6, первую 7, вторую 8 и третью 9 схемы cpasнения, первый 10 и второй 11 демультиплексоры, первый 12 и второй 13 элементы ИЛИ и триггер 14. В устройство введены третий демультиплексор 19, третий элемент ИЛИ
20, четвертая схема сравнения 21. 1 ил.
1817096
Изобретение относится к вычислитель- ким образом, определенному состоянию ной технике и может быть применено при макропрограммного счетчика, в случае прапостроении надежных микропроцессорных вильной работы микропроцессора, должны систем. соответствовать определенные сегменты
Цель изобретения — повышение досто- 5 программы, входных и выходных данных. верности контроля. Кроме того, определенному состоянию макНа чертеже представлена функциональ- ропрограммного счетчика соответствует опная схема устройства. ределенный код адреса следующей
Устройство для контроля микропроцес- макрокоманды. Эти положения и использусора содержит первый 1 и второй 2 регист- "0 ются в предлагаемом устройстве, ры, первый 3 и второй 4 элементы И, При подготовке его к работе в блок падешифратор 5, блок памяти 6, первую 7, мяти 6 в соответствии с выполняемой миквторую 8 и третью 9 схемы сравнения, пер- ропроцессором 15 программой заносятся вый 10 и второй 11 демультиплексоры, пер- по соответствующим адресам коды сегменвый 12 и второй 13элементы ИЛИ итриггер "5 тов программы, входных и выходных дан14, контролируемый микропроцессор 15, ных, а также коды адреса следующей выход ошибки 16 устройства, выходы разре- макрокоманды. При этом код сегмента вышения записи 17 и чтения 18 устройства, ходныхданныхразмещаетсявразрядах,сотретий демультиплексор 19, третий элемент ответствующих первому выходу, код
ИЛИ 20 и четвертую схему сравнения 21. 20 сегмента входных данных — второму выходу, Наиболее полно функциональные воз- код сегмента программы — третьему выходу можности устройства реализуются, если и код адреса следующей макрокоманды— программа построена в виде двух уровней; четвертому выходу. По нулевому адресу размакропрограммы, содержащей только вызо- мещается код сегмента подпрограммы инивы макрокоманд, и программ выполнения 25 циализации указателя стека макрокоманд (подпрограмм). Такой метод макропрограммногосчетчика(какправило— программирования, когда программа высо- нулевой). кого уровня содержит только вызовы под- Устройство работает следующим обрапрограмм, способствует повышению зом. качества программирования и широко ис- 30 После включения питания в схеме контпользуется для программирования микро- ролируемого микропроцессора 15 формирупроцессоров, ется сигнал сброса RESET, который через
Указатель стека SP микропроцессора соответствующий выход поступает на вход используется в качестве макропрограммно- сброса второго регистра 2 через третий элего счетчика (т.е, счетчика команд второго 35 мент ИЛИ 20ина нулевой входтриггера14, уровня), Макропрограмма представляет со- что приводит к установлению их в нулевое бой последовательность кодов макроко- исходное состояние. манд, автоматически назначаемых В результатеэтого изблока памяти 6по ассемблером и равных начальным адресам третьему выходу будет выбран код сегмента соответствующих программ выполнения. 40 программы, содержащей подпрограмму
Программы выполнения макрокоманд инициализации указателя стека оформляются как обычные подпрограммы, макропрограммного счетчика, При выборке т,е. в конце тексте каждой из них указывает-. команд атой подпрограммы старшие разряся команда возврата RET, которая и иниЦи- ды адреса, формируемого микропроцессоирует загрузку программного счетчика 45 ром 15, будут совпадать с кодом сегмента, микропроцессора кодом макрокоманды из установленным на третьем выходе блока попамяти по адресу, определяемому указате- стоянной памяти 6, Это приведет к срабатылем стека — макропрограммным счетчиком, ванию третьей схемы сравнения 9, и инкремент последнего (т.е. вызов следую- выходной сигнал которой через первый элещей подпрограммы). При программирова- 50 мент ИЛИ 12, поступит на управляющий нии можно потребовать, чтобы каждая входвторогодемультиплексора 11, Последподпрограмма была размещена в опреде- ний обеспечит прохождение сигнала чтения ленном сегменте памяти программ, а ее памяти MEMR с выхода микропроцессора входные и выходные данные — в определен- 15 на выход санкционированного чтения 18. ных сегментах памяти данных. Каждый та- 55 В результате из памяти микропроцессорной кой сегмент может для простоты содержать системы будут считаны команды инициали2п ячеек памяти (n = 1,2,3,4,5,...). Следова- зации указателя стека — макропрограммнотельно. его можно идентифицировать по го счетчика и в нем будет установлен старшим (m-n) разрядам адреса (где m — начальный адрес макропрограммы. Подразрядность адреса микропроцессора). Та- программа инициализации заканчивается
1817096 командой возврата RET, При реализации этой команды контролируемый микропроцессор 15 выполнит один или несколько машинных циклов (для микропроцессора серии KP580 — два) обращения к памяти по адресу, укаэанному в указателе стека.
Код первого байта каждой команды, исполняемой контролируемым микропроцессором 15, фиксируется в первом регистре 1, благодаря поступлению на вход его синхронизации коньюнкции сигналов чтения первого байта команды М1 и сигнала чтения памяти MEMR с выхода первого элемента И
3. В тот момент, когда контролируемый микропроцессор 15 прочитает команду RET срабатывает настроенный на ее код дешифратор 5. В момент обращения к стеку в период исполнения команды RFT на шине управления контролируемого микропроцессора 15 появится сигнал STAC, который стробирует дешифратор 5, На его выходе появится единичный потенциал. В момент считывания кода очередной макрокоманды этот потенциал совпадает с сигналом чтения памяти MEMR и на выходе второго элемента И 4 появится импульс. Этот импульс через третий демультиплексор 19 поступит на вход синхронизации второго регистра 2, в котором -.,афиксируется адрес обращения, установленный в этот МоМВНТ на шине адреса контролируемого микропроцессора ";5.
Дальнейшее выполнение программы контролируемым микропроцессором 15 связано с исполнением очередной, вызванной командой RET с помощью указателя стека — макропрограммного счетчика подпрограммы, Поскольку во втором регистре 2 установлен адрес очередной макрокоманды, то с выходов блока памяти 6 будут считываться коды сегментов выходных данных, входных данных, программы и адрес следующей макрокоманды. Исполнение команд подпрограммы сводится к реализации типовых машинныхциклов: записи в память, чтения памяти и чтения байтов команды.
В машинном цикле записи старшие разряды адреса обращения с помощью первой схемы сравнения 7 сравниваются с кодом сегмента выходных данных. При правильной работе микропроцессора 15 эти коды совпадают и первый демультиплексор 10 пропустит на выход санкционированной записи 17 устройства сигнал записи в память
MEMW, в результате чего произойдет запись в память микропроцессорной системы информации с шины данных микропроцессора 15, При некотором обращении первая схема сравнения 7 не сработает и первый демультиплексор 10 пропустит сигнал
MEMW на второй выход, При этом записи в
30 второй схемы сравнения 8 и первого эле40 Кроме того, сигнал со второго выхода второ45
5
10 память не произойдет, в ней будет сохранена корректная информация, полученная в предшествующем цикле вычислений, а сигнал со второго выхода первого демультиплексора 10 через второй элемент ИЛИ 13 поступит на единичный вход триггера 14 и с его выхода будет активирован выход ошибки 16 устройства, В машинном цикле чтения старшие разряды адреса обращения с помощью второй схемы сравнения 8 сравниваются с кодом сегмента входных данных. flpv, правильной работе микропроцессора 15 эти коды совпадают и выходной сигнал второй схемы сравнения 8 через первый элемент ИЛИ,12 переводит в горой демультиплексор 11 в такое состояние, что сигнал чтения памяти
MEMR с выхода микропроцессора 15 поступает через первый выход второго демультиплексора 11 на выход санкционированного чтения 18 устройства и в память микроцессорной системы. При этом последняя через шину данных направляет информацию в микропроцессор 15, т,е. реализуется чтение. При некорректном обращении в результате сбоя или отказа микропроцессора 15 старшие разряды адреса и код сегмента не совпадают, что приводит к отсутстви о единичного сигнала Н8 выходе мента ИЛИ 12, Поэтому в этом случае сигнал чтения памяти AEMR поступит на второй выход второго демультиплексора 11. Следовательно, чтение памяти будет запрещено и микропроцессор прочитает четную комбинацию с неактивированной шины данных.
Если в программе использован контроль на нечетность, то такие "данные" не будут использованы в вычислительном процессе. го демультиплексора 11 через второй элемент ИЛИ 13 поступит на единичный вход триггера 14, который перейдет в активное состояние и сформирует единичный сигнал на выходе ошибки 16 устройства.
В машинном цикле чтения байта команды старшие разряды адреса обращения сравниваются с кодом сегмента программы с помощью третьей схемы сравнения 9, Далее все протекает аналогично машинному циклу чтения, рассмотренному выше. Единственным отличием является то, что коды команд в случае некорректного чтения на нечетность не проверяются. Однако, если учесть, что рекомендуется каждую линию шины данных микропроцессора 15 через резистор подключать к питанию, то прочитанная при некорректном чтении кодовая комбинация будет FF>s, что соответствует команде перезапуска RSTT, Т.е. при некор1817096
15
35
45
50 ректном чтении команды, в худшем случае произойдет перезапуск программы.
Так функционирует устройство до тех пор, пока подпрограмма не кончится, Последняя команда подпрограммы ЯЕТисполняется также, как описано выше: в момент обращения к памяти при исполнении команды появится импульс на выходе второго элемента И 4, который поступит на информационный вход третьего демультинлексора 19. Если при этом адрес обращения совпадает с адресом следующей команды с четвертого выхода блока памяти 6, та на выходе четвертой схемы сравнения 21 появится единичный сигнал. Этот сигнал через первый элемент ИЛИ 12 поступит на управляющий вход второго демультиплексора 11, разрешая прохождение сигнала чтения
MEMR на выход 18 санкционированного чтения устройства. Кроме того, этот сигнал с выхода четвертой схемы сравнения 21 поступит на управляющий вход третьего демультиплексора 19, разрешая прохождение импульса с выхода второго элемента И 4 через первый выход на синхровход второго регистра 2, благодаря чему разрешается фиксация адреса очередной макрокоманды, Далее начинается контроль очередной подпрограммы.
В случае некорректного обращения к памяти за очередной макрокомандой совпадение адреса не произойдет и на выходе четвертой схемы сравнения 21 установится нулевой сигнал. Это приведет соответственно к переключению второго 11 и третьего 19 демультиплексоров. В результате сигнал чтения памяти MEMR поступит со второго выхода второго демультиплексора 11 через второй элемент ИЛИ 13 на единичный вход триггера 14 и произойдет активизация выхода ошибки 16 устройства. Кроме того, импульс с выхода второго элемента И 4 через второй выход третьего демультиплексора 19 и третий элемент ИЛИ 20 вызовет обнуление второго регистра 2, что является подготовкой к повторению подпрограммы инициализации указателя стека — макропрограммного счетчика, необходимой для восстановления вычислительного процесса, Сигнал с выхода ошибки 16 устройства может быть использован различным образом, например, для световой или звуковой сигнализации о неправильной работе микропроцессора; для прерывания или сброса микропроцессора с целью восстановления вычислений после сбоя; для подключения резервного микропроцессора в случае отказа контролируемого.
Формула изобретения
Устройство для контроля микропроцессора, содержащее первый и второй регистры, первый и второй элементы И, дешифратор, блок памяти, первую, вторую и третью схемы сравнения, первый и второй демультиплексоры, первый и второй элементы ИЛИ и триггер, причем информационный вход первого регистра является входом устройства для подключения к шине данных контролируемого микропроцессора, входы устройства для подключения к выходу признака первого байта команды и к выходу чтения памяти контролируемого микропроцессора подключены соответственно к первому и второму входам первого элемента И, выход которого подключен к синхровходу первого регистра, первые информационные входы первой, второй и третьей схем сравнения соединены с входом устройства для подключения к шине адреса контролируемого микропроцессора, нулевой вход триггера подключен к входу устройства для подключения к выходу сброса контролируемого микропроцессора, прямой выход триггера является выходом ошибки устройства, вход стробирования дешифратора подключен к входу устройства для подключения к выходу обращения к стеку контролируемого микропроцессора, выход первого регистра соединен с информационным входом дешифратора, выход которого соединен с первым входом второго элемента И, второй вход которого объединен с информационным входом второго демультиплексора и подключен к входу устройства для подключения выхода чтения памяти контролируемого микропроцессора, информационный . вход второго регистра является входом устройства для подключения к шине адреса контролируемого микропроцессора, а выход подключен к адресному входу блока памяти, выходы кодов сегментов выходных данных, входных данных и программы которого подключены к вторым информационным входам соответственно первой, второй и третьей схем сравнения, выходы которых соединены соотВетственно с управляющим входом первого демультиплексора, первым и вторым входами первого элемента ИЛИ, выход которого соединен с управляющим входом второго демультиплексора; первые выходы первого и второго демультиплексоров являются соответственно выходами разрешения записи и чтения устройства, вторые выходы демультиплексоров соединены соответственно с первым и вторым входами второго элемента ИЛИ, выход которого подключен к единичному входу триггера, информацион1817096
Составитель Д.Ванюхин
Редактор Т.Иванова Техред М,Моргентал Корректор H.Êåøåëÿ
Заказ 1723 Тираж Подписное
ВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР
113035, Москва, Ж-35, Раушская наб., 4/5
Производственно-издательский комбинат "Патент", г, Ужгород, ул.Гагарина, 101 ный вход первого демультиплексора подключен к входу устройства для подключения выхода записи контролируемого микропроцессора, о т л и ч а ю щ е е с я тем, что, с целью повышения достоверности контроля, в устройство введены третий демультиплексор, третий элемент ИЛИ и четвертая схема сравнения, первый информационный вход которой подключен к входам устройства для подключения шины адреса контролируемого микропроцессора, второй информационный вход- к выходу кода адреса следующей микрокоманды блока памяти, а выход — к третьему входу первого элемента ИЛИ и к управляющему входу третьего демультиплексора, информационный вход которого соединен с выходом второго элемента И, 5 первый и второй выходы третьего демультиплексора соединены соответственно с . синхровходом второго регистра и с первым входом третьего элемента ИЛИ, второй вход которого подключен к входу устройства для
10 подключения выхода сброса контролируемого микропроцессора, выход третьего элемента ИЛИ подключен к входу сброса второго регистра.