Устройство для проверки полноты тестирования программ
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК (51)5 G 06 F 11/26
ГОСУДАРСТВЕННЫЙ КОМИТЕТ
ПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМ
ПРИ ГКНТ СССР
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ о
О
Сд о
О
27
22
2)) (21) 4700610/24 (22) 05.06.89 (46) 23,11,91. Бюл. М 43 (71) Научно-производственное объединение
"Марс" (72) С.Л.Улыбин, A N.Ляхов и В.Н.Ерастов (53) 681,3 (088.8) (56) Авторское свидетельство СССР
М 879564, кл, G 06 F 11/26, 1981.
Авторское свидетельство СССР
hb 879563, кл. G 06 F 11/26, 1981. (54) УСТРОЙСТВО ДЛЯ ПРОВЕРКИ ПОЛНОТЫ ТЕСТИРОВАНИЯ ПРОГРАММ (57) Изобретение относится к вычислительной технике. Цель изобретения — умен ьшение аппаратных затрат. Устройство позволяет определить, прошла ли тестируемая программа по всем возможным маршрутам и использовала ли она все выде. ЯЛ, 1693607 Al ленные ей адреса, На вход 16 из адресного тракта процессора поступают адреса. На входы 17 — 24 из устройства управления процессора поступают признаки "Адрес", "Адрес команды", "Команда условного перехода","Сброс","Запись","Чтение","Информация" и "Режим", Устройство с помощью регистра 4, элемента 5 задержки, блока 6 сравнения, триггеров 7 и 8, распределителя
9 импульсов, счетчика 10, элемента ИЛИ 11, элементов И 12 — 14, мультиплексора 15 анализирует приходящие адреса, признаки и фиксирует; в ячейках блока 1 памяти— факт использования программой выделенных ей адресов; в ячейках блока 2 памяти— факт отсутствия перехода по команде условного перехода; в ячейках блока 3 памяти— факт реализации перехода по команде условного перехода. 1 ил, 1693607! г1зобретение стнос(>тся к Области выЧИСЛИтЕЛЬНОй ТЕХНИКИ и с(ОХ<8-. бЫтЬ ИСГОЛЬзова но в а п парят» ь(>: и !.14бр>4дн!Ых монитосах ДЛЯ t)PCB8>PI
ЧЯ I80T!x>K8 П08ДС) В!> 3 " > 8М" Г(Р< Д лаГэемого устройства.
Устоойство сод81зжит >пои блока 1 3 памяти, рег.!стр 4, =-лемен. 5 заp(:.Ожки, блок
6 сравнения, два триг:- оа 7 и "., распределитель 9 импульсов, счетч»(к !((, элемент
ИЛИ 11, три элемента И 12- 14, .;-,(г!ьт>4глексОр 15, входы адреса 16, ) риз(-!а 1<а "Адрес"
1 >, признака "Адре команд.!" 1&, признака
"Команда условного г:8>зехода" !!1, сброса
20, ЗаПИСИ 21, (ТЕН!4я, )2 с>(;троЙ(:ТВЭ, (4нфа(>МацИС:HH!x!Yi BXOL>, 2: устp04CTBЗ, -!XOp 2(с р8жима устройства, три информационHbfx выхода 25 — 27 устройств;.
КажДЫЙ ИЗ бЛОКОВ . — Ät П.-((мс(ТИ ИМЕЕТ с !< емкость 2 бит, гдс к — !>азряднссть адресной кон(.та(- Гы процессс".зз.
БЛОК 1 П"- 4>IT!4 rtp8Д> :"::! xHЭ-(ВН qtt> 1)I4KC>iV>Af4 0>ВК "3 0(>0 iЩ8Нt4(t ПO 1<3 1. >(ОК(,с 3>IP8CQ ИЗ адрес ног0 и оостранст!за 11 рО!(есс;3ра, 6)tot памяти пр8дназнэ !6H дл(1 фиксации фак э отсутствия г ерехода го:<0)ìBHä6 услОвнога
Lt8p8XOpB. Ьлос< > П )МГЗ I I Ilр>.=.!сэ(НЭЗ(час t6H p,f!>f ф>лксации факта реегиза . (((г> пер=хода пэ ксМЭНДЕ УСЛÎBНОГО П(. >)ехг>!)сэ, у(троей >.ВО МОХ Е-! 1>, 5 от,"! 1, с . p8X р(З>К, мах: "Начальная усГB! овкз "Р;".1!":Ота, "ВьB0EI, Реэ„с>tb ЭТГВ
В ре>киме "Начаг.ьна:;,;ста;-овка" устрой(.тво ра60T38T следу(: вцим обра:-;ом.
-lB вход 2 > режи 43 уcTpOJIcтза из . 3В>с(1 (или с тумблера н.-борно 0 -ол.- : подается
ЕДИНИЧНЬ(Й 110i6HV, !ЭГ,, ВХОГса .)ежИМа 24
УСТРОIЛС(ВЭ 6ДИНИЧНЫЙ Поте>- L,ИЭЛ Г!0> ТУ>паеТ на уГlравг>яюгц4Й в) Од муг ьтиГ>лГ,ксора 1,„> 4 разp6LLIBc: Г и pc хож„) 6!4>4(: 1-13 э (3 зь!Хов bl c>4(налов с его первой группы входоз.
На вход сброса 20 сстройс" ва из ЗВ (1 (ил и г ><ноп tt нал, который далее прохог(ит на 3:<од сброса сч6тчика i 0, Обнулля 6Го, и . -13 Г16рвый !зхс>!з>, пе()(зо(Й группы Bxcpîâ f>,J!ьтиппвксорэ 1 :i.
На г(ервом выходе;Иуг!ь-и )лвксора 15 поя-.ляется сиГнал, KOT>3pb!!4 Г>ост>уг(ает i!3 вход сбГ)оса три(гера 8. 33>)(и/м Озонтс>м ВТО!0 сиГнэла тр4ГГер 8 сб()Я :ь ва ется Б н ">>л(звО3
СОС TO Я НИ 6, . Нулевой адрес с Bh!" опа с-:етчика 10 Г! >— ступает -iB адресные зхсдь. :блсKOB 2 и 3 па(>(яти и HB второ>й вход I I эрвой I эуупп ы вхсДов мул ьтиг!лексора 1 5, Это Г ЭДрес поя вл =ется на втором Bbtxîpc . у,.ьтиплексора 1.> 4 далее поступает на адресный вход блока 1 памяти.
Из ЭВЧ (ил!4 с тумблера наборного поля) на инфОрмационный в) ОД 23 устрОйства
5 подается нулево(Й по-енциал, который г алее пьступает HB информационный вход блоков I — 3 памяти.
Из ЭВМ 1>ил((с кнопки наборного поля)
HB вхОД записи 2 устройства поДается сиГ
10 нал, который далее поступает на первый вход элемента ИЛИ 11, и .на третий, четвертый, пятый входы первой группы входов мультиплексора 15. На третьем, четвертом и пятсм выходах мультиплексора 15 появля1>5 ютсЯ сиГналы, KOTopbl6 ГtocT>>II IBfoT HB вхОДы записи блоков 1 — 3 памяти. При этом происходит заг>ись н глеЙ в нулевую ячейку блоков 1 — 3 памяти. Кроме того, на выходе элемента ИЛИ 11 появляется с>игнал, кото20 рый поступ=-.å,ò на вход >1 ." счетчика 10 и
ЗаДНИМ ФРОНТОМ УВ6ЛИЧИВЭЕт ЕГО СОДЕРЖИмое на "1", Таким образом, в реж>име "Начальная установка" обесгечивается формирование } I!3 счетчи!ке . 0 адреса следующей я-I8!4I >988K блоков i — 3 памяT(4 неОбхОДимо 2 раз подать сигнал на вход записи 21 устройства. После этого устройство готово к выполне30 ни(о режима "Работа", В рех<име "Работа" устро>лство работает следующ(4М образом, На вход режима 24 устройства из ЗВМ (или с тумблера наборного паля) подается 35 нулевой потенциал, который далее поступает на управляющий вход мультиплексора 15 И РЭЗР6(чае-; ПРОХОЖДЕНИЕ На ЭГО ВЫХОДЫ сигналов c =i a второй группы выходов. На информационный вход 23 устрсйства 3ВМ 40 (!4":I4 с тумблера наборного поля) подается 8ДиничныЙ >GT8I(i >f43/I. С ВХОДЯ Л > этот llo .енциал посгупает HB информационный вход блоков : — 3 памяти. Адреса КС! 13Нр. >4 33!4Hb!X Bb!полняемых 45 программ постугают из ЗВМ через вход ад >7 раса 16 ус ройс .ва HB информационный вход регист >а 4 и записыва:-отся в него сигнаггом из ЗВ М. проходя!щим на вход 17 признака "Адрес устройс) ва и далее на вход 50 записи регистра 4, С выхода регистра 4 адрес 00cTyf)BBТ на второй вход второй группы входов мультиплексора 15; " второго выхода мультиплексоре 15 этот адрес поступает на адресный вход блока 1! памяти. Кроме ! 5 того, сигнал с входа i г ус ройства поступает на элеме!ПГ5:=:àäåðæêè, который.задерживав) его на время, достаточное для записи информации в ре истр 4, Сигнал с выхода элемента 5 задержки поступает на третий вход второй группы входов мультиплексора 1693607 15, При этом на третьем выходе мультиплексора 15 появляется сигнал, который поступает на вход записи блока 1 памяти и записывает в ячейку блока 1 памяти адресуемую поступившим из ЭВМ адресом единицу Таким образом, адресные константы, которые использованы в процессе выполнения программы, отмечены единицей в соответствующих ячейках блока 1 памяти, Нулевая информация, сохранившаяся в ячейках блока 1 памяти по окончанию тестирования, покажет какие адресные константы не использованы программой, Если адрес, записываемый в регистр 4, является адресом команды, то на вход 18 признака "адрес команды" устройства из устройства управления ЗВМ приходит сигнал, поступающий далее на вход распределителя 9 импульсов, Последний имеет пять выходов, на которых последовательно вырабатывается единичный сигнал, Сигнал с первого выхода распределителя импульсов пОступает на вход записи триггера 7 и записывает на него информацию, поступающую на его информационный вход с выхода блока 6 сравнения, На выходе блока 6 сравнения вырабатывается "1", если содержимое регистра 4, поступающее на его первый вход, совпадает с содержимым счетчика 10, поступающим на его второй вход, При этом регистр 4 хранит адрес текущей команды, а счетчик 10 — увеличенный на "1" адрес предыдущей команды, который формируется в предыдущем цикле работы распределителя 9 импульсов. Таким образом, на триггер 7 записывается "1", если выполняются команды с последовательными адресами. Сигнал с второго выхода распределителя 9 импульсов поступает на вход "-1" счетчика 10 и вычитает из его содержимого "1". Таким образом, на счетчике 10 формируется адрес предыдущей команды, который поступает с выхода счетчика 10 на адресные входы блоков 2 и 3 памяти. Сигнал с третьего выхода распределителя 9 импульсов поступает на первый вход элемента И 14. При выполнении условного перехода в ЗВМ вырабатывается в момент дешифрации кода команд условного перехода сигнал, поступающий на вход 19 признака "Команда условного перехода" устройства. Сигнал с входа 19 устройства поступает на установочный вход триггера 8 и устанавливает на выходе триггера 8 единичный потенциал. Этот единичный потенциал поступает на второй вход элемента И 14 и разрешает прохождение сигнала с первого входа элемента И 14 на его выход, 1 30 5 Сигнал с выхода элемента И 14 поступает на вторые входы элементов И 12 и 13, первые входы которых соединены соответственно с прямым и инверсным выходами триггера 7. Если триггер 7 находится в единичном состоянии, т.е. выполняются команды с последовательными адресами, то на выходе элемента И 12 появляется сигнал, который поступает на четвертый вход второй группы входом мультиплексора 15. Этот сигнал появляется на четвертом выходе мультиплексора 15 и далее поступает на вход записи блока 2 памяти. При этом в ячейку блока 2 памяти, адресуемую адресом команды условного перехода, записывается единица, Таким образом, адреса команд условного перехода, по которым хоть один раз не осуществлен переход, отмечаются единицей в соответствующих ячейках блока 2 памяти. Если триггер 7 находится в нулевом состоянии, то на выходе элемента И 13 появляется сигнал, который поступает на пятый вход второй группы входов мультиплексора 15. На пятом выходе мультиплексора 15 появляется сигнал, который поступает на вход записи блока 3 памяти и записывает в его ячейку, адресуемую адресом команды условного перехода, единицу. Таким образом, адреса команд условного перехода, по которым хоть один раз осуществлен переход, отмечаются единицей в соответствующих ячейках блока 3 памяти, Кроме того. сигнал с выхода элемента И 14 поступает на первый вход второй группы входов мультиплексора 15, На первом выходе мультиплексора 15 появляется сигнал, который поступает на вход сброса триггера 8, сбрасывая его задним фронтом в нулевое состояние. Сигнал с четвертого выхода распределителя импульсов 9 поступает на вход записи счетчика 15 и записывает на него адрес текущей команды, приходящий на его информационный вход с выхода регистра 4, Сигнал с пятого выхода распределителя 9 импульсов поступает на второй вход элемента ИЛИ 11. На выходе элемента ИЛИ 11 появляется сигнал, который поступает на вход "+1" счетчика 10 и задним фронтом увеличивает его содержимое на единицу. Таким образом, на выходе счетчика 10 формируется увеличенный на "1" адрес текущей команды и счетчик 10 готовится к следующему циклу работы распределителя 9 импульсов, По окончанию тестирования прог-. раммы устройство переводится в режим "Вывод результатов". устройство работает следующим образом, 1Ii93607 На вход режима 24 устройства из ЗВМ (или с тумблера наборного полл) подается единичный потенциал, С входа 24 единичный потенциал поступае на управляющий вход мультиплекссра I5 и разрешает прохождение на его выходы сигналов с его первой группы входов, На вход сброса 20 устройства с ЭВЧ (или с кнОпки наборнОГО 0on51) пода8тся c»I нал, который далее проходит на вход сброса счетчика 10, обнуляя ее. Нулевой адрес с выхода счетчика 10 постуг1ает на адресные входы блоков 2 vl . Из ЭВУ (или с кнопки наборного полл) на вход чтения 22 устройства подается сигнал, которыЙ далее поступает на третий вход элемента ИЛИ 11, и на входы чтения блоков 1 — 3 памяти. При TBM на aBIxopax 25— 27 блоков 1 -3 памяти появляется информация, считанная из нулевьс< ячеек блоков 1— 3 памяти. На выходе элемента ИЛИ 11 появляется сигнал, кoTОрый постvtt 1<18T на вхоц + I счетчика 10 и задним фронтом угзеличивает его содержимое на 1". 4,аким образом обеспечивается формирование на счетчике 10 адреса следующей ячейки блоков 1 — 3 ггамяти, Для считывания всей информации, находящейся в ячейках блоков 1 — 3 памяти, необходимо 2 раз подать сигнал на вход 2 2 k устройства. Программу можно счи. ать протестированной полностью, если в процессе выполнения программа использовала все выделенные для нее адреса и проLLIëа по всем возможным маршрутам. В этом случае во всех лчейках блока 1 ItBM5ITvt, соответствующих выделенным г1рограмме адресам, должна быть единична51 и14формация, а инфОрмация, сформирОван н 1я B блоке 2 и;1мяти должна совпадать с информацией. сформированной в 1блоке ." памяти. Таким образом, предлагаемое уcTpofilcT во позволяет определить полноту тестирования программ. Формула изобретения Устройство для проверки полноты тес тирования программ, с<щержащее регистр счетчик, блок сравнения, элемент ИЛИ, дв,=блока памяти и триггер, гричем первый 1 второй входь1 блока срав11ения соединены с выходами регистра и с 1етчика соответственно, o T fl и ч а ю LL, е е с я тем, что, с целью уменьшения аппаратных затрат, оно содержит третий блок памяти, вторэй триггер, три элемента И, элемент задержки, распредели10 I- " ээ тель импульсов и мультиплексор, причем первый и второй входы первой группы информационных входов мультиплексора соединены соответственно с входом сброса устройства и выходом счетчика, третий, четвертый и пятый входы первой группы информационных входов мультиплексора и первый вход элемента ИЛИ соединены с входом записи устройства, с первого по пятый входы второй группы информационных входов мультиплексора соединены соответственно с выходом первого элемента И, выходом регистра, выходом элемента задержки, выходом второго элемента И и выходом третьего элемента И, с первого по пятый выходы мультиплексора, соединены соответственно с входом сброса первого тоиггера, адресным входом I"epBoro блока памяти и входами записи первого, второго и третьего блоков памяти, выходы которых являются информационными выходами устройства с первого по третий, вход распределителя импульсов 5IBII54PTC9 BXOQOM Ip_#_3HBI