Устройство для контроля программ
Иллюстрации
Показать всеРеферат
Изобретение относится к вычислительной технике и может быть использовано для контроля программ. Цель изобретения - повышение достоверности работы. Устройство поз.воляет исключить повторную запись в памяти устройства адресов границ циклических участков и организовать своевременную вьщачу информации в оперативную память ЭВМ при заполнении памяти устройства , .что приводит к повышению на дежности устройства и сокращению объема информации о ходе вьшолнення программы без снижения ее достоверности . Адрес границ линейного участка и число его повторений хранятся в блоках буферных регистров. Триггер управляет перезаписью содержимого в оперативную память ЭВМ. Устройство подсчитывает количество циклических участков, количество записей в буфер И; вьфабатывает сигнал прерывания при переполнении буфера. Устройство для контроля програьт содержит два триггера, семь групп элементов И, два элемента И, шесть элементов ИЛИ, блок буферных регистров , распределитель импульсов, два счетчика импульсов, с четчик адреса, три регистра адреса, инвертор,сумматор и три схемы сравнения. 1 ил. (Л
СОЮЗ СО8ЕТСНИХ
СОЦИАЛИСТИЧЕСНИХ
РЕСПУБЛИН (192 (И} (51}4 G 06 F 11/26
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К А ВТОРСКОМУ СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ НОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИЙ (21) 4219936/24-24 (22} 01.04.87 (46) 23.11 ° 88. Бюл. И 43 (72) В.К.Тарханов, В;М.Путилов, А.Н.Вахнин и N.È.Äáóðoâ (53) 681.3(088.8) (56) Патент США И 3931611, кл. G 06 F 11/26, онублик. 1976.
Авторское свидетельство СССР и 879563, кл. G 05 В 23/02,.
G 06 F 11/26, 1981. (54) УСТРОЙСТВО ДЛЯ КОНТРОЛЯ ПРОГРАММ (57) Изобретение относится к вычислительной технике и может быть использовано для контроля программ. Цель изобретения — повышение достоверности работы. Устройство позволяет исключить повторную запись в памяти устройства адресов границ циклических участков и организовать своевременную выдачу информации в оперативную память 3ВМ при заполнении памяти устройства, .что приводит к повышению на дежности устройства и сокращению объема информации о ходе выполнения программы без снижения ее достоверности. Адрес границ линейного участка и число его повторений хранятся в блоках буферных регистров ° Триггер управляет перезаписью нх содержимого в оперативную память ЭВМ. Устройство подсчитывает количество циклических участков, количество записей в буфер и; вырабатывает сигнал прерывания при переполнении буфера. Устройство для контроля программ содержит два триггера, семь групп эле- ф ментов И, два элемента И, шесть элементов ИЛИ, блок буферные регнст- Щ ров, распределитель импульсов, два счетчика импульсов, счетчик адреса, три регистра адреса, инвертор,сумматор и три схемы сравнения. ил.
1439601
Изобретение относится к вычислительной технике и может быть использовано при организации и тестировании программ.
Цель изобретения — повышение достоверности работы устройства и сокращение объема информации о ходе выполнения программы без снижения ее достоверности. 10
На чертеже представлена структурная схема устройства.
Устройство содержит первый триггер 1, вторую группу элементов И 2, третью группу элементов И " второй регистр адреса 4, первую группу эле« ментов И 5, первый регистр 6 адреса, счетчик 7 адреса, первый эле мент HJIH 8, первую схему 9 сравнения, третий элемент ИЛИ 10, второй элемент 20
ИЛИ 11, вторую 12 и третью 13 схемы сравнения, третий регистр 14 адреса, сумматор 15, четвертую группу элемен« тов И 16, элемент НК 17, пятый элемент ИЛИ 18, первый счетчик 19.им- 25 пульсов, четвертый элемент ИЛИ 20, пятую, шестую и седьмую группы элементов М 21.1, 21.2 и 21.3 соответственно, шестой элемент ИЛИ 22, второй счетчик 23 импульсов, с первого по . третий блоки буферных регистров группы 24.1, 24,2 и 24.3 соответственно, распределитель 25 импульсов, первый элемент И 26, второй элемент И 27, второй триггер 28, группу адресных входов 29 устройства, группу информа35 ционных выходов 30 устройства„управляющий вход 31 устройства,. вход 32 установки устройства, выход 33 признака прерывания устроиства.
Г
Первый триггер 1 предназначен для управления потоком адресов отлаживаемой программы.
Регистры 4, 6 и 14 адреса предна-: значены для приема, хранения и выдачи и-разрядного кода исполнительного адреса, поступающего параллельным кодом на группы адресных входов регистров.
Счетчик 7 адреса служит для хране- 50 ния адреса программы, который может инкрементироваться и декрементироваться.
Схемы 9, 12 и 13 сравнения пред- назначены для сравнения адресов и вы- бэ работки сйгнала "Равно".
Сумматор 15 предназначен для вы- . полнения операции сложения, Счетчик 19 импульсов предназначен для счета импульсов и обнуляет свое значение по установочному входу.
Счетчик 23 импульсов (кольцевой) предназначен для счета импульсов и вырабатывает сигнал на выходе при его переполнении.
Группа блоков 24 буферных регистров состоит из п-регистров, предназначенных для приема, хранения и выдачи и-разрядного параллельного кода. На каждом входе всех регистров установлены элементы И на три входа.
Первые входы- всех элементов И объеди" иены и являются входом записи блока.
Вторые входы элементов И также объединены н образуют группу управляющих входов. Третьи входы каждого элемента И объединены в группу информационных вхопов блока„, Распределитель 25 импульсов предназначен для коммутации информации, которая поступает в группу блоков буферных регистров.
Второй триггер 28 предназначен для формирования сигнала прерывания устройства.
Ю
Устройство работает следующим образом.
Адрес начальной команды, поступающий по входу 29 через группу элементов И 2, записывается в счетчик 7 адреса и первый регистр 6 адреса.
После того, как адрес начальной ко« манды запишется в регистр 6, сигнал; с выхода элемента ИЛИ 11 устанав-. ливает триггер 1 в состояние "1" ° В результате, группа элементов И 2 запирается и открывается группа элементов И 3. Такое состояние тригге- ра 1 сохраняется до тех пор, пока устройство не будйт установлено в исходное состояние.
Адрес следующей команды со входа
29 через группу элементов И 3„ запоипившись во втором регистре 4 адреса, поступает на первые входы трех схем сравнения 9, 12 и 13 и на вход первого элемента ИЛИ 8. На выходе первого элемента ИЛИ 8 появляется сигнал, который увеличивает содержимое счетчика 7 адреса на единицу.
На второй вход первой схемы 9 сравнения с выхода счетчика 7 адреса по-. ступит увели:енный на единицу адрес предыдущей команды. В зависимости от результата этого сравнения ре1439601 ализуются два режима работы устройства.
Первый режим работы устройства.
Если содержимое второго регистра 4 равно содержимому счетчика 7 (т.е, в ЭВМ выполняются команды с последовательными адресами), то схема 9 сравнения вырабатывает сигнал логического 0", и устройство переходит в режим ожидания изменения . в ЭВМ команды.
Работа устройства в данном случае соответствует выполнению в ЭВМ непрерывной цепочки команд с последовательными адресами. При этом содержимое регистра 6 определяет первую команду (нижний адрес набора адресов команд) набора выполненных команд, а на счетчике 7 происходит 20 увеличение верхней границы набора адресов команд.
В том случае, когда содержимое с счетчика 7 и регистра 4 не равны (т.е. адрес последующей команды отличается от предыдущего на число, отличное от единицы), работа уст.ройства соответствует переходу в
I программе от одного линейного набора команд к другому. В этом случае схема 9 сравнения вырабатывает сигнал логической "1", который, перехо- дя через элемент ИЛИ 10, уменьшает содержимое счетчика 7 адреса на еди- ницу (производят возврат к адресу команды, от которой производится передача управления в программе). Кроме тога, по этом - же сигналу схема 12 сравнения производит сравнение нижнего адреса исполненного набора адре40 сов команд с вновь поступившим из регистра 4 адреса (нижний адрес новой последовательности адресов команд).
В этом случае осуществляется второй режим работы.
Если содержимое регистра 4 не рав45 но содержимому регистра 6 (т.е. переход программы от одного набора адресов команд к другому не является циклическим), то элемент 12 сравнения вырабатывает логический "0", который инвертируется элементом НЕ 17 через элемент ИЛИ 18, увеличивает содержимое счетчика 23 на единицу, открыва-. ет элементы И группы 21, элемент
И 26, с выхода которого поступает сигнал на управляющий вход распреде- лителя 25 импульсv«, и на первом выходе распределителя 25 импульсов появляется ели сиги llI Сигнал с выхода элемента И 26 поступает такwe на первые входы каждого из группы 24 блока буферных регистров, что разрешает запись содержимого регистра 7 адреса в третий блок буферных регистров, содержимого регистра 6 во второй блок и содержимого счетчика
19 импульсов в первый блок. Одновременно сигнал с выхода распределителя
25 импульсов через элемент ИЛИ 22 обнуляет содержимое счетчика 19 импульсов и далее через элемент ИЛИ 20 разрешает перезапись через элемент И 5 содержимого регистра 4 в регистр 6 и счетчик 7, т.е. устройство подготовлено для приема и обработки новой последовательности адресов, нижний адрес которой записан в регистре 6.
Если содержимое регистра 4 равно содержимому регистра 6 (т.е. вновь поступивший адрес совпадает с,нижним адресом только что выполненной последовательности команд, что свидетельствует о выполнении в программе циклического участка), то схема сравнения 12 вырабатывает сигнал логической "1, который увеличивает содержимое счетчика 19 на единицу; инвертировавшись элементом НЕ 17 и не разрешает перезапись содержимого счетчика 7 адреса, регистра 6 и счет-. чика 19 в группу 24 блоков буферных регистров. Этот же сигнал поступает на первые входы сумматора 15 и элементов И 16, в результате чего содержимое счетчика 7 адреса через элементы И 16, увеличившись на единицу в сумматоре 15, запоминается в третьем регистре 14 адреса (т.е. в регистре 14 запоминается адрес первой команды, следующей за последней командой циклического участка).Кроме того, сигнал с выхода схемы 12 сравнения через элемент ИЛИ 20 и элементы И 5 группы разрешает перезапись содержимого регистра 4 в регистр 6 и счетчик 7. В дальнейшем устройство работает во втором режиме до поступления в регистр 4 адреса первой команды, следующей за последней командой циклического участка, В этом случае схема 13 сравнения вырабатывает сигнал сравнения — логическую "1", по которому содержимое счетчика 7 адреса уменьшается на единицу (т.е. восстанавливается адрес команды верхней границы циклическо1439601
Пусть на вкад устройства поступает последовательность адресов команд: аЗ а4 + 34 аЗ9 а49 аВ ав
C = 09
H.(= (О, О,... j)) Н = {0, первой записи .садеризменяется следующим га участка, производится гашение регистра 14 и через элемент ИЛИ 18 разрешается перезапись содержимого счетчика 19 импульсов, регистра 6 > = а„, а, а, а4, а, а„, а4, а,, и счетчика 7 адреса в группу 24 блоков буферных регистров. По окончании записи сигнал с элемента ИЛИ 22 обнуляет содержимое счетчика 19 импупь- а 9 ав, а 9 а9... сов и через элементы ИЛИ 20 и И 5 осуществляет перезапись содержимого Рассмотрим процесс формирования регистра 4 в регистр б и счетчик 7 последовательности записей А4 при адреса (т.е. новой нижней границы работе предлагаемого устройства. очередной последовательности адресов команд), При поступлении первой исполняемой
Счетчик 23 считает количество команды ее адрес"- а» эапоминаетсл и выведенных в группу 24 блоков буфер- регистре б адресь и счетчике 7 адреных регистров записей и выдает сигнал са. Триггер 1 в дапьнеишем обеспепереполнения при выводе m записей чивает приход следующих адресов ко(m — емкость каждого из блоков буфер- 20 манд на регистр 4 адреса, При поступных регистров). пении последаватегьности команд с
Сигнал переполнения поступает на адресами а 9 а и а4 ге;:вая схем
;:. зя схема 9 первый вход элемента И 27 и при ус- сравнения вырабатывает сигнал сргв9Э Ъ99 ловии разрешения по входу 31 устрой- пения — логический О, а содержимое ства поступает на первый :.хад триг- 26 счетчика адреса 7 увеличивается гогера 28. С прямого выхода триггера следовательно на единицу. Таким.обра28 поступает сигнал в приоритетную зом, к моменту прихода команды с адсистему ЭВМ, сообщая о заполнении ресом а содержимое регистра 6 адревсех регистров блоков 24. Нулевой, са В = аq9 счетчика 7 адреса Е = а,4, сигнал с инверсного выхода триггера о Адрес команды а изменяеГ содержимое
28 поступает на второй вход элемента счетчика 7 адреса Е = a@9 первая схеИ 26 и блокирует распределитель 25 ма сравнения вырабатывает сигнал неи и импульсов и группу 24 блоков буфер- сравнения — логическую 1, которыи ных регистров. через треч ий элемент ИЛИ 10 уменьшает
Блокировка обеспечивает сдхране- содержимое счетчика 7 на единицу, ние содержимого блоков 24 до ега пе- т.е. Е = а4, и разрешает сравнение
35 реписи через группу выходов ЗО в опе- второй схемой 12 сравнения содержиративную память ЭВИ. После переписи маго регистр- 6 с адресам а . Паскаль" содержимого блоков буферных регист- ку а Ф а 9 сигнал несравнения - паров в оперативную память ЭВМ триггер гический "0, ипвертировавшись эле28 сбрасывается сигналам по входу 32 ментом 1,Е 17, разрешает переза,.ись
40 и и тем самым подготавливает группу содержимого счетчика 19 импульсов, 24 блоков буферных регис рав к выва-, регистра 6 адреса и счетчика 7 адреду ш очередных записей. . са в соответствующие блоки группы 24
Таким образом, в оперативную па- : блоков буферных регистров. Поскольку
45 ти мять ЭВМ выведены т записей, саста-, в исходном состоянии содержимое (.49 ящих из нижнего адреса набора команд„ Н y, Hg) всех блоков 24 и счетчика верхнего адреса набора команд и чис- импульсов 19 (С) имеет вид
:ла С, характеризующего количество прохождений циклических участков: ес БО ли С = О, та участок пипейныи и, следовательно, выполняется один раз; ес-, ли С ф О, то участок циклически и и 0 ... О> а 9 9 число возвратов к нижней границе цик,лического участка равно С. Н =- (О 0 ... О), ч
3 9 9е 9 9
Особенности работы устройства при прохождении программой линейных и циклических участков прелставпепа на жпмае бпакав 24 образом: следующем римере, ?
1439601 8
a cxeMa 13 срав«ения вырабатывает признак сравнения — логическую "!".
Послед«ий сигнал гасит содержимое
5 регистра 14 и через элемент ИЛИ 10 уменьшает содержимое счетчика 7 на ! единицу, т.е. Е = ал и через элемент
ИЛИ 18 разрешает запись содержимого регистра 6, счетчика 7 и счетчика 19
1ð в группу 24 блоков буферных регистров, так что (О, 0,...,0); (a1„09 О); (а4, О,...,О) .
После вывода записи по сигналу через,элементы ИЛИ 20 и 22 и элементы
И 5 содержимое регистра 4 переписывается в регистр 6 и счетчик 7 адреса, т.е. В = а3 и Š— — а . Следующий пришедший адрес а изменяет содержимое счетчика 7 на Е = а,4, схема
9 сравнения вырабатывает сигнал срав- !5
«ения — логический "О" и устройство переходит в режим ожидания следующего адреса. Следующий адрес а . Содержимое счетчика 7 становится равным Е = а . Схема 9 сравнения выработает сигнал несравнения — логическую "1", который изменяет значение
Е, Е -- а4, разрешает сравнение схеме 12 сравнения содержимого регистра
6 В = а и адреса а . Сигнал сравнения — логическая "1" увеличивает с содержимое счетчика 19 С = 1, открывает группу элементов И 16, сумматор
15 увеличивает содержимое счетчика
7 адреса на единицу и в регистре 14 адреса запоминается адрес К = a .
Этот же сигнал разрешает запись через элемент ИЛИ 20 и группу элементов И 5 содержимого регистра 4 в регистр 6 и счетчик 7, т.е. В =.a> и
Е = а . При поступлении в последующем последовательности адресов
После вывода записей содержимое счетчика !9 импульсов обнуляется, а содержимое регистра 6 адреса и счетчика 7 адреса станет равным В = а, Е = а .
Следующий адрес а увеличивает со25 держимое счетчика 7 адреса на единицу, т.е. Е = а . Следуищий адрес аб, Е = а, схема 9 сравнения вырабатывает сигнал несравнения — "!", который уменьшает значение Е = аб, схема 12 и сравнения вырабатывает сигнал несравнения — "О", который, инвертировавшись элементом НЕ 17, разрешает перезапись содержимого регистра 6, счетчика 7 и счетчика 19 в группу 24 блоков буферных регистров, т.е.
А = а4, а, а4, а5, а4, а, а4
Н, = (0„5, 0,...,0);
Н = (, a3 0,...,0);
Н = (ад, а!, 0,...,0).
Н вЂ” (О, 5э Оь О ° ° ° О);
Hy = (а, аз, ау, О,...,О); устройство работает аналогично, содержимое регистра 6 и счетчика 7 обновляется на а с поступлением команд с адресом аэ, в этот же момент счетчик 19 импульсов увелич«вает свое содержимое «а еди«и;у, а схема
13 сравнения вырабатывает сигнал не сравнения — логический "О", не влияющий на работу устройства, Таким образом, к моменту прихода команды с адресом а5 (адрес первой команды по выходу из циклического участка) содержимое счетчика 19 будет равно С
= 5, регистра 6 В = a и счетчика 7
Е = а4.
Адрес а увелич«нает содержимое счетчика 7 адреса на единицу, т.е.
Е -- ая, схема 9 сравнения вырабатывает сигнал сравно«ия — логический "О", 40
Н5 = (а4, ад, а, О,...,О), ;и разрешает перезапись содержимоего регистра 4 в регистр 6 и счетчик 7, 45 т е. В = аб» Е = a Адрес следу щей команды а< приводит к появлению на выходе схемы 9 сравнения сигнала "1", который уменьшает содержимое счетчика ? на единицу, E = ag. Схема 12 сравнения вырабатывает признак срав50 нения — "1", содержимое счетчика 19 увеличивается на единицу, а в регистре 14 адреса записывается адрес а . Таким образом, к моменту прихода . адреса а1, содержимое счетчика адреса С = 3. Адрес а увеличивает содер" жимое счетчика 7 «а единицу, Е = а1.
Схема 13 сравнения вырабатывает сиг нал равнения "1", который через
9 1439601 элемент ИЛИ 10 изменяет содержимое ть счетчика 7, т,е. Е:= ав, гасит со- п цержимое регистра 14 н через элемент. н
ИЛИ 1S разрешает вывод очередной р записи в блоки буферных регистров 24. п
Таким образом: т
О,а1,а„
5, а, а4, А1=0, а, З, а„а, ° .,а,...
Н (О, 5, О, 3, 0,...,0};
Н = (а 1, а, а -, а,.+.0};
Н = (а1, а, а, а,...,О}.
Содержимое регистра б и счетчика
7 становится равным В =- ао, Е = аy.
Таким образом, последовательность записей А4, сформированная предлагае- ьгым устройством, имеет вид
Формула и з обретения
Устройство для контроля программ содержит первый и второй регистры адреса, первую схему сравнения, первый и второй элементы ИЛИ, счетчик адреса, первую группу элементов И и первый триггер, причем выходы элементов И первой группы соединены соответственно с информационными входами первого регистра адреса и счетчика адреса, суммирующий вход которого соединен с выходом первого элемента ИЛИ, входы которого, первые входы элементов И первой группы, первая группа входов первой схемы сравнения соединены с выходами второго регистра адреса, вход установки в "1" первого триггера соединен с выходом второго элемента ИЛИ,входы которого соединены с выходами пер вого регистра адреса, информационные выходы счетчика адреса соединены с второй группой входов первой схемы .сравнения, о т л и ч а ю щ е е с я тем,. что, целью повышения достоверности работы устройства, в него введены со второй по седьмую группы элементов И, первый и второ-" элемен И, первый и второй счетчики имульсов, вторая и третья схемы сравения, сумматор, третий регистр адеса, элемент НЕ, третий, четвертый, ятый и шестой элементы ИЛИ, второй риггер, группа блоков буферных регисгров и распределитель HMIIóëüñoâ, причем первые входы элементов И второй группы соединены с инверсным выходом первого триггера, первые входы элементов И третьей группы соединены с прямым выходом первого триггера, выходы элементов И второй группы соединены с информационными входами счетчика адреса, выходы элементов И третьей группы соединены с информационными входами второго регистра адреса, первые входы элемен" тов И четвертой группы соединены с выходами счетчика адреса, вьгход первой схемы сравнения соединен с разрешающим входом второй схемы сравнения и первым входом третьего злемен25 та ИЛИ, выход которого соединен с вычитающим входом счетчика адреса, выход второго регистра адреса соединен с первым информационным входом второй схемы сравнения и, первым информационз0 ным входом третьей схемы сравнения,второй информацнонньпг вход которои соединен с выходом третьего регистра адреса, выход второй схемы сравнения соединен с.первым входом четвертого элемента ИЛИ, с суммирующим входом
q.5 первого счетчика импульсов, с вторыми входами элементов И четвертой группы, с первым входом сумматора, входом элемента HE выход которого
40 соединен с первым входом пятого элемента ИЛИ, выход третьей схемы сравнения соединен с вторым входом третьего элемента ИЛИ, входом синхронизации третьего регистра адреса, вторым входом пятого элемента ИЛИ, вы45 ход которого соединен с суммирующим входом второго счетчика импульсов, первыми входами элементов И пятой, шестой, седьмой групг-, первым входом первого элемента И, выход которого соединен с входами записи первого, второго и третьего блоков буферных регистров группы,.- с входом пуска распределителя импульсов, выход которого соединен с входами синхронизации первого, второго и третьего блоков буферных регистров группы, входом шестого элемента ИЛИ, выход которого соединен с вторым вхо12
39601
Составитель В.Куликовский
Техред Л.Сердюкова Корректор М.Васильева
Редактор А.Ворович
Заказ 6079/49 Тираж 704 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
1i3035, Москва, Ж-35, Раушская наб., д, 4/5
- Производственно-полиграфическое предприятие, г. Ужгород, ул. Проектная, 4
)1 14 дом четвертого элемента ИЛИ, установочным входом первого счетчика импульсов, выход которого соединен с вторыми входами элементов И пятой группы, вторые входы элементов И шестой группы соединены с выходами первого регистра адреса, вторые входы элементов И седьмой группы соединены с выходами реверсивного счетчика, выходы элементов И пятой группы соединены с информационными входами первого блока буферных регистров группы, выходы элементов И шестой группы соединены с информационными входами второго блока буферных регистров группы, выходы элементов И седьмой группы соединены с третьими входами третьего блока буферных регистров группы, выход четвертого элемента ИЛИ соединен с вторыми входами элементов И первой группы, выход четвертого элемента И соединен с вторым входом сумматора, выход которого соединен с информационньм входом третьего регистра адреса, выход второ5 го счетчика импульсов соединен с пер-, вым входом второго элемента И, выход которого соединен с входом установки в "1" второго триггера, инверсный выход которого соединен с вторым
10;входом первого элемента И, группа входов адреса команд устройства со единена с вторыми входами элементов ., И второй группы и третьей группы, группа информационных выходов устig ройства соединена с выходами блоков буферных регистров группы, разрешающий вход устройства соединен с вторым входом второго элемента И, установочный вход устройства соединен
2О с входом установки в "0" второго триггера, прямой выход которого подключен к выходу признака прерывания устройства.