Устройство для контроля микропроцессорной системы
Иллюстрации
Показать всеРеферат
Изобретение относится области цифровой вьгчислительной техники и может быть использовано при проектировании самоконтролирующих микропроцессорных систем. Целбю изобретения является повышение достоверности контроля путем обеспечения контроля правильности функционирования системы на уровне микроциклов и циклов. Поставленная цель достигается введением буферного регистра, преобразователя кода команды в код числа циклов и микроциклов, блока сравнения, второго счетчика, коммутатора и четвертого элемента ИЛИ. 3 ил, таблица. (Л К) а СП ел
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК
1 114 G 06 Р 11/26
ОПИСАНИЕ ИЗОБРЕТЕНИ
К ABTOPCHOMY СВИДЕТЕЛЬСТВУ тс,„,7;
3©ду„
ГОСУДАРСТВЕННЫЙ НОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 3777888/24-24 (22) 08.08.84 (46) 30.03.86. Бюл. У 12 (71) Харьковское научно-производственное .объединение по системам автоматизированного управления (72) В.И.Адонин, С.Е.Баженов, К.Г.Карнаух, В.Б.Самарский, Г.Н.Тимонькин, С.Н.Ткаченко, В.В.Топорков и В.С.Харченко (53) 681. 3 (088. 8) (56) Коффрон Дж. Технические средства микропроцессорных систем. М.: Мир, 1983, с. 145-169, рис. 5, 6.
Авторское свидетельство СССР
11 765809, кл. G 06 F 15/00, 1980.
„„SU„„1221655 A (54) УСТРОЙСТВО ДЛЯ КОНТРОЛЯ МИКРОПРОЦЕССОРНОЙ СИСТЕМЫ (57) Изобретение относится а области цифровой вычислительной техники и может быть использовано при проектировании самоконтролирующих микропроцессорных систем. Целью изобретения является повьппение достоверности контроля путем обеспечения контроля правильности функционирования системы на уровне микроциклов и циклов.
Поставленная цель достигается введением буферного регистра, преобразователя кода команды в код числа циклов и микроциклов, блока сравнения, вто- д рого счетчика, коммутатора и четвертого элемента ИЛИ. 3 ил, таблица.
655 з дов 23 устройства; 26 — сигнал на входе первого разряда группы управляющих входов 23 устройства; 27 — сигнал на входе второго разряда группы управляющих входов 23 устройства;
28 — сигнал на втором входе группы входов 22 синхронизации устройства;
29 — сигнал на первом входе группы входов синхронизации устройства;
30 — сигнал на входе третьего разряда группы управляющих входов 23 устройства.
Назначение функциональных элементов и связей устройства для контроля микропроцессорной системы следующее °
Преобразователь 1 кода команды в код числа циклон и микроциклов предназначен для определения по коду слона состояния процессора соответствующего ему числа микроциклов в цикле команды и по коду команды — количества циклов в команде. Блок 2 сравнения предназначен для организации сравнения кодов адресов, выставляемых на шине адреса микропроцессора н каждом цикле реализации команды. Сумма- тор 3 — для организации естественного способа формирования адресов ячеек памяти внешних устройств микропро3 1221
Изобретение относится к цифровой вычислительной технике и может быть использовано при проектировании самоконтролируемых микропроцессорных систем и микро-3ВМ. S
Цель изобретения — повышение достоверности контроля.
На фиг.1 изображена функциональная схема устройства для контроля микропроцессорной системы; на фиг.2 и 3 — временные диаграммы работы устройства.
Устройство (фиг.1) содержит преобразователь 1 кода команды в код числа циклов и микроциклов, блок 2 сравнения, сумматор 3, буферный регистр 4, второй счетчик 5, первый счетчик 6, коммутатор 7, второй триггер 8, третий триггер 9, первый триггер 10 третий элемент ИЛИ 11, вто- 20 рой элемент ИЛИ 1?, четвертый элемент
ИЛИ 13, третий элемент И 14, четвертый элемент И 15, первый элемент
ИЛИ 16, пятый элемент И 17, элемент
НЕ 18, первый элемент И 19, второй элемент И 20, группу входов 21 кода состояния контролируемого микропроцессора устройства, группу входов 22 синхронизации устройства, группу управляющих входов 23 устройства, груп- З0 пу входов 24 адреса устройства, вход
25 устройства соединен с выходом разрешения ввода микропроцессора, вход
26 устройства соединен с выходом ожидания микропроцессора, вход 27 при- 35 знака работы устройства соединен с . выходом захвата контролируемого микропроцессора, первый тактовый вход 28 и второй тактовый вход 29 устройст, ва входят в группу входов 22 синхро- 40 низации и соединены с входами и
У контролируемого микропроцессора, вход 30 устройства соединен с выходом синхронизации контролируемого микропроцессора. Выход 31 отказа устрой- 45 ства.
На фиг.2 и 3 обозначены: 5 — содержимое счетчика 5; 6 — содержимое счетчика 6; 8 — значение сигнала на единичном выходе триггера 8; 9— 50 значение сигнала на единичном выходе триггера 9; 10 — значение сигнала на единичном выходе триггера 10; 19— выходной сигнал элемента И 19; 21 сигнал на входе 21 данных устройст- 55 ва; 24 — сигнал на входе адреса устройства; 25 — сигнал на входе четвертого разряда группы управляющих,вхоцессорной системы. Буферный регистр
4 — для записи и хранения кодов адре сов, по которым осуществляется обращение к внешним устройствам микропроцессорной системы. Второй счетчик 5— для осуществления счета числа реализованных в команде циклов. Счетчик
6 — для осуществления счета числа реализованных в цикле микроциклов.
Коммутатор 7 - для формирования сигнала результата проверки исходного состояния счетчиков 5 и 6 в каждом цикле реализации команды микропроцессора. Триггер 8 — для запоминания факта перехода микропроцессора к циклу выборки кода команды с внешнего устройства. Триггер 9 — для формирования сигнала отказа (сбоя) объекта контроля. Триггер 10 — для запоминания факта реализации микропроцессором команды условного перехода.
Элемент ИЛИ 11 — для формирования сигнала управления коммутатором 7 и разрешения формирования сигнала синхронизации для счетчика 5. Элемент
ИЛИ 12 — для формирования импульсов счета для счетчика 5 ° Элемент ИЛИ
1221.655
Выходы
Вход 21 т -50
НачаВыход н ачаКод Выходы числа кода микро- числа циклов |циклов ла ла выборки контроля
01001001 0101 001 О 1
01001110 0100 010 0 1
13 — для передачи сигнала отказа (сбоя) на информационный вход триггера 9. Элемент И )4 — для формирования сигналов синхронизации счетчика.
5 и установки в "0" триггера 8. Эле- 5 мент И 15 предназначен для формиро-, вания импульсов счета для счетчика 6,"
Элемент ИЛИ 16 — для передачи сигналов синхронизации на соответствующий вход триггера 9. Элемент И 17— для формирования сигналов управления коммутатором 7 и сигналов синхронизации счетчика 6 и триггера 10. Элемент НЕ 18 — для инвертирования сигнала, характеризующего тип реализуемой команды. Элемент И 19 — для формирования информационных сигналов и сигналов синхронизации для триггера 9. Элемент И 20 — для установки в "О" счетчика 5.
По входу 22 синхронизации устройства поступает последовательность импульсов синхронизации Ч „ и Р которая поступает на соответствующие
25 входы синхронизации контролируемого микропроцессора.
На .входы 25, 26, 27 и 30 группы входов 23 управления поступают сигналы соответственно отсутствия режима ожидания, запрета прямого обращения к.памяти со стороны внешних устройств, признака того, что на шине данных находится слово состояния процессора и признака того, что шина данных находится в режиме ввода информации в микропроцессор.
Пример выполнения предлагаемого устройства (фиг.l) приведен для случая проверки правильности функционирования микропроцессорной системы, построенной на базе микропроцессоров типа К580, ИК-ЗО, INTEL 8080 или других аналогичных.
Преобразователь 1 является комбинационной схемой, его структура и работа определена таблицей истинности.
Продолжение таблицы
Выходы
Вход 21
НачаВыход начаКод числа
Выходы кода числа ла ла выборки контр роля микроциклов циклов
10101010 00» 010 О 0
011 »010 0100 011 1
00» 011 О О
01010101
01000100 0011 0» О О
00» 1010 0100 0» О 1
10» 1011 0011 Oll О О
0I »OI » Оо» О11 О О
00100010 0011 100 О
» » » » 0011 100 О О
00000001 0011 100 О О
»011011 0001 100 О О
1 »00011 0100 101 О 1
»0» » 1 0100 101 О 0
00001000 0100 101 0 О
10001000 0011 101 0 О
0OO00Ol0 0011 101 О 0
Как видно из таблицы, единичное значение сигнал на втором управляющем.выходе преобразователя 1 принимает в цикле выборки команды, (в первом цикле) . Единичное значение сигнал на первом управляющем выходе преобразователя 1 принимает также в первом цикле команды после считывания кода команды условного перехода.
В предлагаемом устройстье контроль правильности функционирования микропроцессорной системы осуществляется следующим образом.
1221655
Устройство функционирует после перехода микропроцессора к выполнению первой команды программы.
В первом микроцикле каждого цикла выполнения команды на шине адреса вы- 5 ставляется код адреса первой команды программы, а на шине данных — код слова состояния процесСора, соответствующий режиму выборки команды с внешнего устройства. По данному коду на первом информационном выходе преобразователя 1 формируется код на единицу меньший числа микроциклов в первом цикле выполнения команды. Во втором цикле исполнения команды при
15 наличии сигнала SYNC по импульсу р происходит запись данного кода в счетчик 6. В этом же цикле по импульсу происходит уменьшение на
20 единицу содержимого счетчика 6. По заднему фронту импульса БУМС происхо
- дит запись кода адреса команды в бу- ферный регистр 4 и подтверждение нулевого состояния триггера 10. Пос- 25 ле готовности внешнего устройства к обмену информацией на входе 25 уст- ° ройства появляется сигнал Разрешение ввода", который характеризует режим ввода информации (кода команды) в микропроцессор. В результате на вход
21 устройства поступает код команды и на втором информационном выходе преобразователя 1 формируется код числа циклов в команде. В третьем
35 цикле исполнения команды по приходу импульса Ф„ формируется сигнал синхронизации и код числа циклов в команде записывается в счетчик 5. В зависимости от кода команды, поступившего на вход микропроцессора, триггер 10 переходит в единичное состояние, если реализуемая команда является командой условного перехода, и остается в нулевом состоянии, 45 если реализуемая команда является командой безусловного перехода. В случае реализации команды условного перехода триггер 10 переходит в единичное состояние и открывает элемен- 5О ты И 19 и 20. В том случае, если в очередном цикле исполнения команды на шине адреса выставлен код адреса, отличающийся более чем на единицу от кода адреса, записанного в буферном 55 регистре 4, то на выходе элемента
И 20 формируется сигнал установки счетчика 5 в "0", так как в этом случае переход в команде осуществляется по отрицательному исходу проверки соответствующего логического условия.
Выставленный на шине адреса код в этом случае является кодом адреса очередной команды. Если значения кодов отличаются на единицу, что свидетельствует о реализации команды по положительному исходу проверки логического условия, работа устройства продолжается. Если в результате возникшего в микропроцессоре сбоя (отказа) на шине адреса устанавливается код адреса с меньшим значением кода адреса, записанного в буферном регистре 4, то на выходе элемента
И 19 формируется единичный сигнал, по которому триггер 9 переходит в единичное состояние. Если реализуемая команда является командой безусловного перехода, триггер 10 остается в исходном состоянии и нулевым сигналом с единичного выхода блокирует работу элементов И 19 и 20. Контроль правильности функционирования микропроцессора осуществляется путем проверки на "0" содержимого счетчика 6 после реализации каждого цикла и счетчика 5 после реализации каждой команды. В каждом микроцикле по импульсам Р происходит уменьшеъ. ние на единицу содержимого счетчика
6. После реализации каждого цикла счетчик 6 переходит в нулевое состояние и содержимое счетчика 5 уменьшается на единицу. Если в контролируемом микропроцессоре осуществился переход к очередному циклу команды неправильно, то после появления сигнала SYNC на входе 30 третьего разряда группы управляющих входов 23 устройства и сигнала ч на входе 29
1 группы входов 22 синхронизации устройства единичный сигнал с выхода элемента И 18 через элемент ИЛИ 16 поступает на синхровход триггера 9, а единичный сигнал с выхода элемента ИЛИ 12.поступает на коммутатор 7 и с его выхода через элемент ИЛИ 13на информационный вход триггера 9, который зафиксирует факт отказа. Если микропроцессор переходит к реализации очередной команды не в соответствии с заданным алгоритмом, о чем свидетельствует единичный сигнал на выходе элемента ИПИ ll и единичное состояние триггера 8, с приходом им7,12216 пульсов Ц, и SYNC триггер 9 переходит в единичное состояние и зафиксируется факт отказа.
Предлагаемое устройство дпя контроля микропроцессорной системы работает в синхронном режиме с контролируемым микропроцессором (входы установки режима работы устройства не показаны).
В исходном состоянии все элементь1 памяти находятся в нулевом состоянии (сходы установки в "0" не показаны), Рассмотрим работу предлагаемого устройства на примере реализации команды, содержащей один цикл реализации команды безусловного перехода, содержащей более одного цикла и реализации команды условного перехода.
Пример.(Первый режим). В первом микроцикле первого цикла на вход
21 данных поступает код слова состояния процессора (для микропроцессора укаэанного типа это код цикла выборки команды FETCH). В результате на первом информационном выходе преобразователя 1 появляется код числа микроциклов в данном цикле, а на первом управляющем его выходе появляется единичный сигнал, который переводит триггер 8 в единичное состояние.
На входе 24 адреса устройства появляется код адреса команды, который поступает на информационный вход буферного регистра 4 и первый вход блоблока 2 сравнения. В случае отсутст- 35 вия режима "Ожидание и режима "Захват" на входы 26 и 27 устройства поступает единичный и нулевой сигналы соответственно и открывают элемент
И 15. Во втором микроцикле (после 40 прихода сигнала SYNC на вход 30 устройства) по импульсу Y„ на выходе элемента И 17 формируется единичный сигнал, который поступает на вход синхронизации счетчика 6, в .кото- 45 рый записывается код числа микроциклов в первом цикле, уменьшенный на
"1", а по импульсу в данном цикле происходит уменьшение содержимого счетчика 6 на "1". После готовности внешних устройств к обмену информацией, с микропроцессором на входе 25 устройства появляется единичный сигнал, который свидетельствует о переводе шины данных микропроцессора в режим ввода информации.
В третьем микроцикле на вход 21 устройства поступает код считанной
55 8 команды. На втором информационном выходе преобразователя 1 появляется код числа циклов в команде, а на втором управляющем его вьжоде — нулевой сигнал. По импульсу ч в третьем микроцикле на выходе элемента
И 14 формируется единичный сигнал,, который поступает на вход синхронизации счетчика 9 и в него записывается код числа циклов в команде.
Этим же сигналом происходит установка триггера 8 ц нулевое состояние. В последнем микроцикле цикла команды цо.импульсу у происходит устал и т новка в "0 счетчика 6. В результате отрицательным фронтом сигнала на выходе элемента ИЛИ 12 счетчик 5 переходит в нулевое состояние. В случае неправильного функционирования контролируемого устройства (перед началом реализации очередного цикла команды счетчик 6 не устанавливается в "0 ) во втором. цикле очередной команды перед записью новой информации в счетчик 6 по импульсу на выходе элемента И 17 формируется единичный сигнал, который поступает на второй управляющий вход коммутатора 7, на второй информационный вход которого поступает единичный сигнал с выхода элемента ИЛИ 12. Единичный сигнал с выхода коммутатора 7 поступает на первый вход элемента ИЛИ 13 и с его выхода на информационный вход триггера 9. По заданному фронту импульса синхронизации с выхода элемента
И 17, поступающему через элемент
ИЛИ 16 на вход синхронизации триггера 9, происходит установка в единичное состояние триггера 9 и на выходе 31 устройства формируется сигнал отказа -(сбоя) . Если по отрицательному фронту сигнала с выхода элемента ИЛИ 12 счетчик 5 не устанавливается в "0", то единичный сигнал с выхода элемента ИЛИ 11 поступает на первый информационный вход коммутатора 7. В первом цикле очередной команды после установки на шине данных кода слова состояния процессора триггер 8 переходит в единичное состояние и сигнал с его единичного выхода поступает на первый управляющий вход коммутатора 7. Во втором микроцикле по импульсу у на выходе пятого элемента И 17 формируется единичный сигнал, который по1221655 ступает на второй управляющий вход коммутатора 7и в результате форми- рует на его выходе единичный сигнал, поступающий через элемент ИЛИ 13 на информационный вход триггера 9. По заднему фронту сигнала с выхода элемента ИЛИ 16, поступающему на вход синхронизации триггера 9, последний устанавливается в единичное состоя10 ние и на выходе 31 отказа устройства устанавливается единичный сигнал.
Во втором режиме контроль правильности функционирования микропроцессорной системы осуществпяется следУющим образом.
Каждый раз после реализации каждого цикла проверяется содержимое счетчика 6 на 0 . Проверка осуществляет- 2р t! I! ся аналогичным образом по первому режиму. Проверка содержимого счетчика
5 на 0 осуществляется после реали-!! !! . з ации команды аналогичным по первому режиму . 25
В третьем режиме во втором микроцикле исполнения команды условного перехода триггер 10 переходит в единичное состояние и сигналом с единичного выхода открывает элементы И 19 3О и 20. В третьем цикле исполнения команды в счетчик 5 записывается код числа циклов, содержащихся в команде при положительном исходе проверки значений в команде при положительном исходе проверки значений логического условия. После реализации первого цикла команды происходит уменьшение на единицу содержимого счетчика 5 и проверка равенства на 40
"0" счетчика 6 описанным образом .
Значение проверяемого логического условия определяется сравнением в блоке 2 сравнения, кодов адресов, хранимого в буферном регистре 4 и вы-45 ставленного на шине адреса микропроцессора. Код адреса команды условного перехода поступает с выхода буферного регистра 4 на второй вход сумматора 3. По импульсу в первом ч микроцикле очередного цикла в сумматоре 3 происходит увеличение значения предыдущего кода адреса на "1". Код адреса, выставленный на шине адреса микропроцессора, поступает на вход
24 устройства и с него — на информационный вход буферного регистра 4 и первый вход блока 2 сравнения. Если значение кода адреса, поступившего на вход 24 устройства, превышает на !! !!
1 значение кода, хранимого в буферном регистре 4, что свидетельствует о положительном исходе проверки пров еряемого логического условия, то на выходах блока 2 сравнения присутс твуют нулевые сигналы . Работа устройства в этом случае продолжается . Контроль правильности функ ционирования микропроцессорной системы осуществляется по второму режиму .
Если значение кода адреса, пос тупившего на вход 2 4 устройства, превьппает значение кода, хранимого в буферном регистре 4, более чем на " 1 ", что свидетельствует о б отрицательном исходе проверки значения логическо го условия, то на втором выходе блока 2 сравнения появляется единичный сигнал, который поступает на второй вход открытого элемента И 20 и с выхода последнего на К -вход счетчика 5, т . е . устройство приведено в исходное состояние . В дальнейшем оно функционирует как при выполнении очередной команды . Если значение кода адреса, поступившего на вход 2 4 ус тройства, равно или меньше з начения кода, хранимого в буферном р егистре 4, что свидетельствует о неправильном формировании кода адреса перехода (неправильной реализации функции перехода), то на нервом выходе блока
2 сравнения появляется единичный сигнал . Единичный сигнал с выхода элемента И 1 9 поступает через элемент
ИЛИ 1 3 на информационный вход триггера 9 и через элемент ИЛИ 1 6 на вход синхронизации триггера 9 и по з аднему его фронту триггер 9 переходит в единичное состояние . На выходе 3 1 от- каза устройства устанавливается единичный сигнал .
Таким образом, предлагаемое устройс тв о для контроля микропроцессорной системы осуществляет контроль правильно с ти функционирования функциональных элементов микропроцессорной системы на уровне микроциклов и циклов .
Формула изобретения
Устройство для контроля микропроцессорной системы, содержащее сумма1221655 тор, первый, второй и третий триггеры, первый, второй и третий элементы
ИЛИ, первый, второй, третий, четвер- тый и пятый элементы И, элемент НЕ и первый счетчик, причем единичный выход первого триггера соединен с первыми входами первого и второго элементов И, выход первого элемента
И соединен с первым входом первого элемента ИЛИ, выход третьего элемента И соединен с входом установки "0II. второго триггера, информационные выходы первого счетчика соединены с входами второго элемента ИЛИ, о т— л и ч а ю щ е е с я тем, что, с целью повышения достоверности контроля, в устройство введены буферный регистр, преобразователь кода команды в код числа циклов и микроциклов, блок сравнения, второй счетчик, коммутатор и четвертый элемент ИЛИ, причем информационные выходы второго счетчика соединены с входами третьего элемента ИЛИ, выход которого соединен с первым информационным входом коммутатора и инверсным входом третьего элемента И, выход которого соединен с тактовым входом второго счетчика, выходы кода числа микроциклов и циклов в .команде пре30 образователя кода команды в код числа циклов и микроциклов соединены с информационными входами первого и второго счетчиков соответственно, единичный выход второго триггера соединен с первым управляющим входом коммутатора, выход которого соединен с первым входом четвертого элемента ИЛИ,. выход второго элемента
ИЛИ соединен со счетным входом второго счетчика и вторым информационным входом коммутатора, выход начала цикла контроля преобразователя кода команды в число циклов и микроциклов соединен с единичным входом второго триггера, выход начала цикла выборки преобразователя кода команды в число циклов и микроциклов соединен с J -входом первого триггера и через элемент НŠ— с К -входом
50 первого триггера, выходы контролируемой микропроцессорной системы разрешения ввода, ожидания, первого тактового признака, разрешения контроля соединены соответственно с первым входом третьего элемента И, с первым и вторым прямыми и инверс ным входами четвертого элемен,та И, выход которого соединен со счетным входом первого счетчика, второй тактовый вход устройства соединен с вторым входом третьего элемента И, с тактовым входом сумматора и с первым входом пятого .элемента И, выход которого соединен с тактовым входом первого счетчика, с вторым управляющим входом коммутатора и вторым входом первого элемента ИЛИ, выход синхронизации контролируемой микропроцессорной системы соединен с вторым входом пятого элемента И, с входом синхронизации буферного регистра, с тактовым входом первого триггера, адресный вход устройства соединен с первым информационным входом блока сравнения и с информационным входом буферного регистра, выход которого соединен с информационным входом сумматора, выход которого соединен с вторым информационным входом блока сравнения, выходы неравенства и равенства блока сравнения соединены с вторыми входами соответственно первого и второго элементов И, выход . второго элемента И соединен с входом
II 11 установки 0 второго счетчика, выход первого элемента И соединен с вторым входом четвертого элемента
ИЛИ, выход которого соединен с информационным входом третьего триггера, выход первого элемента ИЛИ соединен с тактовым входом третьего триггера, выход которого является выходом неисправности устройства, входы состояния устройства соединены с информационными входами пребраз ователя кода команды в код числа циклов и микроциклов .
122!655
t 7Ь
t7
М
75
8
Id
У
t ю
f ф иг3 фима
Составитель И.Сигалов
Техред Н .Бонкало
Корректор М.Самборская
Редактор М.Воловик
Заказ 1614/55 Тираж 671
ВНИИПИ Государственного комитета СССР ло делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб., д. 4/5
Подписное
Филиал ППП "Патент", г,ужгород, ул.Проектная, 4