Устройство для контроля программ Советский патент 1986 года по МПК G06F11/28 

Описание патента на изобретение SU1251128A1

1

Изобретение относится к вычислительной технике и может быть исполь зовано в аппаратных и гибридных мониторах для организации контроля и отладки программ.

Целью изобретения является повышение полноты надежности контроля программ.

На чертеже приведена функциональная схема устройства,

Устройство содержит счетчик зоны, первый 2 и второй 3 блоки памяти, счетчик 4 заполнения, счетчик 5 переходов, восемь триггеров 6-13, второй 14 и первый 15 блоки синхро- низации, четыре элемента И 16-19, регистр 20 адреса, элемент 21 задержки, два блока сравнения 22 и 23 счетчик 24 адреса, элемент 2И-1-ШИ 25, первьй 26 и второй 27 дешифрато- ры, элемент 28 ИЛИ, элемент ИЛИ-НЕ 29, выход 30 устройства Окончание контроля группу входов номера зоны 31 устройства, вход 32 признака Номер зоны устройства, группу входов адреса 33 устройства, вход 34 признака Адрес устройства, группу входов данных 35 устройства, вход 36 признака Команда устройства, выход 37 устройства Окончание контроля,

Счетчик зоны имеет t разрядов и делит адресное пространство на 2 зон по 2 слов в каждом (, где m - количество разрядов в адресной константе процессора). Он пред- назначен для хранения очередного номера зоны (старших Е разрядов адресных констант процессора), которую необходимо проконтролировать.

Блок 2 памяти имеет емкость 2 бит, его ячейки адресуются младшими К-разрядами адресной константы процессора, принадлежащей к зоне, определяемой счетчиком 1 зоны. Он предназначен для фиксации факта обращения по каждому адресу, принадлежаще.му к выбранной зоне, при этом в ячей ки блока 2 памяти, адресуемые младшими k -разрядами этих адресов, зано сится признак.

Счетчик 4 заполнения имеет fe; разрядов и подсчитьшает число ячеек блока 2 памяти, заполненных признаком. Наличие в счетчике 3 заполнения k - разрядного кода 1... 1 указывает на то, что программа обратилась по всем адресам, входящим в выбранную зону.

5

0

s 0 5 0

5

5

282

Блок 3 памяти имеет емкость 2 бит, его ячейки адресуются младшими k-разрядами адресной константы процессора, принадлежащей к зоне, определяемой счетчиком 1 зоны. Он предназначен для фиксации факта, что команда условного перехода не была реализована ни разу за все время выполнения программы. При этом в ячейки блока 3 памяти, адресуемые младшими 1 -разрядами адресов, по которым находятся нереализованные команды условного перехода, записьтается 1,

Счетчик 5 переходов имеет р разрядов и считает число нереализованных команд условного перехода. Наличие в счетчике 5 переходов р-разрядного кода 0..,0 при коде 1 . , , 1 в счетчике 3 заполнения свидетельствует о том, что все команды условного перехода, расположенные в выбранной зоне, были реализованы, В этом случае в процессор поступает сигнал 30 Полное прохождение зоны и в счетчик 1 зоны прибавляется 1. Количество разрядов счетчика 5 переходов определяется из соотношения pslog d, где d - максимально возможное количество команд условного перехода, содержащихся в зоне объемом 2 слов и не реализованных за первый прогон программы.

Устройство работает следующим об- разом,

В исходном состоянии (цепи установки узлов устройства в исходное состояние не показаны) все счетчики, ячейки .блоков памяти, регистр, триггеры, за исключением триггера 6, установлены в О, Триггер 6 находится в состоянии 1. Второй блок 14 синхронизации находится в состоянии ожидания сигнала с выхода элемента 16 И, а первый блок 15 синхронизации - в состоянии ожидания сигнала с входа 36 признака Команда устройства.

