JPH06290076A - デバッグ装置 - Google Patents
デバッグ装置Info
- Publication number
- JPH06290076A JPH06290076A JP5077305A JP7730593A JPH06290076A JP H06290076 A JPH06290076 A JP H06290076A JP 5077305 A JP5077305 A JP 5077305A JP 7730593 A JP7730593 A JP 7730593A JP H06290076 A JPH06290076 A JP H06290076A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- microprocessor
- address
- output
- virtual
- 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.)
- Withdrawn
Links
- 238000012806 monitoring device Methods 0.000 claims abstract description 22
- 238000000034 method Methods 0.000 claims abstract description 15
- 230000006870 function Effects 0.000 claims description 13
- 230000004044 response Effects 0.000 claims 1
- 238000004519 manufacturing process Methods 0.000 abstract description 3
- 239000006185 dispersion Substances 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 15
- 238000007726 management method Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
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/3636—Software debugging by tracing the execution of the program
- G06F11/364—Software debugging by tracing the execution of the program tracing values on a bus
-
- 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
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
(57)【要約】 (修正有)
【目的】デバッグチップを用いることなく、製造時のバ
ラツキに起因するデバイス間の非同期性を排除したデバ
ッグ装置を提供する。 【構成】デバッグ装置は、マイクロプロセッサに適用さ
れるトレ−ス手法を用いたデバッグ装置において、仮想
記憶管理機構を内蔵し、その出力時においては、アクセ
スの種類を知らせる信号ならびに仮想アドレスの出力中
であることを知らせる信号を共に出力するマイクロプロ
セッサ101と、システムを形成するメモリ装置102
と、サイクル、前記仮想アドレスの出力時においては、
プロセッサ101より出力されるアクセスの種類を知ら
せる信号トレース・データを格納する手段を含むトレ−
ス回路を備えるバス監視装置103とを備えて構成さ
れ、仮想アドレスを用いてデバッグすることができる。
ラツキに起因するデバイス間の非同期性を排除したデバ
ッグ装置を提供する。 【構成】デバッグ装置は、マイクロプロセッサに適用さ
れるトレ−ス手法を用いたデバッグ装置において、仮想
記憶管理機構を内蔵し、その出力時においては、アクセ
スの種類を知らせる信号ならびに仮想アドレスの出力中
であることを知らせる信号を共に出力するマイクロプロ
セッサ101と、システムを形成するメモリ装置102
と、サイクル、前記仮想アドレスの出力時においては、
プロセッサ101より出力されるアクセスの種類を知ら
せる信号トレース・データを格納する手段を含むトレ−
ス回路を備えるバス監視装置103とを備えて構成さ
れ、仮想アドレスを用いてデバッグすることができる。
Description
【0001】
【産業上の利用分野】本発明はデバッグ装置に関し、特
に仮想アドレスから実アドレスに変換する仮想記憶管理
機構を内蔵したマイクロプロセッサを用いて構成される
システムに対応するデバッグ装置に関する。
に仮想アドレスから実アドレスに変換する仮想記憶管理
機構を内蔵したマイクロプロセッサを用いて構成される
システムに対応するデバッグ装置に関する。
【0002】
【従来の技術】通常、大きいアドレス空間を必要とする
システムを実現するための仮想アドレス管理方式として
は、何種類かの方式があり、その代表的な仮想アドレス
管理方式の例としては、ページング方式が挙げられる。
このページング方式の場合においては、仮想アドレス空
間および実アドレス空間は、両者ともに同一サイズの単
位(ページ:通常4kバイト程度)に分割され、それぞ
れの上位アドレスをページ番号としている。このような
仮想アドレスのページ番号をn(正整数)とするとき、
当該ページ番号をnは、対応する実アドレス空間のペー
ジ番号Nにマッピングされる。
システムを実現するための仮想アドレス管理方式として
は、何種類かの方式があり、その代表的な仮想アドレス
管理方式の例としては、ページング方式が挙げられる。
このページング方式の場合においては、仮想アドレス空
間および実アドレス空間は、両者ともに同一サイズの単
位(ページ:通常4kバイト程度)に分割され、それぞ
れの上位アドレスをページ番号としている。このような
仮想アドレスのページ番号をn(正整数)とするとき、
当該ページ番号をnは、対応する実アドレス空間のペー
ジ番号Nにマッピングされる。
【0003】仮想アドレス空間は4G(232)バイト
で、実アドレス空間は16M(224)バイトというよう
に、仮想アドレス空間の方が実アドレス空間よりも大き
いので、実アドレスの1ページ分を複数の仮想アドレス
のページに割当てて、仮想アドレス空間と実アドレス空
間の対応付けが行われている。このように、仮想アドレ
ス空間と実アドレス空間との対応付けを行う機構が、所
謂仮想記憶管理機構である。
で、実アドレス空間は16M(224)バイトというよう
に、仮想アドレス空間の方が実アドレス空間よりも大き
いので、実アドレスの1ページ分を複数の仮想アドレス
のページに割当てて、仮想アドレス空間と実アドレス空
間の対応付けが行われている。このように、仮想アドレ
ス空間と実アドレス空間との対応付けを行う機構が、所
謂仮想記憶管理機構である。
【0004】従来、この仮想記憶管理機構は、そのデバ
イス規模が大きいために、仮想アドレスをアドレス・バ
スに出力するマイクロプロセッサの外部において、別デ
バイスとして用意されるという形態がとられている。こ
のような方式においては、デバイス間の遅延時間が大き
いために、アドレス変換における損失要素が大きく、当
該システムの性能を劣化させるという事態となる。一
方、最近においては、半導体集積技術の進展により、こ
の仮想記憶管理機構をマイクロプロセッサ本体内に内蔵
することが一般的な常識になってきている。このため
に、マイクロプロセッサの外部動作としては本質的に不
要な仮想アドレスは、マイクロプロセッサから出力され
ることがない状態となっている。このような仮想記憶管
理機構を内蔵するマイクロプロセッサを使用しているシ
ステムにおいては、当該システムのデバッグを行う場合
には、通常はデバッグ装置が用いられる。
イス規模が大きいために、仮想アドレスをアドレス・バ
スに出力するマイクロプロセッサの外部において、別デ
バイスとして用意されるという形態がとられている。こ
のような方式においては、デバイス間の遅延時間が大き
いために、アドレス変換における損失要素が大きく、当
該システムの性能を劣化させるという事態となる。一
方、最近においては、半導体集積技術の進展により、こ
の仮想記憶管理機構をマイクロプロセッサ本体内に内蔵
することが一般的な常識になってきている。このため
に、マイクロプロセッサの外部動作としては本質的に不
要な仮想アドレスは、マイクロプロセッサから出力され
ることがない状態となっている。このような仮想記憶管
理機構を内蔵するマイクロプロセッサを使用しているシ
ステムにおいては、当該システムのデバッグを行う場合
には、通常はデバッグ装置が用いられる。
【0005】一般に、プログラマがプログラムを作成す
る際には、仮想アドレスのみを用いてプログラムの記述
が行われている。従って、プログラマにより、プログラ
ムの動作確認、不具合解析および性能改善等の作業を行
う際には、実アドレスに対応するマイクロプロセッサの
出力のみを利用するだけでは、効率的な作業を行うこと
ができない。そのために、作業の効率化を図るために、
デバッグ装置を用いて、マイクロプロセッサからは出力
されない仮想アドレスを使用することにより、デバッグ
が行われている。
る際には、仮想アドレスのみを用いてプログラムの記述
が行われている。従って、プログラマにより、プログラ
ムの動作確認、不具合解析および性能改善等の作業を行
う際には、実アドレスに対応するマイクロプロセッサの
出力のみを利用するだけでは、効率的な作業を行うこと
ができない。そのために、作業の効率化を図るために、
デバッグ装置を用いて、マイクロプロセッサからは出力
されない仮想アドレスを使用することにより、デバッグ
が行われている。
【0006】デバッグ装置を用いてデバッグを行う方法
としては、プログラムが予期していたとうりに動作する
ことを順番に追跡してゆくトレース手法、および特定ア
ドレスをアクセスした時に、プログラムが予期していた
とうりに動作していることを確めるトラップ手法などが
ある。トレース手法においては、マイクロプロセッサに
おいて発行されるバス・サイクルを監視して、予期した
とうりのシーケンスがとられているかどうか、または正
しいデータの授受が行われているかどうかを、実行の時
間経過に従って観察される。この際、観察される内容
は、バス・サイクルの種類、出力されるアドレスおよび
転送されるリード/ライト・データ等である。また、も
う一つのトラップ手法においては、マイクロプロセッサ
において発行されるバス・サイクルを監視して、事前に
プログラマにより設定されたアドレスにアクセスした時
に分岐を生起させ、当該分岐先に確めたい内部状態を出
力するプログラムを用意しておいて、予期したとうりの
処理が実行されたかどうかが観察される。この際、観察
される内容は、出力可能な内蔵キャッシュ情報、汎用レ
ジスタのデータ、マイクロプロセッサ制御用レジスタの
データおよびトラップにより中断された処理の再開用
に、マイクロプロセッサにより退避されていた再開用ア
ドレス等である(参考文献:(株)電波新聞社「マイコ
ン開発のすべて」1989年)。
としては、プログラムが予期していたとうりに動作する
ことを順番に追跡してゆくトレース手法、および特定ア
ドレスをアクセスした時に、プログラムが予期していた
とうりに動作していることを確めるトラップ手法などが
ある。トレース手法においては、マイクロプロセッサに
おいて発行されるバス・サイクルを監視して、予期した
とうりのシーケンスがとられているかどうか、または正
しいデータの授受が行われているかどうかを、実行の時
間経過に従って観察される。この際、観察される内容
は、バス・サイクルの種類、出力されるアドレスおよび
転送されるリード/ライト・データ等である。また、も
う一つのトラップ手法においては、マイクロプロセッサ
において発行されるバス・サイクルを監視して、事前に
プログラマにより設定されたアドレスにアクセスした時
に分岐を生起させ、当該分岐先に確めたい内部状態を出
力するプログラムを用意しておいて、予期したとうりの
処理が実行されたかどうかが観察される。この際、観察
される内容は、出力可能な内蔵キャッシュ情報、汎用レ
ジスタのデータ、マイクロプロセッサ制御用レジスタの
データおよびトラップにより中断された処理の再開用
に、マイクロプロセッサにより退避されていた再開用ア
ドレス等である(参考文献:(株)電波新聞社「マイコ
ン開発のすべて」1989年)。
【0007】このデバッグ装置を実現する方法として
は、デバッグに際して、実アドレスを出力する代わりに
仮想アドレスを出力する特別なマイクロプロセッサ(以
後、デバッグ・チップと云う)を用いる方法がある。図
5に示されるのは、当該デバッグ・チップを用いたデバ
ッグ装置の構成を示すブロック図である。図5におい
て、当該デバッグ装置は、マイクロプロセッサ501
と、デバッグ・チップ502と、メモリ装置102と、
バス監視装置504とを備えて構成される。
は、デバッグに際して、実アドレスを出力する代わりに
仮想アドレスを出力する特別なマイクロプロセッサ(以
後、デバッグ・チップと云う)を用いる方法がある。図
5に示されるのは、当該デバッグ・チップを用いたデバ
ッグ装置の構成を示すブロック図である。図5におい
て、当該デバッグ装置は、マイクロプロセッサ501
と、デバッグ・チップ502と、メモリ装置102と、
バス監視装置504とを備えて構成される。
【0008】図5において、マイクロプロセッサ501
は、アドレス・バス1005およびデータ・バス100
6を介してメモリ装置102に接続されており、一つの
マイクロプロセッサ応用システムを構成している。アド
レス・バス1005に対しては、マイクロプロセッサ5
01より実アドレスが出力される。マイクロプロセッサ
501とデータ・バス1006を共有するデバッグ・チ
ップ502においては、データライト・バス・サイクル
時に、当該データ・バス1006をドライブする動作が
行われることはなく、アドレスとして、仮想アドレスを
仮想アドレス・バス5001に出力する点を除けば、マ
イクロプロセッサ501と全く同一の動作が行われる。
即ち、マイクロプロセッサ501とデバッグ・チップ5
02は、完全に同期をとりながら、内部においては同一
タイミングにおいて同一動作が行われている。
は、アドレス・バス1005およびデータ・バス100
6を介してメモリ装置102に接続されており、一つの
マイクロプロセッサ応用システムを構成している。アド
レス・バス1005に対しては、マイクロプロセッサ5
01より実アドレスが出力される。マイクロプロセッサ
501とデータ・バス1006を共有するデバッグ・チ
ップ502においては、データライト・バス・サイクル
時に、当該データ・バス1006をドライブする動作が
行われることはなく、アドレスとして、仮想アドレスを
仮想アドレス・バス5001に出力する点を除けば、マ
イクロプロセッサ501と全く同一の動作が行われる。
即ち、マイクロプロセッサ501とデバッグ・チップ5
02は、完全に同期をとりながら、内部においては同一
タイミングにおいて同一動作が行われている。
【0009】バス監視装置504においては、仮想アド
レス・バス5001のアドレスならびにデータ・バス1
006のデータ、バス・サイクルの種類信号1001、
リード/ライト信号1002、データ・アクセス信号1
003およびバス・サイクル・スタート信号1004に
対するサンプリングが行われる。図6に示されるのは、
バス監視装置504の内部に含まれるトレース回路を示
す図である。図6に示されるように、当該トレース回路
は、トレース・メモリ装置201と、カウンタ214
と、AND回路602とを備えて構成されており、仮想
アドレス・バス5001のアドレス、アクセスの種類信
号1004、リード/ライト信号1002、データ・ア
クセス信号1003、バス・サイクル・スタート信号1
004、データ・バス1006のリード/ライト・デー
タは、インバータ601を介して入力されるクロック2
011を介して、当該クロックごとにサンプリングされ
てトレース・メモリ装置201に格納され、トレース機
能が実現されている。
レス・バス5001のアドレスならびにデータ・バス1
006のデータ、バス・サイクルの種類信号1001、
リード/ライト信号1002、データ・アクセス信号1
003およびバス・サイクル・スタート信号1004に
対するサンプリングが行われる。図6に示されるのは、
バス監視装置504の内部に含まれるトレース回路を示
す図である。図6に示されるように、当該トレース回路
は、トレース・メモリ装置201と、カウンタ214
と、AND回路602とを備えて構成されており、仮想
アドレス・バス5001のアドレス、アクセスの種類信
号1004、リード/ライト信号1002、データ・ア
クセス信号1003、バス・サイクル・スタート信号1
004、データ・バス1006のリード/ライト・デー
タは、インバータ601を介して入力されるクロック2
011を介して、当該クロックごとにサンプリングされ
てトレース・メモリ装置201に格納され、トレース機
能が実現されている。
【0010】図7に示されるのは、バス監視装置504
の内部に含まれるトラップ回路を示す図である。図7に
示されるように、当該トラップ回路は、トラップ・アド
レス・レジスタ701と、比較器702と、フリップフ
ロップ703とを備えて構成されており、トラップ・ア
ドレス・レジスタ701には、トラップ・アドレス30
01およびトラップ・セット3002を介してトラップ
をかける仮想アドレスが設定され、当該仮想アドレスと
仮想アドレス・バス5001とが比較器702において
比較されて、両仮想アドレスが一致する場合には、一致
信号7005が出力されてフリップフロップ703に入
力される。フリップフロップ703からは、インバータ
704を介して入力されるクロック2011を介してト
ラップ要求信号7007が出力され、図5に示されるマ
イクロプロセッサ501およびデバッグ・チップ502
に入力される。これにより、バス監視装置504による
トラップ機能が実現されている。
の内部に含まれるトラップ回路を示す図である。図7に
示されるように、当該トラップ回路は、トラップ・アド
レス・レジスタ701と、比較器702と、フリップフ
ロップ703とを備えて構成されており、トラップ・ア
ドレス・レジスタ701には、トラップ・アドレス30
01およびトラップ・セット3002を介してトラップ
をかける仮想アドレスが設定され、当該仮想アドレスと
仮想アドレス・バス5001とが比較器702において
比較されて、両仮想アドレスが一致する場合には、一致
信号7005が出力されてフリップフロップ703に入
力される。フリップフロップ703からは、インバータ
704を介して入力されるクロック2011を介してト
ラップ要求信号7007が出力され、図5に示されるマ
イクロプロセッサ501およびデバッグ・チップ502
に入力される。これにより、バス監視装置504による
トラップ機能が実現されている。
【0011】
【発明が解決しようとする課題】上述した従来のデバッ
グ装置においては、当該デバッグ装置に含まれるマイク
ロプロセッサ単体のみにおいては、実アドレスが出力さ
れるのみであり、従って、仮想アドレスにおけるバス・
サイクルの監視を行うことができない。また、このこと
を可能とするために、図5に示されるように、デバッグ
・チップを並行して備える場合においては、下記に示さ
れるような欠点がある。
グ装置においては、当該デバッグ装置に含まれるマイク
ロプロセッサ単体のみにおいては、実アドレスが出力さ
れるのみであり、従って、仮想アドレスにおけるバス・
サイクルの監視を行うことができない。また、このこと
を可能とするために、図5に示されるように、デバッグ
・チップを並行して備える場合においては、下記に示さ
れるような欠点がある。
【0012】マイクロプロセッサと機能・構成等が殆
ど類似しているデバッグ・チップという余分なデバイス
が必要となり、装置構成上、コストが非常に高くなる。
ど類似しているデバッグ・チップという余分なデバイス
が必要となり、装置構成上、コストが非常に高くなる。
【0013】デバイスの製造時におけるバラツキによ
り、例えば、セットアップ時間および遅延時間等におい
て、マイクロプロセッサとデバッグ・チップとの間のデ
バイス間における整合をとることが困難であるという難
点がある。
り、例えば、セットアップ時間および遅延時間等におい
て、マイクロプロセッサとデバッグ・チップとの間のデ
バイス間における整合をとることが困難であるという難
点がある。
【0014】特に、上記の項の問題については、33
MHz以上の高周波数帯において当該デバッグ装置を動
作させる場合には、ターゲットとなるマイクロプロセッ
サと相性の適合したデバッグ・チップを用意することが
必要不可欠の条件となり、この条件にマッチしない場合
には、マイクロプロセッサとデバッグ・チップとの相互
間の同期をとることが不可能となり、当該デバッグ装置
によるデバッグ処理の実施自体が不可能になるという欠
点がある。
MHz以上の高周波数帯において当該デバッグ装置を動
作させる場合には、ターゲットとなるマイクロプロセッ
サと相性の適合したデバッグ・チップを用意することが
必要不可欠の条件となり、この条件にマッチしない場合
には、マイクロプロセッサとデバッグ・チップとの相互
間の同期をとることが不可能となり、当該デバッグ装置
によるデバッグ処理の実施自体が不可能になるという欠
点がある。
【0015】
【課題を解決するための手段】第1の発明のデバッグ装
置は、マイクロプロセッサ・システムに適用されるトレ
−ス手法を用いたデバッグ装置において、仮想記憶管理
機構を内蔵し、通常動作時における実アドレス出力に対
応する通常バス・サイクルを出力する機能、ならびにデ
バッグ時における仮想アドレス出力に対応するデバッグ
・バス・サイクルを出力する機能を有しており、前記仮
想アドレスの出力時においては、アクセスの種類を知ら
せる信号ならびに仮想アドレスの出力中であることを知
らせる信号を共に出力するマイクロプロセッサと、前記
マイクロプロセッサに対して、少なくともアドレス・バ
スおよびデータ・バスを介して接続されており、当該マ
イクロプロセッサとともにマイクロプロセッサ・システ
ムを形成するメモリ装置と、前記マイクロプロセッサに
対して、少なくともアドレス・バスおよびデータ・バス
を介して接続されており、前記マイクロプロセッサにお
いて発行されるバス・サイクル、出力されるアドレスお
よび転送されるリード/ライト・データ等の時間的経過
内容等を監視しており、前記仮想アドレスの出力時にお
いては、前記マイクロプロセッサより出力されるアクセ
スの種類を知らせる信号ならびに仮想アドレスの出力中
であることを知らせる信号等を受けて、トレース・デー
タを格納する手段を含むトレ−ス回路を備えるバス監視
装置とを少なくとも備えて構成され、仮想アドレスを用
いてデバッグすることができることを特徴としている。
置は、マイクロプロセッサ・システムに適用されるトレ
−ス手法を用いたデバッグ装置において、仮想記憶管理
機構を内蔵し、通常動作時における実アドレス出力に対
応する通常バス・サイクルを出力する機能、ならびにデ
バッグ時における仮想アドレス出力に対応するデバッグ
・バス・サイクルを出力する機能を有しており、前記仮
想アドレスの出力時においては、アクセスの種類を知ら
せる信号ならびに仮想アドレスの出力中であることを知
らせる信号を共に出力するマイクロプロセッサと、前記
マイクロプロセッサに対して、少なくともアドレス・バ
スおよびデータ・バスを介して接続されており、当該マ
イクロプロセッサとともにマイクロプロセッサ・システ
ムを形成するメモリ装置と、前記マイクロプロセッサに
対して、少なくともアドレス・バスおよびデータ・バス
を介して接続されており、前記マイクロプロセッサにお
いて発行されるバス・サイクル、出力されるアドレスお
よび転送されるリード/ライト・データ等の時間的経過
内容等を監視しており、前記仮想アドレスの出力時にお
いては、前記マイクロプロセッサより出力されるアクセ
スの種類を知らせる信号ならびに仮想アドレスの出力中
であることを知らせる信号等を受けて、トレース・デー
タを格納する手段を含むトレ−ス回路を備えるバス監視
装置とを少なくとも備えて構成され、仮想アドレスを用
いてデバッグすることができることを特徴としている。
【0016】また、第2の発明のデバッグ装置は、マイ
クロプロセッサ・システムに適用されるトラップ手法を
用いたデバッグ装置において、仮想記憶管理機構を内蔵
し、通常動作時における実アドレス出力に対応する通常
バス・サイクルを出力する機能、ならびにデバッグ時に
おける仮想アドレス出力に対応するデバッグ・バス・サ
イクルを出力する機能を有しており、前記仮想アドレス
の出力時においては、アクセスの種類を知らせる信号な
らびに仮想アドレスの出力中であることを知らせる信号
を共に出力するマイクロプロセッサと、前記マイクロプ
ロセッサに対して、少なくともアドレス・バスおよびデ
ータ・バスを介して接続されており、当該マイクロプロ
セッサとともにマイクロプロセッサ・システムを形成す
るメモリ装置と、前記マイクロプロセッサに対して、少
なくともアドレス・バスおよびデータ・バスを介して接
続されており、前記マイクロプロセッサにおいて発行さ
れるバス・サイクルを監視しており、通常バス・サイク
ルの過程において、所定のトラップ・データと仮想アド
レスが一致する時点においてトラップ要求信号を設定
し、前記マイクロプロセッサに対して出力する手段を含
むトラップ回路を備えるバス監視装置とを少なくとも備
えて構成され、仮想アドレスを用いてデバッグすること
ができることを特徴としている。
クロプロセッサ・システムに適用されるトラップ手法を
用いたデバッグ装置において、仮想記憶管理機構を内蔵
し、通常動作時における実アドレス出力に対応する通常
バス・サイクルを出力する機能、ならびにデバッグ時に
おける仮想アドレス出力に対応するデバッグ・バス・サ
イクルを出力する機能を有しており、前記仮想アドレス
の出力時においては、アクセスの種類を知らせる信号な
らびに仮想アドレスの出力中であることを知らせる信号
を共に出力するマイクロプロセッサと、前記マイクロプ
ロセッサに対して、少なくともアドレス・バスおよびデ
ータ・バスを介して接続されており、当該マイクロプロ
セッサとともにマイクロプロセッサ・システムを形成す
るメモリ装置と、前記マイクロプロセッサに対して、少
なくともアドレス・バスおよびデータ・バスを介して接
続されており、前記マイクロプロセッサにおいて発行さ
れるバス・サイクルを監視しており、通常バス・サイク
ルの過程において、所定のトラップ・データと仮想アド
レスが一致する時点においてトラップ要求信号を設定
し、前記マイクロプロセッサに対して出力する手段を含
むトラップ回路を備えるバス監視装置とを少なくとも備
えて構成され、仮想アドレスを用いてデバッグすること
ができることを特徴としている。
【0017】
【実施例】次に、本発明について図面を参照して説明す
る。
る。
【0018】図1は本発明の一実施例を示すブロック図
である。図1に示されるように、本実施例は、マイクロ
プロセッサ101と、メモリ装置102と、バス監視装
置103とを備えて構成される。本実施例の従来例と異
なる点は、図5との対比により明らかなように、デバッ
グ・チップが本実施例のデバッグ装置より排除されてい
ることである。
である。図1に示されるように、本実施例は、マイクロ
プロセッサ101と、メモリ装置102と、バス監視装
置103とを備えて構成される。本実施例の従来例と異
なる点は、図5との対比により明らかなように、デバッ
グ・チップが本実施例のデバッグ装置より排除されてい
ることである。
【0019】図1において、マイクロプロセッサ101
において採用されている仮想記憶方式としては、4K
(212)バイトを1ページとするページング方式であ
り、4G(232)バイトの仮想アドレス空間および実ア
ドレス空間が保有されている。仮想アドレスおよび実ア
ドレスの上位20ビットは、それぞれページ番号として
扱われており、下位12ビットは、共通のページ内オフ
セットである。また、マイクロプロセッサ101には2
種類のバス・サイクルを出力する機能があり、一方のバ
ス・サイクルは通常のバス・サイクルであり、アドレス
・バス1005からは、マイクロプロセッサ101にお
いて通常動作に必要な実アドレスが出力される。もう一
方のバス・サイクルはデバッグ・バス・サイクルであ
り、アドレス・バス1005から、仮想アドレスが実ア
ドレス出力前に出力される。仮想アドレスの出力時にお
いては、アクセスの種類を知らせる信号1001および
仮想アドレス出力中であることを知らせる信号1007
が共に出力される。デバッグ・サイクルにおいては、命
令フェッチおよびデータ・アクセスのそれぞれが、新ペ
ージにアクセスする場合においてのみ起動される。
において採用されている仮想記憶方式としては、4K
(212)バイトを1ページとするページング方式であ
り、4G(232)バイトの仮想アドレス空間および実ア
ドレス空間が保有されている。仮想アドレスおよび実ア
ドレスの上位20ビットは、それぞれページ番号として
扱われており、下位12ビットは、共通のページ内オフ
セットである。また、マイクロプロセッサ101には2
種類のバス・サイクルを出力する機能があり、一方のバ
ス・サイクルは通常のバス・サイクルであり、アドレス
・バス1005からは、マイクロプロセッサ101にお
いて通常動作に必要な実アドレスが出力される。もう一
方のバス・サイクルはデバッグ・バス・サイクルであ
り、アドレス・バス1005から、仮想アドレスが実ア
ドレス出力前に出力される。仮想アドレスの出力時にお
いては、アクセスの種類を知らせる信号1001および
仮想アドレス出力中であることを知らせる信号1007
が共に出力される。デバッグ・サイクルにおいては、命
令フェッチおよびデータ・アクセスのそれぞれが、新ペ
ージにアクセスする場合においてのみ起動される。
【0020】命令コードのフェッチに対応するメモリに
対するアクセスは、分岐動作が行われない限りインクリ
メンタリ(一定分の増加)である。このため、一度或る
ページに対するアクセスが開始されると、ページ境界を
越えるまで同一ページに対するアクセスが連続して行わ
れる。これにより、命令コードのフェッチがページ境界
を越えた場合に限り、デバッグ・バス・サイクルを付加
させれば十分である。従って、通常バス・バス・サイク
ルのみを用いた場合とデバッグ・バス・サイクルを用い
た場合との間で、マイクロプロセッサ101を用いたシ
ステム全体の処理時間の差を短縮することができ、より
目標とするマイクロプロセッサ・システムに近い環境に
おいてデバッグを行うことが可能となる。また、ページ
境界を越えることの検出は、前回発行された命令フェッ
チおよびデータ・アクセスのそれぞれの仮想アドレスの
ページ番号と、要求された命令フェッチおよびデータ・
アクセスそれぞれの仮想アドレスのページ番号が異なる
ことにより検出される。なお、本マイクロプロセッサ1
01については、特願平2−046098号公報に記載
されている。
対するアクセスは、分岐動作が行われない限りインクリ
メンタリ(一定分の増加)である。このため、一度或る
ページに対するアクセスが開始されると、ページ境界を
越えるまで同一ページに対するアクセスが連続して行わ
れる。これにより、命令コードのフェッチがページ境界
を越えた場合に限り、デバッグ・バス・サイクルを付加
させれば十分である。従って、通常バス・バス・サイク
ルのみを用いた場合とデバッグ・バス・サイクルを用い
た場合との間で、マイクロプロセッサ101を用いたシ
ステム全体の処理時間の差を短縮することができ、より
目標とするマイクロプロセッサ・システムに近い環境に
おいてデバッグを行うことが可能となる。また、ページ
境界を越えることの検出は、前回発行された命令フェッ
チおよびデータ・アクセスのそれぞれの仮想アドレスの
ページ番号と、要求された命令フェッチおよびデータ・
アクセスそれぞれの仮想アドレスのページ番号が異なる
ことにより検出される。なお、本マイクロプロセッサ1
01については、特願平2−046098号公報に記載
されている。
【0021】図1において、マイクロプロセッサ101
は、アドレス・バス1005およびデータ・バス100
6を介してメモリ装置102に接続されており、また、
アドレス・バス1005およびデータ・バス1006に
接続されているバス資源(図示されない)に結合され
て、一つのマイクロプロセッサ応用システムが構成され
ている。マイクロプロセッサ101においては、デバッ
グ・バス・サイクル時に、バス・サイクル・スタート信
号1004が出力されるだけであり、データ・アクセス
信号1003は出力されない。また、メモリ装置102
においては、マイクロプロセッサ101より出力される
データ・アクセス信号1003の有無により、通常バス
・サイクルとデバッグ・バス・サイクルとが区別されて
おり、誤ったデータ・アクセスが行われないように考慮
されている。マイクロプロセッサ101より出力される
リード/ライト信号1002は、そのレベルが“1”レ
ベルの時はリード・バス・サイクルであり、また“0”
レベルの時はライト・バス・サイクルであることを示す
信号である。
は、アドレス・バス1005およびデータ・バス100
6を介してメモリ装置102に接続されており、また、
アドレス・バス1005およびデータ・バス1006に
接続されているバス資源(図示されない)に結合され
て、一つのマイクロプロセッサ応用システムが構成され
ている。マイクロプロセッサ101においては、デバッ
グ・バス・サイクル時に、バス・サイクル・スタート信
号1004が出力されるだけであり、データ・アクセス
信号1003は出力されない。また、メモリ装置102
においては、マイクロプロセッサ101より出力される
データ・アクセス信号1003の有無により、通常バス
・サイクルとデバッグ・バス・サイクルとが区別されて
おり、誤ったデータ・アクセスが行われないように考慮
されている。マイクロプロセッサ101より出力される
リード/ライト信号1002は、そのレベルが“1”レ
ベルの時はリード・バス・サイクルであり、また“0”
レベルの時はライト・バス・サイクルであることを示す
信号である。
【0022】バス監視装置103は、マイクロプロセッ
サ101のバス・サイクルを監視して仮想アドレスを合
成し、様々なデバッグ機能をサポートする装置である。
バス監視装置103の内部には、命令フェッチ用の仮想
ページ番号とデータ・アクセス用の仮想ページ番号がセ
ットされるレジスタ群が設けられている。マイクロプロ
セッサ101においては、命令フェッチおよびデータ・
アクせスのそれぞれに対して、一度仮想アドレスが出力
されると、同一ページ内に対するアクセス中においては
仮想アドレスが出力されないため、デバッグ装置におい
ては、命令フェッチおよびデータ・アクセスのそれぞれ
の仮想ページ番号をセットすることができる回路を備え
ることが必要となる。
サ101のバス・サイクルを監視して仮想アドレスを合
成し、様々なデバッグ機能をサポートする装置である。
バス監視装置103の内部には、命令フェッチ用の仮想
ページ番号とデータ・アクセス用の仮想ページ番号がセ
ットされるレジスタ群が設けられている。マイクロプロ
セッサ101においては、命令フェッチおよびデータ・
アクせスのそれぞれに対して、一度仮想アドレスが出力
されると、同一ページ内に対するアクセス中においては
仮想アドレスが出力されないため、デバッグ装置におい
ては、命令フェッチおよびデータ・アクセスのそれぞれ
の仮想ページ番号をセットすることができる回路を備え
ることが必要となる。
【0023】図2は、図1に示されるバス監視装置10
3の内部に含まれるトレース回路を示す図である。ま
た、アクセスの種類を知らせる信号(ST0、ST1およ
びST2を含む)1001と、当該アクセスの種類との
対応関係を示す表を下記の表1に示す。
3の内部に含まれるトレース回路を示す図である。ま
た、アクセスの種類を知らせる信号(ST0、ST1およ
びST2を含む)1001と、当該アクセスの種類との
対応関係を示す表を下記の表1に示す。
【0024】
【表1】
【0025】マイクロプロセッサ101より送られてく
るアクセスの種類を知らせる信号1001に含まれる、
アクセスの種類を知らせる信号(ST2 )2002およ
びアクセスの種類を知らせる信号(ST1 )2003
と、仮想アドレス出力中だと知らせる信号1007とに
より、図2に示される各論理回路を介してページ番号セ
ット信号2010および2009と、ページ番号出力選
択信号2008、2007および2006が生成され
る。仮想ページ番号の命令フェッチ用セット信号201
0は、命令フェッチ中か、分岐後の命令フェッチ中であ
り、且つマイクロプロセッサ101において仮想アドレ
ス出力中においてアクティブになる。仮想ページ番号の
データ用セット信号2009は、メモリ・データ・アク
セス中かI/O・データ・アクセス中であり、且つマイ
クロプロセッサ101において仮想アドレス出力中にア
クティブになる。命令用ページ番号出力選択信号200
8は、命令フェッチ中か分岐後の命令フェッチ中であ
り、且つマイクロプロセッサ101において実アドレス
出力中にアクティブになる。データ用ページ番号出力選
択信号2007は、メモリ・データ・アクセス中かI/
O・データ・アクセス中であり、且つマイクロプロセッ
サ101において実アドレス出力中にアクティブにな
る。
るアクセスの種類を知らせる信号1001に含まれる、
アクセスの種類を知らせる信号(ST2 )2002およ
びアクセスの種類を知らせる信号(ST1 )2003
と、仮想アドレス出力中だと知らせる信号1007とに
より、図2に示される各論理回路を介してページ番号セ
ット信号2010および2009と、ページ番号出力選
択信号2008、2007および2006が生成され
る。仮想ページ番号の命令フェッチ用セット信号201
0は、命令フェッチ中か、分岐後の命令フェッチ中であ
り、且つマイクロプロセッサ101において仮想アドレ
ス出力中においてアクティブになる。仮想ページ番号の
データ用セット信号2009は、メモリ・データ・アク
セス中かI/O・データ・アクセス中であり、且つマイ
クロプロセッサ101において仮想アドレス出力中にア
クティブになる。命令用ページ番号出力選択信号200
8は、命令フェッチ中か分岐後の命令フェッチ中であ
り、且つマイクロプロセッサ101において実アドレス
出力中にアクティブになる。データ用ページ番号出力選
択信号2007は、メモリ・データ・アクセス中かI/
O・データ・アクセス中であり、且つマイクロプロセッ
サ101において実アドレス出力中にアクティブにな
る。
【0026】一方、ページ番号アドレス・バス2001
を介して、仮想ページ番号と実ページ番号がバス監視装
置103に入力される。命令フェッチ用レジスタ202
においては、入力される仮想ページ番号の命令フェッチ
用セット信号2010がアクティブの時に、ページ番号
がセットされる。また、データ用レジスタ203におい
ては、入力される仮想ページ番号のデータ用セット信号
2009がアクティブの時に、ページ番号がセットされ
る。命令フェッチ用レジスタ202およびデータ用レジ
スタ203にセットされた仮想ページ番号は、それぞれ
命令用ページ番号出力選択信号2008およびデータ用
ページ番号出力選択信号2007により、通常バス・サ
イクル時にページ番号内部バス2018に出力される。
また、アドレス変換が行われず、仮想アドレスと実アド
レスが一致するバス・サイクル(停止、仮想テーブル・
アクセス、例外テーブル・アクセスおよび割込み)に対
しては、その他のページ番号出力選択信号2006がア
クティブになり、ページ番号アドレス・バス2001を
介して入力されるページ番号が、そのままページ番号内
部バス2018に出力される。
を介して、仮想ページ番号と実ページ番号がバス監視装
置103に入力される。命令フェッチ用レジスタ202
においては、入力される仮想ページ番号の命令フェッチ
用セット信号2010がアクティブの時に、ページ番号
がセットされる。また、データ用レジスタ203におい
ては、入力される仮想ページ番号のデータ用セット信号
2009がアクティブの時に、ページ番号がセットされ
る。命令フェッチ用レジスタ202およびデータ用レジ
スタ203にセットされた仮想ページ番号は、それぞれ
命令用ページ番号出力選択信号2008およびデータ用
ページ番号出力選択信号2007により、通常バス・サ
イクル時にページ番号内部バス2018に出力される。
また、アドレス変換が行われず、仮想アドレスと実アド
レスが一致するバス・サイクル(停止、仮想テーブル・
アクセス、例外テーブル・アクセスおよび割込み)に対
しては、その他のページ番号出力選択信号2006がア
クティブになり、ページ番号アドレス・バス2001を
介して入力されるページ番号が、そのままページ番号内
部バス2018に出力される。
【0027】トレースメモリ装置201においては、ト
ラップ・アドレス・カウンタ214に接続されるトレー
ス・アドレス・バス2015のトレース・アドレスがイ
ンクリメントされ、トレース・データ・アクセス201
6がアクティブになった時に、トレース・データ・バス
2017を介して入力されるデータに対するサンプリン
グが行われる。上記のトラップ・アドレス・カウンタ2
14に入力されるトレース・アドレス・インクリメント
信号2013は、クロック2011に同期して当該トラ
ップ・アドレス・カウンタ214に入力されており、デ
バッグ・バス・サイクルが走っていない間において、ト
レース・アドレスはカウントアップされてゆく。このた
めに、トレースメモリ装置201の内部において記憶さ
れるトレース・データは、プログラマのデバッグ時に不
必要なデバッグ・バス・サイクル時におけるトレース・
データを除くことができる。トレース・アドレス・クリ
ア信号2014は、クロック2011とトレース・スタ
ート信号2012のAND回路213による論理積によ
り生成され、トラップ・アドレス・カウンタ214に入
力されて、トレース・アドレスをクリアする。これによ
り、トレース・データは、トレースメモリ装置201内
部における先頭アドレスから容量一杯まで記憶される。
このトレース・データの内容は、通常バス・サイクル時
におけるページ番号内部バス2018のページ番号、オ
フセット・アドレス2005のデータ・バス・サイクル
の種類信号1001、データ・バス1006のデータ、
バス・サイクル・スタート信号1003およびリード・
ライト信号1002である。
ラップ・アドレス・カウンタ214に接続されるトレー
ス・アドレス・バス2015のトレース・アドレスがイ
ンクリメントされ、トレース・データ・アクセス201
6がアクティブになった時に、トレース・データ・バス
2017を介して入力されるデータに対するサンプリン
グが行われる。上記のトラップ・アドレス・カウンタ2
14に入力されるトレース・アドレス・インクリメント
信号2013は、クロック2011に同期して当該トラ
ップ・アドレス・カウンタ214に入力されており、デ
バッグ・バス・サイクルが走っていない間において、ト
レース・アドレスはカウントアップされてゆく。このた
めに、トレースメモリ装置201の内部において記憶さ
れるトレース・データは、プログラマのデバッグ時に不
必要なデバッグ・バス・サイクル時におけるトレース・
データを除くことができる。トレース・アドレス・クリ
ア信号2014は、クロック2011とトレース・スタ
ート信号2012のAND回路213による論理積によ
り生成され、トラップ・アドレス・カウンタ214に入
力されて、トレース・アドレスをクリアする。これによ
り、トレース・データは、トレースメモリ装置201内
部における先頭アドレスから容量一杯まで記憶される。
このトレース・データの内容は、通常バス・サイクル時
におけるページ番号内部バス2018のページ番号、オ
フセット・アドレス2005のデータ・バス・サイクル
の種類信号1001、データ・バス1006のデータ、
バス・サイクル・スタート信号1003およびリード・
ライト信号1002である。
【0028】図4(a)、(b)、(c)、(d)、
(e)、(f)、(g)、(h)、(i)、(j)およ
び(k)に示されるのは、本発明における各部の信号を
示すタイミング図であり、それぞれ順番に、クロック2
011、仮想アドレス出力中だと知らせる信号100
7、アクセスの種類を知らせる信号1001、アドレス
・バス2001のページ番号、アドレス・バス2005
のオフセット信号、トレース・アドレス・アクセス信号
2016、トレース・アドレス信号2015、トレース
・データ・バス2017のデータ、仮想ページ番号一致
信号3003、オフセット一致信号3004およびトラ
ップ要求信号1008を示している。なお、図4
(i),(j)および(k)に示されるタイミング図
は、特に、後述する第2の実施例の動作に対応するタイ
ミング図である。
(e)、(f)、(g)、(h)、(i)、(j)およ
び(k)に示されるのは、本発明における各部の信号を
示すタイミング図であり、それぞれ順番に、クロック2
011、仮想アドレス出力中だと知らせる信号100
7、アクセスの種類を知らせる信号1001、アドレス
・バス2001のページ番号、アドレス・バス2005
のオフセット信号、トレース・アドレス・アクセス信号
2016、トレース・アドレス信号2015、トレース
・データ・バス2017のデータ、仮想ページ番号一致
信号3003、オフセット一致信号3004およびトラ
ップ要求信号1008を示している。なお、図4
(i),(j)および(k)に示されるタイミング図
は、特に、後述する第2の実施例の動作に対応するタイ
ミング図である。
【0029】図4(a)に示されるように、バス・サイ
クルは、T1 およびT2 のそれぞれ1クロック幅のステ
ートで構成されており、必要な場合には、T2 を繰返す
ことにより延長することができる。図4の場合は、連続
した3回のバス・サイクルを示すタイミング図である。
最初のバス・サイクルは、デバッグ・サイクル(仮想ア
ドレス出力中だと知らせる信号1007がアクティブ)
で、新ページの命令フェッチ(アクセスの種類を知らせ
る信号1001が、2進数で111)に伴ない発行され
たバス・サイクルである。このサイクルにおいては、ア
ドレス・バス2001の命令フェッチ用仮想ページ番号
は、仮想ページ番号の命令用セット信号2010を介し
て命令フェッチ用レジスタ202にセットされる。2番
目のバス・サイクルおよび3番目のバス・サイクルは、
共に、通常の命令フェッチ・バス・サイクル(仮想アド
レス出力中だと知らせる信号1007がインアクティ
ブ、アクセスの種類を知らせる信号1001が2進数で
111)である。
クルは、T1 およびT2 のそれぞれ1クロック幅のステ
ートで構成されており、必要な場合には、T2 を繰返す
ことにより延長することができる。図4の場合は、連続
した3回のバス・サイクルを示すタイミング図である。
最初のバス・サイクルは、デバッグ・サイクル(仮想ア
ドレス出力中だと知らせる信号1007がアクティブ)
で、新ページの命令フェッチ(アクセスの種類を知らせ
る信号1001が、2進数で111)に伴ない発行され
たバス・サイクルである。このサイクルにおいては、ア
ドレス・バス2001の命令フェッチ用仮想ページ番号
は、仮想ページ番号の命令用セット信号2010を介し
て命令フェッチ用レジスタ202にセットされる。2番
目のバス・サイクルおよび3番目のバス・サイクルは、
共に、通常の命令フェッチ・バス・サイクル(仮想アド
レス出力中だと知らせる信号1007がインアクティ
ブ、アクセスの種類を知らせる信号1001が2進数で
111)である。
【0030】トレース・メモリ装置に記憶されるトレー
ス・データはT1 ステートにおけるTD1 、T2 ステー
トにおけるTD1 、およびT1 ステートにおけるTD2
の3データである。これらのTD1 およびTD2 は、ペ
ージ番号だけは、最初のデバッグ・サイクルにおいて、
命令フェッチ用仮想ページ番号がセットされたレジスタ
202のデータであるが、その他のデータは、マイクロ
プロセッサ101において発行されたバス・サイクルの
データを、トレース・データ・アクセス信号2016に
よりサンプリングして得られたデータである。このトレ
ース・データ・アクセス信号2016は、通常バス・サ
イクル時のクロックの立下がりにおいてアクティブとな
る信号である。プログラマは、トレースメモリ装置20
1に記憶されているトレース・データを読出すことによ
り、容易に仮想アドレスによるトレースが可能となり、
実アドレスと仮想アドレスの違いを気にすることなくデ
バッグを行うことができる。
ス・データはT1 ステートにおけるTD1 、T2 ステー
トにおけるTD1 、およびT1 ステートにおけるTD2
の3データである。これらのTD1 およびTD2 は、ペ
ージ番号だけは、最初のデバッグ・サイクルにおいて、
命令フェッチ用仮想ページ番号がセットされたレジスタ
202のデータであるが、その他のデータは、マイクロ
プロセッサ101において発行されたバス・サイクルの
データを、トレース・データ・アクセス信号2016に
よりサンプリングして得られたデータである。このトレ
ース・データ・アクセス信号2016は、通常バス・サ
イクル時のクロックの立下がりにおいてアクティブとな
る信号である。プログラマは、トレースメモリ装置20
1に記憶されているトレース・データを読出すことによ
り、容易に仮想アドレスによるトレースが可能となり、
実アドレスと仮想アドレスの違いを気にすることなくデ
バッグを行うことができる。
【0031】次に、本発明の第2の実施例について説明
する。本実施例の全体の構成を示すブロック図は第1の
実施例と同様であり、図1に示されるとうりである。本
実施例と第1の実施例との相違点は、図1におけるバス
監視装置103の内部構成の差異にある。
する。本実施例の全体の構成を示すブロック図は第1の
実施例と同様であり、図1に示されるとうりである。本
実施例と第1の実施例との相違点は、図1におけるバス
監視装置103の内部構成の差異にある。
【0032】図3は、第2の実施例のバス監視装置に含
まれるトラップ回路を示す図である。本実施例において
は、第1の実施例に対して、その他のページ番号出力選
択信号2006を消去し、プログラマがトラップを掛け
るページ番号をセットするページ・トラップ・レジスタ
302と、トラップを掛けるオフセットをセットするオ
フセット・トラップ・レジスタ303とが追加され、ペ
ージ番号内部バス3005を介して入力される仮想ペー
ジ番号と、ページ・トラップ・レジスタ302の出力と
を比較する比較器305と、アドレス・バス2005を
介して入力されるオフセット・アドレスと、オフセット
・トラップ・レジスタ303のオフセット出力とを比較
する比較器301とが追加されており、且つ、これらの
比較結果より、マイクロプロセッサ101にトラップを
起すためのトラップ要求信号1008を出力する機能が
付加されている。
まれるトラップ回路を示す図である。本実施例において
は、第1の実施例に対して、その他のページ番号出力選
択信号2006を消去し、プログラマがトラップを掛け
るページ番号をセットするページ・トラップ・レジスタ
302と、トラップを掛けるオフセットをセットするオ
フセット・トラップ・レジスタ303とが追加され、ペ
ージ番号内部バス3005を介して入力される仮想ペー
ジ番号と、ページ・トラップ・レジスタ302の出力と
を比較する比較器305と、アドレス・バス2005を
介して入力されるオフセット・アドレスと、オフセット
・トラップ・レジスタ303のオフセット出力とを比較
する比較器301とが追加されており、且つ、これらの
比較結果より、マイクロプロセッサ101にトラップを
起すためのトラップ要求信号1008を出力する機能が
付加されている。
【0033】以下、図4(i)、(j)および(k)の
タイミング図を参照して本実施例の動作について説明す
る。本タイミング図は、2番目の通常バス・サイクルに
対応する仮想アドレスと、プログラマにより設定された
トラップ・アドレスとが一致した時の仮想ページ番号一
致信号3003と、オフセット一致信号3004と、ト
ラップ要求信号1008とを示すタイミング図である。
タイミング図を参照して本実施例の動作について説明す
る。本タイミング図は、2番目の通常バス・サイクルに
対応する仮想アドレスと、プログラマにより設定された
トラップ・アドレスとが一致した時の仮想ページ番号一
致信号3003と、オフセット一致信号3004と、ト
ラップ要求信号1008とを示すタイミング図である。
【0034】トラップ・アドレス信号3001は、ペー
ジ番号とオフセットに分離されて、それぞれページ・ト
ラップ・レジスタ302およびオフセット・トラップ・
レジスタ303に入力され、トラップ・セット信号30
02の立上がりのタイミングにおいて、それぞれのレジ
スタにセットされる。仮想ページ番号一致信号3003
は、比較器305により、ページ・トラップ・レジスタ
302にセットされたトラップ・アドレスのページ番号
と、ページ番号内部バス3005のデータとを比較した
結果を示す信号である。最初のデバッグ・バス・サイク
ルにおいて、命令フェッチ用レジスタ202にセットさ
れたフェッチ用仮想ページは、2番目の通常バス・サイ
クルにおいてはページ番号内部バス3005に出力され
る。命令フェッチ用レジスタ202の命令フェッチ用仮
想ページ番号と、ページ・トラップ・レジスタ302の
トラップ・ページ番号とは一致しているので、ページ番
号内部バス3005より、フェッチ用仮想ページが、2
番目の通常バス・サイクルにおいて出力されると同時
に、仮想ページ番号一致信号3003はアクティブにな
る。オフセット一致信号3004は、比較器301によ
り、オフセット・トラップ・レジスタ303にセットさ
れたトラップ・アドレスのオフセットと、マイクロプロ
セッサ101において発行される通常バス・サイクルに
おけるアドレス・バス2005のオフセットとを比較し
た結果を示す信号である。2番目のバス・サイクルにお
けるアドレス・バス2005のオフセットと、オフセッ
ト・トラップ・レジスタ303にセットされたトラップ
・アドレスのオフセットとは一致しているので、2番目
のバス・サイクルにおけるT1 ステートが開始されると
同時に、オフセット一致信号3004はアクティブにな
る。
ジ番号とオフセットに分離されて、それぞれページ・ト
ラップ・レジスタ302およびオフセット・トラップ・
レジスタ303に入力され、トラップ・セット信号30
02の立上がりのタイミングにおいて、それぞれのレジ
スタにセットされる。仮想ページ番号一致信号3003
は、比較器305により、ページ・トラップ・レジスタ
302にセットされたトラップ・アドレスのページ番号
と、ページ番号内部バス3005のデータとを比較した
結果を示す信号である。最初のデバッグ・バス・サイク
ルにおいて、命令フェッチ用レジスタ202にセットさ
れたフェッチ用仮想ページは、2番目の通常バス・サイ
クルにおいてはページ番号内部バス3005に出力され
る。命令フェッチ用レジスタ202の命令フェッチ用仮
想ページ番号と、ページ・トラップ・レジスタ302の
トラップ・ページ番号とは一致しているので、ページ番
号内部バス3005より、フェッチ用仮想ページが、2
番目の通常バス・サイクルにおいて出力されると同時
に、仮想ページ番号一致信号3003はアクティブにな
る。オフセット一致信号3004は、比較器301によ
り、オフセット・トラップ・レジスタ303にセットさ
れたトラップ・アドレスのオフセットと、マイクロプロ
セッサ101において発行される通常バス・サイクルに
おけるアドレス・バス2005のオフセットとを比較し
た結果を示す信号である。2番目のバス・サイクルにお
けるアドレス・バス2005のオフセットと、オフセッ
ト・トラップ・レジスタ303にセットされたトラップ
・アドレスのオフセットとは一致しているので、2番目
のバス・サイクルにおけるT1 ステートが開始されると
同時に、オフセット一致信号3004はアクティブにな
る。
【0035】フリップフロップ304より出力されるト
ラップ要求信号1008は、通常バス・サイクル中にお
いて、トラップ・アドレスとマイクロプセッサ101の
仮想アドレスが一致する(仮想ページ番号一致信号30
03と、オフセット一致信号3004が共にアクティブ
となる)時に、クロック2011の立下りにおいてセッ
トされ、マイクロプロセッサ101に送られる。マイク
ロプロセッサ101においては、このトラップ要求信号
1008をトラップ信号として入力することにより、プ
ログラマは、仮想アドレスによりトラップを掛けてデバ
ッグを行うことができる。
ラップ要求信号1008は、通常バス・サイクル中にお
いて、トラップ・アドレスとマイクロプセッサ101の
仮想アドレスが一致する(仮想ページ番号一致信号30
03と、オフセット一致信号3004が共にアクティブ
となる)時に、クロック2011の立下りにおいてセッ
トされ、マイクロプロセッサ101に送られる。マイク
ロプロセッサ101においては、このトラップ要求信号
1008をトラップ信号として入力することにより、プ
ログラマは、仮想アドレスによりトラップを掛けてデバ
ッグを行うことができる。
【0036】
【発明の効果】以上説明したように、本発明は、仮想バ
ス・サイクルと通常バス・サイクルの2種類のバス・サ
イクルを出力する機能を有するマイクロプロセッサを用
いることにより、仮想アドレスによるバス・サイクルの
監視を行うことが可能となり、デバッグ・チップという
余分なデバイスが不要となり、装置構成上のコストが低
減されるとともに、デバイスの製造時におけるバラツキ
によるデバイス間における整合性の問題が一切排除する
ことができるという効果がある。
ス・サイクルと通常バス・サイクルの2種類のバス・サ
イクルを出力する機能を有するマイクロプロセッサを用
いることにより、仮想アドレスによるバス・サイクルの
監視を行うことが可能となり、デバッグ・チップという
余分なデバイスが不要となり、装置構成上のコストが低
減されるとともに、デバイスの製造時におけるバラツキ
によるデバイス間における整合性の問題が一切排除する
ことができるという効果がある。
【図1】本発明の構成を示すブロック図である。
【図2】本発明の第1の実施例のバス監視装置内のトレ
ース回路を示す図である。
ース回路を示す図である。
【図3】本発明の第2の実施例のバス監視装置内のトラ
ップ回路を示す図である。
ップ回路を示す図である。
【図4】本発明における各部の信号のタイミング図であ
る。
る。
【図5】従来例を示すブロック図である。
【図6】従来例のバス監視装置内のトレース回路を示す
図である。
図である。
【図7】従来例のバス監視装置内のトラップ回路を示す
図である。
図である。
101、501 マイクロプロセッサ 102 メモリ装置 103、504 バス監視装置 201 トレースメモリ装置 202 命令フェッチ用レジスタ 203 データ用レジスタ 204、215、310、314、601、704 イ
ンバータ 205〜213、306〜309、311〜313、6
02 AND回路 214 トラップ・アドレス・カウンタ 301、305、702 比較器 302 ページ・トラップ・レジスタ 303 オフセット・トラップ・レジスタ 304、703 フリップフロップ 502 デバッグ・チップ 701 トラップ・アドレス・レジスタ
ンバータ 205〜213、306〜309、311〜313、6
02 AND回路 214 トラップ・アドレス・カウンタ 301、305、702 比較器 302 ページ・トラップ・レジスタ 303 オフセット・トラップ・レジスタ 304、703 フリップフロップ 502 デバッグ・チップ 701 トラップ・アドレス・レジスタ
Claims (2)
- 【請求項1】 マイクロプロセッサ・システムに適用さ
れるトレ−ス手法を用いたデバッグ装置において、 仮想記憶管理機構を内蔵し、通常動作時における実アド
レス出力に対応する通常バス・サイクルを出力する機
能、ならびにデバッグ時における仮想アドレス出力に対
応するデバッグ・バス・サイクルを出力する機能を有し
ており、前記仮想アドレスの出力時においては、アクセ
スの種類を知らせる信号ならびに仮想アドレスの出力中
であることを知らせる信号を共に出力するマイクロプロ
セッサと、 前記マイクロプロセッサに対して、少なくともアドレス
・バスおよびデータ・バスを介して接続されており、当
該マイクロプロセッサとともにマイクロプロセッサ・シ
ステムを形成するメモリ装置と、 前記マイクロプロセッサに対して、少なくともアドレス
・バスおよびデータ・バスを介して接続されており、前
記マイクロプロセッサにおいて発行されるバス・サイク
ル、出力されるアドレスおよび転送されるリード/ライ
ト・データ等の時間的経過内容等を監視しており、前記
仮想アドレスの出力時においては、前記マイクロプロセ
ッサより出力されるアクセスの種類を知らせる信号なら
びに仮想アドレスの出力中であることを知らせる信号等
を受けて、トレース・データを格納する手段を含むトレ
−ス回路を備えるバス監視装置と、 を少なくとも備えて構成され、仮想アドレスを用いてデ
バッグすることができることを特徴とするデバッグ装
置。 - 【請求項2】 マイクロプロセッサ・システムに適用さ
れるトラップ手法を用いたデバッグ装置において、 仮想記憶管理機構を内蔵し、通常動作時における実アド
レス出力に対応する通常バス・サイクルを出力する機
能、ならびにデバッグ時における仮想アドレス出力に対
応するデバッグ・バス・サイクルを出力する機能を有し
ており、前記仮想アドレスの出力時においては、アクセ
スの種類を知らせる信号ならびに仮想アドレスの出力中
であることを知らせる信号を共に出力するマイクロプロ
セッサと、 前記マイクロプロセッサに対して、少なくともアドレス
・バスおよびデータ・バスを介して接続されており、当
該マイクロプロセッサとともにマイクロプロセッサ・シ
ステムを形成するメモリ装置と、 前記マイクロプロセッサに対して、少なくともアドレス
・バスおよびデータ・バスを介して接続されており、前
記マイクロプロセッサにおいて発行されるバス・サイク
ルを監視しており、通常バス・サイクルの過程におい
て、所定のトラップ・データと仮想アドレスが一致する
時点においてトラップ要求信号を設定し、前記マイクロ
プロセッサに対して出力する手段を含むトラップ回路を
備えるバス監視装置と、 を少なくとも備えて構成され、仮想アドレスを用いてデ
バッグすることができることを特徴とするデバッグ装
置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5077305A JPH06290076A (ja) | 1993-04-05 | 1993-04-05 | デバッグ装置 |
US08/223,654 US5608867A (en) | 1993-04-05 | 1994-04-05 | Debugging system using virtual storage means, a normal bus cycle and a debugging bus cycle |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5077305A JPH06290076A (ja) | 1993-04-05 | 1993-04-05 | デバッグ装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06290076A true JPH06290076A (ja) | 1994-10-18 |
Family
ID=13630205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5077305A Withdrawn JPH06290076A (ja) | 1993-04-05 | 1993-04-05 | デバッグ装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5608867A (ja) |
JP (1) | JPH06290076A (ja) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR0149891B1 (ko) * | 1994-12-22 | 1999-05-15 | 윤종용 | 버스상태분석기 및 그 내부버스시험방법 |
CN1279449C (zh) * | 1994-12-28 | 2006-10-11 | 株式会社东芝 | 微处理器 |
US5754827A (en) * | 1995-10-13 | 1998-05-19 | Mentor Graphics Corporation | Method and apparatus for performing fully visible tracing of an emulation |
JPH10240568A (ja) * | 1997-02-27 | 1998-09-11 | Mitsubishi Electric Corp | エミュレータ装置およびエミュレーション方法 |
US6026503A (en) * | 1997-08-12 | 2000-02-15 | Telrad Communication And Electronic Industries Ltd. | Device and method for debugging systems controlled by microprocessors |
US5978946A (en) * | 1997-10-31 | 1999-11-02 | Intel Coporation | Methods and apparatus for system testing of processors and computers using signature analysis |
US6119254A (en) * | 1997-12-23 | 2000-09-12 | Stmicroelectronics, N.V. | Hardware tracing/logging for highly integrated embedded controller device |
US6295613B1 (en) * | 1998-04-28 | 2001-09-25 | International Business Machines Corporation | Debug watch mechanism and method for debugging a computer program |
US6269454B1 (en) | 1998-11-06 | 2001-07-31 | Advanced Micro Devices, Inc. | Maintaining object information concurrent with data optimization for debugging |
US7079490B1 (en) * | 1998-12-03 | 2006-07-18 | Intel Corporation | Integrated circuit with trace analyzer |
TW508490B (en) * | 1999-08-27 | 2002-11-01 | Via Tech Inc | PCI debugging device and method and chipset and system using the same |
US6601184B1 (en) | 2000-03-14 | 2003-07-29 | Novell, Inc. | System crash network access |
US7039834B1 (en) * | 2000-12-21 | 2006-05-02 | Unisys Corporation | High speed processor interconnect tracing compaction using selectable triggers |
US8108198B2 (en) * | 2006-02-21 | 2012-01-31 | Mentor Graphics Corporation | Memory tracing in an emulation environment |
JP2007328403A (ja) * | 2006-06-06 | 2007-12-20 | Matsushita Electric Ind Co Ltd | バス監視回路および情報処理検査システム |
TW200801930A (en) * | 2006-06-16 | 2008-01-01 | Via Tech Inc | Data acquisition bus transmission method and system |
US8370711B2 (en) * | 2008-06-23 | 2013-02-05 | Ramot At Tel Aviv University Ltd. | Interruption criteria for block decoding |
US20090319860A1 (en) * | 2008-06-23 | 2009-12-24 | Ramot At Tel Aviv University Ltd. | Overcoming ldpc trapping sets by decoder reset |
US8402258B2 (en) * | 2008-07-25 | 2013-03-19 | Freescale Semiconductor, Inc. | Debug message generation using a selected address type |
US8024620B2 (en) * | 2008-07-25 | 2011-09-20 | Freescale Semiconductor, Inc. | Dynamic address-type selection control in a data processing system |
US7958401B2 (en) * | 2008-07-25 | 2011-06-07 | Freescale Semiconductor, Inc. | Debug trace messaging with one or more characteristic indicators |
US8539209B2 (en) * | 2009-08-24 | 2013-09-17 | Via Technologies, Inc. | Microprocessor that performs a two-pass breakpoint check for a cache line-crossing load/store operation |
US8396998B2 (en) | 2010-12-10 | 2013-03-12 | Kingston Technology Corp. | Memory-module extender card for visually decoding addresses from diagnostic programs and ignoring operating system accesses |
JP6309919B2 (ja) * | 2015-06-23 | 2018-04-11 | ファナック株式会社 | データ取得機能を有する数値制御装置 |
TWI541646B (zh) * | 2015-07-30 | 2016-07-11 | 新唐科技股份有限公司 | 偵錯系統及其控制方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4047243A (en) * | 1975-05-27 | 1977-09-06 | Burroughs Corporation | Segment replacement mechanism for varying program window sizes in a data processing system having virtual memory |
US4264954A (en) * | 1979-09-04 | 1981-04-28 | Ncr Corporation | Distributed function communication system for remote devices |
US4481573A (en) * | 1980-11-17 | 1984-11-06 | Hitachi, Ltd. | Shared virtual address translation unit for a multiprocessor system |
JPS59173828A (ja) * | 1983-03-23 | 1984-10-02 | Nec Corp | デ−タ処理システム |
US4762447A (en) * | 1986-09-23 | 1988-08-09 | Optima Industries, Inc. | Dual-plane high-speed collet |
US4965720A (en) * | 1988-07-18 | 1990-10-23 | International Business Machines Corporation | Directed address generation for virtual-address data processors |
GB2239724B (en) * | 1990-01-05 | 1993-11-24 | Sun Microsystems Inc | Apparatus for maintaining consistency in a multi-processor computer system using virtual caching |
-
1993
- 1993-04-05 JP JP5077305A patent/JPH06290076A/ja not_active Withdrawn
-
1994
- 1994-04-05 US US08/223,654 patent/US5608867A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US5608867A (en) | 1997-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH06290076A (ja) | デバッグ装置 | |
US4954942A (en) | Software debugging system for writing a logical address conversion data into a trace memory of an emulator | |
US4922414A (en) | Symbolic language data processing system | |
US4987537A (en) | Computer capable of accessing a memory by supplying an address having a length shorter than that of a required address for the memory | |
US6470436B1 (en) | Eliminating memory fragmentation and garbage collection from the process of managing dynamically allocated memory | |
US4887235A (en) | Symbolic language data processing system | |
US20070050586A1 (en) | Memory access control apparatus | |
KR100617357B1 (ko) | 태스크 스위칭에 의한 제로 오버헤드 컴퓨터 인터럽트 | |
KR960011613A (ko) | 데이터 처리장치 | |
CA1264493A1 (en) | Digital computer with parallel processors | |
JPS635444A (ja) | マイクロプロセツサ | |
US20060195849A1 (en) | Method for synchronizing events, particularly for processors of fault-tolerant systems | |
JPH02126340A (ja) | データ処理システム | |
JPS6159557A (ja) | 仮想記憶制御装置 | |
JPS59197946A (ja) | メモリ装置 | |
JPS61214039A (ja) | キヤツシユメモリ | |
JP2682186B2 (ja) | マイクロプロセッサ | |
TW202420100A (zh) | 可配置的記憶體系統及其記憶體管理方法 | |
JPS6220034A (ja) | プログラム状態語切換制御方式 | |
JPH041373B2 (ja) | ||
CN118132459A (zh) | 硬件存储地址的重映射方法及装置 | |
JPS59163653A (ja) | デバツグ装置 | |
JPH06250933A (ja) | 情報処理装置および主記憶装置のアクセス制御方法 | |
JPS59121455A (ja) | プレフイクシング方式 | |
JPH01300352A (ja) | ダンプ領域指示制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20000704 |