Устройство для контроля условных переходов микропроцессора

ZIP архив

Текст

СОЮЗ СОВЕТСНИХСОЦИАЛИСТИЧЕСКИХРЕСПУБЛИК 19) 11 1,51 ГОСУДАРСТВЕННЫЙ НОМИТЕТ СССР ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТ САНИЕ ИЗОБРЕТ Н АВТОРСКОМУ СВИДЕТЕЛЬСТВУ) 3814028/2 ) 19. 11,84 ) 15.06.86.1) Харьковскнное объедин л.р СО матизированног (72) С.Е, Баже В.Б. Самарский С.Н, Ткаченко, и В.С. Харченк (53) 681325 (О (56) Авторское В 05452, кл.Авторское с Р 765809, кл.Коффрон Дж. микропроцессор 1983,. Бюл. В 22ое научно-производстение по системам автоо управлениянов, К. Г, Карнаух,Г,Н. Тимонькин,В,В, Топорково88.8)свидетельство СССРС 06 Р 15/00, 1979.видетельство СССРС 06 Р 15/00, 1980.Технические средстваных систем.-М,: Мир(54) УСТРОЙСТВО ДЛЯ КОНТРОЛЯ УСЛОВНЫХ ПЕРЕХОДОВ МИКРОПРОЦЕССОРА(57) Изобретение относится к областимикропроцессорной техникии может бытьиспользовано при построении средствконтроля микропроцессоров. Цельюизобретения является повышение оперативности контроля. Устройство содержит комбинационный преобразователькода адреса команды в код типа условного перехода, блок анализа, блоксуммирования, буферный регистр операнда, буферный регистр адреса, счетчик, четыре триггера, два дешифратора, группу элементов И, коммутатор,четыре элемента И, элемент ИЛИ. 4 и2 табл.12380 45 Изобретение относится к микропроцессорной технике и может быть использовано при построении средствконтроля микропроцессоров,Цель изобретения - повышение опе.ративности контроля.На фиг. 1 представлена функциональная схема устройства для контроля условныхпереходов микропроцессора; на фиг. 2 - то же, блока анализа;1 Она фиг, 3 - то же, блока суммирования; на фиг, А - временная диаграммаработы устройства.Устройство для контроля условныхпереходов микропроцессора содержит15комбинационный. преобразователь 1 кода адреса команды в код типа условного.перехода, блок 2 анализа,.блок 3суммирования, буферный регистр 4 операнда, буферный регистр 5 адреса,20счетчик 6, третий триггер 7, первыйтриггер 8, второй триггер 9, четвертый триггер 10, первый. дешифратор 11,группу 12 элементов И, коммутатор 13,второй элемент И 14, элемент ИЛИ 15,25первый элемент И 16, четвертый элемент И 17, третий элемент И 18, первый 19, второй 20 и третий 21 выходыкомбинационного преобразователя 1 кода адреса команды в код типа условного перехода, первый 22 и второй 23выходы блока 2 анализа, первый 24 ивторой 25 выходы первого дешифратора11, вход 26 адреса устройства, вход27 записи устройства, вход 28 режима 35устройства, вход 29.данных устройства, вход синхронизации. 30 устройства,выход 31 отказа устройства, схему 32сравнения, сумматор 33 по модулю два,первый 34 и второй 35 коммутаторы, 40элемент ИЛИ 36, элемент НЕ 37, комбинационный преобразователь 38 прямого хода адреса в дополнительный, ком.бинационный сумматор 39, второй де.шифратор 40. 76 2Отличительной особенностью выполнения команд условного перехода является переменное число циклов выполнения команд. При выполнении проверяемого условия число циклон выполнения команды равно 10, в противном случае - 4. В соответствии с этим, при выполнении условия проверки, внутренний счетчик адреса микропроцессора формирует такую последовательность адресов, в которой каждый последующий адрес отличается от предыдущего на единицу, В том случае, если проверяемое условие не выполняется, то после реализации первого цикла выполнения команды условного перехода на шине адреса будет выставлен такой код адреса, значение которого отличается на 3 от значения кода адреса в первом цикле,Перед выполнением каждой команды условного перехода микропроцессор реализует соответствующую сервисную программу. В результате ее реализации на выходах блока анализабудет сформирована одна иэ следующих кодовых комбинаций. 01 - если условие выполняется,Э10, - если условие не выполняется. После реализации последней команды сервисной программы выполняется собственно команда условного перехода. При этом производится счет числа реализованных циклов. После реализации йервого цикла выполнения команды усповного перехода в следующем цикле производится определение разности значений кодов адресов, формируемых микропроцессором в этих циклах, Значение этой разности может быть равно 1 или 3. Это обусловливает формирование на выходах блока суммирования следующих кодов:На.фиг. 4 обозначены; а - вход 30 синхронизации устройства; б - вход 27 записи устройства; в - вход 28 режима устройства, г - единичный выход второго триггера 9, д - выход счетчика 6, ж - первый выход 24 первого дешифратора 11, з - второй выход первого дешифратора 11.Алгоритм функционирования устройст 55 ва для контроля условных переходов микропроцессора заключается в следующем. 10, - если разность равна 1,01, - если разность равна 3. Наличие кода К = 10 и кода Д = 01 или кода К = 01 и кода Д = 10 свидетельствует о неправильном выполнении микропроцессором команды условного переходаКомбинационный преобразователь 1 кода адреса команды в код типа условного перехода предназначен для формирования кода типа условного перехода и сигналов начала и конца реализации сервисной программы.рехода логического условия; блок 3ммирования - для определения значея разности между значениями кодовреса, формируемых микропроцессором во втором и первом циклах выполнения команды условного перехода; буферный регистр 4 операнда - для хранения кода операнда, засыпаемого в микропроцессор в первой команде сервисной программы; буферный регистр 5 адреса - для хранения кода адреса, формируемо-. го микропроцессором в первом цикле выполнения команды условного перехода; счетчик 6 - для подсчета числа реализованных циклов выполнения команды условного перехода; третий триггер 7 - для фиксации факта перехода микропРоцессора к реализации последней команды сервисной программы; первый триггер 8 - для фиксации факта перехода микропроцессора к реализации первой команды сервисной программы; второй триггер 9 - для Таблица 1 Выход Вход 1 О 15 20 19 20 21 0018 0 1 0001 . 0 0000 1 0010 0 0000 001 Д 0111 0 0115 011 А 0 1 0011 0 0000 1 0100 0 0000 . фиксации факта перехода микропроцессора к реализации команды условногоперехода; четвертый триггер 10 - для 021 А фиксации факта наличия сбоя (отказа)в работе микропроцессора при выполнении команд условных переходов; первый дешифратор 11 - для определенияномера цикла реализации команды условного перехода; группа 12 элементов И -для передачи кода контрольного операнда, выводимого микропроцессоромпри выполнении последней команды сервисной программы; коммутатор 13 -021 Р 1 010130 0 0000 ОА 1 А ОА 22 8991 0 1 0110 0 0000 35 1 0111 0 .0000 8999: для передачи сигнала сбоя (отказа)микропроцессора при выполнении командусловных переходов; второй элементИ 14 - для формирования сигнала перехода микропроцессора к реализации последней команды сервисной программы;элемент ИЛИ 15 - для передачи сигна 0 РР 10 401 1000 0 0000 РРАВ ла управления записью информации в регистр 4 при выполнении первой командысервисной программы; первый элемент з 238076Алгоритм функционирования комбина- пе ционного преобразователя 1 кода адре- су са команды в код типа условного пере- ни хода описан в табл, 1, ад50 55 Коды адресов первой и последней команд сервисной программы представлены в табл, 1 соответствия в шестнадцатиричной .системе счисления. Код 0001 типа условного перехода соответствует команде условного перехода 1 Е, код 0010 - 1 ИЕ, код 0011 - 1 С, код 0100 - 1 МС, код. 0101 -1 РЕ, код 0110- 1 РО,. код 0111 - 1 М, код 1000 -1 Р. Блок 2 анализа предназначен для определения значения соответствующего проверяемого в команде условного И 16 - для формирования сигнала. перехода микропроцессора к реализациипервой команды сервисной программы;четвертый элемент И 17 - для формирования сигнала окончания цикла контроля правильности выполнения командусловных переходов; третий элементИ 18 - для формирования сигналов счета числа. реализованных циклов при выполнении команд условных переходов,Вход 26 устройства является адресным и подключается к шине адреса микропроцессора серии К 580 или 1 ВТЕЬ 8080 А, вход 29 устройства - входомданных устройства и подключается к шине данных микропроцессора той же серии; вход 27 записи устройства соединяется с выходом записи (ЮК) микропроцессора той же серии. Вход 28 реЖима устройства соединен с выходом режима ввода с шины данных (РВ 1 Н) микропроцессора той же серии вход 30 синхронизации устройства - с выходом сигнала синхронизации (87 ЮС) микропроцессора той же серии,В устройстве контроль условных пе реходов выполняется следующим образом. Перед реализацией .любой команды условного перехода микропроцессор вы- о полняет сервисную программу, предназначенную для определения соответствующего логического условия, Сигналом перехода микропроцессора к выполнению сервисной программы служит появление единичного сигнала на втором выходе 20 комбинационного преобразователя 1 и появление кода типа условного перехода на третьем выходе 21 комбинационного преобразователя 1. При выполнении первой команды сервисной программы микропроцессор осуществляет ввод контрольного операнда в один из своих внутренних регистров. Код этого операнда записывается в регистр 4, С35 целью определения значения соответствующего логического условия в последней команде сервисной программы осуществляется вывод .содержимого регистра аккумулятора микропроцессора во внешнюю память. При этом код этого операнда поступает на соответствующий информационный вход блока 2 анализа. На его второй информационный вход поступает код .того операнда, который45 вводится в микропроцессор по первой команде, На управляюЩий вход блока 2 анализа поступает код типа условного перехода. После выполненияпоследней команды сервисной программы триггер 950 фиксирует момент начала выполнения команды условного перехода. В блоке 2 анализа осуществляется определение значения соответствующего логического условия. При этом на его выходах .будет сформирована комбинация К 1= 10- если значение логического условйя равно О, и комбинация Кг = 01 - в противном случае. После того, как будет зафиксирован момент выполнения команды условного перехода, счетчик б начинает счет числа реализованных циклов команды условного перехода. После выполнения первого цикла команды условного перехода на выходе 24 первого дешифратора будет сформирован единичный сигнал. В результате чего ,код адреса, сформированный в первом цикле выполнения команды условного перехода, будет записан в регистр 5. При выполнении второго цикла команды условного перехода сигнал будет сформирован на выходе 25 первого дешифратора 11. В результате чего триггер .9 будет установлен в исходное состояние и код адреса, сформированный во втором цикле команды условного перехода, поступит на соответствующий вход блока 3. При единичном значении проверяемого логического условия должно выполняться условиеД 1 = Аг 1 А= 1 фгде Аг - значение адреса во второмцикле команды;А - значение адреса в первомцикле команды,При отрицательном значении проверяемого логического условия должно выполняться условиеНаличие комбинаций К,ь Д или Кф Д, свидетельствует о неправильном функционировании микропроцессора при выполнении команды условного перехода. В этом случае триггер 10 будет переведен в единичное состояние и сформируется сигнал отказа. В случае правильности функционирования микропроцессора работа устройства будет продолженаБлок 2 анализа определяет значение соответствующего логического условия следующим образом.При равенстве операндов посылаемого .в микропроцессор и поступающего на второй вход схемы 32 сравнения и выводимого измикропроцессора и поступающего на первый вход схемы 32 на ее третьем выходе сформируется единичный сигнал, Этот сигнал свидетельствует о том, что содержимое внутреннего регистра-аккумулятора микропроцессора равно нулю, и что соответствующий разряд регистра установлен в"1", Следовательно, при выполнении команды условного перехода типа 12,очем говорит единичное значение сигнала на первом управляющем входе второ-. 5 го коммутатора 35, на его выходе будет сформирован единичный сигнал. На выходах 22 и 23 блока 2 будет уста. - новлена комбинация К = 01,. Если выполняется команда условного перехода 1 О типа 102, то на выходах 22 и 23 блока 2 будет сформирована комбинация К 110.При определении значения триггера переноса регистра признаков микропро цессора при единичном его значении на втором выходе схемы 32 будет сфорМирован единичный сигнал. При нулевом его значении единичный сигнал будет сформирован на первом выходе схемы 32,20 При выполнении команды условного перехода типа 1 С и при выполнении условия единичного значения триггера переноса регистра .признаков микропроцессора, о чем свидетельствует единич ный сигнал на втором управляющем входе второго коммутатора 35, на выходах 22 и 23 блока 2 анализа будет сформирован код К = 01.При выполнении команды 1 МС и при выполнении условия отрицательного значения проверяемого логического условия на выходах 22 и 23 блока 2 анализа будет сформирован код К10.При проверке значения разряда ре 35 гистра признаков, определяемого знаком содержимого регистра-аккумулятора микропроцессора при положительном знаке, на втором выходе схемы 32 будет сформирован единичный сигнал.40 При отрицательном знаке на первом выходе схемы 32 будет сформирован единичный сигнал. При выполнении команды условного перехода типа 1 РЕ и при условии единичного сигнала на вто 45 ром выходе схемы 32 на выходах 22 и.23 блока 2 анализа будет сформирован код К = 01. При выполнении команды 1 РО и при условии единичного сигнала на первом выходе схемы 32 на выходах 22 и 23 блок 2 анализа будет50сформирован код К 1 = 10,При проверке на четность содержимого регистра-аккумулятора микропроцессора в случае положительного исхода проверки на выходе схемы 33 будет сформирован нулевой сигнал. В случае выполнения команды условногоТаблица 2 аюВыход Вход 1000 10 10 01 01 0010 0111010110101110 1000 О 01 00 001111 0111101011110001 1111100001101010 0000011110010110 011010010111100 1001010101000100 В сумматоре 39 определяется значение разности Д (А,/ -/А,/. При значении ДД, = 1 на первом выходе второго дешифратора 40 будет сформированединичный сигнал, При значении Д= Д 3 на втором выходе второго дешифратора 40 будет сформирован еди-,ничный сигнал,Устройство для контроля условныхпереходов работает следующим обрдзом.В исходном состоянии все элементыпамяти находятся в нулевом состоянии(цепи установки в "0" элементов памяти в исходное состоянии условно непоказаны).Перед реализацией команды условного перехода контролируемый микро-процессор переходит к выполнению соответствующей сервисной программы,При появлении на входе 26 устройствакода адреса первой команды соответствующей сервисной программы на выходе перехода типа 1 И 4 нулевого сигнала на выходе, схемы 33 на выходах 22 и 23 блока 2 анализа будет сформирован код К = 01. В случае выполнения команды типа 1 Р и единичного сигнала на выходе схемы 33 на выходах 22 и 23 блока 2 анализа будет сформирован код К = 10.В блоке 3 суммирования осуществляется определение разности Д =/А/ А,/ следующим образом, Комбинационный преобразователь 38 прямого кода адреса в дополнительный код преобразует прямой код адреса выставленного на шине адреса микропроцессора в первом цикле выполнения команды условного перехода.Алгоритмы функционирования комбинационного преобразователя 38 описаны в следующей табл. 2 соответствия.20 преобразователя 1 будет установлен единичный сигнал, свидетельствующий о выполнении первой команды сервисной программы, а на его выходе 21 будет установлен код типа команды условного перехода. При появлении единичного сигнала ПВ 1 М, который выс.тавляется микропроцессором на входе 28 устройства, в первом цикле выпол О нения первой команды сервисной программытриггер 8 будет установлен в единичное состояние. Во втором. цикле выполнения команды, когда в микропроцессор вводится контрольный операнд, 15 по появлению такого же сигнала ЭВ 1 М ца входе 28 устройства на выходе эле-. мента И 16 будет установлен единичный сигнал, который поступит через элемент ИЛИ 15 ца вход синхронизации 20 регистра 4, По заднему Фронту этого сигнала код контрольного операнда, посылаемого в микропроцессор, будет записан в регистр 4. При выполнении последней команды сервисной програм мы после выставления на цзине адреса кода адреса последней команды и поступлении этого кода ца вход 26 устройства ца выходе 19 преобразователябудет установлен единичный сигнал. З 0.При вьполцении первого цикла этой команды при поступлении единичного сигнала РВХМ ца вход 28 устройства триггер 7 будет установлен в единичное состояние. Во втором цикле иы 35 полнения последней команды сервисной программы при появлении едицичцого сигнала В. на входе 27 устройства единичный сигнал с выхода элемента И 14 поступит ца управляющий вход40 блока 12 элементов И. Код операнда, выводимого микропроцессором, поступит с входа 29 устройства через открытый блок 12 элементов И ца первый информационный вход блока 2 анализа,45 Кроме того, при этом триггер 9 переходит в единичное состояние и откры-вает элемент И 18, Следущая команда, которую выполняет микропроцессор, является командой условного перехода. В первом цикле ее выполнения единич 50 нь 1 й сигнал БУМС поступает на вход 30 устройства и на второй вход элемента . И 18. Гдцццчцый сигнал с выхода эле- мента И 18 поступает на счетный вход счетчика 6 и Формирует в цем код 01, .При этом на выходе 24 первого дешиФ- ратора 11 будет установлен едцничцый сигнал, который поступит на вход сицхроцизации регистра 5 В регистр 5 будет записан код адерса первого байта команды условного перехода Во втором цикле выполнения команды условного перехода в счетчик б по еди" ничцому сигнапу БУМС на входе 30 уст ройства будет установлен код 10. В результате этого на выходе 2 э первого дешифратора 11 будет установлен единичный сигнал, который поступит на второй вход элемента И 17, на первый и второй управляющие входы коммутатора 13 и установит триггер 9 в исходное состояние, На выходах 22 и 23 блока,2 в зависимости от результатов анализа будет установлен код К = 10 или К = 01, На выходах второго денпФратора 40 в зависимости от результата определения разности Д, будет выставлен код с 11 = 10 или й= 0 1.При условии выставления кодов Кс или К К с 1 на выходе коммутатора 13 будет установлен едчничный сигнал.При поступлении очередного единичного сигнала БУМС на вход 30 устройства счетчик 6 перейдет в исходное . (нулевое) состояние, а триггер 10 перейдет в единичное состояние. При отсутствии сбоя (отказа) триггер 10 не изменит своего состояния и работа устройства будет продолжена.Формула изобретенияУстройство для контроля условных переходов микропроцессора, содержащее счетчик, первый, второй и третий триггеры, первый, второй, третий и четвертый элементы И и эпемент ИЛИ, причем единичный выход первого триггера соединен с первым входом первого элемента И, выход которого соединен с первым входом элемента ИЛИ, выход второго элемента И соединен с Б-входом второго триггера, единичный выход которого соединен с первым входом третьего элемента И, о т л и - ч а ю щ е е с я тем, что, с целью повьннеция оператийцости контроля, устройство дополнительно содержит комбинациоццьп преобразователь кода адреса команды в код типа условного перехода, блок ачализа, блок суммирования, буФерный. регистр операнда, буферный регистр адреса, коммутатор, четвертый триггер, группу элементовИ, первый и второй дешиФраторы, принчем первыи выход комбинационного пре- татора соответственно, выход третьеобразователя кода адреса команды в го элемента И соединен со счетным код типа условного перехода соединен входом счетчика, выход которого соес Р-вх ом-входом третьего триггера, единич динен с входом первого дешифратора, ный выход которого соединен с первым первый выход первого дешифратора соевходом второго элемента И, выход вто- динен с входом синхронизации буферно- рого элемента И соединен с управляю- го регистра адреса, второй выход перщими входами элементов И группы, с вого дешифратора соединен с вторым первым и с вторым информационными 1 р входом четвертого элемента И, К-вховходами коммутатора, выходы элементов дом второго триггера и первым и вто- И группы соединены с первым информа- рымуправляющими входами коммутато а ци ным входом блока анализа, второй выход коммутатора соединен с Р-вхоонор выход комбинационного преобразова- дом четвертого триггера, единичный теля кода адреса команды в код типа 15 выход которого соединен с выходом условного перехода соединен с Р-вхо- отказа устройства, выход четвертогоэлемента И соединен с.входом сброса комбинационного преобразователя кода счетчика, выход элемента ИЛИ соединен адреса команды в код типа условного с входом синхронизации буферного реперехода соединен с управляющим в:.о- о гистра операнда, причем блок анализа дом блока анализа, первый выход кото- содержит схему сравнения, сумматор рого соединен с третьим информацион- по модулю два, два коммутатора, эленым входом коммутатора, выход буфер- мент ИЛИ и элемент НЕ, причем первый ного регистра операнда соединен с информационный вход блока анализа совторым информационным входом блока р 5 единен с первым входом схемы сравнеМанализа, второи. выход которого соеди-ния и входом сумматора по модулю два, нен с четвертым информационным вхо- второй информационный вход блока анадом коммутатора, вход записи устрой- лиза соединен с вторым входом схемы ства соединен с вторыми входами, эле- сравнения выхо Боод ольще котороии мента ИЛИ и вто ого э ер элемента И, вход Зо соединен с первым входом элемента режима устройства сое иненд нен с С-входа- ИЛИ, первым и вторым информационными ми первого и третьего триггеров и входами первого коммутатора выхоУ д вторым входом первого элемента И, "Иеньше" схемы сравнения соединен с вход синхронизации устройства соеди- вторым входом элемента ИЛИ и первым35нен с первым входом четвертого эле- и вторым информационными входами вт -омента И, вторым входом третьего эле- рого коммутат ора, выход Равно схем зъ 3 мента И и с С-входом четвертого триг- мы сравнения соединен с третьим ингера, вход данных устройства соединен формационным входом второго коммутас информационными входами буферного тора выход суммаф мматора по модулю два регистра операнда и элементов И груп-соединен с третьим информационнымтора и через пы, вход адреса устройства соединен входом первого коммутатора и е с входом комбинационного преобразова- элемент НЕ с четвечетвертым информационтеля кода адреса команды в код типа ным входом второго коммутатора, выусловного перехода, информационным ход элемента ИЛИ соединен с четвер- входом буферного регистра адреса и тым информационным входом первого первым информационным входом блока коммутатора перв ", , ийрвыи, второи, третий суммирования, выход буферного регист- и четвертьй вый входы. первого и второго ра адреса соединен с вторым информа- коммутаторов соединены с управляющим ционным входом блока суммирования1 входом бл каом лока анализа, выход первого выход которого соединен с входом вто- коммутато а с50тора соединен с первым выхорого дешифратора, первый и второй вы- дом блока аналализа, выход второго комходы которого соединены с пятым и мутатора соединеинен с вторым выходом Шестым информационными входами комму- блока анализа.1238076 ставитель Д. Ванюхихред Л. Сердюкова Решетник актор М. Товти орректо Заказ 3293 Подписное ул. Проектная," Производственно-полиграфическое предприятие, г. Ужг Тираж 671 ВНИИПИ Государственного коми по делам изобретений и отк 3035, Москва, Ж, Раушская

Смотреть

Заявка

3814028, 19.11.1984

ХАРЬКОВСКОЕ НАУЧНО-ПРОИЗВОДСТВЕННОЕ ОБЪЕДИНЕНИЕ ПО СИСТЕМАМ АВТОМАТИЗИРОВАННОГО УПРАВЛЕНИЯ

БАЖЕНОВ СЕРГЕЙ ЕВГЕНЬЕВИЧ, КАРНАУХ КОНСТАНТИН ГРИГОРЬЕВИЧ, САМАРСКИЙ ВИКТОР БОРИСОВИЧ, ТИМОНЬКИН ГРИГОРИЙ НИКОЛАЕВИЧ, ТКАЧЕНКО СЕРГЕЙ НИКОЛАЕВИЧ, ТОПОРКОВ ВАЛЕНТИН ВАСИЛЬЕВИЧ, ХАРЧЕНКО ВЯЧЕСЛАВ СЕРГЕЕВИЧ

МПК / Метки

МПК: G06F 11/36

Метки: микропроцессора, переходов, условных

Опубликовано: 15.06.1986

Код ссылки

<a href="https://patents.su/9-1238076-ustrojjstvo-dlya-kontrolya-uslovnykh-perekhodov-mikroprocessora.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для контроля условных переходов микропроцессора</a>

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