SU849218A1 - Устройство дл отладки программ - Google Patents
Устройство дл отладки программ Download PDFInfo
- 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
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)
- Формула изобретени .Устройство дл отладки программ, содержащее блок управлени , блок65местной пам ти, регистр команд, коммутатор и буферный регистр, причем первый, второй и третий выходы коммутатора соединены соответственно с первым входом буферного регистра, первым выходом устройства и первым входом регистра команд, первый и второй выходы которого -соединены соответственно с первым входом коммутатора и первым входом блока местной пам ти, первый, второй, третий ,четвертый и п тый выходы блока управлени соединены соответственно с вторым входом буферного регистра,вторым выходом устройства, вторым входом коммутатора, вторым входом регистра команд, вторым входом блока местной пам ти, выход которого соединен с третьим входом буферного регистра, первый и второй выходы буферного регистра соединены соответственно с третьим входом коммутатора и третьим входом блока местной пам ти, первый и второй входы устройства соединены соответственно с четвертым входом коммутатора и первым входом блока управлени , отличающеес тем, что, с целью расширени функциональных возможностей устройства за счет обеспечени возможности фиксации событий, св занных с изменением содержани регистров группы чеек пам ти, в него введены дешифратор, узел регистрации и блок стековой пам ти , причем третий выход регистра команд соединен с входом дешифратора , выход которого соединен с вторым входом блока управлени , шестой и седьмой вь1ходы блока управлени соединены соответственно с первым входом блока стековой пам ти и входом узла регистрации, выход которого соединен с третьим входом блока управлени , выход блока стековой пам ти соединен с четвертым входом буферно го регистра, третий выход которого соединен с вторым входом блока стековой пам ти.
- 2. Устройство по П.1, о т л и ч а ю щ е ее тем, что блок управлени содержит формирователь адреса микрокоманд, регистр адреса микрокоманд , блок пам ти мик эокоманд, регистр микрокоманд и дешифратор, причем выход формировател адреса .микрокоманд соединен с входом регистра микрокоманд, выход которого соединен с входом блока пам ти микрокоманд , выход блока пам ти микрокоманд соединен с входом регистра микрокоманд , первый и второй выходы которого соединены соответственно с первым входом формировател адреса микрокоманд, и первым входом дешифратора , первый выход дешифратора соединен с вторым входом.формировател адреса команд, остальные выходы дешифратора образуют группу выходов блока первый, второй и третий входы блока сЪединены соответственно с третьим, четвертым и п тым входами формировател адреса микрокоманд, второй и третий входы блока соединены с вторы и третьим входом дешифратора.Источники информации, прин тые во внимание при экспертизе1. Патент США 3673573, кл. 340-172.5, 1972.2..Авторское свидетельство СССР № 598077, кл. G Об F 9/20, 1978.
- 3.Авторское свидетельство СССР № 277410, кл. G Об F 9/00, 1970.
- 4.Катцан. Вычислительные машины системы 370, М. , Мир., 1974 (прототип ) ...jnТ9 1110-IПроцессор звм.J Фиг..1и28У.373S2930згJJiZV. J5Фиг. 334-/,/,Фиг.92616053. ИЛИfi -.65
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) |
-
1979
- 1979-11-13 SU SU792842043A patent/SU849218A1/ru active
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 |