JPH06161820A - キャッシュを用いたcpuトレース装置 - Google Patents

キャッシュを用いたcpuトレース装置

Info

Publication number
JPH06161820A
JPH06161820A JP4332473A JP33247392A JPH06161820A JP H06161820 A JPH06161820 A JP H06161820A JP 4332473 A JP4332473 A JP 4332473A JP 33247392 A JP33247392 A JP 33247392A JP H06161820 A JPH06161820 A JP H06161820A
Authority
JP
Japan
Prior art keywords
data
cache memory
entry
storage area
cache
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.)
Pending
Application number
JP4332473A
Other languages
English (en)
Inventor
Toshio Nakamura
敏男 中村
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP4332473A priority Critical patent/JPH06161820A/ja
Publication of JPH06161820A publication Critical patent/JPH06161820A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】 【目的】 高価なハードウェアを用いずに適切なCPU
トレースを行なう。 【構成】 キャッシュメモリ4の各エントリにアドレス
タグ部及びデータ部の他に新たにアカウント情報格納領
域41をそれぞれ追加するとともに、そこに格納される
最新のアカウント値を格納する最新アカウント値格納領
域を設ける。これにより、命令の実行の際、キャッシュ
メモリ4上のヒットにより参照されたエントリ又はミス
ヒットにより新たに格納されたエントリのアカウント情
報格納領域に最新アカウント値格納領域の値をコピーす
る。そして、最新アカウント値格納領域に当該エントリ
の番号を格納する。障害発生時は、停止回路31でキャ
ッシュメモリ4へのアクセスを停止し、データ読込み回
路32でキャッシュメモリ4内のデータを読み出し、実
メモリ5に書き込む。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータシステム
におけるデータアクセスと命令実行の過程を追跡するた
めのキャッシュを用いたCPUトレース装置に関するも
のである。
【0002】
【従来の技術】一般に、大規模なコンピュータシステム
で発生する障害やデバッグでは、その解析のためにCP
U(中央処理装置)上で実行された命令のトレースをと
ることが有効となる。ここに、データアクセスのトレー
スと命令のトレースを総称して、以後、CPUトレース
と呼ぶこととする。従来、プログラムのCPUトレース
は、図2又は図3の方法で実現されるのが一般的であっ
た。図2は、インサーキットエミュレータを用いた命令
トレース装置の構成図である。インサーキットエミュレ
ータは、マイクロコンピュータの開発支援装置の1つで
ある。これは、通常、自分自身ではソフトウェア開発環
境が不十分な開発途中の計算機システムやマイクロコン
ピュータを組み込んだシステムで、ソフトウェアのデバ
ッグに用いられる開発支援装置をいう。
【0003】図示の装置では、インサーキットエミュレ
ータ21の内部に存在する命令トレースエリアに、デバ
ッグ中に実行された命令及びメモリアクセス状態をセー
ブし、ホストマシン22についてのトレースの内容を表
示する。図3は、ソフトウェアによる命令トレース方法
の説明図である。図示のように、デバッグマシンのCP
U上で発生したすべての実行ステップ及びメモリアクセ
スをCPUが1命令を実行する度に例外割込みを発生
し、割込み処理プログラム中でトレースを行なう。
【0004】
【発明が解決しようとする課題】しかしながら、上述し
た従来の技術には、次の(1)、(2)のような問題が
あった。 (1)図2に示すようなインサーキットエミュレータを
用いた場合、命令トレースは高価なハードウェア機器を
必要とする。これと同時に、トレース取得可能なコンピ
ュータの台数が本ハードウェア機器の台数に制限され
る。 (2)ソフトウェアによる命令トレースでは、すべての
命令で例外割込みが発生するため、実際のシステムの動
作タイミングと食い違いが発生する。また、命令トレー
スの取得に時間がかかる。 本発明は、以上の点に着目してなされたもので、高価な
ハードウェア装置を必要とせず、実際のシステム環境に
近似した環境でのCPUトレースを可能とするキャッシ
ュを用いたCPUトレース装置を提供することを目的と
するものである。
【0005】
【課題を解決するための手段】本発明のキャッシュを用
いたCPUトレース装置は、メモリからキャッシュメモ
リ上に転記されたデータの実行順序を示すアカウント情
報を格納するため、当該キャッシュメモリ内に設けられ
たアカウント情報格納領域と、前記キャッシュメモリに
対するデータの書き込み及び読み出しの機能を停止する
停止回路と、当該停止回路による停止時点に前記キャッ
シュメモリに格納されているデータを読み出し、前記メ
モリに転送するデータ読込み回路とから成ることを特徴
とするものである。
【0006】
【作用】本発明のキャッシュを用いたCPUトレース装
置においては、実メモリに格納されているプログラムの
CPUでの実行過程を実メモリ内の命令をさかのぼるの
でなく、キャッシュメモリ内の命令をさかのぼることに
より障害の解析を行なう。即ち、キャッシュメモリの各
エントリにアドレスタグ部及びデータ部の他に新たにア
カウント情報格納領域をそれぞれ追加するとともに、そ
こに格納される最新のアカウント値を格納する最新アカ
ウント値格納領域を設ける。これにより、命令の実行の
際、キャッシュメモリ上のヒットにより参照されたエン
トリ又はミスヒットにより新たに格納されたエントリの
アカウント情報格納領域に最新アカウント値格納領域の
値をコピーする。そして、最新アカウント値格納領域に
当該エントリの番号を格納する。障害発生時は、停止回
路でキャッシュメモリへのアクセスを停止し、データ読
込み回路でキャッシュメモリ内のデータを読み出し、実
メモリに書き込む。この際、最新アカウント値格納領域
に格納されたエントリ番号のエントリには、停止時の実
行命令が格納されている。また、そのエントリのアカウ
ント情報格納領域には、その命令の1つ前の命令が格納
されている。
【0007】
【実施例】以下、本発明の実施例を図面を参照して詳細
に説明する。図1は、本発明のキャッシュを用いたCP
Uトレース装置の一実施例のブロック図である。図示の
装置は、バスライン1に接続された、CPU2と、制御
回路3と、キャッシュメモリ4と、実メモリ5とから成
る。CPU2は、実メモリ5に格納されたプログラムを
1命令ずつ読み出して実行し、当該実メモリ5上のデー
タを処理する。この際、実メモリ5に格納された命令及
びデータの一部がキャッシュメモリ4に転記され、CP
U2は実メモリ5をアクセスする代わりに当該キャッシ
ュメモリ4をアクセスする。
【0008】制御回路3は、停止回路31と、データ読
込み回路32とから成る。停止回路31は、キャッシュ
メモリ4の動作を停止させるものである。データ読込み
回路32は、停止回路31によるキャッシュメモリ4の
動作の停止時、キャッシュメモリ4に格納されたデータ
を実メモリ5の特定の領域に読み込む。図4は、キャッ
シュメモリと実メモリの詳細の説明図である。キャッシ
ュメモリ4は、図示のように、キャッシュヒットを発生
したメモリロケーションを示すアドレスタグ部と、デー
タの中身であるデータ部とから成る。そして、アドレス
タグ部及びデータ部の各エントリに対応してアカウント
情報が設けられている。このアカウント情報は、キャッ
シュメモリ4の各エントリのアクセス順序を示す情報で
ある。更に、最も最新のアカウント値を示す最新アカウ
ント値情報が設けられている。
【0009】実メモリ5は、ランダム・アクセス・メモ
リ等から成り、CPUで実行される命令及びデータを格
納している。以下、図4に示すキャッシュメモリの動作
例をCPUの動作に沿って説明する。図5は、本発明に
おけるキャッシュ制御手順を説明するフローチャートで
ある。 (1)CPUが実行を開始すると、CPUが発生するコ
ードアクセスアドレスと一致するアドレスがタグ部に格
納されているかチェックする。
【0010】(2)タグ部に該アドレスがなかった場
合、ミスヒットであるので(ステップS1)、CPUは
実メモリから命令コードを取り出す。この際、キャッシ
ュメモリのタグ部とデータ部にアクセスしたデータが格
納される(ステップS2)。これとともに、今回のミス
ヒットはCPUの実行開始後最初のミスヒットであるの
で(ステップS3)、アカウント情報格納領域の該当エ
ントリ部に対してキャッシュにとり込まれた最初のデー
タであることを示すフラグ値(例えば、16進数で“F
FFF”など)を書き込む(ステップS4)。また、最
新アカウント値格納領域に該エントリのエントリ番号を
書き込む。例えば、エントリ番号“0”のエントリに最
初のデータが格納される場合は、エントリ番号“0”の
エントリのアカウント情報に“FFFF”が格納され
る。そして、最新アカウント値にエントリ番号“0”が
格納される。
【0011】(3)次の命令実行時、ミスヒットした場
合は(ステップS1)、CPUは実メモリをアクセス
し、アクセスしたデータがキャッシュメモリのタグ部と
データ部に格納される(ステップS2)。この際、アカ
ウント情報領域の該エントリに対して最新アカウント値
格納領域に格納されている値を書き込む(ステップS
5)。そして、次に、最新アカウント値格納領域を該エ
ントリ番号に更新する(ステップS6)。例えば、アク
セスしたデータがエントリ番号“1”のエントリに格納
される場合は、エントリ番号“1”のエントリのアカウ
ント情報に“0”が格納される。そして、最新アカウン
ト値にエントリ番号“1”が格納される。
【0012】(4)次の命令実行時、本アドレスがキャ
ッシュ内にすでに格納されていた場合(ヒット時)、タ
グ部とデータ部の更新は行なわない(ステップS1)。
ただし、アカウント情報格納領域と最新アカウント値格
納領域の更新は(3)の場合と同様に行なう(ステップ
S5、S6)。例えば、ヒットしたデータがエントリ番
号“2”のエントリに格納されている場合は、エントリ
番号“2”のエントリのアカウント情報に“1”が格納
される。そして、最新アカウント値にエントリ番号
“2”が格納される。 (5)上記手順をくり返すことにより、アカウント情報
はキャッシュメモリに格納された順序に対応したキャッ
シュのエントリ番号が格納される。アカウント情報は、
例えば16ビット長の領域とすると、0から65534
をエントリ番号とし、65535(=“FFFF”)を
最初のデータとして意味付ける。
【0013】次に、障害発生時の動作について説明す
る。 (1)キャッシュメモリの停止回路を動作させ、キャッ
シュメモリへのデータの取込みを停止する。 (2)キャッシュメモリのデータ読込み回路により、キ
ャッシュメモリ内のデータを実メモリに転送する。 (3)読み込んだデータより、キャッシュメモリ内の最
新アカウント値格納領域の値と一致するエントリ番号の
キャッシュメモリの内容を調査する。例えば、上述した
例では、エントリ番号“2”が最新アカウント値となっ
ている。 (4)このエントリのアドレスタグ部とデータタグ部が
障害発生後、最後に実行された命令である。例えば、エ
ントリ番号“2”のエントリのアドレスタグ部とデータ
タグ部が障害発生後、最後に実行された命令である。
【0014】(5)以降、アカウント情報に格納されて
いる値のエントリ番号をたどりながら、その値に一致す
るアカウント情報を見つけることにより、CPUが実行
した命令をさかのぼることが可能となる。例えば、エン
トリ番号“2”のアカウント情報の値“1”によりエン
トリ番号“1”のエントリにさかのぼり、エントリ番号
“1”のアカウント情報の値“0”によりエントリ番号
“0”のエントリにさかのぼることができる。そして、
エントリ番号“0”のアカウント情報の値“FFFF”
によりエントリ番号“0”のエントリが最も古いエント
リであることを知ることができる。
【0015】
【発明の効果】以上説明したように、本発明のキャッシ
ュを用いたCPUトレース装置によれば、実メモリより
高速なアクセスが可能なキャッシュメモリに格納される
データについてCPUトレースを行なうようにしたの
で、CPUをシミュレートするための特殊なハードウェ
アを用いず、CPUの実行速度に影響を与えることな
く、キャッシュメモリに一部の機能追加をするだけで安
価にCPUトレース機能を実現することが可能となる。
【図面の簡単な説明】
【図1】本発明のキャッシュを用いたCPUトレース装
置の一実施例のブロック図である。
【図2】インサーキットエミュレータを用いた命令トレ
ース装置の構成図である。
【図3】ソフトウェアによる命令トレース方法の説明図
である。
【図4】キャッシュメモリと実メモリの詳細の説明図で
ある。
【図5】本発明におけるキャッシュ制御手順を説明する
フローチャートである。
【符号の説明】
1 バスライン 2 CPU 3 制御回路 4 キャッシュメモリ 5 実メモリ 31 停止回路 32 データ読込み回路 41 アカウント情報格納領域

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 メモリからキャッシュメモリ上に転記さ
    れたデータの実行順序を示すアカウント情報を格納する
    ため、当該キャッシュメモリ内に設けられたアカウント
    情報格納領域と、 前記キャッシュメモリに対するデータの書き込み及び読
    み出しの機能を停止する停止回路と、 当該停止回路による停止時点に前記キャッシュメモリに
    格納されているデータを読み出し、前記メモリに転送す
    るデータ読込み回路とから成ることを特徴とするキャッ
    シュを用いたCPUトレース装置。