При необходимости проконтролировать программы, расположенные в оп- ределенной зоне, номер этой зоны за- сьтается на счетчик 1 зоны. Для этого с группы входов номера зоны 31 устройства на группу информационных входов счетчика 1 зоны подается нужный номер зоны. Этот номер записьша- ется на счетчик 1 зоны сигналом, приходящим с входа 32 признака Номер зоны устройства на вход записи счетчика 1 зоны.

312

Проверка полноты использования программы ячеек памяти с командами и данными осуществляется следующим образом.

Адреса команд и данных выполняв- мых программ поступают на группу информации входов регистра 20 адреса и записываются в него сигналом с входа 34 признака Адрес устройства, Проходящим на вход записи ре- гистра 20 адреса. Кроме того, сигнал с входа 34 признака Адрес устройства поступает на вход элемента 21 задержки. Младшие k разрядов регистра 20 адреса поступают на группу ад- ресных входов блока 2 памяти. Старшие Е разрядов адреса с регистра 20 адреса поступают на вторую группу входов блока 22 сравнения, на первую группу входов которого приходит - разрядный номер зоны с группы информационных выходов счетчика 1 зоны. Если старшие g разрядов регистра 20 адреса совпадают с номером зоны, записанным на счетчике 1 зоны, то на выходе блока 22 сравнения появляется 1, поступающая на первый вход элемента И 16 и открывающая его. На второй вход элемента И 16 приходит сигнал с выхода элемента 21 задерж- ки, задержанный на время срабатьгоа- ния регистра 20 адреса и блока 22 сравнения. На выходе элемента И 16 появляется сигнал, который поступает на вход блока 14 синхронизации и запускает его.

На первом выходе блока 14 синхронизации появляется сигнал, который поступает на вход считывания блока 2 памяти. С выхода блока 2 памяти информация, считанная из ячейки, адресом которой является содержимое младших k разрядов регистра 20 адреса, поступает на информационный вход триггера 7.

Сигнал с второго выхода блока 14 синхронизации поступает на вход записи триггера 7 и записьшает на него информацию, считанную из блока 2 памяти.

Сигнал с третьего выхода блока 14 синхронизации поступает на вход записи блока 2 памяти и записывает в ранее считанную ячейку информацию, ко- торая поступает на информационный вход блока 2 памяти с прямого выхода триггера 6.

s o 5 0 5 0

5

0

5

284

Прямой выход трип ера 6 соединен с четвертым входом элемента 2И-ИЛИ 25, а его инверсный выход - с BTOPMNT входом элемента 2И-ИЛИ 25. Прямой выход триггера 7 соединен с первым входом элемента 2И-ИЛИ 25, а его инверсный выход - с третьим входом элемента 2И-1-ШИ 25. На выходе элемента 2И-1-ШИ 25 1 появляется только в том случае, если триггеры 6 и 7 находятся в противофазе. Таким образом наличие 1 на выходе элемента 2И-ИЛИ 25 указьшает на то, что программа обратилась по адресу, хранящемуся на 20 адреса первый раз. При последующих обращениях программы по этому адресу содержимое триггеров 6 и 7 будет совпадать и, следовательно, на выходе элемента 2И-ИЛИ 25 будет О. Кроме того, сигнал с третьего выхода блока 14 синхронизации поступает на первый элемент И 17, второй вход которого сое- динен с выходом элемента 2И-ИЛИ 25. Если на выходе элемента 2И-РШИ 25 1, то на выходе элемента И 17 появляется сигнал, который поступает . на вход +1 счетчика 4 заполнения и добавляет к его содержимому 1,

Когда программа обратится по всем адресам, принадлежащим к зоне, номер которой хранится на счетчике 1 зоны, на счетчике 4 заполнения появится k разрядный код ...1. Этот код поступает на группу входов элемента И 18, и на выходе которого, появляется сигнал, который поступает на установочный вход триггера 8. С выхода триггера 8 1 поступает на первый вход элемента И 19 и на вход сброса счетчика 4 заполнения, поддерживая его в нулевом состоянии до момента прихода 1 на второй вход элемента И 19. Таким образом, наличие 1 на выходе триггера 8 указывает на то, что программа использовала адреса всех ячеек памяти зоны, номер которой указан на счетчике 1 зоны. На второй вход элемента И 19 приходит 1, если все команды условного перехода, расположенные в выбранной счетчиком 1 зоне, реализованы.

