SU849218A1 - Устройство дл отладки программ - Google Patents

Устройство дл отладки программ Download PDF

Info

Publication number
SU849218A1
SU849218A1 SU792842043A SU2842043A SU849218A1 SU 849218 A1 SU849218 A1 SU 849218A1 SU 792842043 A SU792842043 A SU 792842043A SU 2842043 A SU2842043 A SU 2842043A SU 849218 A1 SU849218 A1 SU 849218A1
Authority
SU
USSR - Soviet Union
Prior art keywords
input
output
register
command
block
Prior art date
Application number
SU792842043A
Other languages
English (en)
Inventor
Аркадий Яковлевич Аврукин
Нина Михайловна Мелешко
Владимир Викторович Хорошавин
Марк Яковлевич Черп
Марк Ефимович Неменман
Original Assignee
Предприятие П/Я М-5339
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Предприятие П/Я М-5339 filed Critical Предприятие П/Я М-5339
Priority to SU792842043A priority Critical patent/SU849218A1/ru
Application granted granted Critical
Publication of SU849218A1 publication Critical patent/SU849218A1/ru

Links

Description

(54) УСТРОЙСТВО ДЛЯ ОТЛАДКИ ПРОГРАММ
1
Изобретение относитс  к вычислительной технике и может быть использовано в ЭВМ дл  автоматической отладки программ.
Известно устройство дл  отладки программ, содержащее пам ть типа ОЗУ, куда при отладке записываютс  адре- ; са условных и безусловных переходов 1 .
Известно устройствоj в котором на двух регистрах запоминаютс  адреса двух последних переходов 2.
Известно также устройство, в котором отладка программ.осуществл етс  путём передачи управлени  с уровн  программы отладчика на уровень отлаживаемой программы, выполнени  одной команды отлаживаемой программы , запоминани  информации о. состо нии отлаживаемой программы в блоке хранени  и возврата управлени  на уровень программы отладчика . Дл  этого устройство содержит триггер сбо , триггер автоматического переключени , триггеры возврата, четыре р да клапанов и логические схемы И, ИЛИ и НЕ 3 .
Недостатком этих устройств  вл етс  то, что в них регистрируют
только один из многих возможных типов программных событий, сведени  в которых нужны при отладке программ .
, Наиболее близким к изобретению по техническойсущности  вл етс  устройство регистрации программных событий , позвол ющее зарегистрировать, а затем сообщить управл ющей прог10 рамме сведени  о поступлении таких событий, происшедших в ходе выполнени  команды отлаживаемой программы, как выборка команды из заданной области оперативной пам ти, изменение содержимого заданных  чеек оперативной пгю1 ти, изменение содержимого заданныхрегистров общего, назначени  и успешное выполнение команды перехода. Анализ наступлени 
20 первых трех типов событий njioHsaoдитс  перед выполнением команды, анализ успешного выполнени  команды перехода производитс  после выполнени  команды. Устройство работает
25 непосредственно с процессором ЭВМ и содержит блок управлени , местную пам ть, регистр команд, коммутатор и буферный регистр, первый вход которого соединен с первым выходом
30 коммутатора, второй вход соединен .
с первым выходом блока управлени , а первый выход соединен с первьом входом местной пам ти, второй вход которой соединен с вторым выходом узла управлени , а выход соединен с третьим входом буферного регистра второй выход которого соединен с первым входом коммутатора, второй вход которого соединен с первым выходом регистра команд, первый вход которого соединен с третьим выходом узла управлени , первый вход которого соединен с вторым выходом регистра команд, второй вхо которого соединен с вторым выходом коммутатора, третий вход которого через первую входную шину устройства соединен с выходом KOMiviyTaTopa процессора ЭВМ, вход которого через первую выходную шину устройства соединен с третьим выходом коммутатор четвертый вход которого соединен с четвертым выходом блока управлени  п тый выход которого через вторую выходную шину устройства соединен, с входом устройства управлени  процессора ЭВМ, выход которого через вторую входную шину устройства подаетс  на второй вход блока управлени .
В. этом устройстве регистраци  изменени  содержимого заданных  чее оперативной пам ти и заданных регистров общего назначени  производитс  как и регистраци  выборки команды из заданной области оперативной пам ти, перед выполнением команды путем моделировани  ее выполнени  4 .
Однако анализируемые событи  могут происходить не в каждой команде Дл  исключени  анализа невозможных событий используютс  модификаторы возможных событий дл  каждой команды , которые хран тс  в местной пам ти , .что увеличивает ее объем. Кроме того, управл ющей программе в ходе выполнени  отлаживаемой программы необходиь/ш сведени  о наступлении изменени  содержимого заданных регистров с плавающей точкой и выполнени  команды с заданным кодом операции , а также некоторой предЫстории в виде последовательности команд , выполн ющихс  процессором ЭВМ перед текущей командой, чего же позвол ет сделать известное устройСТВО . Цель изобретени  - расширение функций устройства за счет обеспечени  возможности фиксации событий, св занный с изменением содержани  регистров и группы  чеек пам ти.
Поставленна  цель достигаетс  тем, что в устройство,, содержащее блок управлени , блок местной пам ти , регистр команд, коммутатор и буферный регистр, причем первый, второй и третий выходы коммутатора соединены соответственно с первым входом буферного регистра, первым
выходом устройства и первым входом регистра команд, первый и второй выходы которого соединены соответственно с первым входом коммутатора и. первым входом блока местной - пам ти, первый, второй, третий, четвертый и п тый выходы блока управлени  соединены соответственно с вторым входом буферно о регистра вторым выходом устройства, вторым
- входом коммутатора, вторым входом регистра команд, вторым входом блока местной пам ти, выход которого соединен с третьим входом буферного регистра, первый и второй выходы буферного регистра соединенные соответственно с третьим входом коммутатора и третьим входом блока местной пам ти, первый и второй входы устройства соединены соответственно с четвертым входом коммутатора
0 и перВЕам входом блока управлени , введены дешифратор, узел регистрации и блок стековой пам ти, причем третий выходрегистра.команд соединен с входом дешифратора, выход
5 которого соединен с вторым входом блока- управлени , шестой и седьмой выходы блока управлени  соединены соответственно с первым входом : блока стековой пам ти и входом узла
.. регистрации, .выход- которого соединен с третьим входом блока управлени , выход блока стековой пам ти соединен с четвертым входом буферного регистра, третий выход которого соединен с вторым входом блока стековой пам ти.
Кроме того, блок управлени  содержит формирователь адреса микрокоманд , регистр адреса микрокоманд, блок пам ти микрокоманд, регистр микрокоманд и дешифратор, причем выход формировател  адреса микрокоманд соединен с входом регистра микрокоманд, выход которого соединён
с входом блока пам ти микрокоманд/ выход блока пам ти микрокоманд соединен с входом регистра микрокоманд, первый и второй выходы которого соединены соответственно с первым входом формировател  адреса микрокоманд и первым входом дешифратора, первый выход дешифратора соединен с вторым входом формировател  адреса микрокоманд, остальные выходы
дешифратора образуют группу выходов блока, первый, второй и третий входы блока соединены с третьим, четвертым и п тым входами формировател  адреса микрокоманд, второй и
третий входы блока соединен с вторым и третьим входом дешифратора.
На фиг.1 представлена блок-схема устройства дл  отладки программы; на фиг.2 - блок управлени ; на фиг.З - блок местной пам ти; на
фиг.4 - стекова  пам ть; на фиг.З узел регистрации; на фиг.6 - коммутатор .
Устройство содержит блок 1 управлени , блок 2 местной пам ти, регистр 3 команд, коммутатор 4, буферный регистр 5,.дешифратор 6, узел 7 регистрации, блок 8 стековой пам ти, входы 9 и 10 устройства и выход 11 и 12 устройства.
Блок 1 управлени  (фиг.2) предназначен дл  управлени  устройством и содержит формирователь 13 адреса микрокоманд, регистр 14 адресов микрокоманд, блок 15 пам ти микрокоманд, регистр 16 микрокоманд , дешифратор 17, входы 18-20. и выходные 21-27 блоки. На п тый вход формировател  13 адресов микрокоманд и второй вход дешифратора 17 через вход 18 блока 1 управлени , который соединен с вторым входом 10 удтройства, поступают управл ющие сигналы процессора. На четвертый вход.формировател  13 адресов микрокоманд и третий вход дешифратора 17 через вход L9 подаетс  информаци  .с выхода узла 7 регистрации. На тртий вход формировател  13 через третий вход 20 поступает информаци  с выхода дешифратора 6. Выход формировател  13 соединен с входом регисра 14, выход которого подаетс  на вход блока 15. Выход блока 15 соединен с входом регистра 16 микрокоманд , с первого выхода которого информаци  поступает на первый вход формировател  13, а с второго выхода - на первый вход дешифратора 17. Выходы дешифратора 17 через выходы 21-26 блока соединены с входами буферного регистра 5, блока 2, регистра 3 команд, комму-татора 4, блока 8 узла 7 регистрации, соответственно, а через выход 27 с второй выходной шиной l2 устройства - с входом устройства управлени  ЭВМ.
Блок 2 местной пам ти (фиг.З) предназначен дл  хранени  заданных кодов команд, начального и конечного значений адресов дл  каждого тип регистрируемых программных событий, номеров регистров общего назначени  и с плавающей точкой и кодов прерываний и содержит регистр 28. адреса, коммутатор 29, регистр 30 данных, и узел 31 хранени  информации, выполненный по принципу полупроводникового бипол рного запоминающего устройства на интегральных схемах и содержащий п интегральных схем (по числу разр дов в запоминаемом слове), кажда  из которых включает в себ  дешифратор 32 х, дешифратор 33 у, усилители-Формирователи записи и усилители 34 считывани  и запоминающую триггерную матрицу 35. Входами блока местной пам ти  вл ютс  шины 36, по которым поступают адреса и управл 1пиие сигналы из блоков 37 и 38 управлени ,св зывающие блок 2 с регистром 3 и буферным регистром 5. Выходом блока 2  вл етс  шина 39, по которой ч информаци  поступает на вход буферного регис тра 5 (фиг.1).
Стекова  пам ть 8 (фиг.4) предназначена дл  хранени  адресов команд , выполн ющихс  последними, и состоит из счетчика 40 стека, узла 41 хранени  информации (фиг.З),
0 шины 42,  вл ющейс  входом стековой пам ти 8 от блока 1 управлени  (фиг.1), шины 43, котора  соедин ет стековую пам ть 8 с буферным регистром 5, и выходной шины 44, сое5 дин ющей выход стековой пам ти 8 с входом буферного регистра 5.
Узе.л 7 регистрации (фиг. 5) предназначен дл  хранени  масок программных событий, подлежащих регистрации
0 и признаков происшедших событий. В него вход т триггер 45 режима регистрации , триггер 46 наступлени , событи , триггер 47 маски регистрации выборки команды-из заданной области оперативной пам ти, триггер 48 маски
5 регистрации изменени  заданных  чеек оперативной пам ти, триггер 49 маски регистрации успешного выполнени  команды перехода, триггер 50 маски регистрации выполнени  команды с за-,
0 данным кодом операции, триггер 51 маски регистрации изменени  содержимого заданных регистров общего назначени , триггер 52 маски регистрации изменени  содержимого заданных регис5 тров с плавающей точкой, триггер 53 регистрации обращени  к оперативной пам ти 53, триггер 54 регистрации обращени  к регистру общего назначени , триггер 55 регистрации обращени  к регистру с плавающей точ0 кой, триггер 56 успешного выполнени  команды перехода, входна  шина 57, соедин юща  узел 58 регистрации масок событий с выходом блока 1 управлени  (фиг.1).
5
Коммутатор (фиг.6) состоит из трех элементов И, одного элемента ИЛИ, имек цего три эквипотенциальных выхода, вход 59 от буферного регист0 ра 5, вход 60 от регистра 3 команд, вх:од 61, соединенный с входом 9 устройства , вход 62 от блока 1 управлени , выходы 63-65, соединенньае с входами буферного регистра 5, ре5 гистра 3 команд и выходом 11 устройства , соответственно.
Устройство работает следующим образом.
В систему команд ЭВМ ввод тс 
0 п ть дополнительных команд, которые . дешифрируютс  дешифратором 6 и выполн ютс  под управлением блока 1. Перва  команда имеет вид
nzimzi
м
КОП
65
Она поступает на регистр 3 команд с выхода коммутатора 4, на который она подаетс  с первого входа 9 устройства . Код команды с выхода регистра 3 подаетс  на дешифратор 6 и с его выхода на вход блока 1 управлени , который начинает выполнение этой команды. Выполнение начинаетс  с того, что поле модификатора М подаетс  на вход дешифратора 6 с выхода , регистра 3 команд. В зависимости от значени  модификатора М блок 1 управлени  формирует адреса блока 2. Адресное поле А команды с первого выхода регистра 3 через коммутатор 4 и выход 11 подаетс  в процессор, где по сигналам от блока 1, ид5,тдим по второй выходной шине 12 на вход устройства управлени  процессора, последнее формирует присущим дл  данной ЭВМ способом значение адреса А в адресном регистре процессора.
Сформированный адрес с выхода адресного регистра процессора через коммутатор процессора, первый вход 9 и коммутатор 4 подаетс  на вход буферного регистра 5. С выхода регистра 5 этот адрес поступает в регистр 30 данных и блок 2 по шине через коммутатор 29. Через коммутатор 29 в регистр 30 заноситс  также значение модификатора с выхода регистра 3. По шине -36 на вход блока 2 поступают от блока 1 управл ющие сигналы в коммутатор 29, команда записи - в узел 31 хранени  информации и адрес - в регистр 28 адреса. Таким образом, сформированное, слово вида
Н I А,|
записываетс  в блок 2 по адресу, определ емому значением модификатора М. Затем с выхода регистра 3 команд адресное поле команды Aj через коммутатор 4 и первый выход 11 поступает в процессор, где формируетс  адрес и поступает в буферный регистр 5. С выхода регистра 5 этот адрес, как и А, записываетс  совместно с модификатором М в блок 2. В результате , в блоке 2 хранитс  информаци  вида
гч
U
- адреса, соответи а.
0
где
2.-И ствующие 1-му типу событий;
,2,3, дл  , дл  , дл  , дл  ) . Параллельно с формированием информации в блоке 2 в узле 7 производитс  установка в 1 различных триггеров в зависимости от значени  модификатора М. Модификатор М может принимать только четыре значени : ,2,4 и 8.
Если ,2 или 4, блок 1 вырабатывает сигнал установки в i триггера 45. Кроме того, если , устанавливаетс  в триггер 47. Если , устанавливаетс  в i триг . гер 48. Если , устанавливаетс  в э « 1- I t триггер 49. На этом выполнении команды дл  значений ,2 или 4 заканчиваетс .
Если , триггер 45 не устанавливаетс . Значение А из 2 подаетс 
в регистр 5, с его выхода через коммутатор 4 и первый выход 11 поступает в адресный регистр процессора. Адрес А определ ет начальный адрес пол  Оперативной пам ти процессора,
5 в которое передаетс  содержимое
блойа 8 устройства. После этого слово блока 8 по адресу, определ емому значением счетчика 40, считываетс  из узла 41 по выходной шине 44 в буферный регистр 5. С .выхода регистра 5 слово через коммутатор 4 по выходной шине 11 подаетс  на регистр данных оперативной пам ти процессора. Значение счётчика 40 стека уменьшаетс  на единицу, а в операционную пам ть по адресу в адресном регистре процессора записываетс  слово, наход щеес  в регистре данных оперативной пам ти. Содержимое адресного реQ гистра процессора подаетс  на первый вход арифметико-логического устройства процессора (АЛУ).
Значение адреса А с выхода блока 2 через буферный регистр 5, ком- мутатор 4, выходную шину 11 и коммутатор процессора подаетс  на второй вход АЛУ. По сигналам от блока 1 управлени  устройство управлени  процессора задает операцию вычитани  значени  адреса на первом входе АЛУ
0 из значени  AQ на втором входе. Результат вычитани  сообщаетс  блоку 1. Если результат нулевой, т.е. адреса совпадают, на этом выполнении команды заканчиваетс . Если резуль-
5 тат не нулевой, блок 1 управлени  вызывает модификацию адреса в адресном регистре процессора на величину одного слова оперативной пам ти присущим данному процессору способом.
Q Далее в регистр данных оперативной пам ти процессора поступает сл.едующее слово блока 8 и записываетс  в оперативную пам ть по адресу в адресном регистре. Счетчик 40 стека, уменьшаетс  на единицу. Адрес в адресном регистре процессора сравниваетс  со значением адреса Аа,  вл ющегос  конечным адресом пол  оперативной пам ти процессора, в которое переписываетс  содержимое блока 8.
0 Выполнение команды заканчиваетс , когда адрес в адресном регистре процессора становитс  равным адресу Ai.
Разность А-ц-А может принимать
5 значени  (в единицах, равных величине слова), от О до т-1 (где m - глубина стековой пам ти).
Таким образом, можно .считать в оперативную пам ть процессора либо часть стековой пам ти, либо все m слов.
Втора  команда имбет вид
где R. - номер регистров общего назначени  в командах с кодами КОП ;
R. - номер регистров с плавающей точкой в- командах с кодами КОП ..
При выполнении этих команд, как и при выполнении команды с кодом КОП, в блоке 2 по адресам, соответствующим коду команд, запоминаетс  информаци 
В узле -7 при выполнении обеих котригманд устанавливаетс  в
гер 45. Кроме того, дл  команды с кодом КОП устанавливаетс  в Ч триггер 51, а дл  команды с кодом КОП, устанавливаетс  в 1тригге 52. Как и в команде с кодом КОП, 11 дреса, определ емые кодом команды. Дл  команды с кодом дл  команды с кодом КОП , дл  команды с кодом КОП, .
П та  команда имеет вид
I KOng
М
После дешифрации кода операции дешифратором 6 на него подаетс  модификатор Ми, В зависимости от значений битов модификатор, блок 1 управлени  производит следующие действи  в узле 7 регистрации:
Если бит О модификатора равен
в О
О, сбрасываетс  гер 47.
Если бит 1 модификатора равен
О
0, сбрасываетс  в
триггер 48.
Если бит 2 модификатора равен О, сбрасываетс  в О триггер 49.
Если бит 3 модификатора равен О, Сбрасываетс  в О триг , гер 50.
Если бит 4 модификатора равен О , сбрасываетс  в О триггер 51. .
Если бит 5 модификатора равен
О
, сбрасываетс  в
тригo гер 52.
Если модификатор М весь нулевой или в ходе выполнени  команды все триггеры 47-52 маски оказываютс  сброшенными в О, сбрасываетс 
5 в О триггер 45 режима регистра:7 ции. Больше в команде никаких действий не производитс .
Перед выборкой любой команды из оперативной пам ти процессораблок
0 1 управлени  анализирует триггер 46
в узле 7 регистрации. Если он установлен в 1 , блок 1 управлени  по второму выходу 12 посылает в устройство управлени  процессора
5 сигнал запроса на программное прерывание . Одновременно из блока 2 по фиксированному адресу считываетс  в буферный регистр 5 код прерыва-т : НИН. При входе в прерывание блок 1
Q посылает сигнал сброса в О триггера 46, а код прерывани  с выхода регистра 5 через коммутатор 4 по первому выходу 11 подаетс  в процессор .
c Если при анализе триггер 46 нахо- . дитс  в состо нии О, блок 1 управлени  анализирует триггер 45.
Если триггер в состо нии , т.е. режим регистрации задан, анализируетс  триггер 47. Если триггер
0 47 установлен в , адрес А,
соответствующий данному типу событий (это определ етс  блоком 1 управлени , который задает соответствующий адрес из блока 2), с выхода блока 2
5 через буферный регистр 5 и коммутатор 4 по вьаходу 11 подаетс  на второй вход АЛУ процессора. По сигналам от блока 1 процессор подает адрес команды, наход щийс  в адресQ ном регистре процессора, на первый вход АЛУ-и задает ь АЛУ операцию вычитани  адреса А на втором входе из- адреса команды А- на первом входе. Результат вычитани  устройство управf . лени  процессора по второму входу 10 сообщает блоку 1 управлени . Если результат неотрицателен, т.е. A,j. А, из блока 2 через регистр 5, коммутатор 4 и выход 11 подаетс  адрес А„ на второй вход АЛУ процессора,
0 соответствующий ранному типу событий . По сигналам от блока 1 управлетригни  процессор подает на первый вход АЛУ адрес команды из адресного .регистра процессора и задает операцию
5 вычитани  значени  адреса А на пер-. BOM входе АЛУ из значени  адреса А, на втором входе. Результат вычитани  устройства управлени  процессора сообщает блоку 1 управлени  по входу 10. Если результат неотрицателен , т.е. , устанавливаетс  в Ч триггер 46 в узле 7 регистрации , а в блоке 2 по фиксированному адресу формируетс  код, соответствующий данному типу событий. Блок 1 по выходу 12 посылает в процессор сигнал, разрешающий переход к выборке команды. Если при анализе триггера 47 оказываетс , что он в состо нии либо адрес команды не попадает в заданный интервал А ,A,j. , блок 1 управлени  анализирует Tprfrrep 50. Если он установлен в , производитс  анализ попадани  адреса коман ды (котора  будет выполн тьс ), наход щегос  в адресном регистре процессора , на попадание в интервал ад ресов А ,A,j , соответствующий данному типу событий k Если команда находитс  в указанной области пам ти, по адресу в адресном регистре процессора она читаетс  из оперативной пам ти в регистр данных оперативной пам ти процессора. В буферном регис ре 5 находитс  слово местной пам ти вида оставшеес  там после сравнени  адре сов. С выхода регистра 5 часть слова (КОП) через коммутатор 4 по выходу 11 подаетс  на второй вход АЛУ процессора. По сигналам от блока 1 процессор подает код операции выб ранной из пам ти команды на первый вход АЛУ и задает операцию вычитани значени  кода операции на первом вхо де из значени  кода операции на вто ром входе. Результат вычитани  процессор сообщает блоку 1 управлени  по входу 10. Если результат нулевой т.е. коды операции совпадают, устанавливаетс  в триггер 46, а в блоке 2 по фикстрованному адресу формируетс  код, соответствующий дан ному типу событий. После этого блок 1, управлени  подает в процессор по выходу 12 сигнал разрешени  перехода к выборке команды. Если значени  кодов операции не совпадают, либо команда находитс  не в указанной области оперативной пам ти, или триггер 50 находитс  в состо нии О, установка триггера 46 не производитс . Устройству управ лени  процессора разрешаетс  переход к выборке и выполнению команды, Если триггер 46 установлен в , до окончани  выполнени  данной команды регистраци  других событий , которые могут произойти в ходе ее выполнени , не производитс ,хот  соответствующие триггеры маски уста новлены в . В начале выборки команды адрес кома.нды из процессора по входной шине 9 через коммутатор 4 подаетс  в буферный регистр 5. Из регистра 5 этот адрес запоминаетс  в блоке 8 по адресу, определ емому значением счетчика 40. После записи слова в блок 8 значение счетчика 40 стека увеличиваетс  на единицу. Кроме того , если в узле 7 триггер 45 установлен в , адрес текущей команды из буферного регистра 5 запоминаетс  в блоке 2 по фиксированному адресу . Эти действи  в устройстве производ т параллельно с выборкой команды в процессоре. В ходе выполнени  команды происходит обращение к  чейкам оперативной пам ти либо к регистрам общего назначени  или с плавающей точкой с целью изменени  их содержимого. Если происходит обращение к оперативной пам ти, сигнал обращени  от устройства управлени  процессора по входу 10 поступает на вход блока 1 управлени . Блок 1 вырабатывает сигнал установки в триггера 53. Затем анализируетс  триггер 48. Есблок 1 по ли он установлен в выходу 12 посылает в процессор сигнал дл  приостановки выполнени  команды . Когда приостановка выполнени  команда произошла, устройство управлени  процессора сообщает об этом блоку 1. После этого значение адреса , по которому производитс  обращение к пам ти, из адресного регистра процессора подаетс  на первый вход АЛУ. На второй вход АЛУ подаютс  значени  адреса А и А,, соответствующие данному типу событий, и сравниваютс  со значением адреса А. Если адрес пам ти попадает в заданный интервал адресов А, А,,в регистре регистрации масок событий производитс  установка в триггера 46, а в блоке 2 запоминаетс  по фиксированному адресу код, соответствующий данному типу событий. Если триггер 48 маски в состо нии О, либо адрес пам ти не попадает в интервал адресов A,A,j, триггер 46 не устанавливаетс  и код в блоке 2 не запоминаетс . Причем, если триггер 48 маски находитс  в состо нии О, блок 1 не вырабатывает сигнал в устройство управлени  процессора на приостановку выполнени  команды. В обоих случа х (зарегистрировано событие или нет) после анализа адреса пам ти блок 1 по выходу 12 посылает в процессор сигнал на продолжение выполнени  команды. Триггер 53 в узле 7 сбрасываетс  в О,
.В одной команде может производитьс  изменение содержимого нескольких  чеек оперативной пам ти. Каждый раз адреса этих  чеек анализируютс , если задан режим регистрации этого событи . Но это происходит до тех пор, пока адрес одной из  чеек не попадет в изданный интервал. В результате устанавливаетс  в i триггер 46, а прерывани  выполнени  команды дл  анализа последующих адресов  чеек пам ти не производ тс . При обращении к регистрам общего назначени  или с плавающей точкой с целью изменени  их содержимого .сигнал обращени  от процессора через вход 10 поступает на вход блока If который вырабатывает сигнал установки в триггера 54 или 55 в зависимости от типа сигнала обращени  Затем блок 1 анализирует триггер 51 или 52 маски в зависимости от того какой триггер (54 или 55) установлен . Если соответствующий триггер маск-и установлен в блок 1 посылает по выходу 12 сигнал в процессор на приостановку выполнени  команды . После того, как приостановка произошла, о чем процессор сообщает блоку 1 сигналом по входу 10, адрес выполн емой команды из блока 2 через буферный регистр 5 и коммутатор 4 по выходу 11 подаетс  на первый вход АЛУ процессора. На второй вход АЛУ подаютс  поочередно адреса А и А., соответствующие анализируемому типу событий, и сравниваютс  с адресом текущей команды. Если адрес команды находитс  в интервале адресов А.| ,, блок 1 посылает в процессор сигналы, по которым процессор подает номер регистра, к которому произошло обращение на первый вход АЛУ. в буферном регистре 5 находитс  слово местной пам ти вида
оставшеес  после сравнени  адресов. Это слово подаетс  на вход коммутатора 4, и с его выхода по выходу 11 номер регистра R, заноситс  на второй вход АЛУ. По сигналам от блока 1 устройство процессор задает в АЛУ операцию вычитани  значени  Щ на втором входе из значени  R на первом входе и сообщает результат вычитани  блоку 1. Если результат неотрицателен , т.е. R7/R , на второй вход АЛУ подаетс  значение R и задаетс  операци  вычитани  значени  R на первом входе из значени  R на втором входе. Если результат этого вычитани  также, нертрицателен, т.е. ,., блок 1 посылает сигнал:установки в триггера 46, а в блоке 2 по фиксированному адресу запоминаетс  код, соответствующий данному типу событий.
Если соответствующий триггер маслибо текуки не установлен в
ща  команда не находитс  в заданной области пам ти, либо номер регистра не попадает в интервал R,, RJ,триггер 46 не устанавливаетс  и код прерывани  не формируетс . Кроме того, если при анализе оказываетс , что триггер маски в состо нии О, блок 1 не вырабатывает сигнал в процессор на приостановку выполнени  програмo мы.
В обоих случа х (зарегистрировано событие или нет) блок 1 посылает по выходу 12 сигнал в процессор дл  продолжени  выполнени  команды и
15 сбрасывает в О триггер 54 или 55. В одной команде может происходить изменение содержимого нескольких регистров. Номера этих регистров анализируютс  цо тех пор, пока
0 номер одного из них не попадает в . интервал R , Щ . В результате установлен в триггер 46, и последующие приостановки выполнени  команды дл  анализа номера регистра не производ тс .
5
В случае успешного выполнени  команды перехода сигнал об этом, вырабатываемый в процессоре, подаетс  в блок 1 по входу 10. Блок 1 устанавливает в Ч триггер 56. После
0 окончани  выполнени  команды бло
Iанализирует триггер. 49. Если он установлен в , адрес команды перехода из блока 2 через буферный регистр 5 и коммутатор 4 по выходу
5
IIподаетс  на первый вход АЛУ процессора . На второй вход АЛУ поочередно подаютс  адреса А., и А,, соответствующие данному типу событий, и сравниваютс  с адресом команды. Если
0 команда перехода находитс  в заданной области оперативной пам ти, т.е. ее адрес попадает в интервал А 2.J и триггер 56 установлен в , устанавливаетс  в триггер 46, и в блоке 2 по фиксированному адресу
5 запоминаетс  соответствующий данному событию код. В противном случае триггер 46 не устанавливаетс  и код в местной пам ти не запоминаетс .
Изобретение позв.ол ет ЭВМ самой
0 регистрировать непредусмотренное изменение пам ти и программно-доступ- . ных регистров. Причем отлаживаема  программа может выполн тьс  совместно с другими программами, если ЭВМ
5 работает в многопрограммном 1 ежиме. По сравнению с прототипом врем  на отладку сокращаетс  в 1,5-2 раза.
Экономический :ффект составл ет 40000 руб в год.
0

