Устройство для контроля микропроцессора
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Текст
(я)5 6 06 Е 11/ ИСАНИЕ ИЗОБРЕТЕНИ л. %43авиационнь технологи йн,В н, М.А.Глаин СССР987. идетельст 06 Р 11/2 ТРОЛЯ М к вычислительрименение приЬЭ ГОСУДА Р СТВЕ ННЫ й КОМИТЕТПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯПРИ ГКНТ СССР К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ(56) Авторское сВ 1444783, кл,(54) УСТРОЙСТВО ДЛЯ КОРОПРОЦЕССОРА(57) Изобретение Ьтноситсяной технике и может найти и щ.,Ы ди 1 69361 О А 2 построении микропроцессорных устройств для повышения их надежности. Цель изобретения - расширение функциональных возможностей за счет контроля содержимого указателя стека микропроцессора при выполнении стековых команд. Устройство для контроля микропроцессора содержит счетчик 1, схему 2 сравнения, регистры 4 и 5, блок постоянной памяти 6, сумматор 7, мультиплексор 8, элементы И 3, 9 - 11, триггеры 13, 14 и элемент НЕ 12. В устройство введены дешифратор 15, регистры 16, 17, сумматор 18, схема сравнения 19, счетчик 20, мультиплексор 21, блок задания 22 границы стека элементы И 23-25, элементы ИЛИ 27 - 29 и триггер 30. 1 ил 1 табл, 1693610Изобретение отнссится к вычислительной технике и является у:овершенствованием устройства по авт,св. Г 1. 1444783,Цель изобретения - расширение функциональных воэмэхнсстей за счет контроля содеркимого указателя стека микропроцессора при выполнении стеконых команд,На чертеже изоаражена структурная схема устройства,Устройство для кони роля млкропроцессорной системы содержит первый счетчик "., первую схему 2 сравнения и первый 3 элемент И, первый 4 и второй 5 ре-истоы, блок 6 постоянной памяти, гервь 1 й сумматор 7, первый мультиплексор 8, второй 9, третий 10 и четвертый 1. элементы И, элемент НЕ 12, первый 13 и второй 14 Григ.еры, дешифоатор 15, третий 16 и четвертый 17 регистры, Вта)ОЙ сумматор 18, Вта 1 эу 1 О схему 19 сравнения, второй счетсих 20, В.)-орай мультиплексор 21, блока 22 задания границы стека, пятыь элемент И 23, 1.,зестой 24 и седьмой 25 элемен.гы И, ко.;ролируемый микропроцессор 26, весный 27, второй 28 и третий 29 элементы ИЛИ и третий триегер 30, ныхОд 31 неиспРЭБиэсти У ТРОЙстнс 1Устоойство работает следу 1 ащим образом.После включения питания н с:еме контролируемого микэопрацессара 26 формируется сигнал сбрсса 1 Е)ЕТ, ксторый через шину управления пас"упает нг входы сброса первого счетчика 1, втарсго регистра 5 и триГГерон 13, 14 и 30, 1 тс приводит к их устано 1 зке в нулевое состояние Одновременна счетчик команд ) икрапрацессара 26 также устанавливается н нулевое состояние, Затем микропроцессор 26 начинает последонательну 1 с выборку и исполнение команд по заданной программе. Для микропроцессора (Р 580 последние могут быть однабайтнцми, днухбайг;1 ыми и т 1:ехбайтными. В результате этогс адрес следук)щей команды может бы.гь больше адреса предыдун.,ей команды соотнетстненно на аднуцве или три единицы младшего разряда при условии правильного функционирования микропроцес:ора, Кроме тога, н системе команд микропроцессора имек)тся команды переходов ка) орые могут скачкам изменять содержимое счетчика команд микропроцессора,Момент считынапи 51 п 81.)ВОГО байта 1(аманды легко идентифицируется по совпаде- Н И 1 О СИ ГН с) Л О В Н ся Л И Н И 51 Х 3 Ы а а Р Ки П 8 Р Е 1 О ГО байта командь (М 1) и чтения памяти (1 ЛЕМ 1), ШИНЫ уПравлгНИВ 1 с)ИраПрацеССО- г)а 26, В этот момент срабатываетретий элемент И 10 и код пер 1181 С байта каманцц, установленный н это всемв на шине данныхфиксируе 1.ся н первом регистре 4, Этот байт поступает на ацресные входы блока 6 постоянной памяти, в результате чего на его основном выходе бу,цет установлен код, равный количеству балт н команде, а на дополнительном выходе - код типа команд аперационна 5 команда - команда перехода),10 15 20 25 30 35 40 50 55 В частно" Ги, для контроля микропроцессора серии КР 580 коды, хранимые данные н блоке 6 постоянной памяти, должны соответствовать данным, приведенным в табл,1, Каждая клеточка этой таблицы соответствует одному из 256 возможных адресов, Код н кажлой клетке состоит из двух цифр, Правая цифра соответсч вует десятиричному эквиваленту двоичнога кода, формируемого на основном выходе блока 6 постоянной памяти и равна количеству байт ,1,2 или 3) команды микропроцессора. Левая цифра соответствует состоянию дополнительного выхода блока 6 постоянной памяти и ранна единице, если адресный байт соответствует команде перехода, в противном случае равна нул;о.Таким образом, иа выходах блока б постоянной памяти непосредственно после момента фиксацли перногс оайта ачеоедной команды н первом реги:тое 4 будет установлен код н соответствил с данными таблицы,В результате возмокны две ситуации: очередная команда че является командой перехода очередная команда - аманда перехода.В первом случае на вход О первого триггера 13 поступает сигнал логического "0", и по окончании сигнала с выхода третьего элемента И 10 первый триггер 13 не изменяет своего состсгяния, Код байтности очередной команды с:)снанного выхода бла:а б постоянной памяти поступает на первый вход сумматора 7, а на нтарай ега вход через первый мультиплексор 8 поступает код из нтораго регистра 5.ПО этим Дс)ннцм пеРнцй ОУмматаР 7 Формирует сумму и перенос 1 для миропроцессора КР 580 мультиплексор Б, сумматор 7 и РегистР 5 саД 8 ожа) па Дэс 1 Днаи 1 ных Раз р 51 да, так как дноичныЙ кад Оайтнасти мажет быть толь.ц 01, 10 или 11), Сумма поступаст 1.а вход н"орога регистра 5 и записывается н него па заднему фронту сигнала с выхода трЕтЬЕГО ЗЛЕМЕ: - ,та И 10 алатадаая ЭЛВМЕ:-Гту НЕ 12, Сигнал с выхода,аследнего проходит также на вход инкрементирования первого счет 1 ика 1 через второй элемент И 9, если значение г 1 ереноса на выходе первого сумматора 7 равно логической "1",5 10 15 20 25 30 35 40 45 50 55 1 а хим образом . в первом счетчике 1 (старшие разряды) и во втором регистре 5 (младшие разряды) формируется ожидаемый код адреса первого байта следующей команды. Этот код поступает на вход первой схемы 2 сравнения. В момент извлечения первого байта следующей команды микропроцессор 26 формирует ее адрес на вине адреса и сигналы М 1 и МЕМВ на шине управления,Если микропроцессор работает без сбоев, то выданный адрес совпадает с ожидаемым адресом, поступающим из первого счетчика 1 и второго регистра 5. В этом случае на инвертирующем выходе первой схемы 2 сравнения устанавливается нулевой потенциал, что обеспечивает пассивный логический уровень на выходе первого элемента И 3,Если же имеет место сбой, то адреса будут неравны, на выходе первой схемц 2 сравнения появляется сигнал логической единицы, Совпадение этого сигнала с активным сигналом с инверсного выхода первого триггера 13 и сигналом с выхода третьего элемента И 10 вызывает срабатывание первого элемента И 3. установку второго триггера 14 и появление на выходе третьего элемента ИЛИ 29, т.е, на выходе 31 устройства, активного сигнала, свидетельствующего о неправильной работе микропроцессора.Если же очередная команда - команда перехода, то на дополнительном выходе блока 6 постоянной памяти будет установлен единичный сигнал, В результате по заднему фронту сигнала с выхода третьего элемента И 10, благодаря элементу НЕ 12, первый триггер 13 переходит в единичное состояние, Сигнал с его инверсного выхода блокирует контроль совпадения адресов при извлечении следующей команды с помощью первого элемента И 3. Кроме того, происходит переключение первого мультиплексора 8 и он подключает к второму входу первого сумматора 7 младшие разряды шины адреса контролируемого микропроцессора.Таким образом, при извлечении первого байта команды следующий.за командой перехода контроль не проводится, а ее адрес плюс байтность команды (ожидаемый адрес следующей команды) фиксируется в первом счетчике 1 и втором регистре 5. Фиксация старших разрядов адреса в счетчике 1 производится сигналом с выхода четвертого элемента И 11, работа которого разрешается единичным сигналом с выхода триггера 13,Запись младших разрядов, представляющих собой сумму младших разрядов адреса очередной команды с ее байтностьк, с выхода первого сумматора 7 во второй регистр 5, а также учет переноса с выхода сумматора 7 в счетчик 1 происходит совершенно аналогично первому случаю. Кроме того, по окончании считывания команды, следующей за командой перехода(если она. конечно, сэма не является командой перехода), происходит возврат первого триггера 13 в состояние логического "0" и, следовательно, восстанавливается режим контроля.Контроль за изменением программного счетчика при выполнении команд перехода проводится в устройстве на основе контроля содержимого указателя стека микропроцессора, При сбое программного счетчика при выполнении команд перехода происходит выполнение ложного потока команд, в результате чего указатель стека выходит за допустимые границы, которые заранее могут быть определены программистом.Кроме того, возможный сбой указателя стека микропроцессора сам становится причиной неправильной установки программного счетчика, не обнаруживаемой описанной частью устройства.Для контроля за поведением указателя стека микропроцессора 2 дешифратор 15 настраивается на селекцию только одной команды - "Загрузка указателя стека". В системе команд микропроцессора КР 580 этой командой является команда 1 Х 1 ЯР, 016, Когда в первом регистре 4 фиксируется код этой команды, единичный сигнал с выхода дешифратора разрешает работу пятого элемента И 23, В результате в следующих циклах выполнения этой команды по сигналу МЕМЯ на шине управления производится запись в регистры 16 и 17 данных, адресующих вершину стека.Эти же данные фиксируются в указателе стека микропроцессора 26, Одновременно с записью данных в регистры 16 и 17 по сигналу с выхода пятого элемента И 23 производится очистка второго счетчика 20.Данные о вершине стека с выходов регистров 16 и 17 постоянно присутствуют на первом входе второго сумматора 18, На второй вход сумматора 18 поступает код с выхода счетчика 20, являющийся текущим смещением указателя стека микропроцессора 26 или, иначе, индексом относительно вершины стека.Разрядность счетчика 20 в общем случае определяется разрядностью адреса, поступающего на первый вход сумматора 18. Однако разрядность счетчика 20 может бытьсущественно уменьшена с учетом выполнения реальных программ. В этих случаях старшие разряды второго входа сумматора8 даля(н ы быть 1 Одкл кле ь к ГОтен циалу "Лаг,1", гак как сумматоэ 18 реализует функцию еЫчитания вершины стеа и индекса, т.е. для корректного отслеживания указателя стека микропроцессора индекс должен быть установлен на втором входе сумматора 18 в дополнительном кодеВ момент обращения к стеку микропроцессора 26 формируе"ся сигнал Я ГАСК на шине управления, катсрый разблокир 1 гет элементы И 24 и 25, Прг реагпзации цикла "Запись в стек" сигнал микрспроцесссра МЕМВ с шины упоавгения через элемен г И 25 паступэет на вход декрементиравэния второго счетчика 20, в резугьтэте чего его состояние уменьшаетс;я на единицу, и код на выходе сумматора 18 акже уменьшается на единицу. Таким образом, на выходе сумматора 18 формируется скидэс;мый код указателя стека микропроцесс:ора 26, Этот сод поступает на вход втогай схемы 19 сравнения,Если микропроцессор 26 работает без сбоев, то вьданньй адрес ячейкл стека совпадает с ожлдаемым адре:ом поступающим из сумматора 18, В этом случае на инвертиругощем выхгда второл схемы 19 сравнения устанавливае п:я нулевой потенциал, что обеспечивае.г пассивный логический уаовень на вхоце вторсга эгемента ИЛИ 28,Если же имеет место сбой указателя стека, то адреса не равны, нэ выхоце второй схемы 19 сравнения гаявляется сигнал логической "1" который через згемечт ИЛИ 28 проходит на вход третьего триггера 30. Установка его в единичое состояние произойдет в момент среза сигнала МЕЫ 1 Ч, который через инверсньй вход первого элемента ИЛИ 27 пзстутаэт нэ синхровход третьего триггера 30, Единичный сигнаг с триггера ЗО постугает через третий элемент ИЛИ 29 на выход у:трайства 31 и свидетельствует о неправильной работе микропроцессора 26,Таким образом, пселе реализацли цикла записи информации в стек на вьхсде второго сумматора 18 всегца устанавливается адрес последней заполненнол ячейки стека. Этот же адрес фиксирует:я в указателе стека микропроцессора 26 па окончании выполнения стековой командыЕсли сбои указателя стека микропрзцессора 26 не мект место, та в сикге "Чтение из стека" микропроцессор 26 выдает на шину адреса адрес ячейки стека. соат ветствующий адресу нэ выхоце сумматора 18, Тогда на инвер-ируюцем выходе втарсй схемы 19 сравненая устанавкивае 1 ся нулевой потенциал, сидетегггвуоции о равенстве адресов нэ ее входах Результат сравнения адресов фиксируется в третьем триггере 30 по фронту синхросигнала, по 10 15 20 о 5 30 3540 45 50 55 ступающего на соответствующий вход триггера ЗО через элементы И 24 и ИЛИ 27 в момент ссвпадения сигналов Я"АСК и МЕМР на шине управления микропроцессора 26,Одновременно этот ке сигнал, поступая на вход инкрементирования счетчика 20, увеличлвает на единицу индекс на его выходе, соответственно увеличивая на единицу индекс нэ его выходе, соответственно увеличивая на единицу адрес на выходе сумматора 18, Эта полностью согласуется с действиями микропроцессора 26, который по окончании каждого цикла "Чтение из стека" увеличивает содеожимое указателя стека на единицу,В случае сбоя указателя стека микропроцессора 26 фиксация сигнала ошибки на выходе 31 устройства при выполнении цикла "Чтение из стека" производится аналогично,Для кснтроля глубины стека, нарушаемой вследствие ложных переходов программного счетчика микропроцессора 26, второй мультипле сар 21 производит сопоставление индекса на выхоце счетчика 20 с кодом, установленным в блоке 22 задания, Двоичный код с выхода блока 22 задания подключает на ин верти рующий выход мультиплексора 21 соответствующий разряд с выхода счетчика 20,Данный разряд выбирается пользователем с помощью блока 22 задания в качестве границы стека, исходя из программы, выполняемой микропроцессором, Например, если глубина стека равна 64 ячейкам памяти, то в качестве контрольного выбирается 6 - 7 разряд счетчика 20, Появление на нем сигнала логического "0" в момент реализации стековой поограммы будет свидетельствовать о переполнении стека, т,е, о нарушении вьбранной глубины.В результате на инверсном выходе мультиплексора 21 появляется единичный сигнал, который через элемент ИЛИ 28 поступает на О-вход триггера 30 и вызывает его установку, Единичный сигнал с выхода триггера 30 через элемент ИЛИ 29 поступает на выход ошибки 31 устройства, свидетельствуя тем самым о нарушении правильного функционирования микропроцессора 26,Если микропроцессор 26 работает без сбоев, та при реализации обращения к стеку на выбранном входе мультиплексора 21 всегда присутствует сигнал логической "1", который не может перевести триггер 30 в эк 1 ивное состояние.Таким образом, в устройстве постоянно контролируется правильность изменения программного счетчика (за исключением моментов перехода) и указателя стека микропроцессора. Также в устройстве контролируется глубина стека, косвенно характеризующая корректность переходов микропроцессора по программе,Сигнал ошибки с выхода устройства может быть использован различными способами, например, для световой или звуковой сигнализации о неправильной работе микропроцессора, для прерывания или сброса микропроцессора с целью восстановления вычислений после сбоя и для подключения резервного микропроцессора.Формула изобретения уСтройство для контроля микропроцессора по авт.св. М 1444783, о т л и ч а ющ е е с ятем, что, с целью расширения функциональных возможностей за счет контроля содержимого указателя стека микропроцессора при выполнении стековых команд, оно содержит дешифратор, третий и четвертый регистры, второй сумматор, вторую схему сравнения, второй счетчик, второй мультиплексор, блок задания границы стека, пятый, шестой и седьмой элементы И, первый, второй и третий элементы ИЛИ и третий триггер, причем информационный вход третьего регистра соединен с входом устройства для подключения к шине данных контролируемого микропроцессора, выход третьего регистра соединен с информационным входом четвертого регистра, выход которого и выход третьего регистра образуют первый информационный вход второго сумматора, второй информационный вход которого и информационный вход второго мультиплексора соединены с выходом второго счетчика, вход сброса которого и входы синхронизации третьего и четвертого регистров соединены с выходом пятого элемента И, первый 5 10 15 20 25 30 35 40 вход которого соединен с выходом дешифратора, информационный вход которого соединен с выходом первого регистра, первый информационный вход второй схемы сравнения соединен с входом устройства для подключения к шине адреса контролируемого микропроцессора, выход второго сумматора соединен с вторым информационным входом второй схемы сравнения, первые входы шестого и седьмого элементов И соединены с входом устройства для подключения к выходу сигнала обращения к стеку контролируемого микропроцессора, вторые входы пятого и шестого элементов И соединены с входом устройства для подключения к выходу чтения памяти контролируемого микропроцессора, второй вход седьмого элемента И соединен с входом устройства для подключения к выходу записи в память контролируемого микропроцессора, инверсный вход пятого элемента И соединен с входом устройства для подключения к выходу признака первого байта команды контролируемого микропроцессора, прямой и инверсный выходы первого элемента ИЛИ и входы инкрементирования и декрементирования второго счетчика соединены соответственно с выходами шестого и седьмого элементов И, выход блока задания границы стека соединен с адресным входом второго мультиплексора, инверсный выход которого соединен с первым входом второго элемента ИЛИ, второй вход которого соединен с инверсным выходом второй схемы сравнения, выходы первого и второго элементов ИЛИ соединены соответственно с С- и О-входами третьего триггера, й-вход которого соединен с входом устройства для подключения к выходу сброса контролируемого микропроцессора, выходы второго и третьего триггеров соединены соответственно с первым и вторым входами третьего элемента ИЛИ, выход которого является выходом неисправности устройства,1693610 Продолжение таблицы Содержимое блока б постоянной ) Уладьцие разряды адреса г шиеядыса 2 0 О 0 Продолжение таблиц Содержимое блока 6 постоянной пам У)л;)дь ие раз Ста е Б адреса О О 01 01 0 0 13 13 13 Составитель Д Баню Техред М.Уоргентал Редактор А Козориз Корректор З.Лончаков 1 ираж стаенноо комитет 113035, ,1 оскаа, 3 4079ВНИИПИ Гасу оизводстаенно-издательский комбинат "Г 1 атен-", г, Ужгород, ул.Гагарина, 101 1 01 13 13 13 13 010101 О 01О 01О 01 О О 1 О 0( 00 02 01 Г 1 одписноепо изобретениям и открытиям при ГКНТ ССС
СмотретьЗаявка
4763201, 27.11.1989
РЫБИНСКИЙ АВИАЦИОННЫЙ ТЕХНОЛОГИЧЕСКИЙ ИНСТИТУТ
АЛЬТЕРМАН ИГОРЬ ЗЕЛИМОВИЧ, ГЛАДШТЕЙН МИХАИЛ АРКАДЬЕВИЧ, КОМАРОВ ВАЛЕРИЙ МИХАЙЛОВИЧ, ШУБИН НИКОЛАЙ АЛЕКСЕЕВИЧ
МПК / Метки
МПК: G06F 11/28
Метки: микропроцессора
Опубликовано: 23.11.1991
Код ссылки
<a href="https://patents.su/6-1693610-ustrojjstvo-dlya-kontrolya-mikroprocessora.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для контроля микропроцессора</a>
Предыдущий патент: Устройство для контроля времени выполнения программ
Следующий патент: Устройство для сопряжения эвм с линией связи
Случайный патент: Способ автоматического управления процессом выпаривания