Проверка реализации команд условного перехода осуществляется следую щим образом.

- После того как процессор передаст в память адрес команды, на группе в ходов данных 35 появится считанная

информация, / И разрядов которой, отведенных в командах условного перехода под код операции, поступают на информационные входы дешифратора 26, Если эта информация соответствует кодам операций команд условного перехода и на управляющий вход дешифратора 26 с выхода блока 22 сравнения приходит 1 ячейка, из которой считана информация, принадлежит к выбранной счетчиком 1 зоне, то на выходе дешифратора 26 появляется 1 При этом ка Bxpfls 36 признака Команда устройства появляется сигнал, постзгпавощий на вход запуска блока 15 синхронизации и запускающий его. Сигнал с первого выхода блока 15 поступает на входы записи триггеров 9 и 0. На триггер 9 записьшается информация, приходящая на его информационный вход с выхода дешифратора 26, На триггер 10 записывается информация, поступающая на его инфор- мационный вход с выхода блока 23 сравн ения. На выходе блока 23 сравнения вырабатывается I, если содержимое регистра 20 адресаj поступающее на его первую группу входов, совпадает с содержимым счетчика 24 адреса, поступающим на его вторую группу входов. При этом регистр 20 . адреса хранит адрес текугдей команды, а счетчик 24 адреса - увеличенный. на 1 адрес предьздущей команды, который был сформирован в предыдущем цикле работы блока 15 синхронизации. Таким образом на триггер.10 записывается 1, если выполняются команды с последовательными адресами,

Сигнал с второго блока 15 синхронизации поступает на вход -1 счетчика 24 адреса и вычитает из его содержимого 1. Таким образом, на счетчике 24 адреса формируется адрес предьщущей команды, младнше k -разрядов которого поступают на группу .адресных входов блока 3 памяти.

Сигнал с третьего выхода блока 15 синхронизации поступает на-вход считывания блока 3 памятИа выход которого соединен с информационным входо триггера II.

Сигнал с четвертого выхода блока I5 синхронизации поступает на вход записи триггера I1 и записьюает на него информацию, считанную из блока 3 памяти.

j 0 5 0 5 0 0

5

5

5

0

Сигнал с пятого выхода блока 15 синхронизации поступает на управляющий вход дешифратора 27, информационные входы которого соединены с вы-, ходами триггеров 10-13, Дешифратор 27 вырабатьшает сигнал на первом выходе, если триггеры 10, 12 и 13 находятся в единичном состоянии, а

.триггер 11 - в нулевом. На втором выходе дешифратора 27 сигнал появляется, если триггеры 10 и 13 находятся в нулев.ом состоянии, а триггеры I 1 и 12 - в единичном. Единичное состояние триггера 10 указывает на то, что выполняются команды с последовательными адресами. Единичное состояние триггера П указьгоает на то, что условный переход по предыдущей команде не бьш реализован ни разу. Единичное состояние триггера 12 указывает на то, что предыдущая команда была ко мандой условного перехода, извлечен ной из зоны, выбранной счетчиком i, Единичное состояние триггера |3 ука- зьшает на то, что предьщущая команда была использована программой впервые. Первый и второй выходы дешифратора 27 соединены соответственно с первым и вторым входами элемента ИЛИ 28 и входами +Г и -1 счетчика 5 переходов, Появление сигнала на одном из выходов дешифратора 27 вызывает появление сигнала на выходе элемента ИЛИ 28, Который -поступает на вход записи блока 3 памяти и запи- сьшает в ячейку, адресуемую младшими k-разрядами адреса предьщущей команды, информацию с выхода триггера 10, Кроме того, появление сигнала на первом или втором выходе дешифратора 27 вызывает соответственно увеличение или уменьшение на I содержимого счетчика 5 перехода. Таким образом, При появлении команды условного перехода устройство реагирует изменением содержимого счетчика 5 переходов и