Claims (4)

  1. Формула изобретени  .
    Устройство дл  отладки программ, содержащее блок управлени , блок
    65
    местной пам ти, регистр команд, коммутатор и буферный регистр, причем первый, второй и третий выходы коммутатора соединены соответственно с первым входом буферного регистра, первым выходом устройства и первым входом регистра команд, первый и второй выходы которого -соединены соответственно с первым входом коммутатора и первым входом блока местной пам ти, первый, второй, третий ,четвертый и п тый выходы блока управлени  соединены соответственно с вторым входом буферного регистра,вторым выходом устройства, вторым входом коммутатора, вторым входом регистра команд, вторым входом блока местной пам ти, выход которого соединен с третьим входом буферного регистра, первый и второй выходы буферного регистра соединены соответственно с третьим входом коммутатора и третьим входом блока местной пам ти, первый и второй входы устройства соединены соответственно с четвертым входом коммутатора и первым входом блока управлени , отличающеес  тем, что, с целью расширени  функциональных возможностей устройства за счет обеспечени  возможности фиксации событий, св занных с изменением содержани  регистров группы  чеек пам ти, в него введены дешифратор, узел регистрации и блок стековой пам ти , причем третий выход регистра команд соединен с входом дешифратора , выход которого соединен с вторым входом блока управлени , шестой и седьмой вь1ходы блока управлени  соединены соответственно с первым входом блока стековой пам ти и входом узла регистрации, выход которого соединен с третьим входом блока управлени , выход блока стековой пам ти соединен с четвертым входом буферно го регистра, третий выход которого соединен с вторым входом блока стековой пам ти.
  2. 2. Устройство по П.1, о т л и ч а ю щ е ее   тем, что блок управлени  содержит формирователь адреса микрокоманд, регистр адреса микрокоманд , блок пам ти мик эокоманд, регистр микрокоманд и дешифратор, причем выход формировател  адреса .микрокоманд соединен с входом регистра микрокоманд, выход которого соединен с входом блока пам ти микрокоманд , выход блока пам ти микрокоманд соединен с входом регистра микрокоманд , первый и второй выходы которого соединены соответственно с первым входом формировател  адреса микрокоманд, и первым входом дешифратора , первый выход дешифратора соединен с вторым входом.формировател  адреса команд, остальные выходы дешифратора образуют группу выходов блока первый, второй и третий входы блока сЪединены соответственно с третьим, четвертым и п тым входами формировател  адреса микрокоманд, второй и третий входы блока соединены с вторы и третьим входом дешифратора.
    Источники информации, прин тые во внимание при экспертизе
    1. Патент США 3673573, кл. 340-172.5, 1972.
    2..Авторское свидетельство СССР № 598077, кл. G Об F 9/20, 1978.
  3. 3.Авторское свидетельство СССР № 277410, кл. G Об F 9/00, 1970.
  4. 4.Катцан. Вычислительные машины системы 370, М. , Мир., 1974 (прототип ) .
    ..jn
    Т
    9 11
    10
    -I
    Процессор звм
    .J Фиг..1
    и
    28
    У.
    37
    3S
    29
    30
    зг
    J
    JiZ
    V. J5
    Фиг. 3
    3
    4-/,/,
    Фиг.
    92
    61
    60
    53
    . ИЛИ
    fi -.65