JP4332473A 1992-11-18 1992-11-18 キャッシュを用いたcpuトレース装置 Pending JPH06161820A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4332473A JPH06161820A (ja) 1992-11-18 1992-11-18 キャッシュを用いたcpuトレース装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4332473A JPH06161820A (ja) 1992-11-18 1992-11-18 キャッシュを用いたcpuトレース装置

Publications (1)

Publication Number Publication Date
JPH06161820A true JPH06161820A (ja) 1994-06-10

Family

ID=18255357

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4332473A Pending JPH06161820A (ja) 1992-11-18 1992-11-18 キャッシュを用いたcpuトレース装置

Country Status (1)

Country Link
JP (1) JPH06161820A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120151251A1 (en) * 2010-12-08 2012-06-14 Advanced Micro Devices, Inc. Queue freeze on protocol error

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120151251A1 (en) * 2010-12-08 2012-06-14 Advanced Micro Devices, Inc. Queue freeze on protocol error
US8645762B2 (en) * 2010-12-08 2014-02-04 Advanced Micro Devices, Inc. Queue freeze on protocol error

Similar Documents

Publication Publication Date Title
EP0327195B1 (en) Processor simulation
EP0327196B1 (en) Processor simulation
US6021261A (en) Method and system for testing a multiprocessor data processing system utilizing a plurality of event tracers
US5132971A (en) In-circuit emulator
US5167023A (en) Translating a dynamic transfer control instruction address in a simulated CPU processor
US5771385A (en) Setting and getting system debug flags by name at runtime
US7434100B2 (en) Systems and methods for replicating virtual memory on a host computer and debugging using replicated memory
JPH011039A (ja) インサーキット・エミュレータ
KR940003318B1 (ko) 캐시 메모리를 구비한 프로세서
US7043717B2 (en) Debugging apparatus and method
EP0327198B1 (en) Processor simulation
JPH06161820A (ja) キャッシュを用いたcpuトレース装置
JPS60159951A (ja) 情報処理装置におけるトレ−ス方式
JP2888242B2 (ja) マイクロプロセッサのプログラム開発システム
JPH0581087A (ja) プロセサのモニタ方式
JP3061818B2 (ja) マイクロ・プロセッサ用アクセス・モニタ装置
JPH0795288B2 (ja) マイクロコンピュータ
KR100201671B1 (ko) 컴퓨팅 시스템 및 컴퓨팅 시스템의 캐시 메모리 이용방법
JPS6010336B2 (ja) アドレス比較方式
JPH1165884A (ja) マイクロコンピュータ及びそのデバッグ方法
JPH05224989A (ja) キャッシュメモリを内蔵したマイクロプロセッサとそのトレースアナライザ
JPS59202550A (ja) デバツグ装置
JPH0320834A (ja) 情報処理装置の初期診断方法
JPH0484242A (ja) データ処理装置
JPH0581068A (ja) デバツグ支援装置