/соответствующей ячейки блока 3 памяти только на две ситуации. Первая ситуация : команда условного перехода ис- пользуется впервые и переход по ней не реализуется, при этом содержимое счетчика 5 переходов увеличивается на .и в соответствующую ячейку блока 3 памяти записьгоается вторая ситуация: команда условного

перехода используется вторично, а переход по ней реализуется BnepuSj

712

при этом содержимое счетчика 5 переходов уменьшается на и в соответ ствующую ячейку блока 3 памяти за- письшается О.

Содержимое счетчика 5 переходов показывает, сколько использованных команд условного перехода, извлеченных из выбранной счетчиком 1 зоны памяти процессора, не были на текущий момент времени ни разу реализо- ваны. Эти команды зафиксированы в блоке 3 памяти записью 1 в ячейки, адресуемые младшими k -разрядами адресов, по которым эти команды находятся в памяти процессора, Инфор- мация с выходов счетчика 5 переходов поступает на входы элемента ИЛИ-НЕ 29, выход которого соединен с вторым входом элемента И 19. На выходе элемента ИЛИ-НЕ 29 появляет ся 1, если на его входы приходит код 00...О, При этом, если на первый вход элемента И 19 приходит 1, то на его выходе появляется сигнал, который поступает на выход сигнала 30 Полное прохождение зоны уст-. ройства, вход сброса триггера 8, вход записи триггера 6 и вход +1 счетчика -1 зоны, Содер- жимое счетчика 1 зоны увеличи- вается на 1, т.е. увеличивается номер зоны. Триггер 6 изменяет свое состояние на противоположное, так как его информационньй вход и инверсный выход соединены между собой. Триггер 8 сбрасьгоается и разрешает счетчику 4 заполнения считать импульсы, приходящие на его вход +1. Так как состояние триггера 6 противоположно состоянию ячеек в блоке 2 памя ти, последний готов к контролю полноты использования адресов новой зоны памяти. Таким образом, происходит автоматическая смена номера зоны памяти. Признаком того, что все программы, расположенные в адресном пространстве процессора, проконтролированы, является сигйал с выхода переполнения счетчика 1 зоны, поступающий на выход сигнала 37 Полное прохождение всех зон устройства.

Сигнал с седьмого выхода блока 15 синхронизации поступает на входы записи счетчика 24 адреса и тригге- ров 12 и 13. На триггер 12 перепись - вается состояние триггера 9, а на триггер 13 записьгоается информация, приходящая на его информационный

288

вход с выхода элемента 2И-ИЛИ 25. Таким образом, триггеры 12 и 13 готовятся к следующему циклу работы блока 15 управления. На счетчик 24 адреса записьгоается информация, приходящая на его информационные входы с выходов регистра 20 адреса.

Сигнал с шестого выхода блока 5 синхронизации поступает на вход счетчика 24 адреса и увеличивает его содержимое на 1, Таким образом, счетчик 24 адреса готовится к следующему циклу работы блока I5 синхронизации.

Предлагаемое устройство позволяет фиксировать каждый адрес, используемый программой, а также фиксировать адреса команд условного перехода, переход по которым не был реализован ни разу. Признаком того, что программы, содержащиеся в выбранной зоне, проконтролированы, является появление сигнала Окончание контроля на выходе 30 устройства. Признаком того, что проконтролированы все программы, расположенные в адресном пространстве процессора, является появление сигнала Полное прохождение всех зон на выходе 37 устройства. Непоявление сигнала Полное прохождение зоны через отрезок времени, величина которого определяется разработчиком программ, является признако того, что программы содержащиеся в выбранной зоне, либо не использовал все адреса зоны, либо не реализовали все команды условного перехода, расположенные в зоне. Для выявления конкретных причин отсутствия сигнала Полное прохождение зоны содержимое памяти устройства известным способом может быть выведено на печать.

Формула изобретения

