Устройство для контроля программ
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Текст
СОЮЗ СОВЕТСКИХСОЦИАЛИСТИЧЕСКИРЕСПУБЛИК ЕНИЯ Р 30А,И, Ляенов ов во СССР 1981. СССР 1981ПРОвычис-:ь исридныхконтЦель 00 ОСУДАРСТВЕННЫЙ НОМИТЕТ СССРПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИЙ ОПИСАНИЕ ИЗО(54) УСТРОЙСТВО ДЛЯ КОНТРОЛЯ ГРАММ.(57) Изобретение относится к лительной технике и может бы пользовано в аппаратных и ги мониторах для организации роля и отладки программ.,БО 125115 И 4 С 06 Р 11/28 изобретения - повышение полноты.контроля программ. Цель достигаетсятем, что в устройство, содержащеедва блока памяти, регистр адреса,счетчик адреса, первый блок сравнения и первый блок синхронизации,введены три счетчика, восемь триггеров, четыре элемента И, элементзадержки, элемент 2 И-ИЛИ, элементИЛИ, элемент ИЛИ-НЕ, два дешифратора, второй блок сравнения и второйблок синхронизации. Устройство может быть использовано в аппаратныхи гибридных мониторах для проверкиполноты использования программамиячеек памяти и проверки реализациипереходов по командам условногопере"хода. 2 ил.5105 20 ЗО кБлок 2 памяти имеет емкость 2 бит, его ячейки адресуются младшими 1-разрядами адресной константы процессора, принадлежащей к зоне, определяемой счетчиком 1 зоны. Он предназначен для фиксации факта обращения по каждому адресу, принадлежащему к выбранной зоне, при этом в ячей ки блока 2 памяти, адресуемые младшими 1 -разрядами этих адресов, заносится признак. Изобретение относится к вычисли-тельной технике и может быть использовано в аппаратных и гибридных мониторах для организации контроля и отладки программ.Целью изобретения является повышение полноты надежности контроля программ,На чертеже приведена функциональная схема устройства,Устройство содержит счетчик 1 эоны, первый 2 и второй 3 блоки памяти, счетчик 4 заполнения, счетчик 5переходов, восемь триггеров 6-13,второй 14 и первый 15 блоки синхронизации, четыре элемента И 16-19,регистр 20 адреса, элемент 21 задержки, два блока сравнения 22 и 23,счетчик 24 адреса, элемент 2 И-ИЛИ25, первый 26 и второй 27 дешифрато 1ры, элемент 28 ИЛИ, элемент ИЛИ-НЕ29, выход 30 устройства "Окончаниеконтроля", группу входов номера зоны31 устройства, вход 32 признака "Номер зоны" устройства, группу входовадреса 33 устройства, вход 34 признака "Адрес" устройства, группу входов данных 35 устройства, вход 36признака Команда" устройства, выход37 устройства "Окончание контроля",Счетчик 1 зоны имеет С разрядов.,Си делит адресное пространство назон по 2" слов в каждом (1 с+1=ш,где ш - количество разрядов в адресной константе процессора). Он предназначен для хранения очередногономера зоны (старших 3 разрядов адресных констант процессора), которуюнеобходимо проконтролировать. Счетчик 4 заполнения имеетразрядов и подсчитывает число ячеек блока 2 памяти, заполенных признаком. Наличие в счетчике 3 заполнения 1 разрядного кода 11 указывает на то, что программа обратилась по всем адресам, входящим в выбранную зону. 35 40 45 50 55 Блок 3 памяти имеет емкость 2 " бит, его ячейки адресуются младшими 1-разрядами адресной константы процессора, принадлежащей к зоне опредсляемой счетчиком 1 зоны. Он предназначен для фиксации факта, что команда условного перехода не была реализована ни разу за все время выполнения программы. При этом в ячейки блока 3 памяти, адресуемые младшими 1 -разрядами адресов, по которым находятся нереализованные команды условного перехода, записывается "1",Счетчик 5 переходов имеет р разрядов и считает число нереализованных команд условного перехода. Наличие в счетчике 5 переходов р-разрядного кода 00 при коде 11 в счетчике 3 заполнения свидетельствует о том,что все команды условного перехода,расположенные в выбранной зоне были реализованы. В этом случае в процессор поступает сигнал 30 "Полное прохождение зоны" и в счетчик 1 эоныприбавляется "1". Количество разрядовсчетчика 5 переходов определяется из соотношения ръ 1 ор 2 с 1, где Й - максимально возможное количество команд условного перехода, содержащихся вкзоне объемом 2 слов и не реализованных за первыи прогон программы,Устройство работает следующим образом.В исходном состоянии зацепи установки узлов устройства в исходное состояние не показаны) все счетчики, ячейки блоков памяти, регистр, триггеры, за исключением триггера 6, установлены в "0". Триггер 6 находится в состоянии "1". Второй блок 14 синхронизации находится в состоянии ожидания сигнала с выхода элемента 16 И, а первый блок 15 синхро- низации - в состоянии ожидания сигнала с входа 36 признака "Команда" устройства.При необходимости проконтролировать программы, расположенные в оп- ределенной зоне, номер этой зоны засылается на счетчик 1 зоны. Для этого с группы входов номера зоны 31 устройства на группу ийформационных входов счетчика 1 зоны подается нужный номер зоны. Этот номер записывается на счетчик 1 зоны сигналом, приходящим с входа 32 признака "Номер зоны" устройства на вход записи счет чиха 1 эоны.Проверка полноты использования программы ячеек памяти с командами и данными осуществляется следующим образом.Адреса команд и данных выполняемых программ поступают на группу информации входов регистра 20 адреса и записываются в него сигналом с входа 34 признака "Адрес" устройства, проходящим на вход записи ре гистра 20 адреса. Кроме того, сигнал с входа 34 признака "Адрес" устройства поступает на вход элемента 21 задержки. Младшие 1 разрядов регистра 20 адреса поступают на группу ад ресных входов блока 2 памяти. Старшие 1 разрядов адреса с регистра 20 адреса поступают на вторую группу входов блока 22 сравнения, на первую группу входов которого приходит 1 - 10 разрядный номер зоны с группы информационных выходов счетчика 1 зоны. Если старшиеразрядов регистра 20 адреса совпадают с номером эоны, записанным на счетчике 1 зоны, то на выходе блока 22 сравнения появля 11 11ется 1 , поступающая на первый вход элемента И 1 6 и открывающая е г о . На второй вход элемента И 1 6 приходит сигнал с выхода элемента 2 1 з аде рж к и, э аде ржан ный на время с ра б атыв ания регистра 2 0 адреса и блока 2 2 сравнения , Н а выходе элемента И 1 6 появляется сигнал , который по ступает , на вход блока 1 4 синхронизации и э а 35 пускает его.На первом выходе блока 14 синхронизации появляется сигнал, который поступает на вход считывания блока , 2 памяти. С выхода блока 2 памяти информация, считанная из ячейки, адресом которой является содержимое младших 1 разрядов регистра 20 адреса, поступает на информационный вход триггера 7,Сигнал с второго выхода блока 14 синхронизации поступает на вход записи триггера 7 и записывает на него информацию, считанную из блока 2 памяти.Сигнал с третьего выхода блока 14 синхронизации поступает на вход записи блока 2 памяти и записывает в ранее считанную ячейку информацию, ко торая поступает на информационный вход блока 2 памяти с прямого выхода триггера 6,Прямой выход триггера 6 соединен с четвертым входом элемента 2 И-ИЛИ 25, а его инверсный выход - с вторью входом элемента 2 И-ИЛИ 25, Прямой выход триггера 7 соединен с первым входом элемента 2 И-ИЛИ 25, а егоинверсный выход - с третьим входом эле. мента 2 И-ИЛИ 25. На выходе элемента 2 И-ИЛИ 25 "1" появляется только в том случае, если триггеры б и 7 находятся в противофазе. Таким образом наличие "1" на выходе элемента 2 И-ИЛИ 25 указывает на то, что программа обратилась по адресу, хранящемуся на регистре 20 адреса первый раз. При последующих обращениях программы по этому адресу содержимое триггеров 6 и 7 будет совпадать и, следовательно, на выходе элемента 2 И-ИЛИ 25 будет "0", Кроме того, сигнал с третьего выхода блока 14 синхронизации поступает на первый элемент И 17, второй вход которого соединен с выходом элемента 2 И-ИЛИ 25, Если на выходе элемента 2 И-ИЛИ 25 "1", то на выходе элемента И 17 появляется сигнал, который поступает на вход "+1" счетчика 4 заполнения и добавляет к его содержимому "1"Когда программа обратится по всем адресам, принадлежащим к зоне, номер которой хранится на счетчике 1 зоны, на счетчике 4 заполнения появится 1 разрядный код 11, Этот код поступает на группу входов элемента И 18, и на выходе которого, появляется сигнал, который поступает на установочный вход триггера 8. С выхода триггера 8 "1" поступает на первый вход элемента И 19 и на вход сброса счетчика 4 заполнения, поддерживая его в нулевом состоянии до момента прихода "1" на второй вход элемента И 19, Таким образом, наличие "1" на выходе триггера 8 указывает на то что программа использовала адреса всех ячеек памяти зоны, номер которой указан на счетчике 1 зоны. На второй вход элемента И 19 приходит "1", если все команды условного перехода, расположенные в выбранной счетчиком 1 зоне, реализованыПроверка реализации команд условного перехода осуществляется следующим образом,После того как процессор передаст в память адрес команды, на группе входов данных 35 появится считаннаяинформация, 11 разрядов которой, отведенных в командах условного перехо. да под код операции, поступают на информационные входы дешифратора 26, Если эта информация соответствует кодам операций команд условного перехода и на управляющий вход дешифратора 26 с выхода блока 22 сравнения приходит "1" (ячейка, из которой считана информация, принадлежит к выбранной счетчиком 1 зоне), то на выходе дешифратора 26 появляется При этом на входе 36 признака "Команда" устройства появляется сигнал, поступающий на вход запуска блока 15 синхронизации и запускающий его.Сигнал с первого выхода блока 15 поступает на входы записи триггеров 9 и 10, На триггер 9 записывается информация, приходящая на его информационный вход с выхода депифратора 26. На триггер 10 записывается инФормация, поступающая на его информационный вход с выхода блока 23 сравнения. На выходе блока 23 сравнения вырабатывается "1", если содержимое регистра 20 адреса, поступающее на его первую группу входов, совпадает с содержимым счетчика 24 адреса, поступающим на его вторую группу входов. При этом регистр 20 адреса хранит адрес текущей команды, а счетчик 24 адреса - увеличенный на "1" адрес предьдущей команды, который бьш сформирован в предыдущем цикле работы блока 15 синхронизации, Таким образом на триггер,10 записывается "1" если выполняютсч команды с последовательными адресами,Сигнал с второго блока 15 синхронизации поступает на вход-1" счетчика 24 адреса и вычитает из его содержимого "1", Таким образом, на счетчике 24 адреса формируется адрес предь 1 цущей команды, младшие 1 -разрядов которого поступают на группу адресных входов блока 3 памяти.Сигнал с третьего выхода блока 15синхронизации поступает на вход считывания блока 3 памяти, выход которого соединен с информационным входомтриггера 11,Сигнал с четвертого выхода блокас5 синхронизации поступает на входзаписи триггера 11 и записывает нанего информацию, считанную из блока3 памяти,Сигнал с пятого выхода блока 15синхронизации поступает на управляющий вход дешифратора 27, информацио;ц ые входы которого соединены с выходами триггеров 10-13. Дешифратор27 вырабатывает сигнал на первом выходе, если триггеры 10, 12 и 13 находятся в единичном состоянии, а10.триггер 11 - в нулевом. На втором вы. ходе дешифратора 27 сигнал появляется, если триггеры 10 и 13 находятсяв нулевом состоянии, а триггеры 11и 12 - в единичном. Единичное состоя 15 ние триггера 1 О указывает на то, чтовыполняются команды с последовательными адресами, Единичное состояниетриггера 11 указывает на то, что условный переход по предыдущей команде 20 не был реализован ни разу, Единичноесостояние триггера 12 указывает нато, что предыдущая команда была командой условного перехода, извлеченной из зоны, выбранной счетчиком 25Единичное состояние триггера 3 указывает на то, что предыдущая команда была использована программой впервые, Первый и второй выходы дешифратора 27 соединены соответственнос первым и вторым входами элементаИЛИ 28 и входами "+1" и "-1" счетчика5 переходов. Появление сигнала наодном из выходов дешифратора 27 вызывает появление сигнала на выходе З 5 элемента ИЛИ 28, Которыйпоступает навход записи блока 3 памяти и записывает в ячейку, адресуемую младшими1-разрядами адреса предыдущей команды, информацию с выхода триггера 10,Кроме того, появление сигнала на первом или втором выходе дешифратора27 вызывает соответственно увеличениеили уменьшение на "1" содержимогосчетчика 5 перехода, Таким образом,при появлении команды условного перехода устройство реагирует изменениемсодержимого счетчика 5 переходов исоответствующей ячейки блока 3 памятитолько на две ситуации. Первая ситуация: команда условного перехода используется впервые и переход по нейне реализуется, при этом содержимоесчетчика 5 переходов увеличиваетсяна "1".и в соответствующую ячейкублока 3 памяти записывается "1";вторая ситуация; команда условногоперехода используется вторично, апереход по ней реализуется вперыепри этом содержимое счетчика 5 переходов уменьшается на "1" и в соответ ствующую ячейку блока 3 памяти записывается "0".Содержимое счетчика 5 переходов показывает, сколько использованных команд условного перехода, извлеченных из выбранной счетчиком 1 зоны памяти процессора, не были на текущий момент времени ни разу реализо О ваны. Эти команды зафиксированы в блоке 3 памяти записью "1" в ячейки, адресуемые младшими 1 -разрядами адресов, по которым зти команды находятся в памяти процессора. Инфор мация с выходов счетчика 5 переходов поступает на входы элемента ИЛИ-НЕ 29, выход которого соединен с вторым входом элемента И 19, На выходе элемента ИЛИ-НЕ 29 появляет ся "1", если на его входы приходит код 000. При этом, если на первый вход элемента И 19 приходит "1", то на его выходе появляется сигнал, который поступает на выход сигнала 30 25 "Полное прохождение зоны" уст-. ройства, вход сброса триггера 8, вход записи триггера 6 и вход "+1" счетчика 1 зоны. Содержимое счетчика 1 зоны увеличи- ЗО вается на "1", т.е. увеличивается номер зоны. Триггер 6 изменяет свое состояние на противоположное, так как его информационный вход и инверсный выход соединены между собой. Триггер 8 сбрасывается и разрешает счетчику 4 заполнения считать импульсы, приходящие на его вход "+1". Так как состояние триггера 6 противоположно состоянию ячеек в блоке 2 памяО ти, последний готов к контролю полно. ты использования адресов новой зоны памяти, Таким образом, происходит автоматическая смена номера зоны памяти. Признакм того, что все про граммы, расположенные в адресном пространстве процессора, проконтролированы, является сигнал с выхода переполнения счетчика 1 зоны, посту" лающий на выход сигнала 37 "Полное прохождение всех зон" устройства.Сигнал с седьмого выхода блока 15 синхронизации поступает на входы записи счетчика 24 адреса и триггеров 12 и 13. На триггер 12 переписы вается состояние триггера 9, а на триггер 13 записывается информация, приходящая на его информационный вход с выхода элемента 2 И-ИЛИ 25,Таким образом, триггеры 2 и 3 готовятся к следующему циклу работыблока 15 управления, На счетчик 24адреса записывается информация, приходящая на его информационные входыс выходов регистра 20 адреса,Сигнал с шестого выхода блока 15синхронизации поступает на вход "+1"счетчика 24 адреса и увеличивает егосодержимое на "1"Таким образом,счетчик 24 адреса готовится к следующему циклу работы блока 15 синхронизации,Предлагаемое устройство позволяетфиксировать каждый адрес, используемый программой, а также фиксироватьадреса команд условного перехода,переход по которым не был реализованни разу, Признаком того, что программы, содержащиеся в выбранной зо-.не, проконтролированы, является появление сигнала "Окончание контроля"на выходе 30 устройства, Признакомтого, что проконтролированы все программы, расположенные в адресном пространстве процессора, является появление сигнала "Полное прохождениевсех зон" на выходе 37 устройсгва.Непоявление сигнала "Полное прохождение зоны" через отрезок времени,величина которого определяется разработчиком программ, является признаком .того, что программы содержащиеся ввыбранной зоне, либо не использоваливсе адреса зоны, либо не реализоваливсе команды условного перехода, расположенные в зоне, Для выявления конкретных причин отсутствия сигнала"Полное прохождение зоны" содержимоепамяти устройства известным способомможет быть выведено на печать. Формула изобретенияустройство для контроля программ,содержащее первый и второй блоки памяти, регистр адреса, счетчик адреса первый блок сравнения и первый блок синхронизации, причем группа информационных выходов регистра адреса соединена с первой группой информационных входов первого блока сравнения, группа информационных выходов счетчика адреса соединена с второй группой информационных входов первого блока сравнения, о т л и ч а ю" щ е е с я тем, что, с целью повышения полноты контроля программ, в20 25 30 35 40 45 50 устройство введены счетчик зоны,счетчик заполнения, счетчик переходов, восемь триггеров, четыре элемента И, элемент задержки, элемент2 И-ИЛИ, элемент ИЛИ, элемент ИЛИ-НЕ,первый и второй дешифраторы, второйблок сравнения и второй блок синхронизации, причем входы номера зоныустройства и признака номера зоныустройства соединены соответственнос информационными входами и входомзоны счетчика зоны, информационныйвыход и выход переполнения которогосоединены соответственно с первойгруппой информационных выходов второ.го блока сравнения и выходом окончания контроля устройства, входы дан.ных, признака команды и адресныевходы устройства соединены соответственно с информационными входамипервого дешифратора, с входом запуска первого блока синхронизации,с информационным входом регистра адреса, вход признака адреса устройства соединен с входом записи регистра адреса и через элемент задержки - с первым входом первого элемента И, выход которого соединен с входом запуска второго блока синхронизации, группа информационных выходов регистра адреса соединена с информационным входом счетчика адреса,выходы старших и младших разрядоврегистра адреса соединены соответственно с вторыми информационнымивходами второго блока сравнения иадресными входами. первого блока памяти, выход второго блока сравнениясоединен с входом опроса первогодешифратора и вторым входом первогоэлемента И, прямой выход первоготриггера соединен с информационнымвходом первого блока памяти и первым;входом элемента 2 И-ИЛИ, первый и второй тактовый выходы второго блокасинхронизации соединены соответственно с входом считывания первогоблока памяти и входом записи второго триггера, прямой и инверсный выходы которого соединены соответственнос вторым и третьим, входами элемента2 И-ИЛИ, третий выход первого блокасинхронизации соединен с первым входом второго элемента И и с входомзаписи первого блока памяти, информационный выход которого соединенс информационным входом второготриггера, инверсный выход первого триггера соединен с информационнымвходом первого триггера и четвертымвходом элемента 2 И-ИЛИ, выход которого соединен с вторым входом второго элемента И, выход которого соединен с счетным входом счетчика заполнения, информационный выход счетчика заполнения соединен с входомтретьего элемента И, выход которогосоединен с единичным входом третьего триггера, прямой выход третьего триггера соединен с первым входом четвертогоэлемента И и входом сброса счетчика заполнения, выход элемента ИЛИ.-НЕ соединен с вторым входом четвертого эле.мента И, выход которого является выходом окончания контроля зоны устройства и соединен с нулевыми входами третьего триггера, входом записи первого триггера и счетным входом счетчика зон, первый выход первогоблока синхронизации соединен с входами записи четвертого и пятого триггеров, второй, третий, четвертый, пятыйи шестой выходы первого блока синхронизации соединены соответствейно свходом вычитания единицы счетчикаадреса, с входом считывания второгоблока памяти, с входом записи шестого триггера с входом опроса второгодешифратора и с входом "+1" счетчикаадреса, выход младших разрядов которого соединен с адресными входамивторого блока памяти, седьмой выходпервого блока синхронизации соединенс входом записи счетчика адреса,седьмого и восьмого триггеров, выходпервого дешифратора соединен с информационным входом четвертого триггера,выход которого соединен с информационным входом седьмого триггера, выходпервого блока сравнения соединен синформационным входом пятого триггера, выход которого соединен с входом данных второго блока памяти, выходэлемента 2 И-ИЛИ соединен с информаци.анным входом восьмого триггера, выходы пятого, шестого, седьмого ивосьмого триггеров соединены соответственно с первым, вторым, третьим и четвертым информационными входамивторого дещифратора, первый выходвторого дешифратора соединен с вхои ттдом +1 счетчика переходов и с первым входом элемента ИЛИ, второй выход второго дешифратора соединен с вторым входом элемента ИЛИ и с входом "-1" счетчика переходов, выход которого соединен с входом элемента ИЛИ-НЕ,1251128 К. Волощук оставител ехред О,С аз 4414 Подписнокомитета СССР и открытии аушская на Проиэводствеино-полиграфическое предприятие,город, ул, Проектная,ВНИИПИ Гос по делам 113035, Мо
СмотретьЗаявка
3856490, 12.02.1985
ПРЕДПРИЯТИЕ ПЯ А-3517
ГАРНАТКО ЮРИЙ НИКОЛАЕВИЧ, ЛЯХОВ АЛЕКСАНДР ИВАНОВИЧ, УЛЫБИН СЕРГЕЙ ЛЕОНИДОВИЧ, ЩЕНОВ ЭДУАРД ВАСИЛЬЕВИЧ
МПК / Метки
МПК: G06F 11/28
Метки: программ
Опубликовано: 15.08.1986
Код ссылки
<a href="https://patents.su/7-1251128-ustrojjstvo-dlya-kontrolya-programm.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для контроля программ</a>
Предыдущий патент: Приоритетное устройство
Следующий патент: Устройство для статистического моделирования процесса выполнения работы
Случайный патент: Катализатор для изомеризации насыщенных углеводородов