Устройство для регистрации последовательности выполнения команд в программах
Иллюстрации
Показать всеРеферат
Изобретение относится к вычислительной технике, в частности к устройствам для регистрации результатов испытаний программ в цифровых системах обработки данных. Целью изобретения является повышение быстродействия устройства. Устройство содержит дешифратор режимов 1, четыре блока 2, 3, 11, 12 элементов И, два блока 4, 13 буферной памяти, два блока 5, 6 элементов ИЛИ, шесть элементов 7 - 10, 14, 15 И, триггер 16, два триггера 17, 18 со счетными входами, элемент 19 ИЛИ. 5 ил. I (Л N9 Од СО Од сл г.1 а
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИН дП 4 С 06 F 11/28
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К А ВТОРСКОМУ СВИДЕТЕЛЬСТВУ а
40 гO гг г) гю гг
ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР
IlO ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 3555070/ 24-24 (22) 17.02.83 (46) 30.09.86. Бюл. Ф 36 (72) А.Г.Барсуков и С.В.Назаров (53),681.3(088.8) (56) Патент Англии У 1436428, кл, G 4А, опублик. 1973.
Фарадисов В.А. и др. Комплекс аппаратных средств ЭВМ для отладки прбграмм реального времени.
Управляющие системы и машины, 1980, Ф 1., с. 49 51.
Патент Англии || 1441444, кл. С 4А, опублик. 1973.
„„SU„„1260965 А 1 (54) УСТРОЙСТВО ДЛЯ РЕГИСТРАЦИИ ПОСЛЕДОВАТЕЛЬНОСТИ ВЫПОЛНЕНИЯ КОМАНД
В ПРОГРАММАХ (57) Изобретение относится к вычислитеЛьной технике, в частности к устройствам для регистрации результатов испытаний программ в цифровых системах обработки данных. Целью изобретения является повышение быстродействия устройства. Устройство содержит дешифратор режимов 1, четыре блока 2, 3, 11, 12 элементов И, два блока 4, 13 буферной памяти, два блока 5, 6 элементов ИЛИ, шесть элементов 7
10, 14, 15 И, триггер 16, два триггера 17, 18 со счетными входами, элемент 19 ИЛИ. 5 ил.
1260965
Изобретение относится к вычислительной технике, в частности к устройствам для регистрации результатов испытаний программ в цифровы; системах обработки данных. 5
Цель изобретения — повышение быстродействия устройства путем обеспечения возможности трассировки программ большого объема, регистрации последовательности выполнения команд в программах.
На фиг. 1 приведена структурная схема устройства для регистрации последовательности выполнения команд в программах; на фиг. 2 — функциональная схема дешифратора режимов; на фиг. 3 — функциональная схема блока буферной памяти; на фиг. 4 — последовательность выполнения команд анализируемых программ; на фиг, 5 заполнение буферной памяти в различных режимах устройства.
Устройство для регистрации последовательности выполнения команд в программах содержит дешифратор 1 режимов, первый 2, второй 3 блоки элементов И, первый блок 4 буферной памяти, первый 5 и второй 6 блоки элементов ИЛИ, первый 7, третий 8, второй 9 и четвертый 10 элементы И, третий 11 и четвертый 12 блоки элементов И, второй блок 13 буферной памяти, пятый 14 и шестой 15 элементы И, триггер 16, первый 17 и второй 18 триггеры со счетными входа- З5 ми, элемент ИЛИ 19, группу входов 20 адреса перехода устройства, входы 21 кода режима работы устройства, группу входов 22 адреса команды устройства, основной 23 и дополнитель- 40 ный 24 входы и дентификации кодоврежимов устройства, вход 25 считывания устройства, выход 26 прерывания устройства и группу информационных выходов 27 устройства. 45
Дешифратор 1 режимов имеет первый 34 тактовый вход, группу информационных входов 35, второй 36 тактовый вход, второй 37 и первый 38 выходы, регистр 39 режимов, дешифра" 50 тор 40, первый 41 и второй 42 элементы И, первый 43 и второй .44 элементы ИЛИ, элемент 45 задержки, третий элемент ИЛИ 46 и третий элемент И 47. 5S
Блок буферной памяти состоит иэ группы информационных входов 28, группы информационных выходов 29, входа 30 считывания, выхода 31 признака считанной информации, первого 32 и второго 33 входов записи, элемента ИЛИ 48, элемента 49 задержки, запоминающего блока 50, счетчика 51 адреса, регистра 52 числа и блока элементов ИЛИ 53.
Дешифратор 1 работает в трех режимах. Код режима работы поступает по группе входов 35 и запоминается в регистре 39 режимов.
Код, определяющий первый режим работы, с регистра 39 поступает на дешифратор 40, на первом выходе которого появляется разрешающий потенциал, а на втором и третьих выходах— запгещающие потенциалы. Разрешающий потенциал поступает на первый вход первого элемента И 41. Поступающий сигнал по входу 34 проходит в этом случае через открытый первый элемент И 41, первый элемент ИЛИ 43 и линию 45 задержки и поступает на первый выход 38 дешифратора режимов.
При работе дешифратора 1 во втором режиме в регистр 39 режимов по группе входов 35 поступает код, который обеспечивает выработку разрешающего потенциала на втором выходе дешифратора 40 и запрещающих потенциалов на первом и третьем выходах дешифратора 40. В этом случае открывается второй элемент И 42 ° При поступлении сигнала по входу 34 он переходит через oTKpbITF>IH второй элемент И 42 и поступает на первый 43 и второй 44 рлементы ИЛИ. Пройдя второй элемент ИЛИ 44, сигнал поступает на выход 37. Через некоторое время, определяемое временем элемента 45 задержки, появляется сигнал на выходе 38 переключателя, При работе дешифратора 1 в третьем режиме в регистр режимов 39 по группе входов 35 поступает код, который обеспечивает выработку разрешающего потенциала на третьем выходе дешифратора 40 и запрещающих потенциалов на первом и втором выходах дешифратора 40. В этом случае разрешающий уровень поступает на третий элементИ 47.
При поступлении сигнала по второму 36 или по первому 34 входу он проходит через третий элемент ИЛИ 46 и третий элемент И 47 и поступает на первый43 и второй 44 элементы ИЛИ. Дальнейшая работа дешифратора аналогична его работе во втором режиме °
1260965
Блок 4 буферной памяти работает следующим образом.
В исходном состоянии счетчик адреса 51 и регистр 52 числа сброшены в нулевое состояние. Блок 4 готов к работе.
Блок 4 работает в двух режимах: записи и чтения.
В режиме записи записываемый код поступает по группе информационных входов 28, проходит через блок элементов ИЛИ 53 и фиксируется в регистре числа 52. Сигнал, поступающий по первому 32 или по второму 33 управляющему входу блока 4, проходит элемент HJIH 48 и поступает на вход записи блока 50. Это приводит к тому, что в нулевую ячейку блока 50 записывается код, находящийся в регистре 52 числа. Затем через интервал времени, определяемый элементом 49 задержки, увеличивается содержимое счетчика 51 адреса, готовя адрес для записи в блок 50 очередного кода. После заполнения блока 50 переполняется счет-2 чик 51 адреса и вырабатывается сигнал на выходе 31 блока 4 буферной памяти.
В режиме чтения сигналы на считывание накопленной информации посту- 30 лают на вход 30 блока 4. Первый сигнал поступит на вход чтения блока 50.
В этот момент содержимое счетчика адреса равно нулю. Следовательно на регистр 52 числа из блока 50 считы- 15 вается код, хранящийся по нулевому адресу. Затем через интервал времени, определяемый элементом 49 задержки, увеличивается содержимое счетчика 51 адреса, готовя адрес для чтения из 40 блока 50 очередного кода. После чтения из блока 50 последнего числа перейолняется счетчик 51 адреса.и вырабатывается сигнал на выходе 31 блока 4 буферной памяти. 45
В исходном состоянии триггеры 17 и 18 обнулены. Триггер 16 находится в единичном состоянии .На его прямом выходе установлен разрешающий потен- 50 циал, который открывает четвертый блок 12 элементов И, третий 9, четвертый 10 и пятый 14 элементы И. Первый 4 и второй 13 блоки буферной па-. мяти приведены в исходное состояние. 55
Второй блок 13 буферной памяти готов к приему адресов инструкций анализируемой программы.
Устройство для регистрации последовательности выполнения команд в программах работает следующим образом.
При работе устройства в первом режиме анализируемая программа начинает выполняться с основной программы (ОП) с первого адреса М1, который фиксируется в нулевой ячейке второго блока 13 буферной памяти.
На фиг. 4 каждый квадратик означает один адрес. Основная программа выполняется без ветвления вплоть до инструкции с адресом М4, являющейся инструкцией условного перехода. Однако условие перехода не было выполнено, поэтому управление передается по адресу М5. Далее основная программа выполняется вплоть до инструкции с адресом М8, которая является очередной инструкцией передачи управления, однако ее условие, в противоположность инструкции М4, выполняется.
Выполнение основной программы временно прекращается и управление передается на команду А1 вызываемой программы первого уровня (ВП1). Адрес перехода А1 запоминается в первой ячейке второго блока 13 буферной памяти. Запись адреса перехода производится дешифратором режимов, который вырабатывает сигнал на выходе 38.
Этот сигнал открывает первый блок 2 элементов И. Код адреса перехода с операционного регистра через открытый четвертый блок 12 элементов И поступает во второй блок 13 буферной памяти. Программа ВП1 выполняется непрерывно до инструкции А4, которая снова является инструкцией условного перехода, в которой условие перехода выполнилось. Как показано на фиг. 4, программа ВП1 переходит на инструкцию с адресом А7. Этот адрес фиксируется во второй ячейке второго блока 13 буферной памяти. Далее программа ВП1 выполняется до конца, а затем передается управление в программу ОП в то место, в котором программа ОП была прервана. Таким образом, программа ВП1 передает управление в ячейку основной программы по адресу М9. С этой команды продолжается непрерывное выполнение программы ОП вплоть до конца инструкции М18. После выполнения инструкции М18 осуществляется автоматический переход в вызываемую програм- торый обеспечивает прохождение адреса, куда передано управление, с операционного регистра через группу входов 20 адреса перехода, второй блок 6 элементов ИЛИ и четвертый блок 12 элементов И во второй блок 13 буферной памяти.
В третьем режиме работы устройст ва в блок 13 буферной памяти фиксируются адреса всех последовательно выполняющихся инструкций (фиг. 5).
В этом случае дешифратор 1 режимов вырабатывает сигналы на выходах 37 и 38 при анализе каждой инструкции анализируемой программы.
Независимо от режима работы устройства наступает такой момент, когда происходит заполнение второго блока 13 буферной памяти. В этом случае сигнал с выхода 3 1 второго блока 13 буферной памяти поступает на счетный вход триггера 17 и устанавливает его в единичное состояние.
В результате триггер 16 устанавливается в нулевое состояние, Закрываются второй 9, четвертый 10 и пятый 14 элементы И, а также четвертый блок 12 элементов И. Открывается первый 7, третий 8 и шестой 15 эле" менты И, а также третий блок 11 эле . ментов И. Потенциал с выхода первого триггера 17 проходйт Мрез элемейт
ИЛИ 19 и поступает на выход 26 прерывания устройства. Внешнее устройство, обработав прерывание, вырабатывает сигналы считывания по входу 25 устройства. Эти сигналы проходят через открытый шестой элемент И 15 и поступают на вход считывания второго блока 13 буферной памяти. В результате на группе информационных выходов блока буферной памяти, появляются ко" ды, которые проходят через первый блок 5 элементов ИЛИ и поступают на группу информационных выходов 27 устройства. Сигналы считывания по вхо-. ду 25 вырабатываются до тех пор, пока йе снимется сигнал прерывания на выходе 26 устройства. Сигнал на выходе 26 устройства снимается, когда завершается перезапись накоплейий в блоке 13 буферной памяти информации; и йа выходе 3 1 вырабатывается сигнал, устанавливающий триггер 17 в нулевое состояние. Одновременно адреса команд анализируемой программа начинают,поступать в первый блок 4 буферной памяти. Процесс заполнения первого
S 1260965 му второго уровня (ВП2) по адресу
Т1. После выполнения инструкции ro адресу Т1 программы ВП2 последовательно выполняется до инструкции Т4, которая является инструкцией условной передачи управления, у которой условие выполняется и которая передает управление первой инструкции программы ВП1. Затем программа
ВП1 выполняется линейно до инструк- 10 ции условной передачи управления, находящейся по адресу А4. При выполнении условия перехода управление передается на инструкцию по адресу А7. Дальнейшая траектория выпол- 15 нения анализируемой программы может быть прослежена по фиг. 4. Таким образом, в первом режиме работы устройства в буферной памяти фиксируются адреса инструкций, на которые 20 осуществляется передача управления.
Ячейки второго блока 13 буферной памяти последовательно заполняются адресами перехода в порядке выполнения анализируемой программы. 25
Во втором режиме работы устройства в блоке 13 буферной памяти фиксируются не только адреса перехода, но и адреса, по которым находятся инструкции, осуществившие передачу 30 управления (фиг. 5). Аналогично перному режиму работы устройства начальный адрес М1 первоначально запоминается в нулевой ячейке блока 13 буферной памяти. Так как программа ОП выполняется последовательно до инструкции М8 без передачи управления, адреса команд изменяются от М1 до М8 линейно с шагом 1. Инструкция по адресу М8 является инструкцией переда- 40 чи управления по условию, которое уже выполнилось. Адрес, откуда передано управление, и адрес, куда передано управление, фиксируются в смежных ячейках блока 13 буферной памяти.45
Это происходит следующим образом. ,Дешифратор 1 режимов с приходом сигнала по входу 34 устройства вначале вырабатывает сигнал по второму 37 выходу, который обеспечивает прохож- ур дение адреса, откуда передано управление, с. регистра контролируемой памяти через группу входов 22 адреса команды, второй блок 6 элементов ИЛИ и четвертый блок !2 элементов И во у второй блок 13 буферной памяти. Затем дешифратор 1 режимов вырабатывает сигнал по первому выходу 38, ко1260965
Формула изобретения
Устройство для регистрации после= довательности выполнения команд в про40 граммах, содержащее первый блок элементов ИЛИ, первый и второй блоки элементов И, дешифратор режимов и первый блок буферной памяти, причем группа входов адреса перехода устройства соединена с первым входом первого блока элементов И, группа входов адреса команды устройства соединена с первым входом второго блока элементов И, входы кода режима работы уст- 0 ройства соединены с информационными входами дешифратора режимов, входы идентификации кодов режимов устройства соединены соответственно с первым и вторым тактовыми входами дешифрато-gg ра режимов, информационный выход первого блока. буферной памяти соедиблока 4 буферной памяти полностью идентичен процессу заполнения второго блока 13 буферной памяти.
Таким образом, устройство одновременно реализует два пара лельных 5 процесса: процесс заполнения одного блока буферной памяти и процесс перезаписи на внешний носитель содержимого другого блока буферной памяти.
После записи в последнюю ячейку заполняемого блока буферной памяти. адреса анализируемой программы происходит переключение его в режим перезаписи накопленной информации на внешний носитель. Одновременно дру55 гой блок буферной памяти, освобожденный от информации, переводится в режим приема адресов анализируемой программы. При заполнении одного блока буферной памяти в процессе анализа программ он переводится в режим выдачи информации на внешний носитель, а на прием информации настраивается другой блок буферной памяти.
Таким образом, в предлагаемом уст
25 ройстве реализован такой алгоритм работы, который позволяет получать трасы анализируемых программ без потери информации за длительный интервал функционирования вычислительной системы. Это позволяет осуществлять откладку больших программ при использовании устройства для регистрации последовательности вь5полнения команд в программах. 35.,ен с первым входом первого блока элементов ИЛИ, о т л и ч а ю щ е е с -я тем, что, с целью повышения быстродействия, в него введены второй блок буферной памяти,. два триггера со счетными входами, второй блок элементов ИЛИ, шесть элементов И, третий и четвертый блоки элементов И, эле мент ИЛИ и триггер, причем первый выМод дешифратора режимов соединен с вторым входом первого блока элементов И, первыми входами первого и второго элементов И, второй выход дешифратора режимов соединен с вторыми входами второго блока элементов И и первым входами -третьего и четвертого элементов И, выходы первого и второго блоков элементов И соединены соответственно с первым и вторым входами второго блока элементов ИЛИ, выход которого соединен с первыми входами третьего и четвертого блоков элементов И, выходы которых соединены с информационными входами соответственно первого и второго блоков буферной памяти, вход считывания устройства соединен с первыми входами пятого и шестого элементов И, выходы которых соединены с входами считывания соответственно первого и второго блоков буферной памяти, выходы признака считанной информации первого и второго буферных блоков памяти соединены со счетными входами первого и второго триггеров, выходы которых соединены соответственно с единичным и нулевым входами триггера и входами элемента ИЛИ, выход которого является выходом прерывания устройства, прямой выход триггера соединен с вторыми входами третьего блока элементов И, первого, третьего и шестого элементов И, инверсный выход триггера соединен с вторыми входами четвертого блока элементов И, второго,четвертого и пятого элементов И, выходы первого и третьего элементов И соединены соответственно с первым и вторым входами записи первого блока буферной памяти, выходы второго и четвертого элементов И соединены соответственно с первым и вторым входами записи втОрого блока буферной памяти, информационный выход которого соединен с вторым входом первого блока элементов ИЛИ, выход которого является информационным выходом устройства.
12б0965
28
29
ФигЗ
12б0965 уачапо 0П
Ревин1
РФв иЮ
Рвкинй
Фиг.4
Жи2,5
Составитель И.Сигалов
Техред Л.Олейник Корректор Е.Сирохман
Редактор Л.Пчелинская
Заказ 5233/50 Тираж 671 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб., д. 4/5
Производственно †полиграфическ предприятие, r.ужгород, ул.Проектная, 4