Устройство для контроля программ, содержащее первый и второй блоки памяти, регистр адреса, счетчик адреса первый блок сравнения и первый блок синхронизации, причем группа информационных выходов регистра адреса соединена с первой группой информа- ционньк входов первого блока сравнения, группа информационных выходов счетчика адреса соединена с второй группой информационных входов первого блока сравнения, отличающееся тем, что, с целью повы- шения полноты контроля программ, в

9

устройство введены счетчик зоны, счетчик заполнения, счетчик переходов, восемь триггеров, четыре элемента И, элемент задержки, элемент 2И-ИЛИ, элемент ИЛИ, элемент ИЛИ-ИЕ, первый и второй дешифраторы, второй блок сравнения и второй блок синхронизации, причём входы номера зоны устройства и признака номера зоны устройства соединены соответственно с информационными входами и входом зоны счетчика зоны, информационный выход и выход переполнения которого соединены соответственно с первой группой информационных выходов второ го блока сравнения и выходом окончания контроляустройства, входы данных, признака команды и адресные входы устройства соединены соответственно с информационными входами первого дешифратора, с входом запуска первого блока синхронизации, с информационным входом регистра адреса, вход признака адреса устройства соединен с входом записи реги- стра адреса и через элемент задержки - с первым входом первого элемента И, выход которого соединен с входом запуска второго блока синхронизации, группа информационных выхо- доз регистра адреса соединена с информационным входом счетчика адресаj выходы старших и младших разрядов регистра адреса соединены соответ- ственно с вторыми информационными входами второго блока сравнения и адресными входами.первого блока памяти, выход второго блока сравнения соединен с входом опроса первого дешифратора и вторым входом первого элемента И, прямой выход первого триггера соединен с информационным входом первого блока памяти и первым входом элемента 2И-ИЛИ, первьш и второй тактовый выходы второго блока синхронизации соединены соответственно с входом считывания первого блока памяти и входом записи второго триггера, прямой и инверсный выходы которого соединены соответственно с вторым и третьиц входами элемента 2И-ИЛИ, третий выход первого блок:а синхронизации соединен с первым входом второго элемента И и с входом записи первого блока памяти, инфор- мационный выход которого соединен с информационным входом второго триггера, инверсный выход первого

2810

триггера соединен с информационным входом первого триггера и четвертым входом элемента 2И-ИЛИ, выход которого соединен с вторым входом второго элемента Pi, выход которого динен с счетным входом счетчика заполнения, информационный выход счетчика заполнения соединен с входом третьего элемента И, выход которого соединен с единичным входом третьего триггера, прямой выход третьего триггера соединен с первым входом четвертог элемента И и входом сброса счетчика заполнения, выход элемента ИЛИ-НЕ соединен с вторым входом четвертого элемента И, выход которого является выходом окончания контроля зоны устройства и соединен с нулевыми входами третьего триггера, входом записи первого триггера и счетным входом счетчика зон, первый выход первого блока синхронизации соединен с входами записи четвертого и пятого триггеров, второй, третий, четвертый, пяты и шестой выходы первого блока синхронизации соединены соответственно с входом вычитания единицы счетчика адреса,с входом считывания второго блока памяти, с входом записи шестого триггера, с входом опроса второго дешифратора и с входом 4i счетчика адреса, выход младших разрядов которого соединен с адресными входами второго блока памяти, седьмой выход первого блока синхронизации соединен с входом записи счетчика адреса, седьмого и восьмого триггеров, выход парвогб дешифратора соединен с информационным входом четвертого триггера выход которого соединен с информационным входом седьмого триггера, выход первого блока сравнения соединен с информационным входом пятого триггера, выход которого соединен с входом данных второго блока памяти, выход элемента 2И-ИЛИ соединен с информационным входом восьмого триггера, выходы пятого, шестого, седьмого и восьмого триггеров соединены соответственно с первым, вторым, третьим и четвертым информационными входами второго дешифратора, первый выход второго дешифратора соединен с входом + счетчика переходов и с первым входом элемента ИЛИ, второй выход второго дешифратора соединен с вторым входом элемента ИЛИ и с входом - счетчика переходов, выход которого соединен с входом элемента ИЛИ-НЕ