SU792842043A 1979-11-13 1979-11-13 Устройство дл отладки программ SU849218A1 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
SU792842043A SU849218A1 (ru) 1979-11-13 1979-11-13 Устройство дл отладки программ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SU792842043A SU849218A1 (ru) 1979-11-13 1979-11-13 Устройство дл отладки программ

Publications (1)

Publication Number Publication Date
SU849218A1 true SU849218A1 (ru) 1981-07-23

Family

ID=20860221

Family Applications (1)

Application Number Title Priority Date Filing Date
SU792842043A SU849218A1 (ru) 1979-11-13 1979-11-13 Устройство дл отладки программ

Country Status (1)

Country Link
SU (1) SU849218A1 (ru)

Similar Documents

Publication Publication Date Title
CA2082408C (en) System and method for preserving source instruction atomicity in translated program code
US5347636A (en) Data processor which efficiently accesses main memory and input/output devices
US4323963A (en) Hardware interpretive mode microprocessor
US20080077782A1 (en) Restoring a register renaming table within a processor following an exception
US4742466A (en) System for measuring path coverage represented by the degree of passage of execution paths in a program
JPH0430053B2 (ru)
KR20110070468A (ko) 인스트루먼테이션 실행 장치 및 방법
EP0267613A2 (en) Micro processor capable of being connected with coprocessor
EP0098172B1 (en) Register control processing system
JPH0332818B2 (ru)
US20030177471A1 (en) System and method for graphically developing a program
SU849218A1 (ru) Устройство дл отладки программ
US8484446B2 (en) Microprocessor saving data stored in register and register saving method
US4616315A (en) System memory for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes
JPH1040103A (ja) レジスタ・リマップ構造を有する情報処理システム及び方法
JPS60159951A (ja) 情報処理装置におけるトレ−ス方式
US4598361A (en) Allocator for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes
JPS6042968B2 (ja) 情報処理装置
JPH02197924A (ja) 中央演算処理装置
JPH0222413B2 (ru)
JPH01125633A (ja) マルチプロセッサシステムのデバッグ法
JP3428253B2 (ja) シーケンサ
JP2002351695A (ja) プログラムのデバッグ方法、デバッグ装置およびプログラムデバッグ用の記録媒体
EP0229253A2 (en) Data processor with virtual memory management
CN117933167A (en) Simulation method and simulator for ultra-long instruction word heterogeneous processor