JP2734468B2 - プロセッサ - Google Patents

プロセッサ

Info

Publication number
JP2734468B2
JP2734468B2 JP4034380A JP3438092A JP2734468B2 JP 2734468 B2 JP2734468 B2 JP 2734468B2 JP 4034380 A JP4034380 A JP 4034380A JP 3438092 A JP3438092 A JP 3438092A JP 2734468 B2 JP2734468 B2 JP 2734468B2
Authority
JP
Japan
Prior art keywords
instruction
access
memory
register
processor
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.)
Expired - Fee Related
Application number
JP4034380A
Other languages
English (en)
Other versions
JPH05204709A (ja
Inventor
俊雄 土居
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP4034380A priority Critical patent/JP2734468B2/ja
Priority to US08/004,825 priority patent/US5493664A/en
Publication of JPH05204709A publication Critical patent/JPH05204709A/ja
Application granted granted Critical
Publication of JP2734468B2 publication Critical patent/JP2734468B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、プロセッサに関し、
特にメモリ及びキャッシュメモリを含むシステム用のプ
ロセッサに関する。
【0002】
【従来の技術】図5は従来のプロセッサの一例を示すシ
ステム構成図である。図において、1は命令を読み込む
命令読込み手段としての命令フェッチ部、2は命令フェ
ッチ部1で読み込む命令の番地を示す命令フェッチプロ
グラムカウンタ、3は命令ブレークポインタとしての命
令ブレークポイントレジスタ、4は命令フェッチプログ
ラムカウンタ2と命令ブレークポイントレジスタ3を比
較する比較器、5は命令を解読する命令解読手段として
のデコード部、6はデコード部5で解読中の命令の番地
を示すデコードプログラムカウンタ、7はデコード部5
で解読中の命令の命令フェッチプログラムカウンタ2と
命令ブレークポイントレジスタ3の比較結果を示す1ビ
ットレジスタ、8はデータをアクセスするデータアクセ
ス手段としてのオペランドフェッチ部、9はオペランド
フェッチ部8でアクセスするデータを使用する命令の番
地を示すオペランドフェッチプログラムカウンタ、10
はオペランドフェッチ部8でアクセスするデータを使用
する命令の命令フェッチプログラムカウンタ2と命令ブ
レークポイントレジスタ3の比較結果を示す1ビットレ
ジスタ、11はオペランドフェッチ部8でアクセスする
データの番地を示すデータ番地指定手段としてのオペラ
ンドレジスタ、12はデータブレークポインタであるデ
ータブレークポイントレジスタ、13はデータブレーク
ポイントレジスタ12とオペランドレジスタ11を比較
する比較器、14は演算などを実行する実行部、15は
実行中の命令の番地を示すプログラムカウンタ、16は
実行中の命令の命令フェッチプログラムカウンタ2と命
令ブレークポイントレジスタ3の比較結果を示す1ビッ
トレジスタ、17は実行中の命令のデータブレークポイ
ントレジスタ12とオペランドレジスタ11の比較結果
を示す1ビットレジスタ、20はプロセッサ内部と外部
の情報の流れを制御するバスインターフェース、21は
命令フェッチ部1、デコード部5、オペランドフェッチ
部8、実行部14、バスインターフェース20を含むプ
ロセッサとしてのマイクロプロセッサ、18は命令、デ
ータを保持するメモリ、19はメモリ18の内容の一部
を保持するキャッシュメモリ、26はメモリ18,キャ
ッシュメモリ19を制御するメモリコントローラ、27
はメモリコントローラ26がマイクロプロセッサ21に
出力するアクセス完了信号、28はキャッシュメモリ1
9がメモリコントローラ26に出力するヒット信号であ
る。尚、この一例では、上記メモリ18及びキャッシュ
メモリ19はマイクロプロセッサ21に対し外付けで備
えられている。
【0003】従来のプロセッサの動作は次のとおりであ
る。マイクロプロセッサ21はメモリ18や図示しない
その他の周辺機器と情報を授受して処理を行なう。メモ
リ18のアクセス速度は通常マイクロプロセッサ21の
処理速度より遅いため、メモリコントローラ26はメモ
リ18の内容の一部をよりアクセス速度の速いキャッシ
ュメモリ19に保持する。プログラムやシステムの開発
の時、プログラムの途中や特定のデータのアクセスによ
ってユーザプログラムを停止し、デバグを行なう。この
ため従来のプロセッサでは命令ブレークポインタとして
の命令ブレークポイントレジスタ3と、データブレーク
ポインタとしてのデータブレークポイントレジスタ12
をもつ。ユーザプログラムにおける停止させたい番地を
命令ブレークポイントレジスタ3にセットする。またユ
ーザプログラムにおいて読み出しまたは書き込みされた
ときに停止させたい番地をデータブレークポイントレジ
スタ12にセットする。
【0004】従来のプロセッサにおけるプログラム実行
の動作は次のとおりである。プログラムの番地がマイク
ロプロセッサ21の命令フェッチ部1の命令フェッチプ
ログラムカウンタ2にセットされる。命令フェッチ部1
はバスインターフェース20に番地を通知し、バスイン
ターフェース20はメモリコントローラ26に該当番地
の読出しを指示する。メモリコントローラ26は該当番
地がキャッシュメモリ19内部に存在するか否かを判定
する。具体的には番地をキャッシュメモリ19に与える
と、該当番地の情報をキャッシュメモリ19が保持して
いるときはヒット信号28を出力し、保持していないと
きはヒット信号28を出力しない。該当番地がキャッシ
ュメモリ19内部に存在する場合、メモリコントローラ
26はメモリ18に対して該当番地の読出しを行なわ
ず、キャッシュメモリ19内部の命令を読み出す。この
場合アクセス完了信号27は最短時間で出力する。該当
番地がキャッシュメモリ19内部に存在しない場合、メ
モリコントローラ26はメモリ18に対して該当番地の
読出しを行ない、必要に応じてキャッシュメモリ19の
内容を更新する。この場合アクセス完了信号27は最短
時間でなく必要な時間を経て出力される。また命令フェ
ッチプログラムカウンタ2と命令ブレークポイントレジ
スタ3を比較器4で比較する。命令フェッチ部1の命令
フェッチプログラムカウンタ2の値はデコード部5のデ
コードプログラムカウンタ6へ、比較器4の比較結果は
1ビットレジスタ7へ、メモリコントローラ26の読み
出した命令はバスインターフェース20経由でデコード
部5へ与えられる。
【0005】デコード部5は与えられた命令をデコード
する。デコード部5のデコードプログラムカウンタ6は
オペランドフェッチ部8のオペランドフェッチカウンタ
9へ、1ビットレジスタ7の値は1ビットレジスタ10
へ、デコード部5で解読された命令の情報はオペランド
フェッチ部8へ与えられる。この情報のうち命令が使用
するデータあるいは命令の結果を格納するアドレスはオ
ペランドレジスタ11にセットされる。
【0006】オペランドフェッチ部8は命令が使用する
データのアドレスをバスインタフェース20に通知し、
バスインターフェース20はメモリコントローラ26に
該当番地の読出しを指示する。メモリコントローラ26
は該当番地がキャッシュメモリ19内部に存在するか否
かを判定する。具体的には番地をキャッシュメモリ19
に与えると、該当番地の情報をキャッシュメモリ19が
保持しているときはヒット信号28を出力し、保持して
いないときはヒット信号28を出力しない。該当番地が
キャッシメモリ19内部に存在する場合、メモリコント
ローラ26はメモリ18に対して該当番地の読出しを行
なわず、キャッシュメモリ19内部の命令を読み出す。
この場合アクセス完了信号27は最短時間で出力する。
該当番地がキャッシュメモリ19内部に存在しない場
合、メモリコントローラ26はメモリ18に対して該当
番地の読出しを行ない、必要に応じてキャッシュメモリ
19の内容を更新する。この場合アクセス完了信号27
は最短時間でなく必要な時間を経て出力される。またオ
ペランドレジスタ11とデータブレークポイントレジス
タ12を比較器13で比較する。オペランドフェッチ部
8のオペランドフェッチプログラムカウンタ9は実行部
14のプログラムカウンタ15へ、1ビットレジスタ1
0は1ビットレジスタ16へ、比較器13の比較結果は
1ビットレジスタ17へ、デコード部5で解読された命
令の情報と、バスインターフェース20の制御によりメ
モリコントローラ26で読み出されたデータは、実行部
14へ与えられる。
【0007】1ビットレジスタ16と、1ビットレジス
タ17が1でなければ、実行部14はデコード部5で解
読された命令の情報と、バスインターフェース20経由
で読み出されたデータを用いて命令を実行する。オペラ
ンドフェッチ部8は命令の結果を格納するアドレスをバ
スインターフェース20に通知し、バスインターフェー
ス20はメモリコントローラ26に該当番地への書き込
みを指示する。メモリコントローラ26は必要に応じて
キャッシュメモリ19とメモリ18の内容を更新する。
【0008】命令フェッチプログラムカウンタ2はプロ
グラムが逐次的に実行される場合、命令フェッチプログ
ラムカウンタ2の値は順次増加し、又は命令によって新
たな値がセットされる。命令フェッチ部1、デコード部
5、オペランドフェッチ部8、実行部14、バスインタ
ーフェース20は並列又は逐次的にプログラムを処理す
る。
【0009】実行部14において1ビットレジスタ16
又は、1ビットレジスタ17が1であれば実行部14は
命令の実行を止め、デバグ用のルーチンの番地を命令フ
ェッチプログラムカウンタ2にセットする。このときデ
コード部5、オペランドフェッチ部8、実行部14の情
報は無視される。ユーザはデバグ用のルーチンを用いて
デバグを行なう。このとき1ビットレジスタ16や、1
ビットレジスタ17を参照して、停止要因が命令である
かデータであるかを知ることができる。
【0010】なおキャッシュメモリ19は命令のみを保
持するタイプのものや、命令とデータを区別せずに保持
するタイプ、命令とデータを別々に保持するタイプなど
がある。ここでは命令とデータを区別せずに保持するタ
イプ、命令とデータを別々に保持するタイプを想定して
いるが、キャッシュメモリ19として命令のみを保持す
るタイプのものを想定する場合、オペランドフェッチ部
8における読み出しや書き込みの時はメモリコントロー
ラ26は必ずメモリ18をアクセスし、キャッシュメモ
リ19へはアクセスしない。
【0011】
【発明が解決しようとする課題】従来のプロセッサは以
上のように構成されていたので、キャッシュメモリ19
の内容はそのキャッシュメモリ19の方式により順次更
新されるが、デバグ対象の命令やデータがキャッシュメ
モリ19に存在するかメモリ18に存在するかを簡単に
知る手段がなかった。このためプログラムやシステムの
デバグ時にキャッシュメモリ19の効果を詳細に調整す
ることは困難であった。つまり、キャッシュメモリ19
にはアクセス回数が多く、使用頻度が高い命令又はデー
タとアクセス回数の少ない命令又はデータとが記憶され
ているが、キャッシュメモリ19に使用頻度の高い命令
又はデータを記憶して、ロックした方が、その命令又は
データを短時間でアクセスでき、全体としてみた場合、
アクセス時間を短縮できる。しかし、従来では読出した
命令又はデータがキャッシュメモリ19に存在したの
か、メモリ18に存在したのかを知ることはできず、従
って特定の命令又はデータのキャッシュメモリ19から
のアクセス回数を知ることはできず、使用頻度の高い命
令又はデータをキャッシュメモリ19にロックできなか
った。ここで、ロックとは、キャッシュメモリ19の内
容の更新を停止し、当該時点にキャッシュメモリ19内
に存在する命令又はデータを長期間保存することをい
う。
【0012】本発明は、上記のような問題点を解決する
ためになされたもので、デバグ対象の命令やデータがキ
ャッシュメモリ19に存在するかメモリ18に存在する
かを簡単に知る手段を提供し、プログラムやシステムの
デバグ時にキャッシュメモリ19の効果の詳細な調整を
容易にすることができるプロセッサを得ることを目的と
している。
【0013】
【課題を解決するための手段】本発明に係るプロセッサ
は、メモリ及びこのメモリのキャッシュメモリを内蔵又
は外部に接続、又は内蔵かつ外部に接続し、デバグ機能
としての特定番地の命令を実行したときにデバグルーチ
ンへ制御を移す為の命令やデータのブレークポインタを
持つプロセッサにおいて、ユーザがアクセス可能で、か
つ、プロセッサの外部へのアクセスが最短時間(最小カ
ウント数又は最小サイクル数)で行なわれたか否かに応
じて所定値(「0」又は「1」)がセットされるビット
を有するレジスタ(1ビットレジスタ24,25)を備
えたものである。 また、プロセッサの外部へのアクセス
が必要とした時間をカウントするカウンタ31と、上記
最短時間を示すプリセット値を保持するレジスタ32
と、カウンタ値とプリセット値を比較してプリセット値
よりカウンタ値が大きくなったときに、プロセッサの外
部へのアクセスが最短時間で行なわれなかったことを示
す所定値(「1」)を上記ユーザがアクセス可能なレジ
スタのビットにセットする比較手段(アクセスコントロ
ーラ29)とを備えるようにした。 さらに、プロセッサ
の外部へのアクセスが必要とした時間をカウントするカ
ウンタ31を備え、上記ユーザがアクセス可能なレジス
タは、さらに、上記カウンタ31の値がセットされるビ
ットを有するものとした。
【0014】
【0015】
【0016】
【0017】
【0018】
【0019】
【0020】
【作用】ユーザがアクセス可能なレジスタのビットに
は、プロセッサの外部へのアクセスが最短時間で行なわ
れた場合、例えば所定値として「0」がセットされる。
ユーザは、デバグ時にこのビットの値を見て、デバグ対
象の命令やデータがキャッシュメモリに存在するか、又
はメモリに存在するか、を知ることができる。 また、比
較手段は、カウンタ値とプリセット値を比較して、プリ
セット値よりカウンタ値が大きくなったときに、プロセ
ッサの外部へのアクセスが最短時間で行なわれなかった
ことを示す所定値として例えば「1」を上記レジスタの
ビットにセットする。このため、ユーザはデバグ時にこ
のビットの値「1」を見て、デバグ対象の命令やデータ
がメモリに存在することを知ることができ、また、ビッ
トの値が「0」であれば、デバグ対象の命令やデータが
キャッシュメモリに存在することを知ることができる。
さらに、ユーザがアクセス可能なレジスタを、カウンタ
31の値がセットされるビットを有するものとしたの
で、ユーザは、ブレーク発生時のアクセスに要したサイ
クル数を知ることができる。
【0021】
【0022】
【0023】
【0024】
【0025】
【0026】
【0027】
【実施例】本発明に係るプロセッサの一実施例を図1に
示す。図中、図5と同じものは同一符号を付して説明を
省略する。図において、28はプロセッサとしてのマイ
クロプロセッサ21の外部に接続されたキャッシュメモ
リ19よりメモリコントローラ26に出力されるヒット
信号で、本実施例では、このヒット信号28がマイクロ
プロセッサ21のバスインターフェース20にも入力端
子30(第4の発明)を介して入力される。22はデコ
ード部5に新たに設けられた1ビットレジスタ、23は
オペランドフェッチ部8に新たに設けられた1ビットレ
ジスタ、24は実行部14に新たに設けられたユーザが
アクセス可能な1ビットレジスタで、バスインターフェ
ース20及び1ビットレジスタ22,23を介してヒッ
ト信号28を入力されるとともに、命令ブレーク発生時
にその命令がキャッシュメモリ19に存在するか上記メ
モリ18に存在するかを示すものである(第1の発
明)。25は実行部14に新たに設けられたユーザがア
クセス可能な1ビットレジスタで、バスインターフェー
ス20を介してヒット信号28を入力されるとともに、
データブレーク発生時にそのデータがキャッシュメモリ
19に存在するかメモリ18に存在するかを示すもので
ある(第2の発明)。又、上記ユーザがアクセス可能な
1ビットレジスタ24,25は上記ヒット信号28に対
応して生成されるビットを有する(第4の発明)。
【0028】動作は次のとおりである。命令フェッチ部
1はバスインターフェース20に先頭番地を通知し、バ
スインターフェース20はメモリコントローラ26に該
当番地の読出しを指示する。メモリコントローラ26は
該当番地がキャッシュメモリ19内部に存在するか否か
を判定するとともに、キャッシュメモリ19より発生さ
れる判定結果であるヒット信号28をバスインターフェ
ース20経由でデコード部5の1ビットレジスタ22に
供給する。1ビットレジスタ22のビットはこのヒット
信号28に応じて生成される。
【0029】デコード部5は与えられた命令をデコード
する。このとき1ビットレジスタ22の値がオペランド
フェッチ部8の1ビットレジスタ23に供給される。オ
ペランドフェッチ部8は命令が使用するデータのアドレ
スをバスインターフェース20に通知し、バスインター
フェース20はメモリコントローラ26に該当番地の読
出しを指示する。メモリコントローラ26は該当番地が
キャッシュメモリ19内部に存在するか否かを判定し、
キャッシュメモリ19の判定結果であるヒット信号28
をバスインターフェース20経由で実行部14の1ビッ
トレジスタ25に供給する。ここで、1ビットレジスタ
16と、1ビットレジスタ17とが0でなければ、実行
部14はデコード部5で解読された命令の情報と、バス
インターフェース20で読み出されたデータを用いて命
令を実行する。実行部14において1ビットレジスタ1
6又は1ビットレジスタ17が0であれば、実行部14
は命令の実行を止め、デバグ用のルーチンの番地を命令
フェッチプログラムカウンタ2にセットする。このとき
デコード部5,オペランドフェッチ部8,実行部14の
情報は無意となる。
【0030】従来と同様ユーザはデバグ用のルーチンを
用いてデバグを行なう。このとき1ビットレジスタ16
や、1ビットレジスタ17を参照して、停止要因が命令
であるかデータであるかを知ることができるのみなら
ず、アクセス可能な1ビットレジスタ24や、1ビット
レジスタ25を参照してデバグ対象の命令やデータがキ
ャッシュメモリ19に存在するかメモリ18に存在する
かを知ることができる。
【0031】上記実施例においては、キャッシュメモリ
19は外付けタイプのものを例示したが、図2に示すよ
うに、キャッシュメモリ19をマイクロプロセッサ21
のバスインターフェース20内に設ける等して、マイク
ロプロセッサ21に内蔵し、上記1ビットレジスタ2
4,25のビットは、内蔵された上記キャッシュメモリ
19より発生されるヒット信号28に対応して生成され
るように構成しても(第3の発明)、上記実施例と同様
の効果が得られる。
【0032】本発明に係るプロセッサの他の実施例を図
3に示す。図中、図1と同じものは同一の符号を付して
説明を省略する。図において、21はプロセッサとして
のマイクロプロセッサ、29はバスインターフェース2
0内に備えられ、マイクロプロセッサ21の外部へのア
クセス時間をカウントするアクセスコントローラ、27
はメモリコントローラ26がマイクロプロセッサ21に
出力するアクセス完了信号で、本実施例ではこの信号2
7がマイクロプロセッサ21のバスインターフェース2
0内のアクセスコントローラ29に入力される。又、上
記実施例と同様に1ビットレジスタ22〜24及び1ビ
ットレジスタ25が設けられ、ユーザがアクセス可能な
1ビットレジスタ24,25はマイクロプロセッサ21
の外部への命令,データアクセスが最短時間で行われた
か否かを示す上記アクセスコントローラ29の出力を供
給され、この出力に応じて生成されるビットを有する
(第5の発明)。アクセスコントローラ29はアクセス
開始から上記アクセス完了信号27が入力されるまでの
カウント数が最短時間を示す最小カウント数又は最小サ
イクル数であるとき0を出力し、カウント数が最短時間
ではないことを示すカウント数(>最小カウント数)又
はサイクル数(>最小サイクル数)であるとき1を出力
する。
【0033】動作は次のとおりである。尚、以下に示す
動作はアクセスの最短時間を最小サイクル数とした場合
を例示する。命令フェッチ部1はバスインターフェース
20に先頭番地を通知し、バスインターフェース20は
メモリコントローラ26に該当番地の読出しを指示す
る。メモリコントローラ26は該当番地がキャッシュメ
モリ19内部に存在するか否かを判定し、該当番地がキ
ャッシュメモリ19内部に存在する場合はアクセス完了
信号27を最短時間で出力する。アクセスコントローラ
29はアクセス開始からアクセス完了信号27が入力さ
れるまでのカウント数が最小サイクル数であるので1ビ
ットレジスタ22に対して0を出力する。該当番地がキ
ャッシュメモリ19内部に存在しない場合はメモリコン
トローラ26はアクセス完了信号27をアクセスに必要
な時間で出力する。アクセスコントローラ29はアクセ
ス開始からアクセス完了信号27が入力されるまでのカ
ウント数が最小サイクル数でないので1ビットレジスタ
22に対して1を出力する。
【0034】デコード部5は与えられた命令をデコード
する。このとき1ビットレジスタ22の値がオペランド
フェッチ部8の1ビットレジスタ23に供給される。オ
ペランドフェッチ部8は命令が使用するデータのアドレ
スをバスインターフェース20に通知し、バスインター
フェース20はメモリコントローラ26に該当番地の読
出しを指示する。メモリコントローラ26は該当番地が
キャッシュメモリ19内部に存在するか否かを判定し、
該当番地がキャッシュメモリ19内部に存在する場合は
アクセス完了信号27を最短時間で出力する。アクセス
コントローラ29はアクセス開始からアクセス完了信号
27が入力されるまでのカウント数が最小サイクル数で
あるので実行部14の1ビットレジスタ25に対して0
を出力する。該当番地がキャッシュメモリ19内部に存
在しない場合はメモリコントローラ26はアクセス完了
信号27をアクセスに必要な時間で出力する。アクセス
コントローラ29はアクセス開始からアクセス完了信号
27が入力されるまでのカウント数が最小サイクル数で
ないので実行部14の1ビットレジスタ25に対して1
を出力する。1ビットレジスタ16と、1ビットレジス
タ17とが0でなければ、実行部14はデコード部5で
解読された命令の情報と、バスインターフェース20で
読み出されたデータを用いて命令を実行する。又、実行
部14において1ビットレジスタ16又は1ビットレジ
スタ17が0であれば実行部14は命令の実行を止め、
デバグ用のルーチンの番地を命令フェッチプログラムカ
ウンタ2にセットする。このときデコード部5、オペラ
ンドフェッチ部8、実行部14の情報は無意となる。
【0035】ユーザはデバグ用のルーチンを用いてデバ
グを行なう。このとき、アクセス可能な1ビットレジス
タ24や1ビットレジスタ25を参照してデバグ対象の
命令やデータがキャッシュメモリ19に存在するかメモ
リ18に存在するかを知ることができる。
【0036】本発明に係るプロセッサの他の実施例を図
4に示す。図中、図1と同じものは同一の符号を付して
説明を省略する。図において、プロセッサとしてのマイ
クロプロセッサ21は、このマイクロプロセッサ21の
外部へのアクセスが必要としたサイクル数をカウントす
るカウンタ31と、プリセット値を保持するレジスタ3
2と、カウンタ31とプリセット値を比較してプリセッ
ト値よりカウンタ値が大きくなったときに上記第2の実
施例同様に設けられたユーザがアクセス可能な1ビット
レジスタ24,25のビットを1にセットする比較器と
してのアクセスコントローラ29とを備えている(第6
の発明)。このアクセスコントローラ29には上記第2
の実施例同様アクセス完了信号27が入力される。
【0037】動作は次のとおりである。尚、マイクロプ
ロセッサ21の最小アクセス速度≦キャッシュメモリ1
9のアクセス速度≦アクセスコントローラ29のプリセ
ット値<メモリ18のアクセス速度となるようなプリセ
ット値が上記レジスタ32に予め設定され保持される場
合を例示する。上記マイクロプロセッサ21の外部の命
令,データへのアクセスが行なわれるとき、メモリコン
トローラ26は上記命令,データの該当番地がキャッシ
ュメモリ19内部に存在するか否かを判定し、該当番地
がキャッシュメモリ19内部に存在する場合はアクセス
完了信号27をキャッシュメモリ19のアクセス時間で
出力する。アクセスコントローラ29はアクセス開始か
らアクセス完了信号27が入力されるまでの上記カウン
タ31のカウント数が上記レジスタ32に保持されるプ
リセット値以下であるので1ビットレジスタ22,25
に対して0を出力する。該当番地がキャッシュメモリ1
9内部に存在しない場合はメモリコントローラ26はア
クセス完了信号27をメモリ18のアクセスに必要な時
間で出力する。アクセスコントローラ29はアクセス開
始からアクセス完了信号27が入力されるまでの上記カ
ウント数が上記プリセット値以上であるので1ビットレ
ジスタ22,25に対して1を出力する。本実施例にお
いて、1ビットレジスタ24は前段の1ビットレジスタ
22,23を介してアクセスコントローラ29の出力を
供給され、かつ、ユーザがアクセス可能な1ビットレジ
スタ24,25のビットはアクセスコントローラ29の
出力に応じて生成されるので、上記カウント数と上記プ
リセット値との比較結果であるアクセスコントローラ2
9の出力にもとづき0と1にセットされる。他の動作は
上記第1の実施例と同様なので省略する。
【0038】ユーザはデバグ用のルーチンを用いてデバ
グを行なう。このとき、アクセス可能な1ビットレジス
タ24や、1ビットレジスタ25を参照してデバグ対象
の命令やデータがキャッシュメモリ19に存在するかメ
モリ18に存在するかを知ることができる。
【0039】また、マイクロプロセッサ21の外部への
アクセスが必要としたサイクル数をカウントするカウン
タを備え、上記ユーザがアクセス可能なレジスタのビッ
ト数を多ビットとし、当該レジスタに上記カウンタのカ
ウンタ値をセットするように構成してもよい(第7の発
明)。上記各実施例と同様の効果が得られるとともに、
カウンタ値を直接ユーザがアクセス可能なレジスタにセ
ットすることにより、ブレーク発生時のアクセスに要し
たサイクル数を知ることができる。また、複雑なメモリ
構成(内部キャッシュメモリと外部キャッシュメモリと
主メモリAと主メモリキャッシュヒット(最小サイクル
+αが記録される),主メモリAアクセス(最小サイク
ル+β(β>α)が記録される),主メモリBアクセス
(最小サイクル+γ(γ≠β>α)が記録される)など
の必要サイクル数の手掛かりからキャッシュの利用頻度
などを知ることができる。
【0040】また、上記各実施例においては、キャッシ
ュメモリ19は内蔵又は外部に接続されたものを例示し
たが、マイクロプロセッサ21に内蔵かつ外部に接続さ
れるように構成してもよく、上記各実施例と同様の効果
が得られる。
【0041】なお上記各実施例では、キャッシュメモリ
のタイプとして命令とデータを区別せずに保持するタイ
プ、命令とデータを別々に保持するタイプを想定してい
るが、命令のみを保持するタイプのものにも対応可能で
ある。この場合、従来と同様命令読込み手段8における
読み出しや書き込みの時はメモリコントローラ26は必
ずメモリ18をアクセスし、キャッシュメモリ19へは
アクセスしないため1ビットレジスタ25は意味を持た
ないので必要ない。なお上記各実施例では1ビットレジ
スタ24と1ビットレジスタ25とは別個となっている
が、1ビットレジスタ16、1ビットレジスタ17など
と組み合わせてより少ないビット数に畳み込んでもよ
い。又、プロセッサを4段パイプラインで構成している
が、その他の構成でも実現可能である。
【0042】
【発明の効果】本発明に係るプロセッサによれば、ユー
ザがアクセス可能で、かつ、プロセッサの外部へのアク
セスが最短時間で行なわれたか否かに応じて所定値がセ
ットされるビットを有するレジスタを備えているので、
少しのハードウェアを追加するだけの構成で、デバグ対
象の命令やデータがキャッシュメモリに存在するか,又
はメモリに存在するか,を簡単に知ることができ、プロ
グラムやシステムのデバグ時にキャッシュメモリの効果
の詳細な調整を容易にすることが可能で、デバグの能率
の向上が図れるプロセッサを実現することができる。
た、プロセッサの外部へのアクセスが必要とした時間を
カウントするカウンタと、上記最短時間を示すプリセッ
ト値を保持するレジスタと、カウンタ値とプリセット値
を比較してプリセット値よりカウンタ値が大きくなった
ときに、プロセッサの外部へのアクセスが最短時間で行
なわれなかったことを示す所定値を上記ユーザがアクセ
ス可能なレジスタのビットにセットする比較手段とを備
えるようにしたので、上述した効果に加え、さらに、柔
軟なデバグが可能なプロセッサを実現できる。 さらに、
プロセッサの外部へのアクセスが必要とした時間をカウ
ントするカウンタを備え、上記ユーザがアクセス可能な
レジスタは、さらに、上記カウンタの値がセットされる
ビットを有するものとしたので、ユーザは、ブレーク発
生時のアクセスに要したサイクル数を知ることができ、
これにより、複数階層のキャッシュメモリのデバグなど
が可能となる。
【図面の簡単な説明】
【図1】本発明に係るプロセッサの一実施例を示すブロ
ック構成図である。
【図2】本発明に係るプロセッサの他の実施例を示すブ
ロック構成図である。
【図3】本発明に係るプロセッサの他の実施例を示すブ
ロック構成図である。
【図4】本発明に係るキャッシュメモリを内蔵されたプ
ロセッサの一例を示すブロック構成図である。
【図5】従来のプロセッサの一例を示すブロック構成図
である。
【符号の説明】 3 命令ブレークポイントレジスタ(命令ブレークポイ
ンタ) 12 データブレークポイントレジスタ(データブレー
クポインタ) 18 メモリ 19 キャッシュメモリ 21 マイクロプロセッサ(プロセッサ) 24,25 1ビットレジスタ(ユーザがアクセス可能
なレジスタ) 28 ヒット信号 29 アクセスコントローラ(比較器) 31 カウンタ 32 レジスタ

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 メモリ及びこのメモリのキャッシュメモ
    リを内蔵又は外部に接続、又は内蔵かつ外部に接続し、
    デバグ機能としての特定番地の命令を実行したときにデ
    バグルーチンへ制御を移す為の命令やデータのブレーク
    ポインタを持つプロセッサにおいて、ユーザがアクセス
    可能で、かつ、プロセッサの外部へのアクセスが最短時
    間で行なわれたか否かに応じて所定値がセットされるビ
    ットを有するレジスタを備えたことを特徴とするプロセ
    ッサ。
  2. 【請求項2】 プロセッサの外部へのアクセスが必要と
    した時間をカウントするカウンタと、上記最短時間を示
    すプリセット値を保持するレジスタと、カウンタ値とプ
    リセット値を比較してプリセット値よりカウンタ値が大
    きくなったときに、プロセッサの外部へのアクセスが最
    短時間で行なわれなかったことを示す所定値を上記ユー
    ザがアクセス可能なレジスタのビットにセットする比較
    手段とを備えたことを特徴とする請求項第1項記載のプ
    ロセッサ。
  3. 【請求項3】 プロセッサの外部へのアクセスが必要と
    した時間をカウントするカウンタを備え、上記ユーザが
    アクセス可能なレジスタは、さらに、上記カウンタの値
    がセットされるビットを有することを特徴とする請求項
    第1項記載のプロセッサ。
JP4034380A 1992-01-24 1992-01-24 プロセッサ Expired - Fee Related JP2734468B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP4034380A JP2734468B2 (ja) 1992-01-24 1992-01-24 プロセッサ
US08/004,825 US5493664A (en) 1992-01-24 1993-01-15 Microcomputer that transfers address and control to a debugging routine when an input address is a breakpoint address and a user accessible register for signalling if the breakpoint address is from the cache memory or a main memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4034380A JP2734468B2 (ja) 1992-01-24 1992-01-24 プロセッサ

Publications (2)

Publication Number Publication Date
JPH05204709A JPH05204709A (ja) 1993-08-13
JP2734468B2 true JP2734468B2 (ja) 1998-03-30

Family

ID=12412567

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4034380A Expired - Fee Related JP2734468B2 (ja) 1992-01-24 1992-01-24 プロセッサ

Country Status (2)

Country Link
US (1) US5493664A (ja)
JP (1) JP2734468B2 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6052801A (en) * 1995-05-10 2000-04-18 Intel Corporation Method and apparatus for providing breakpoints on a selectable address range
US5659679A (en) * 1995-05-30 1997-08-19 Intel Corporation Method and apparatus for providing breakpoints on taken jumps and for providing software profiling in a computer system
US5621886A (en) * 1995-06-19 1997-04-15 Intel Corporation Method and apparatus for providing efficient software debugging
US5740413A (en) * 1995-06-19 1998-04-14 Intel Corporation Method and apparatus for providing address breakpoints, branch breakpoints, and single stepping
US5901293A (en) * 1996-06-25 1999-05-04 Claxton; Daniel Dean Bus interface controller for serially-accessed variable-access-time memory device
US5978867A (en) * 1997-08-21 1999-11-02 International Business Machines Corporation System for counting clock cycles stolen from a data processor and providing the count value to a second processor accessing the data processor cycle resources
US6249907B1 (en) 1998-03-24 2001-06-19 International Business Machines Corporation Method system and article of manufacture for debugging a computer program by encoding user specified breakpoint types at multiple locations in the computer program
US6397382B1 (en) * 1999-05-12 2002-05-28 Wind River Systems, Inc. Dynamic software code instrumentation with cache disabling feature
US7137105B2 (en) * 1999-05-12 2006-11-14 Wind River Systems, Inc. Dynamic software code instrumentation method and system
US7296259B2 (en) * 2002-09-11 2007-11-13 Agere Systems Inc. Processor system with cache-based software breakpoints
GB2411019B (en) 2004-02-16 2007-03-07 Advanced Risc Mach Ltd Data accesses in data processing
US8510741B2 (en) * 2007-03-28 2013-08-13 Massachusetts Institute Of Technology Computing the processor desires of jobs in an adaptively parallel scheduling environment
JP5218225B2 (ja) * 2009-04-02 2013-06-26 富士通セミコンダクター株式会社 メモリアクセス装置、メモリアクセスシステム及びメモリアクセス装置の処理方法
JP5625809B2 (ja) * 2009-12-25 2014-11-19 富士通株式会社 演算処理装置、情報処理装置及び制御方法
US9734080B2 (en) * 2013-08-08 2017-08-15 Nxp Usa, Inc. Cache organization and method
US10768907B2 (en) 2019-01-30 2020-09-08 Bank Of America Corporation System for transformation prediction with code change analyzer and implementer
US10853198B2 (en) 2019-01-30 2020-12-01 Bank Of America Corporation System to restore a transformation state using blockchain technology
US10824635B2 (en) 2019-01-30 2020-11-03 Bank Of America Corporation System for dynamic intelligent code change implementation

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4675646A (en) * 1983-09-29 1987-06-23 Tandem Computers Incorporated RAM based multiple breakpoint logic
JPS6358552A (ja) * 1986-08-29 1988-03-14 Nec Corp マイクロプロセサ
US5263153A (en) * 1987-01-22 1993-11-16 National Semiconductor Corporation Monitoring control flow in a microprocessor
US5218707A (en) * 1988-10-28 1993-06-08 Dallas Semiconductor Corp. Integrated circuit with remappable interrupt pins
JPH03137736A (ja) * 1989-10-24 1991-06-12 Fujitsu Ltd マイクロプロセッサ動作トレース方式
US5327567A (en) * 1989-11-16 1994-07-05 Texas Instruments Incorporated Method and system for returning emulated results from a trap handler
JPH03201135A (ja) * 1989-12-28 1991-09-03 Matsushita Electric Ind Co Ltd マイクロプロセッサ
JPH03248244A (ja) * 1990-02-27 1991-11-06 Toshiba Corp キャッシュメモリを備えたプロセッサ
JPH03282635A (ja) * 1990-03-26 1991-12-12 Fuji Facom Corp プリフェッチ型プロセッサのブレーク制御装置およびトレース制御装置

Also Published As

Publication number Publication date
US5493664A (en) 1996-02-20
JPH05204709A (ja) 1993-08-13

Similar Documents

Publication Publication Date Title
JP2734468B2 (ja) プロセッサ
US5375216A (en) Apparatus and method for optimizing performance of a cache memory in a data processing system
KR930008686B1 (ko) 정보 처리장치
US5584031A (en) System and method for executing a low power delay instruction
US5263153A (en) Monitoring control flow in a microprocessor
JPH0786870B2 (ja) コプロセツサのデータ転送制御方法およびその回路
US4750110A (en) Method and apparatus for executing an instruction contingent upon a condition present in another data processor
JPH1078889A (ja) マイクロコンピュータ
JPH04140880A (ja) ベクトル処理装置
US4758950A (en) Method and apparatus for selectively delaying an interrupt of a coprocessor
JPS63193239A (ja) 命令順序監視装置と方法
US5742842A (en) Data processing apparatus for executing a vector operation under control of a master processor
US5666508A (en) Four state two bit recoded alignment fault state circuit for microprocessor address misalignment fault generation
KR100321745B1 (ko) 외부메모리액세스를위한마이크로컨트롤러유닛
US20060149862A1 (en) DMA in processor pipeline
US5421026A (en) Data processor for processing instruction after conditional branch instruction at high speed
JPH01124049A (ja) マイクロプロセッサ
JP2504191B2 (ja) マイクロプロセッサ
JP2003196085A (ja) 情報処理装置
JP2711159B2 (ja) プロセッサ動作状態調整方法
JPH04162135A (ja) データ処理装置
JPH0795288B2 (ja) マイクロコンピュータ
JPH033047A (ja) 演算機能付きメモリ
JPH05189015A (ja) プログラマブルコントローラ
JPH06337839A (ja) Cpu装置

Legal Events

Date Code Title Description
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees