Устройство для контроля хода программ
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Текст
СОГОЭ СОВЕТСКИХСОЦИАЛ ИСТИЧЕСКРЕСПУБЛИК 6 Г ГГ/2 РЕТЕНИ ПИСАН ВТОРСНО Е П:ЛЬСТ(56) . П кл. 340312. Авт по заявке кл. С 06 тент США ГГ 393556 2,5, опублик. Г 97 рское свидетельст 9 2884793/Г 8-24,ГГ/00, 980 (про во ССС отип). кодо ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССРПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ(54)(57) УСТРОИСТБО ДЛЯ КОНРОЛЯХОДА ПРОГРАММ, содержащее блок микропрограммного управления, первыйи второй блоки сравнения, первый ивторой регистры нижней границы участка программы, первый и второй регистры верхней границы участка программы, блок памяти,входной регистрадреса команд, регистр адреса текущих команд, счетчик адреса текущихкоманд, блок коммутации, группу эле.ментов И, первый и второй элементыИЛИ, причем информационный и первыйуправляющий входы блока коммутацииявляются соответственно адресным иуправляющим входами устройства, первый выход блока коммутации соединенс информационным входом регистра ад" .реса текущих команд, выходы которого соединены с входами первого элемента ИЛИ, первы": входом первогоблока сравнения и с первыми входамиэлементов И группы, второй выходблока коммутации соединен с первымиинформационными входами счетчика адреса текущих команд и входного регистра адреса команд, выходы которого соединены с входами второго элемента ИЛИ и информационным входомпервого регистра нижней границы участка программы, выходы элементов Игруппы соединены с вторыми информационными входами входного регистраадреса команд и счетчика адреса текущих команд, выход которого соединен с вторым входом первого блокасравнения и входом первого регистраверхней границы участка программы,выход второго элемента ИЛИ соединенс вторым управляющим входом блокакоммутации, первый, второй, третийи четвертый выходы блока микропрограммного управления соединены соответственно с управляющим входомрегистра адреса текущих команд, свторыми входами элементов И группы,с управляющим входом первого блокасравнения и с управляющим входом второго блока сравнения, пятый выходблока микропрограммного управлениясоединен с первыми управляющими входами первых регистров верхней и нижней границ участка программы, выходыкоторых соединены соответственно синформационными входами вторых регистров верхней и нижней границучастка программы и соответственно.с первым и вторым информационнымивходами второго блока сравнения, шестой выход блока микропрограммногоуправления соединен с первыми управляющими входами вторых регистровверхней и нижней границ участка программы, выходы которых соединены стретьим и четвертым информационнымивходами блока сравнения, первый выходпервого блока сравнения соединенс первым в м блока микропрограммного управления и первым управляю щим входом счетчика адреса текущихкоманд, выход первого элемента ИЛИсоединен с вторым управляющим входом счетчика адреса текущих команди с вторым входом блока микропрограммного управления, второй выходпервого блока сравнения. и первыйвыход второго блока сравнения соединены соответственно с третьим и четвертым входами блока микропрограммного управления, второй выход второго блока сравнения соединен с вто-рыми управляющими входами первыхрегистров верхней и нижней границучастка программы и с пятым входомблока микропрограммного управления,седьмой выход которого соединен свторыми управляющими входами вторыхрегистров верхней и нижней границучастка программы, о т.л и ч аю щ е е с я тем, что, с целью расширения функциональных возможностейустройства путем фиксации границ 1057949выполненных участков программ с подсчетом циклов, в устройство введены счетчик циклов, третий элемент ИЛИ и блок элементов ИЛИ, причем выходы вторых регистров верхней и нижней границ участка программы соединены соответственно с первым и вторым входом блока элементов ИЛИ, выход ,которого соединен с информационным входом блока памяти, восьмой выход блока микропрограммного управления соединен с управляющим входом счетчика циклов и с первым входом третьего элемента ИЛИ, выход которого соединен с управляющим входом блока памяти, второй выход второго блока сравнения соединен со счетным входом счетчика циклов, выход которого соединен с третьим входом блока элементов ИЛИ, пятый выход блока микропрограммного управления соединен с, вторым входом третьего элемента ИЛИ.1Изобретение относится к вычислительной технике и может быть использовано для организации контроля иотладки программ.Известно устройство для контроляОпрохождения программ, содержащеезонную память, которая состоит изтрех основных частей: быстродействующего запоминающего блока для хранения адресов, схем селекции и хранения адресов, схем считывания ивизуального вывода зафиксированныхадр.есов Я,Недостаток устройства заключается в малой достоверности контроля 15программ,Наиболее близким по техническойсущности к предлагаемому является устройство, содержащее блок управления, блоки сравнения, регистры 20 нижней границы участка программы, регистры верхней границы. участка программы, блок памяти, входной регистр, адреса, команд, регистр адреса текущих команд, счетчик адреса текущих 25 команд, блок коммутации, группу элементов И, элементы ИЛИ И .Однако устройство характеризуется недостаточными функциональными 2возможностями, так как не обеспечивает фиксацию границ выполненных участков программ с подсчетом циклов.Цель изобретения - расширение функциональных возможностей устройства путем фиксации границ выполнения участков программ с подсчетом циклов.Поставленная цель достигается тем, что в устройство для контроля хода программ, содержащее блок микропрограммного управления, первый и второй блоки сравнения, первый и второй регистры нижней границы участка программы, первый и второй регистры верхней границы участка программы, блок памяти, входной регистр адреса команд, регистр адреса текущих команд, счетчик адреса текущих команд, блок коммутации, группу элементов И, первый и второй элемент ИЛИ, причем информационный и первый управляющий входы блока коммутации являются соответственно адресным и управляющим входами устройства, первый выход блока коммутации соединен с информационным входом регист,ра адреса текущих команд, выходы которого соединены с входами первого5 0 15 20 25 30 35 40 45 50 55 элемента ИЛИ, первым. входом первогоблока сравнения и с первыми входамиэлементов И группы, второй выходблока коммутации соединен с первыминформацноонными входами счетчикаадреса текущих команд и входного регистра адреса команд, выходы которо"го соединены с входами второго элемента ИЛИ и информационным входомпервого регистра нижней границы уча"стка программы, выходы элементов Игруппы соединены с вторыми информационными входами входного регистраадреса команд и счетчика адреса текущих команд, выход которого соединен с вторым входом первого блокасравнения и входом первого регистраверхней границы участка программывыход второго элемента ИЛИ соединен с вторым управляющим входом бар-.ка коммутации, первый, второй, трФ.-,тий и четвертый выходы блока м 1 щра-.программного управления соеднненйсоответственно с управляющим входомрегистра адреса текущих команд, свторыми входами элементов И группы,с управляющим входом первого блокасравнения и с управляющим входомвторого блока сравнения, пятый выходблока микропрограммного управлениясоединен с первыми управляющими входами первых регистров верхней и нижней границ участка программы, выходыкоторых соединены соответственно синформационными входами вторых регистров верхней и нижней границ участка программы и соответственно спервым и вторым информационными входами второго блока сравнения, шестой выход блока микропрограммногоуправления соединен с первыми управлающими входами вторых регистров .верхней и нижней границ участка программы, выходы которых соединены стретьим и четвертым информационнымивходами блока сравнения, первый вы"ход первого блока сравнения соединенс первым входом блока микропрограммного управления и первым управляю"щим входом счетчика адреса текущихкоманд, выход первого элемента ИЛИсоединен с вторым управляющим входом счетчика адреса текущих команд.и с вторым входом блока микропрограммного управления, второй выход первого блока сравнения и первый выходвторого блока сравнения соединенысоответственно с третьим и четвертымвходами блока микропрограммного управления, второй выход второго блокасравнения соединен с вторыми управляющими входами первых регистровверхней и нижней границ участкг программы и с пятым входом блока мик"ропрограммного управления, седьмойвыход которого соединен с вторымиуправляющими входами вторыхрегистров верхней и нижней границ участкапрограммы, введены счетчик циклов,третий элемент ИЛИ и блок элементовИЛИ, причем выходы вторых регистровверхней и нижней границ участка программы соединены соответственно спервым и вторым входом блока элементов ИЛИ, выход которого соединен синформационным входом блока памяти,восьмой выход блока микропрограммного управления соединен с управляющимвходом счетчика циклов и с первымвходом третьего элемента ИЛИ, выходкоторого соединен с управляющим входом блока памяти, второй выход второго блока сравнения соединен сосчетным входом счетчика циклов, выход которого соединен с третьим входом блока элементов ИЛИ, пятый выход блока микропрограммного управления соединен с вторым входом третьего элемента ИЛИ. На фиг. 1 представлена. функциональная схема устройства для контроля хода про 1 рамм; на фиг. 2 - вариантпостроения блока управления; нафиг. 3 - алгоритм работы блока управления,Устройство состоит из блока 1 кои.мутации, счетчика 2 адреса текущихкоманд, регистра 3 адреса текущихкоманд, выходного регистра 4 адресакоманд, первого регистра 5 нижнейграницы участка программы, первогорегистра б верхней границы участкапрограммы, второго регистра 7 нижнейграницы участка программы, второгорегистра 8 вер:.ней границы участкапрограммы, элементов ИЛИ 9 и 1 О,первого блока 11 сравнения, второгоблока 12 сравнения, группы 13 элементов И блока 14 микропрограммногоуправления, счетчика 15 циклов,блока 16 элементов ИЛИ, третьего эле.мента ИЛИ 17, блока 18 памяти, адресного входа 19 и управляющего входа 2 О.Блок 14 состоит из блока 21 постоянной памяти, дешифратора 22,регистра 23 адреса микрокоманд, мо 5 1дификатора 24 адреса, входа 25 начальной установки.Блок 14 работает в соответствиис микропрограммой, записанной в блоке постоянной памяти. Обработка сигналов от других узлов устройствапроизводится модификатором.Узлы устройства выполняют, следующие Функции,На счетчике 2 устройство формирует адреса выполняемых в ЭВМ команд,на регистре 3 хранятся адреса теку"щих команд, поступающих из ЭВМ навход 19. На вход 20 поступает сигнализменения адреса команды, .В регистре4 хранится адрес нижней границы выполняемого участка программы, поступающий,или с входа 19 (через блок ),или с регистра 3 (через блок 13),Регистры 5 и 6, 7 н 8 служат для временного хранения содержимых регистра4 и счетчика 2 соответственно.Устройство работает следующим образом,В исходном состоянии (цепи установки узлов и исходное состояниене показаны, как не существенные)все регистры счетчика 2 и блок памяти не содержат никакой информации,в счетчике 15 записан код 0001,Блок 14 находится в состоянии ожидания сигнала с выхода элемента 1 О(блок алгоритма), Блок 1 подключа"ет вход 19 к входам счетчика 2 ирегистра 4,Адрес начальной команды программы по сигналу изменения адреса команды из ЭВМ записывается с входа19 в счетчик 2 и регистр 4. Послезаписи адреса в регистр 4 сигнал свыхода элемента 9 (появляющиисяпри ненулевом состоянии регистра)переключает блок 1, в результате чего последний отключает вход 19 отрегистра 4 и счетчика 2 и подключает его к входу регистра 3. Такоесостояние блока 1 сохраняется вплотьдо установки устройства в исходноесостояние, После записи в регистр4 и счетчик 2 устройство находитсяв состоянии ожидания изменения адреса команды на счетчике команд ЭВМ.Адрес следующейкоманды по сигналу изменения адреса команды черезблок 1 записывается в регистр 3 . Врезультате (при ненулевом состояниирегистра 3) сигнал с выхода элемен"та 10 увеличивает на единицу содержимое счетчика 2 и поступает на057949 5 О 15 20 25 30 35 40 45 50 55 вход блока 14, который в ответ наэтот сигнал подает управляющий сиг"нал на вход блока 11, который приэтом производит сравнение содержимых регистра 3 и счетчика 2, т,е.сравнение адреса новой команды сувеличенным на единицу адресом предыдущей команды (блок 3 алгоритма),В зависимости от результата сравнения реализуются два режима работыустройства. Если содержимое регистра 3 и счетчика 2 равно (адресапредыдущей и последующей команд отличаются на единицу, т.е. в ЭВМ вы -полняются команды с последовательными адресами), то блок 14 по сигналус соответствующего выхода бло 1 сапроиаеорит гашение регистра 3 (блок4 алгоритма) и устройство переходитв режим ожидания изменения выполняемой в ЭВМ команды (блок 14 ожидает сигнал с выхода элемента 1 О).При поступлении на регистр 3 новой команды производится добавлениеединицы в счетчик 2 и сравнение содержимого регистра 3 и счетчика 2,Если оно равно, то вновь производится гашение регистра 3 и переход к оожиданию изменения команды в ЭВМ.Работа устройства в данном случаесоответствует выполнению в ЭВМ непрерывного набора команд с последоватвдьными адресами. При этом содержимое регистра 4 определяетпервую команду (нижний адрес набораадресов команд) набора выполняемыхкоманд, а на счетчике 2 производится расширение верхней границы набора адресов команд,В том случаер если содержимоесчетчика 2 и регистра 3 не равно(т.е. адрес последующей команды отличается от адреса предыдущей командына число отличное от единицы) работаустройства соответствует переходув программе от одного набора команддругому, т.е, от одного линейногоучастка программы к другому. В этомслучае сигнал с соответствующеговыхода блока 11 уменьшает содержимоесчетчика 2 на единицу (происходитвозврат к адресу команды, от которойпроизошла передача управления) и,кроме того, этот сигнал поступаетна вход блока 4, который в ответподает управляющий сигнал на входырегистров 5 и б, .по которому в этирегистры записывается содержимоерегистра 4 и счетчика 2 (блок 6 ал7 1горитма). После чего блок 14 подает на блок 13 управляющий сигнал,по которому содержимое регистра 3записывается в регистр 4 и счетчик2 (блок 6 алгоритма), затем регистр3 устанавливается в исходное состояние (блок 7 алгоритма) . Устройство переходит в режим ожиданияпоступления в ЭВМ адреса новой команды, в регистре 4 и счетчике 2 записан нижний адрес нового набораадресов команд.В дальнейшем производитсяобработка граничных адресов набора койанд. Это вызвано тем, что при выполнении программы отдельные ееучасткициклически повторяются большое число раз. Чтобы обеспечить автоматический подсчет количества циклов и сэкономить память (не записывать в нее одни и те же границы прициклическом повторении набора команд)количество повторений набора командФиксируется на счетчике 15. Устройство при этом работает следующим образом,ь,После передачи содержимых регистра 4 и счетчика 2 в регистры 5 и,6 блок 14 подает управляющий сигнална блок 12, который производит сравнение содержимого регистров 5 и 6соответственно с содержимыми реги стров 7 и 8. В том случае, когда содержимое регистра 5 равно содержимому регистра 7 и содержимое регистра 6 равно содержимому регистра 0579498, с соответствующего выхода блока12 производится гашение регистров5 и 6 и добавление единицы в счетчик 15, Кроме того, сигнал равен ства содержимых указанных регистровпоступает в блок 14, который в ответпереходит в режим ожидания изменения выполняемой в ЭВМ команды (блок9 алгоритма),ОВ том случае, когда не равно содержимое регистров 5 н 7 или регистров 6 и 8, или имеют место обанеравенства, сигнал с соответствую щего выхода блока 12 поступает вблок 14, который в ответ сначалаподает управляющий сигнал на регистры 7 и 8 и элемент 7, по которомусодержимое этих регистров записыва ется в блок 18 (блок 9 алгоритма).После этого с блока 14 подаетсяуправляющий сигнал на счетчик 15и элемент 17. В результате через блок16 в блок 18 записывается содержи мое счетчика (блок 10 алгоритма).После этого блок 14 переходит в состояние ожидания смены команд в ЭВМ.В блоке 18 информация о границахнаборов команд и информация о колиЗ 0 честве циклов наборов команд записана в той последовательности, в которой эти наборы команд выполнялисьПредлагаемое устройство имеетрасширенные функциональные возмож ности, так как обеспечив ает фиксацию пути прохождения программы.1057949К 11 От 11 огород ВНИ Тир лиал ППП "Патент", Ужгород,ул.Проектная,4
СмотретьЗаявка
2952139, 30.06.1980
ПРЕДПРИЯТИЕ ПЯ Г-4677
КОРБАШОВ ЮРИЙ МИХАЙЛОВИЧ, СЕМИН КОНСТАНТИН ВАСИЛЬЕВИЧ, УСКОВ ВЛАДИМИР ИВАНОВИЧ
МПК / Метки
МПК: G06F 11/26
Опубликовано: 30.11.1983
Код ссылки
<a href="https://patents.su/6-1057949-ustrojjstvo-dlya-kontrolya-khoda-programm.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для контроля хода программ</a>
Предыдущий патент: Резервированный генератор тактовых импульсов
Следующий патент: Устройство для сбора и обработки информации
Случайный патент: Устройство для определения кривизны наклонных скважин