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

Номер патента: 1439601

Авторы: Вахнин, Дубров, Путилов, Тарханов

ZIP архив

Текст

(21) (22) (46) (72) А.н. (53) (56) АвУ 879С 06 ОСУДАРСТВЕННЫЙ НОМИТЕТ СССРПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИЙ ТОРСНОМУ СВИДЕТЕЛЬСТВ 4219936/24-2401,04.8723.1188. Бюл. У 43В.К,Тарханов, В;М.Путилов,ахнин и 0.И.Дбуров681.3(088.8)Патент США г 3931611,06 Р 11/26, онублик. 1976.торское свидетельство СССР563, кл. С 05 В 23/02,.Р 11/26, 1981.(54) УСТРОЙСТВО ДЛЯ КОНТРОЛЯ ПРОГРАММ(57) Изобретение относится к вычислительной технике и может быть использовано для контроля программ. Цельизобретения - повышение достоверности работы. Устройство позволяетисключить повторную запись в памятиустройства адресов границ циклическихучастков и организовать своевременнуювыдачу информации в оперативную память ЭВМ при заполнении памяти устройства, .что приводит к повышению на дежности устройства и сокращению объема информации о ходе выполнения программы без снижения ее достоверности. Адрес границ линейного участка и число его повторений хранятся в блоках буферных регистровТриггер управляет перезаписью нх содержимого в оперативную память ЭВМ. Устройство подсчитывает количество циклических участков, количество записей в буфер и; вырабатывает сигнал прерывания при переполнении буфера. Устройство для контроля программ содержит два триггера, семь групп элементов И, два элемента И, шесть элементов ИЛИ, блок буферных регистров, распределитель импульсов, дваЮсчетчика импульсов, счетчик адреса, три регистра адреса, инвертор,сумматор и три схемы сравнения.ил,Изобретение относится к вычислительной технике и может быть использовано при организации и тестировании программ.5Цель изобретения - повышение достоверности работы устройства и сокращение объема информации о ходевыполнения программы без сниженияее достоверности. 10На чертеже представлена структурная схема устройства,Устройство содержит первый триггер 1, вторую группу элементов И 2,третью группу элементов И 3, второйрегистр адреса 4, первую группу элементов И 5, первый регистр 6 адреса, счетчик 7 адреса, первый эле.мент ИЛИ 8, первую схему 9 сравнения,третий элемент ИЛИ 10, второй элемент 20ИЛИ 11, вторую 12 и третью 13 схемысравнения, третий регистр 14 адреса,сумматор 15, четвертую группу элементов И 16, элемент НК 17, пятый элемент ИЛИ 18, первый счетчик 19.импульсов, четвертый элемент ИЛИ 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 адреса служит для хранения адреса программы, который можетинкрементироваться и декрементироваться.Схемы 9, 12 и 13 сравнения пред-назначены для сравнения адресов и вы Бработки сйгнала "Равно",Сумматор 15 предназначен для вы-,полнения операции сложения,Счетчик 19 импульсов предназначендля счета импульсов и обнуляет своезначение по установочному входу.Счетчик 23 импульсов (кольцевой)предназначен для счета импульсов ивырабатывает сигнал на выходе при егопереполнении.Группа блоков 24 буферных регистров состоит из п-регистров, предназначенных для приема, хранения и выдачи и-разрядного параллельного кода. На каждом входе всех регистровустановлены элементы И на три входа.Первые входы всех элементов И объеди"иены и являются входом записи блока.Вторые входы элементов И также объединены н образуют группу управляющих входов. Третьи входы каждого элемента И объединены в группу информационных вхопов блока,Распределитель 25 импульсов предназначен для коммутации информации,которая поступает в группу блоковбуферных регистров.Второй триггер 28 предназначендля Формирования сигнала прерыванияустройства.Й Устройство работает следующим образом.Адрес начальной команды, поступающий по входу 29 через группу элементов И 2, записывается в счетчик 7 адреса и первый регистр 6 адреса. После того, как адрес начальной команды запишется в регистр 6, сигнал; с выхода элемента ИЛИ 11 устанав-.ливает триггер 1 в состояние "1" 1 В результате, группа элементов И 2 запирается и открывается группа элементов И 3, Такое состояние тригге-ра 1 сохраняется до тех пор, пока устройство не будйт установлено в исходное состояние.Адрес следующей команды со входа 29 через группу элементов И 3 запои- пившись во втором регистре 4 адреса, поступает на первые входы трех схем сравнения 9, 12 и 13 и на вход первого элемента ИЛИ 8. На выходе первого элемента ИЛИ 8 появляется сигнал,. который увеличивает содержимое счетчика 7 адреса на единицу. На второй вход первой схемы 9 сравнения с выхода счетчика 7 адреса по-. ступит увеличенный на единицу адреспредыдущей команды. В зависимости от результата этого сравнения ре 1439601ализуются два режима работы устройства.Первый режим работы устройства,Если содержимое второго регистра 4равно содержимому счетчика 7 (т,е,в ЭВМ выполняются команды с последовательными адресами), то схема 9сравнения вырабатывает сигнал логического 0", и устройство переходит в режим ожидания изменения. в ЭВМ команды.Работа устройства в данном случае соответствует выполнению н ЭВМнепрерывной цепочки команд с последовательными адресами. При этом содержимое регистра 6 определяет пер"вую команду (нижний адрес набораадресов команд) набора выполненныхкоманд, а на счетчике 7 происходитувеличение нерхней границы набораадресов команд.В том случае, когда содержимое ссчетчика 7 и регистра 4 не равны(т,е. адрес последующей команды отличается от предыдущего на число,отличное от единицы), работа уст.ройства соответствует переходу впрограмме от одного линейного набора команд к другому. В этом случаесхема 9 сравнения вырабатывает сигнал логической "1", который, перехо-дя через элемент ИЛИ 10, уменьшаетсодержимое счетчика 7 адреса на еди-ницу (производят возврат к адресукоманды, от которой производится пере-Здача управления в программе), Крометога, по этому же сигналу схема 12сралнения производит сравнение нижнего адреса исполненного набора адре 40сов команд с вновь поступившим из регистра 4 адреса (цижний адрес новойпоследовательности адресов команд).В этом случае осуществляется второйРежим работы,Если содержимое регистра 4 не рав 45цо содержимому регистра 6 (т.е. переход программы от одного набора адресов команд к другому це являетсяциклическим), то элемент 12 сравнениявырабатывает логический "0", которыйиннертируется элементом НЕ 17 черезэлемент ИЛИ 18, увеличивает содержимое счетчика 23 ца единицу, открыва-.ет элементы И группы 21, элементИ 26, с выхода которого поступает, ББсигнал ца управляющий вход распреде-лителя 25 импульсоц, и ца первом выходе раслределцтеля 25 импульсов появляется едцццчцый сигнал, Сигцал с выхода элемента И 26 поступает также ца первые входы каждого из группы 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 адреса уменьшается на единицу (т.е. восстанавливается адрес команды верхней границы циклическоПусть ца вход устройства поступаетпоследовательность адресов команд: а, а, аз, а 4, аЗ, а, а, ав,10 Н =- ,О, О е О)то после выводажпмое бпокоч 24образом: го участка, производится гашение регистра 14 и через элемент ИЛИ 18 разрешается перезапись содержимогосчетчика 19 импульсов, регистра б А = а, а, а, а, а, а, а, а,и счетчика 7 адреса в группу 24 блоков буферных регистров. По окончаниизаписи сигнал с элемента. ИЛИ 22 обнуляет содержимое счетчика 19 импуль- а, аб, а, асов и через элементы ИЛИ 20 и И 5осуществляет перезапись содержимого Рассмотрим процесс формированиярегистра 4 в регистр б и счетчик 7 последовательности записей А приадреса (т,е. новой нижней границы работе предлагаемого устройства,очередной последовательности адресов команд), При поступлении первой исполня:мойСчетчик 23 считает количество команды ее адрес" а запоминается ивыведенных в группу 24 блоков буфер- регистре 6 адреса и счетчике 7 адрегных регистров записей и выдает сигнал са, Триггер 1 в дальнеишем обеспепереполнения при выводе щ записей чивает приход следующих адресов ко(в - емкость каждого из блоков буфер манд на регистр 4 адреса, При поступных регистров). пении последоватегьности команд сСигнал переполнения поступает на адресами а, а и ад ге;:вая схем;:. зя схема 9первый вход элемента И 27 и при ус- сравнения вырабатывает сигнал сравбйгВВловии разрешения по входу 31 устрой- пения - логический О , а содержимоества поступает на первый вход триг; счетчика адреса 7 увеличивается гогера 28, С прямого выхода триггера следовательно на единицу, Таким,обра 28 поступает сигнал в приоритетную зом, к моменту прихода команды с адсистему ЭВМ, сообщая о заполнении ресом а содержимое регистра 6 адре"всех регистров блоков 24. Нулевой , са В = а, счетчика 7 аДреса Е = а.сигнал с инверсного выхода триггера О Адрес команды а изменяеГ содержимое28 поступает на второй вход элементасчетчика 7 адреса Е = а, первая схеИ 26 и блокирует распределитель 25 ма сравнения вырабатывает сигнал цеи циимпульсов и группу 24 блоков буфер" сравнения - логическую 1 , которыиных регистров, через третий элемент ИЛИ 10 уменьшаетБлокировка обеспечивает сохране- содержимое счетчика 7 на единицу,ние содержимого блоков 24 до его пе- т.е, Е = а 1, и разрешает сравнение35реписи через группу выходов 30 в опе- второй схемой 12 сравнения содержиративную память ЗВМ. После переписи мого регистра 6 с адресом а. Поскопь"содержимого блоков буферных регист- ку а 4 Ф а, сигнал несравцения - лоров в оперативную память ЗВМ триггер гический "О, ицвертировавшись эле 28 сбрасывается сигналом по входу 32 ментом ЕЕ 17, разрешает переза,ись10ии тем самым подготавливает группу содержимого счетчика 19 импульсов,24 блоков буферных регис.ров к выво- , регистра 6 адреса и счетчика 7 адреду ш очередных записей. . са в соответствующие блоки группы 24Таким образом, в оперативную па- блоков буферных регистров. Поскольку45умять ЭВМ выведены ш записей, состо- , в исходном состоянии содержимоеч,ящих из нижнего адреса набора команд Н , Н) всех блоков 24 и счетчикаверхнего адреса набора команд и чис- импульсов 19 (С) имеет вид:ла С, характеризующего количествопрохождений циклических участков: есиголи С = О, то участок гицейцыи и, следовательно, выполняется один раз; ес-,ЙО 01 али СО, то участок цикпическт и и и - Оу уэе 1учисло возвратов к нижней границе цик(О,лического участка равно С. 3 9Особенности работы устройства припрохождеции прогр ьа мой линейных и первой записи .содерциклическик участков преп .1:.в подла"гвпе 1 и изменяется следующимследующем примере,1439601 8а схема 13 сравнения вырабатываетпризнак сравнения - логическую "1".Последний сигнал гасит содержимое5регистра 14 и через элемент ИЛИ 10уменьшает содержимое счетчика 7 на1единицу, т,е. Е = а 4 и через элементИЛИ 18 разрешает запись содержимогорегистра 6, счетчика 7 и счетчика 19 1 О в группу 24 блоков буФерных регистров, так что(а 400). 1После вывода записи по сигналу через элементы ИЛИ 20 и 22 и элементы И 5 содержимое регистра 4 переписывается в регистр 6 и счетчикадреса, т.е, В = а 3 и Е -- а, Следующий пришедший адрес а 4 изменяет содержимое счетчика 7 на Е = а 4 схема 9 сравнения вырабатывает сигнал срав нения - логический "0" и устройство переходит в режим ожидания следующего адреса. Следующий адрес а. Содержимое счетчика 7 становится равным Е = а. Схема 9 сравнения выработает сигнал несравнения - логическую "1", который изменяет значение Е, Еа 4 разрешает сравнение схеме 12 сравнения содержимого регистра 6 В = а и адреса а, Сигнал срав-нения - логическая "1" увеличивает с содержимое счетчика 19 С = 1, открывает группу элементов И 16, сумматор 15 увеличивает содержимое счетчика 7 адреса на единицу и в регистре 14 адреса запоминается адрес К = а.Этот же сигнал разрешает запись через элемент ИЛИ 20 и группу элементов И 5 содержимого регистра 4 в регистр 6 и счетчик 7, т.е. В =.а и Е = а, При поступлении в последующем последовательности адресов После вывода записей содержимоесчетчика 19 импульсов обнуляется, асодержимое регистра 6 адреса и счетчика 7 адреса станет равным В = аЕ = а,Следующий адрес а увеличивает со держимое счетчика 7 адреса на единицу, т.е. Е = а. Следуищий адрес абЕ = а схема 9 сравнения вырабатывает сигнал несравнения - , которыйуменьшает значение Е = аб схема 12сравнения вырабатывает сигнал несравнения - "0", который, инвертировавшись элементом НЕ 17, разрешает перезапись содержимого регистра 6, счетчика 7 и счетчика 19 в группу 24блоков буФерных регистров, т,е.35 А = а 4, а а а а 4 а а 4 Н = (0 5 ОО)Н = (ааЗ, 0,0); Н = (ад а 0 ,0). Н( = (О, 5, О, 00);Нр = (а, аЗ, а, 00);устройство работает аналогично, содержимое регистра 6 и счетчика 7 обновляется на а с поступлением команд с адресом аэ в этот же момент счетчик 19 импульсов увеличивает свое содержимое на единицу, а схема 13 сравнения вырабатывает сигнал не сравнения - логический "0", не влияющий на работу устройства, Таким образом, к моменту прихода команды с адресом а 5 (адрес первой команды по выходу из циклического участка) содержимое счетчика 19 будет равно С = 5, регистра 6 В = аз и счетчика 7 Е = г,(.Адрес а увеличивает содержимое счетчика 7 адреса на единицу, т.е, Еа схема 9 сравнения вырабатывает сигнал сравн.пил - логический "0", 40 Н = (а 4, ад, а, О0)и разрешает перезапись содержимоегорегистра 4 в регистр 6 и счетчик 7, 45 т.е. В = аб, Е = аб. Адрес следующейкоманды аб приводит к появлению навыходе схемы 9 сравнения сигнала "1",который уменьшает содержимое счетчикана единицу, Е = а, Схема 12сравнения вырабатывает признак сравнения - "1", содержимое счетчика 19увеличивается на единицу, а в регистре 14 адреса записывается адреса, Таким образом, к моменту прихода. адреса а, содержимое счетчика адреса С = 3. Адрес а увеличивает содер"жимое счетчика 7 на единицу, Е = а.Схема 13 сравнения вырабатывает сиг нал равнения "1", который черезО 9 1439601элемент ИЛИ 10 изменяет содержимоесчетчика 7, т,е, Е: - аб, гасит со- пцержимое регистра 14 и через элемент нИЛИ 18 разрешает вывод очередной рзаписи в блоки буферных регистров 24. п5Таким образом: т 10 О, а, а,5, а, а 4,А 1=0, а,аб 3, аб, аб, . ,а,(О, 5, О, З, О,О);Н = (а,1, а, а-, а ,О);Н = (а 1, а 1, а, абО). Содержимое регистра б и счетчика7 становится равным В - ад, Е = а,Таким образом, последовательностьзаписей А 4, сформированная предлагае-ьгым устройством, имеет вид Формула изобретения Устройство для контроля программ содержит первый и второй регистры адреса, первую схему сравнения, первый и второй элементы ИЛИ, счетчик адреса, первую группу элементов И и первый триггер, причем выходы элементов И первой группы соединены соответственно с информационными входами первого регистра адреса и счет" чика адреса, суммирующий вход которого соединен с выходом первого элемента ИЛИ, входы которого, первые входы элементов И первой группы, первая группа входов первой схемы сравнения соединены с выходами второго регистра адреса, вход установки в "1" первого триггера соединен с выходом второго элемента ИЛИ,входы которого соединены с выходами пер вого регистра адреса, информационные выходы счетчика адреса соединены с второй группой входов первой схемы .сравнения, о т л и ч а ю щ е е с я тем,. что, " целью повышения достоверности работы устройства, в него введены со второй по седьмую группы элементов И, первый и второ" элемен И, первый и второй счетчики имульсов, вторая и третья схемы сравения, сумматор, третий регистр адеса, элемент НЕ, третий, четвертый ятый и шестой элементы ИЛИ, второй риггер, группа блоков буферных регистров и распределитель импульсов, причем первые входы элементов И второй группы соединены с инверсным выходом первого триггера, первые входы элементов И третьей группы соединены с прямым выходом первоготриггера, выходы элементов И второйгруппы соединены с информационнымивходами счетчика адреса, выходы эле"ментов И третьей группы соединены с информационными входами второго регистра адреса, первые входы элемен"тов И четвертой группы соединены свыходами счетчика адреса, выход первой схемы сравнения соединен с разрешающим входом второй схемы сравнения и первым входом третьего злемен та ИЛИ, выход которого соединен с вычитающим входом счетчика адреса, выход второго регистра адреса соединен спервым информационным входом второйсхемы сравнения и, первым информационным входом третьей схемы сравнения, -.второй информацнонньпг вход котороисоединен с выходом третьего регистраадреса, выход второй схемы сравнениясоединен с.первым входом четвертогоэлемента ИЛИ, с суммирующим входом Я 5первого счетчика импульсов, с вторыми входами элементов И четвертойгруппы, с первым входом сумматора, свходом элемента НЕ, выход которого 40соединен с первым входом пятого элемента ИЛИ, выход третьей схемы сравнения соединен с вторым входом третьего элемента ИЛИ, входом синхронизации третьего регистра адреса, вторым входом пятого элемента ИЛИ, выход которого соединен с суммирующимвходом второго счетчика импульсов,первыми входами элементов И пятой,шестой, седьмой групг., первым входом первого элемента И, выход которого соединен с входами записи первого, второго и третьего блоков буФерных регистров группь 1,. с входомпуска распределителя импульсов, выход которого соединен с входами синхронизации первого, второго и третьего блоков буферных регистров группы, входом шестого элемента ИЛИ, вь 1 ход которого соединен с вторым вхо12 39601 оставитель В.Куликовскийехред Л.Сердюкова орректор М.Васильева едактор А.Ворови каз 6079/49 ж 704 одпнсное комитета СС ВНИИПИ Го по дела 113035, Моск- Производственно-полиграфическое предприятие, г. Ужгород, ул. Проектная 11 14 дом четвертого элемента ИЛИ, установочным входом первого счетчика импульсов, выход которого соединен с вторыми входами элементов И пятой группы, вторые входы элементов И шестой группы соединены с выходами первого регистра адреса, вторые входы элементов И седьмой группы соединены с выходами реверсивного счетчика, выходы элементов И пятой группы соединены с информационными входами первого блока буферных регистров группы, выходы элементов И шестой группы соединены с информационными входами второго блока буферных регистров группы, выходы элементов И седьмой группы соединены с третьими входами третьего блока буферных регистров группы, выход четвертого элемента ИЛИ соединен с вторыми входами элементов И первой группы, выход четвертого элемента И соединен с вторым входом сумматора, выход которого соединен с информационньм входом третьего регистра адреса, выход второго счетчика импульсов соединен с пер-,вым входом второго элемента И, выходкоторого соединен с входом установкив "1" второго триггера, инверсныйвыход которого соединен с вторым 0;входом первого элемента И, группавходов адреса команд устройства со единена с вторыми входами элементов ., И второй группы и третьей группы,группа информационных выходов уст 1 б ройства соединена с выходами блоковбуферных регистров группы, разрешающий вход устройства соединен с вторым входом второго элемента И, установочный вход устройства соединен 20 с входом установки в "0" второготриггера, прямой выход которого подключен к выходу признака прерыванияустройства.

Смотреть

Заявка

4219936, 01.04.1987

ПРЕДПРИЯТИЕ ПЯ Г-4220

ТАРХАНОВ ВЛАДИМИР КОНСТАНТИНОВИЧ, ПУТИЛОВ ВИКТОР МИХАЙЛОВИЧ, ВАХНИН АЛЕКСЕЙ НИКОЛАЕВИЧ, ДУБРОВ ЮРИЙ ИСАЕВИЧ

МПК / Метки

МПК: G06F 11/26

Метки: программ

Опубликовано: 23.11.1988

Код ссылки

<a href="https://patents.su/7-1439601-ustrojjstvo-dlya-kontrolya-programm.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для контроля программ</a>

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