3132

36

35

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

название год авторы номер документа
Устройство для обмена данными 1986
  • Шарпило Николай Николаевич
  • Антонов Юрий Яковлевич
SU1352497A1
Устройство для приема информации 1982
  • Супрун Василий Петрович
  • Кривоносов Анатолий Иванович
  • Тимонькин Григорий Николаевич
  • Ткаченко Сергей Николаевич
  • Харченко Вячеслав Сергеевич
SU1084857A1
Автоматизированная система тестового контроля 1985
  • Ларичев Анатолий Павлович
  • Родин Юрий Анатольевич
  • Адамский Юлий Исаакович
  • Букатая Людмила Ивановна
  • Шорникова Надежда Никитична
SU1278857A1
Процессор программируемого контроллера 1985
  • Сырель Павел Константинович
  • Сохина Ирина Николаевна
SU1406595A1
Устройство для контроля программ 1984
  • Ляхов Александр Иванович
  • Улыбин Сергей Леонидович
SU1265776A1
Устройство для сопряжения электрон-НыХ ВычиСлиТЕльНыХ МАшиН 1979
  • Жажа Владимир Андреевич
  • Стыцюк Борис Павлович
SU809145A1
Устройство для сопряжения двух вычислительных машин 1986
  • Горбунов Александр Иванович
  • Димитров Николай Федорович
  • Ляхов Александр Иванович
  • Разумов Владимир Витальевич
  • Щенов Эдуард Васильевич
SU1405064A1
Устройство для обмена информацией между цифровой вычислительной машиной и внешними устройствами 1981
  • Хельвас Валерий Пантелеймонович
SU1003066A1
Устройство для обмена информацией между объектом контроля и электронной вычислительной машиной 1983
  • Розанов Юрий Александрович
  • Исаев Олег Вячеславович
  • Ширин Михаил Михайлович
  • Титкин Владимир Михайлович
  • Чалкова Мария Леонидовна
SU1156078A1
Микропрограммное устройство для приоритетного обслуживания группы абонентов 1984
  • Супрун Василий Петрович
  • Сычев Александр Васильевич
  • Кривоносов Анатолий Иванович
  • Кириченко Николай Васильевич
  • Меховской Николай Филиппович
  • Харченко Вячеслав Сергеевич
  • Тимонькин Григорий Николаевич
  • Ткаченко Сергей Николаевич
SU1302277A1

Иллюстрации к изобретению SU 1 251 128 A1

Реферат патента 1986 года Устройство для контроля программ

Изобретение относится к вычис-: лительной технике и может быть использовано в аппаратных и гибридных мониторах для организации контроля и отладки программ. Цель изобретения - повьшение полноты, контроля программ. Цель достигается тем, что в устройство, содержащее два блока памяти, регистр адреса, счетчик адреса, первый блок сравнения и первьш блок синхронизации, введены три счетчика, восемь триггеров, четыре элемента И, элемент задержки, элемент 2И-ИЛИ, элемент ИЛИ, элемент ИЛИ-НЕ, два дешифратора, второй блок сравнения и второй блок синхронизации. Устройство может быть использовано в аппаратных и гибридных мониторах для проверки полноты использования программами ячеек памяти и проверки реализации переходов по .командам условного перехода. 2 ил. i (Л N5 СЛ 1C 00

Формула изобретения SU 1 251 128 A1

Составитель И. Сигалов Редактор К. Волощук Техред О.Сопко Корректор м. Демчик

Заказ 4414/48 Тираж 671Подписное

ВНИШИ Государственного комитета СССР

по делам изобретений и открытий 113035, Москва, Ж-35, Раушская наб,,д.4/5

Производственно-полиграфическое предприятие, г. Ужгород, ул. Проектная,

SU 1 251 128 A1

Авторы

Гарнатко Юрий Николаевич

Ляхов Александр Иванович

Улыбин Сергей Леонидович

Щенов Эдуард Васильевич

Даты

1986-08-15Публикация

1985-02-12Подача