JPH07210422A - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPH07210422A JPH07210422A JP6001953A JP195394A JPH07210422A JP H07210422 A JPH07210422 A JP H07210422A JP 6001953 A JP6001953 A JP 6001953A JP 195394 A JP195394 A JP 195394A JP H07210422 A JPH07210422 A JP H07210422A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- information
- execution
- branch
- unit
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
- G06F11/3656—Software debugging using additional hardware using a specific debug interface
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
関するデバッグ情報を提供し、デバッグのための有力の
手掛かりを得ることができ、重要度の高い分岐命令の実
行アドレスをバッファ容量を増やすことなく外部デバッ
グユニットに出力可能で、取り残しがあった情報の判別
をつけることの可能な情報処理装置を提供することを目
的とする。 【構成】 命令実行ユニットIEUと、命令実行ユニッ
トIEUの動作単位を計数して該計数値を保持する命令
実行順序情報保持手段CNTと、命令実行ユニットIE
Uの動作種別により分けられ、該対応種の動作時に実行
情報及び命令実行順序情報保持手段CNTの情報をそれ
ぞれ保持する複数個のバッファFJA,FRW,及びま
たはFPDと、所定の優先度に基づき複数個のバッファ
の内1つを選択して外部デバッグユニットEDBに出力
する選択手段SELとを有して構成する。
Description
持った情報処理装置に係り、特に、分岐に関するデバッ
グ情報、並びにデータに関するデバッグ情報を提供し、
デバッグのための有力の手掛かりを入手することが可能
で、また、命令実行装置の出力するデバッグ情報の内、
重要度の高い分岐命令の実行アドレスを、デバッグ用F
IFO(First-In First-Out)バッファの容量を増やす
ことなく外部デバッグユニットに出力可能とし、更に、
取り残しがあった情報の判別をつけることの可能な情報
処理装置に関する。
発する際に、情報処理装置が動作した履歴を知ることは
デバッグ工程で大いに役立つ。このため、情報処理装置
の動作を、デバッグ情報として情報処理装置の外部に出
力して保存する方法は有益である。理想的には情報処理
装置の動作を全て外部に出力できればよいが、この方法
では出力すべきデータが多すぎて実用的ではない。そこ
で、情報処理装置が実行した分岐に関する情報をデバッ
グ情報として出力し、これを頼りに、情報処理装置の動
作履歴を知る方法が採られる。
る。命令実行装置IEUの出力するデバッグ情報を格納
するFIFOバッファがFBの1本による構成であり、
FIFOバッファFBは4段のバッファ構成である。こ
こで、FIFOバッファFBが全て満たされている時に
は、以降のデータは格納できないものとして、以下、ど
のようにして、デバッグ情報を外部デバッグユニツトE
DBに出力しているかを説明する。
ス実行信号RWがアクティブになると、FIFOバッフ
ァFB内のバッファに、デバッグ情報出力バスDATA
上のデータが記憶される。同時に、バッファ内には、格
納された該データが分岐命令であるか、メモリアクセス
命令によるものであるかを識別するコードが該データと
組になって格納される。
Bに格納された値は、外部デバッグユニットEDBの要
求によりFIFOバッファFBから取り出され、外部デ
バッグユニツトEDBにより読み出される。この時、F
IFOバッファFBから最初に取り出される値は、最も
古くFIFOバッファFBに格納された値である。
装置IPAより出力される分岐アドレスとメモリ読み出
しのメモリデータより、情報処理装置IPAの内部状態
を補間してデバッグを行なう。
ケーションプログラム(APRG)のデバッグにおい
て、必要な情報は幾つかある。その中でも命令実行履歴
(TRACE)が重要である。何故なら、プログラマ
は、命令実行履歴(TRACE)によりアプリケーショ
ンプログラム(APRG)の活性度を見ることで、バグ
を発見することができるからである。
メモリEXMにあるアプリケーションプログラム(AP
RG)が、外部デバッグユニットEDBに分かっていて
不変であるなら、分岐命令の実行の有無を辿ることで解
析することができる。従って、デバッグに最も重要な情
報は、アプリケーションプログラムAPRGのどの分岐
命令が実行されたかという情報である。
ッグ情報を頼りに、情報処理装置IPAの動作履歴を知
る方法について具体的に説明する。図5(a)は情報処
理装置IPAがプログラムPRGを実行している様子を
示しており、図中、矢印付きの実線は処理の流れを示し
ている。
岐命令の1種であるサブルーチン呼出命令CALIを実
行したとすると、情報処理装置IPAは、分岐元アドレ
スORGPC1を含む第1のデバッグ情報DINF1を
出力する。
Aが分岐命令の1種であるサブルーチン復帰命令RET
Iを実行したとすると、情報処理装置IPAは分岐元ア
ドレスORGPC2を含む第2のデバッグ情報DINF
2を出力する。これらデバッグ情報DINF(第1及び
第2のデバッグ情報DINF1及びDINF2)を、図
5(b)に示す。
ッグ装置EDBはデバッグ情報DINFを受け取って、
ソフトウェアにより解釈する。この様子を図5(c)を
参照して説明する。
り、情報処理装置IPAは分岐元アドレスORGPC1
まで命令を実行してきて、分岐元アドレスORGPC1
で分岐命令を実行したことが分かる。この時、プログラ
ムPRG中の分岐元アドレスORGPC1の命令を調べ
るとサブルーチン呼出命令CALIであるので、この分
岐はサブルーチン呼出しであったことが分かる。分岐先
は、サブルーチン呼出命令CALIをデコードして知る
ことができる。このアドレスを分岐先アドレスDSTP
Cとする。
り、情報処理装置IPAは先の分岐先アドレスDSTP
Cから順に命令を実行し、分岐元アドレスORGPC2
まで命令を実行してきて、分岐元アドレスORGPC2
で再び分岐を実行したことが分かる。プログラムPRG
中の分岐元アドレスORGPC2の命令を調べるとサブ
ルーチン復帰命令RETIであるので、この分岐はサブ
ルーチン復帰であったことが分かる。サブルーチン復帰
命令では直前のサブルーチン呼出しの直後の命令に戻る
ことが知られているので、分岐先は先のサブルーチン呼
出命令CALIのあった分岐元アドレスORGPC1の
次のアドレスである。このアドレスを分岐元アドレスO
RGPC1+とする。
岐に関するデバッグ情報DINFを出力すれば、情報処
理総理IPAに接続された外部デバッグ装置EDBはデ
バッグ情報DINFとプログラムPRGから、ソフトウ
ェア的な解析により情報処理装置IPAの動作履歴を再
現できる。
部デバッグ装置EDBはプログラムPRGの実効履歴を
再現できるものの、プログラムPRGを実行した時のデ
ータの値に関する情報は知りようがなく、デバッグのた
めの手掛かりが不足する。
FBでは、情報の優先度が考慮されずに全ての情報が格
納されていたため、重要な分岐命令に関する情報が失わ
れ易いという欠点もある。
FBが空であった状況を考えてみる。先ず初めに、1つ
の分岐命令が実行され、続けて4つのメモリアクセス命
令が連続したとする。この場合、4つ目のメモリアクセ
ス命令が発生した時点で、外部デバッグユニットEDB
の要求により2段分の情報が読み出されていなければ、
FIFOバッファFBに空きがなくなってしまう。この
時点で分岐命令が実行されると、重要度の高い分岐命令
アドレスが格納されず、デバッグができないという状況
が発生する。
情報処理装置では、 (1) プログラムを実行した時のデータの値に関する情報
がなく、デバッグのための手掛かりが不足する、 (2) 情報の優先度が考慮されずに全ての情報が格納され
ていたため、重要な分岐命令に関する情報が失われ易
い、という問題があった。
分岐に関するデバッグ情報に加えてデータに関するデバ
ッグ情報を提供し、デバッグのための有力の手掛かりを
得ることのできる情報処理装置を提供することを目的と
する。
出力するデバッグ情報のうち重要度の高い分岐命令の実
行アドレスを、FIFOバッファの容量を増やすことな
く外部デバッグユニットに出力可能で、また、取り残し
があった情報の判別をつけることの可能な情報処理装置
を提供することである。
に、本発明の第1の特徴は、図1または図2に示す如
く、命令実行ユニットIEUと、前記命令実行ユニット
IEUの動作単位を計数して該計数値を保持する命令実
行順序情報保持手段CNTと、前記命令実行ユニットI
EUの動作種別により分けられ、該対応種の動作時に実
行情報及び前記命令実行順序情報保持手段CNTの情報
をそれぞれ保持する複数個のバッファFJA,FRW,
及びまたはFPDと、所定の優先度に基づき前記複数個
のバッファFJA,FRW,及びまたはFPDの内1つ
を選択して外部デバッグユニットEDBに出力する選択
手段SELとを具備することである。
図2に示す如く、プログラム実行中に分岐命令が実行さ
れた場合には、分岐命令実行信号JPをアクティブに
し、分岐元アドレスをデバッグ情報出力バスDATAに
出力し、前記プログラム実行中にメモリアクセス命令が
実行された場合には、メモリアクセス実行信号RWをア
クティブにし、該アクセスされたメモリの内容をデバッ
グ情報出力バスDATAに出力し、前記プログラム実行
中にスタックプッシュ命令が実行された場合には、スタ
ックプッシュ実行信号ETCをアクティブにし、該プッ
シュしたデータをデバッグ情報出力バスDATAに出力
する命令実行装置IEUと、前記分岐命令実行信号J
P、前記メモリアクセス実行信号RW、またはスタック
プッシュ実行信号ETCがアクティブになった時に計数
するカウンタCNTと、複数個のFIFOバッファと、
外部デバッグユニットEDBの要求により、前記複数個
のFIFOバッファに格納された値を外部デバッグユニ
ットEDBに出力するセレクタSELとを具備し、前記
複数個のバッファは、前記分岐命令実行信号JPがアク
ティブになった時にデバッグ情報出力バスDATAの値
と前記カウンタCNTの値を格納する分岐命令アドレス
FIFOバッファFJA、前記メモリアクセス実行信号
RWがアクティブになった時にデバッグ情報出力バスD
ATAの値と前記カウンタCNTの値を格納するメモリ
データFIFOバッファFRW、及びまたは、前記スタ
ックプッシュ実行信号ETCがアクティブになった時に
デバッグ情報出力バスDATAの値と前記カウンタCN
Tの値を格納するプッシュデータFIFOバッファFP
Dを具備し、前記セレクタSELは、前記複数個のバッ
ファFJA,FRW,及びまたはFPDの内、分岐命令
アドレスFIFOバッファFJAを優先して読み出すこ
とである。
は、図1または図2に示す如く、命令実行装置IEUに
おいて、プログラム実行中に分岐命令が実行された場合
には、分岐命令実行信号JPをアクティブにし、分岐元
アドレスをデバッグ情報出力バスDATAに出力し、プ
ログラム実行中にメモリアクセス命令が実行された場合
には、メモリアクセス実行信号RWをアクティブにし、
該アクセスされたメモリの内容をデバッグ情報出力バス
DATAに出力し、プログラム実行中にスタックプッシ
ュ命令が実行された場合には、スタックプッシュ実行信
号ETCをアクティブにし、該プッシュしたデータをデ
バッグ情報出力バスDATAに出力する。
実行信号JP、メモリアクセス実行信号RW、またはス
タックプッシュ実行信号ETCがアクティブになった時
に計数して該命令の実行順序を生成する。
行信号JPがアクティブになった時には、分岐元アドレ
スと命令実行順序情報を分岐命令アドレスFIFOバッ
ファFJAに格納し、メモリアクセス実行信号RWがア
クティブになった時には、アクセスされたメモリの内容
と命令実行順序情報をメモリデータFIFOバッファF
RWに格納し、更に、スタックプッシュ実行信号ETC
がアクティブになった時には、プッシュしたデータと命
令実行順序情報をプッシュデータFIFOバッファFP
Dに格納する。
バッグユニットEDBの要求に応じて、複数個のバッフ
ァFJA,FRW,及びまたはFPDの内、分岐命令ア
ドレスFIFOバッファFJAを優先して読み出すよう
にしている。
装置では、命令実行装置IEUの出力するデバッグ情報
の内、重要度の高い分岐命令の実行アドレスをFIFO
バッファの容量を増やすことなく外部デバッグユニット
EDBに出力でき、また、取り残しがあった情報の判別
をつけることが可能となる。
えて、データに関するデバッグ情報を提供し、デバッグ
のための有力の手掛かりを得ることが可能となる。
説明する。 (第1の実施例)図1に本発明の第1の実施例に係る情
報処理装置の構成図を示す。
PA1は、バスBUSを介して接続される外部メモリE
XM上の命令を読み込んで実行する命令実行装置IEU
と、分岐命令実行信号JPまたはメモリアクセス実行信
号RWの何れかがアクティブになった時にカウントアッ
プするカウンタCNTと、2個のFIFOバッファと、
外部デバッグユニットEDBの要求により、2個のFI
FOバッファに格納された値を外部デバッグユニットE
DBに選択出力するセレクタSELとを備えて構成され
ている。
に分岐命令が実行された場合には、分岐命令実行信号J
Pをアクティブにし、分岐元アドレスをデバッグ情報出
力バスDATAに出力し、また、プログラム実行中にメ
モリアクセス命令が実行された場合には、メモリアクセ
ス実行信号RWをアクティブにし、該アクセスされたメ
モリの内容をデバッグ情報出力バスDATAに出力す
る。
かメモリアクセス実行信号RWの何れかがアクティブに
なるとカウンタCNTの値を+1する。つまり、このカ
ウンタCNTの値は、分岐命令とメモリアクセス命令の
命令発生順序を示している。
がアクティブになった時にデバッグ情報出力バスDAT
Aの値とカウンタCNTの値とを格納する分岐命令アド
レスFIFOバッファFJA、並びに、メモリアクセス
実行信号RWがアクティブになった時にデバッグ情報出
力バスDATAの値とカウンタCNTの値を格納するメ
モリデータFIFOバッファFRWを具備している。
ァFJAには、分岐命令実行時の命令発生順序情報とデ
バッグ情報出力バスDATA上に出力された分岐元アド
レスだけが保存されることになり、一方、メモリデータ
FIFOバッファFRWには、メモリアクセス命令によ
るメモリ内容が、該命令の命令発生順序情報と共に保存
されることとなる。
FIFOバッファFJAとメモリデータFIFOバッフ
ァFRWに接続している。外部デバッグユニットEDB
より読み出し要求があり、何れかのFIFOバッファに
値が格納されている場合は、その値を取り出して外部デ
バッグユニットEDBに出力する。双方のFIFOバッ
ファに値が格納されている場合には、分岐命令アドレス
FIFOバッファFJAを優先して読み出し外部デバッ
グユニットEDBに出力する。ここで、分岐命令アドレ
スFIFOバッファFJAとメモリデータFIFOバッ
ファFRWは、各々2段のバッファを持っているものと
する。
令にて分岐元アドレスを取りこぼした例を考えてみる。
は、分岐命令アドレスFIFOバッファFJAに格納さ
れる。次の4つのメモリアクセス命令の内、2つめ以降
はメモリデータFIFOバッファFRWに格納されな
い。しかし、その後の分岐命令の分岐元アドレスは、正
常に分岐命令アドレスFIFOバッファFJAに格納さ
れる。
ッファFJAが優先されるので、外部デバッグユニット
EDBには分岐命令アドレスFIFOバッファFJAの
アドレスが連続して読出されることとになる。この場
合、その命令順序を示すカウンタCNTが不連続とな
り、途中で分岐命令アドレスFIFOバッファFJAが
メモリデータFIFOバッファFRWに優先して読み出
されたことは、外部デバッグユニットEDBにより判別
することができる。更に、カウンタCNTの抜けを調べ
れば、どの命令がFIFOバッファに格納されなかった
かを判別することができる。
A1ではFIFOバッファ全体としての容量を増やすこ
となく、より多くの分岐命令分岐元アドレスを得ること
ができる。更に、メモリアクセス命令のメモリ内容の
内、取りこぼした情報を判別するのに必要な情報も得る
ことができる。
においても第1の実施例の構成と同様の構成を備える。
図2に本発明の第2の実施例に係る情報処理装置の構成
図を示す。
PA2は、バスBUSを介して接続される外部メモリE
XM上の命令を読み込んで実行する命令実行装置IEU
と、分岐命令実行信号JPまたはメモリアクセス実行信
号RWの何れかがアクティブになった時にカウントアッ
プするカウンタCNTと、2個のFIFOバッファと、
外部デバッグユニットEDBの要求により、2個のFI
FOバッファに格納された値を外部デバッグユニットE
DBに選択出力するセレクタSELとを備えて構成され
ている。
に分岐命令が実行された場合には、分岐命令実行信号J
Pをアクティブにし、分岐元アドレスをデバッグ情報出
力バスDATAに出力し、また、プログラム実行中にス
タックプッシュ命令が実行された場合には、スタックプ
ッシュ実行信号ETCをアクティブにし、プッシュした
データをデバッグ情報出力バスDATAに出力する。
かスタックプッシュ実行信号ETCの何れかがアクティ
ブになるとカウンタCNTの値を+1する。つまり、こ
のカウンタCNTの値は、分岐命令とスタックプッシュ
命令の命令発生順序を示している。
がアクティブになった時にデバッグ情報出力バスDAT
Aの値とカウンタCNTの値とを格納する分岐命令アド
レスFIFOバッファFJA、並びに、スタックプッシ
ュ実行信号ETCがアクティブになった時にデバッグ情
報出力バスDATAの値とカウンタCNTの値を格納す
るプッシュデータFIFOバッファFPDを具備してい
る。
ァFJAには、分岐命令実行時の命令発生順序情報とデ
バッグ情報出力バスDATA上に出力された分岐元アド
レスだけが保存されることになり、一方、プッシュデー
タFIFOバッファFPDには、スタックプッシュ命令
によるプッシュデータが、該命令の命令発生順序情報と
共に保存されることとなる。
FIFOバッファFJAとプッシュデータFIFOバッ
ファFPDに接続している。外部デバッグユニットED
Bより読み出し要求があり、何れかのFIFOバッファ
に値が格納されている場合は、その値を取り出して外部
デバッグユニットEDBに出力する。双方のFIFOバ
ッファに値が格納されている場合には、分岐命令アドレ
スFIFOバッファFJAを優先して読み出し外部デバ
ッグユニットEDBに出力する。ここで、分岐命令アド
レスFIFOバッファFJAとプッシュデータFIFO
バッファFPDは、各々2段のバッファを持っているも
のとする。
バッグ動作を、図3に示す例を参照して具体的に説明す
る。図3(a)は情報処理装置IPA2がプログラムP
RGを実行している様子を示しており、図中、矢印付き
の実線は処理の流れを示している。
スタックプッシュ命令PSHIを実行したとすると、情
報処理装置IPA2は、プッシュしたデータPSHDA
T1を含むデバッグ情報を出力する。続くスタックプッ
シュ命令PSHIに対しても、情報処理装置IPA2
は、それぞれプッシュしたデータPSHDAT2,PS
HDAT3を含むデバッグ情報を出力する。以上、3つ
のスタックプッシュ命令に関するデバッグ情報を第0の
デバッグ情報DINF0とする。
は、従来例(図5(a)参照)と同様である。結果とし
て、情報処理装置IPA2は3つのスタックプッシュ命
令に関するデバッグ情報と、2つの分岐命令に関するデ
バッグ情報を出力することとなる。これらデバッグ情報
DINF(第0、第1、及び第2のデバッグ情報DIN
F0〜DINF2)を、図3(b)に示す。
バッグ装置EDBはデバッグ情報DINFを受け取っ
て、ソフトウェアにより解釈する。この様子を図3
(c)を参照して説明する。
り、スタック上のデータはプッシュしたデータPSDA
T3,PSDAT2,PSDAT1の順に並んでいるこ
とが分かる。
り、情報処理装置IPA2は分岐元アドレスORGPC
1まで命令を実行してきて、分岐元アドレスORGPC
1で分岐命令を実行したことが分かる。この時、プログ
ラムPRG中の分岐元アドレスORGPC1の命令を調
べるとサブルーチン呼出命令CALIであるので、この
分岐はサブルーチン呼出しであったことが分かる。分岐
先は、サブルーチン呼出命令CALIをデコードして知
ることができる。このアドレスを分岐先アドレスDST
PCとする。
ムを参照して、分岐先アドレスDSTPCをエントリと
するサブルーチンの引数の数を調べる。ここでは3個で
あるとする。既にスタック上には、プッシュしたデータ
PSDAT3,PSDAT2,PSDAT1の順にデー
タが並んでいることが判明しているので、サブルーチン
呼出しの引数の値はプッシュしたデータPSDAT3,
PSDAT2,PSDAT1であったことが分かる。
り、情報処理装置IPA2は先の分岐先アドレスDST
PCから順に命令を実行し、分岐元アドレスORGPC
2まで命令を実行してきて、分岐元アドレスORGPC
2で再び分岐を実行したことが分かる。プログラムPR
G中の分岐元アドレスORGPC2の命令を調べるとサ
ブルーチン復帰命令RETIであるので、この分岐はサ
ブルーチン復帰であったことが分かる。サブルーチン復
帰命令では直前のサブルーチン呼出しの直後の命令に戻
ることが知られているので、分岐先は先のサブルーチン
呼出命令CALIのあった分岐元アドレスORGPC1
の次のアドレスである。このアドレスを分岐元アドレス
ORGPC1+とする。
分岐に関するデバッグ情報DINFを出力すれば、情報
処理総理IPA2に接続された外部デバッグ装置EDB
はデバッグ情報DINFとプログラムPRGのソースプ
ログラムから、ソフトウェア的な解析により情報処理装
置IPA2の動作履歴を再現でき、且つサブルーチン呼
出しに係る引数の値を知ることができる。
PA2では、プログラムPRGの実行履歴だけではな
く、サブルーチン呼出しの際の引数を含む、より詳細な
情報を知ることが可能となる。
命令実行装置において、プログラム実行中に分岐命令が
実行された場合には、分岐命令実行信号をアクティブに
し、分岐元アドレスをデバッグ情報出力バスに出力し、
プログラム実行中にメモリアクセス命令が実行された場
合には、メモリアクセス実行信号をアクティブにし、該
アクセスされたメモリの内容をデバッグ情報出力バスに
出力し、プログラム実行中にスタックプッシュ命令が実
行された場合には、スタックプッシュ実行信号をアクテ
ィブにし、該プッシュしたデータをデバッグ情報出力バ
スに出力し、またカウンタにおいては、分岐命令実行信
号、メモリアクセス実行信号、またはスタックプッシュ
実行信号がアクティブになった時に計数して該命令の実
行順序を生成し、また、複数個のバッファにおいては、
分岐命令実行信号がアクティブになった時には、分岐元
アドレスと命令実行順序情報を分岐命令アドレスFIF
Oバッファに格納し、メモリアクセス実行信号がアクテ
ィブになった時には、アクセスされたメモリの内容と命
令実行順序情報をメモリデータFIFOバッファに格納
し、更に、スタックプッシュ実行信号がアクティブにな
った時には、プッシュしたデータと命令実行順序情報を
プッシュデータFIFOバッファに格納し、更に、セレ
クタにおいては、外部デバッグユニットの要求に応じ
て、複数個のバッファの内、分岐命令アドレスFIFO
バッファを優先して読み出すこととしたので、命令実行
装置の出力するデバッグ情報の内、重要度の高い分岐命
令の実行アドレスをFIFOバッファの容量を増やすこ
となく外部デバッグユニットに出力でき、また、取り残
しがあった情報の判別をつけることが可能となり、更
に、分岐命令に関するデバッグ情報に加えて、データに
関するデバッグ情報を提供し、デバッグのための有力の
手掛かりを得ることの可能な情報処理装置を提供するこ
とができる。
成図である。
成図である。
けるプログラムの実行の説明図、図3(b)は外部デバ
ッグ装置に出力されるデバッグ情報、図3(c)は外部
デバッグ装置における解釈の説明図である。
の実行の説明図、図5(b)は外部デバッグ装置に出力
されるデバッグ情報、図5(c)は外部デバッグ装置に
おける解釈の説明図である。
ッグ情報
Claims (2)
- 【請求項1】 命令実行ユニットと、 前記命令実行ユニットの動作単位を計数して該計数値を
保持する命令実行順序情報保持手段と、 前記命令実行ユニットの動作種別により分けられ、該対
応種の動作時に実行情報及び前記命令実行順序情報保持
手段の情報をそれぞれ保持する複数個のバッファと、 所定の優先度に基づき前記複数個のバッファの内1つを
選択して外部デバッグユニットに出力する選択手段とを
有することを特徴とする情報処理装置。 - 【請求項2】 プログラム実行中に分岐命令が実行され
た場合には、分岐命令実行信号をアクティブにし、分岐
元アドレスをデバッグ情報出力バスに出力し、前記プロ
グラム実行中にメモリアクセス命令が実行された場合に
は、メモリアクセス実行信号をアクティブにし、該アク
セスされたメモリの内容をデバッグ情報出力バスに出力
し、前記プログラム実行中にスタックプッシュ命令が実
行された場合には、スタックプッシュ実行信号をアクテ
ィブにし、該プッシュしたデータをデバッグ情報出力バ
スに出力する命令実行装置と、 前記分岐命令実行信号、前記メモリアクセス実行信号、
またはスタックプッシュ実行信号がアクティブになった
時に計数するカウンタと、 複数個のFIFOバッファと、 外部デバッグユニットの要求により、前記複数個のFI
FOバッファに格納された値を外部デバッグユニットに
出力するセレクタとを有し、 前記複数個のバッファは、 前記分岐命令実行信号がアクティブになった時にデバッ
グ情報出力バスの値と前記カウンタの値を格納する分岐
命令アドレスFIFOバッファ、 前記メモリアクセス実行信号がアクティブになった時に
デバッグ情報出力バスの値と前記カウンタの値を格納す
るメモリデータFIFOバッファ、 及びまたは、前記スタックプッシュ実行信号がアクティ
ブになった時にデバッグ情報出力バスの値と前記カウン
タの値を格納するプッシュデータFIFOバッファを有
し、 前記セレクタは、前記複数個のバッファの内、分岐命令
アドレスFIFOバッファを優先して読み出すことを特
徴とする情報処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP00195394A JP3290280B2 (ja) | 1994-01-13 | 1994-01-13 | 情報処理装置 |
US08/371,692 US5625785A (en) | 1994-01-13 | 1995-01-12 | Information processing apparatus having dual buffers for transmitting debug data to an external debug unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP00195394A JP3290280B2 (ja) | 1994-01-13 | 1994-01-13 | 情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07210422A true JPH07210422A (ja) | 1995-08-11 |
JP3290280B2 JP3290280B2 (ja) | 2002-06-10 |
Family
ID=11515970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP00195394A Expired - Lifetime JP3290280B2 (ja) | 1994-01-13 | 1994-01-13 | 情報処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5625785A (ja) |
JP (1) | JP3290280B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6467083B1 (en) | 1998-09-30 | 2002-10-15 | Nec Corporation | Debugging system for computer program, method for checking target program and information storage medium for storing checking program |
JP2012178155A (ja) * | 2011-02-24 | 2012-09-13 | Linde Aktiengesellschaft | 圧力低下装置 |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6112316A (en) * | 1997-12-03 | 2000-08-29 | Micron Electronics, Inc. | System for use of bus parking states to communicate diagnostic information |
US6092219A (en) * | 1997-12-03 | 2000-07-18 | Micron Technology, Inc. | Method for use of bus parking states to communicate diagnostic information |
JP3116901B2 (ja) * | 1998-04-28 | 2000-12-11 | 日本電気株式会社 | プログラム検査方法、プログラム検査装置及びプログラム検査プログラムを記録した記録媒体 |
US6223338B1 (en) | 1998-09-30 | 2001-04-24 | International Business Machines Corporation | Method and system for software instruction level tracing in a data processing system |
US6684348B1 (en) * | 1999-10-01 | 2004-01-27 | Hitachi, Ltd. | Circuit for processing trace information |
US6732307B1 (en) | 1999-10-01 | 2004-05-04 | Hitachi, Ltd. | Apparatus and method for storing trace information |
US6918065B1 (en) | 1999-10-01 | 2005-07-12 | Hitachi, Ltd. | Method for compressing and decompressing trace information |
JP2001184212A (ja) * | 1999-12-24 | 2001-07-06 | Mitsubishi Electric Corp | トレース制御回路 |
JP2001195281A (ja) * | 2000-01-07 | 2001-07-19 | Sony Corp | システム監視装置 |
US20040078690A1 (en) * | 2000-05-30 | 2004-04-22 | Yasuo Kohashi | Program counter trace system, program counter trace method, and semiconductor device |
US7287147B1 (en) * | 2000-12-29 | 2007-10-23 | Mips Technologies, Inc. | Configurable co-processor interface |
US7237090B1 (en) | 2000-12-29 | 2007-06-26 | Mips Technologies, Inc. | Configurable out-of-order data transfer in a coprocessor interface |
US7181728B1 (en) | 2001-04-30 | 2007-02-20 | Mips Technologies, Inc. | User controlled trace records |
US7134116B1 (en) | 2001-04-30 | 2006-11-07 | Mips Technologies, Inc. | External trace synchronization via periodic sampling |
US7069544B1 (en) * | 2001-04-30 | 2006-06-27 | Mips Technologies, Inc. | Dynamic selection of a compression algorithm for trace data |
US7178133B1 (en) | 2001-04-30 | 2007-02-13 | Mips Technologies, Inc. | Trace control based on a characteristic of a processor's operating state |
US7185234B1 (en) | 2001-04-30 | 2007-02-27 | Mips Technologies, Inc. | Trace control from hardware and software |
US7168066B1 (en) * | 2001-04-30 | 2007-01-23 | Mips Technologies, Inc. | Tracing out-of order load data |
US7124072B1 (en) | 2001-04-30 | 2006-10-17 | Mips Technologies, Inc. | Program counter and data tracing from a multi-issue processor |
US7065675B1 (en) | 2001-05-08 | 2006-06-20 | Mips Technologies, Inc. | System and method for speeding up EJTAG block data transfers |
DE60100363T2 (de) * | 2001-05-11 | 2004-05-06 | Sospita A/S | Sequenznummerierungsmechanismus zur sicherung der ausführungsordnungs-integrietät von untereinander abhängigen smart-card anwendungen |
US7231551B1 (en) | 2001-06-29 | 2007-06-12 | Mips Technologies, Inc. | Distributed tap controller |
US7043668B1 (en) | 2001-06-29 | 2006-05-09 | Mips Technologies, Inc. | Optimized external trace formats |
DE10148109B4 (de) * | 2001-09-28 | 2006-10-12 | Infineon Technologies Ag | Verfahren zum Speichern oder Weiterleiten von Daten |
US7219333B2 (en) * | 2002-11-22 | 2007-05-15 | Texas Instruments Incorporated | Maintaining coherent synchronization between data streams on detection of overflow |
US7133821B2 (en) * | 2002-11-22 | 2006-11-07 | Texas Instruments Incorporated | Read FIFO scheduling for multiple streams while maintaining coherency |
US7159101B1 (en) | 2003-05-28 | 2007-01-02 | Mips Technologies, Inc. | System and method to trace high performance multi-issue processors |
US7437623B2 (en) * | 2003-11-05 | 2008-10-14 | Texas Instruments Incorporated | Apparatus and method for performing speculative reads from a scan control unit using FIFO buffer units |
JP4833907B2 (ja) * | 2007-04-23 | 2011-12-07 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
US7870436B2 (en) * | 2007-04-25 | 2011-01-11 | Broadcom Corporation | System and method for tracing acceleration in an embedded device |
US8099636B2 (en) * | 2008-07-15 | 2012-01-17 | Caterpillar Inc. | System and method for protecting memory stacks using a debug unit |
US8954809B2 (en) * | 2012-07-25 | 2015-02-10 | Texas Instruments Incorporated | Method for generating descriptive trace gaps |
US10396974B1 (en) | 2018-07-20 | 2019-08-27 | Nxp B.V. | Self-testing of a phase-locked loop using a pseudo-random noise |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3707725A (en) * | 1970-06-19 | 1972-12-26 | Ibm | Program execution tracing system improvements |
US4205370A (en) * | 1975-04-16 | 1980-05-27 | Honeywell Information Systems Inc. | Trace method and apparatus for use in a data processing system |
JPS593651A (ja) * | 1982-06-30 | 1984-01-10 | Fujitsu Ltd | フア−ムウエアによる性能測定システム |
US4598364A (en) * | 1983-06-29 | 1986-07-01 | International Business Machines Corporation | Efficient trace method adaptable to multiprocessors |
US5146570A (en) * | 1984-10-31 | 1992-09-08 | International Business Machines Corporation | System executing branch-with-execute instruction resulting in next successive instruction being execute while specified target instruction is prefetched for following execution |
US4714994A (en) * | 1985-04-30 | 1987-12-22 | International Business Machines Corp. | Instruction prefetch buffer control |
EP0396833A1 (en) * | 1989-05-12 | 1990-11-14 | International Business Machines Corporation | Trace facility for use in a multiprocessing environment |
US5410685A (en) * | 1990-06-12 | 1995-04-25 | Regents Of The University Of Michigan | Non-intrinsive method and system for recovering the state of a computer system and non-intrusive debugging method and system utilizing same |
JPH04148242A (ja) * | 1990-10-08 | 1992-05-21 | Fujitsu Ltd | ロード・モジュール実行時トレース処理方法 |
US5265213A (en) * | 1990-12-10 | 1993-11-23 | Intel Corporation | Pipeline system for executing predicted branch target instruction in a cycle concurrently with the execution of branch instruction |
US5359608A (en) * | 1992-11-24 | 1994-10-25 | Amdahl Corporation | Apparatus for activation and deactivation of instruction tracing through use of conditional trace field in branch instructions |
US5463745A (en) * | 1993-12-22 | 1995-10-31 | Intel Corporation | Methods and apparatus for determining the next instruction pointer in an out-of-order execution computer system |
-
1994
- 1994-01-13 JP JP00195394A patent/JP3290280B2/ja not_active Expired - Lifetime
-
1995
- 1995-01-12 US US08/371,692 patent/US5625785A/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6467083B1 (en) | 1998-09-30 | 2002-10-15 | Nec Corporation | Debugging system for computer program, method for checking target program and information storage medium for storing checking program |
JP2012178155A (ja) * | 2011-02-24 | 2012-09-13 | Linde Aktiengesellschaft | 圧力低下装置 |
Also Published As
Publication number | Publication date |
---|---|
US5625785A (en) | 1997-04-29 |
JP3290280B2 (ja) | 2002-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3290280B2 (ja) | 情報処理装置 | |
US6279103B1 (en) | Method and device for providing an instruction trace from an on-chip CPU using control signals from the CPU | |
US6253317B1 (en) | Method and apparatus for providing and handling traps | |
US7200776B2 (en) | System and method for generating trace data in a computing system | |
US5608867A (en) | Debugging system using virtual storage means, a normal bus cycle and a debugging bus cycle | |
US20040078690A1 (en) | Program counter trace system, program counter trace method, and semiconductor device | |
KR100313939B1 (ko) | 인터럽트제어기 | |
JP2006164185A (ja) | デバッグ装置 | |
CN113076233B (zh) | 一种io性能检测方法、装置、设备及存储介质 | |
US20180349267A1 (en) | Asynchronous operation query | |
JP2005222446A (ja) | オンボードデバッグ装置および半導体回路装置 | |
JP2000215068A (ja) | マルチタスクスケジュ―リング装置 | |
WO2023036076A1 (zh) | 一种软件监测方法以及相关装置 | |
KR880001399B1 (ko) | 정보 처리 장치 | |
US7711096B2 (en) | Telecommunication server apparatus | |
JP2000057012A (ja) | トレース装置 | |
US20030033552A1 (en) | Apparatus and method for wait state analysis in a digital signal processing system | |
JPH04145544A (ja) | デバッグ装置 | |
JPS60105050A (ja) | パイプライン制御方式 | |
JP2743889B2 (ja) | プログラム評価の方法および装置 | |
JP3917079B2 (ja) | 最適なアクセス戦略の決定方法 | |
JP2666737B2 (ja) | トレースメモリ内蔵マイクロプロセッサおよびトレース方法 | |
CN114510197A (zh) | 一种存储方法、装置及电子设备 | |
JP3098501B2 (ja) | ソースステップ実行方法およびその装置 | |
JP2006318172A (ja) | マイクロコンピュータ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080322 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090322 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100322 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100322 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110322 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120322 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130322 Year of fee payment: 11 |