JPH06149668A - ブロックトレース方式 - Google Patents

ブロックトレース方式

Info

Publication number
JPH06149668A
JPH06149668A JP4297547A JP29754792A JPH06149668A JP H06149668 A JPH06149668 A JP H06149668A JP 4297547 A JP4297547 A JP 4297547A JP 29754792 A JP29754792 A JP 29754792A JP H06149668 A JPH06149668 A JP H06149668A
Authority
JP
Japan
Prior art keywords
cache
block
instruction
address
signal
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
JP4297547A
Other languages
English (en)
Inventor
Yasutoki Muraoka
泰釈 村岡
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP4297547A priority Critical patent/JPH06149668A/ja
Publication of JPH06149668A publication Critical patent/JPH06149668A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】主記憶装置に使用するメモリーと同程度のメモ
リーを使用することで比較的安価なブロックトレース回
路を構成し、またトレース可能な範囲を広げることで一
そうマクロなソフトウェアの動作を把握する。 【構成】プロセッサ1が読み出そうとする命令がキャッ
シュメモリー3に存在するかどうかをキャッシュコント
ローラー4が判断し、キャッシュミスヒットのときはキ
ャッシュミスヒット信号7とミスヒット種別信号8を出
力し、バスコントローラー6はこれを受けてブロックリ
ード動作に入る。ブロックトレース回路15はブロック
リード信号11と命令キャッシュミス信号12を受けて
アドレスバス13からブロックリードの先頭アドレスを
記憶する。もしプロセッサ1が命令ストリーミングモー
ドならば、走行表示信号19が来た時にキャッシュミス
アドレスを記憶する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は命令キャッシュメモリー
を有しプロセッサの命令実行を記録しておくことができ
る情報処理装置におけるブロックトレース方式に関す
る。
【0002】
【従来の技術】一般に、命令キャッシュメモリーを有す
る情報処理装置では、プロセッサは命令を実行する際に
命令キャッシュメモリーから命令を取り出して実行す
る。
【0003】従来の多くの情報処理装置においては、こ
の命令読出し時のアドレスを命令の読出し毎に順次記憶
していくような記憶回路−これをトレース回路と呼ぶ−
を設け、ソフトウェアのデバッグまたは障害発生時の解
析に用いることが行われている。
【0004】図2は従来のトレース方式の一例を示すブ
ロック図である。図2を参照して本例の動作について説
明する。
【0005】プロセッサ21はまずキャッシュアドレス
バス22を介して命令の存在するアドレスをキャッシュ
メモリー23へ出力し、同時に命令読出し信号24もキ
ャッシュコントローラー25へ出力する。命令読出し信
号24を受けたキャッシュコントローラー25はキャッ
シュメモリー23へ命令キャッシュのリードであること
をキャッシュ選択信号26により通知する。
【0006】キャッシュメモリー23は命令キャッシュ
からキャッシュデータバス27を介して命令をプロセッ
サ21へ出力する。この時トレース回路28は命令読出
し信号24によりキャッシュアドレスバス22からアド
レスを記憶する。トレース回路28はこの動作を命令読
出しの度に記憶容量が一杯になるまで順次行い、容量が
一杯になると一番初めに記憶したアドレスを消して最新
のアドレスを書き込むようなリング状の動作を行う。こ
のように命令読出しのアドレスを記憶していく動作、即
ち命令の実行アドレスを記憶していく動作をトレースす
るという。
【0007】もし何らかの障害が発生して割込みがかか
った場合、あるいはソフトウェアにより故意に割込みを
かけた場合は、割込み処理回路29から停止信号30に
よりトレース回路28へトレースを停止するよう要求す
る。その後、割込み処理回路29からトレースデータバ
ス31を介してトレースデータを読み出すことで障害発
生時のソフトウェア走行状態を知ることができるように
なっている。
【0008】
【発明が解決しようとする課題】この従来の情報処理装
置において、キャッシュアドレスバスに接続されるトレ
ース回路のメモリーは、キャッシュメモリーに使用され
るメモリーと同程度の高速なメモリーが必要であり、こ
のような高速なメモリーは主記憶装置に使用するメモリ
ーより高価であるため、システム全体の値段が高くなる
という問題点があった。
【0009】また、最近はプロセッサの動作周波数も高
くなり、それに伴ってより高速なメモリーが必要とな
り、ますます高価となっている。
【0010】さらに、一命令毎に記憶して行くためにト
レースの範囲が狭く、狭い範囲でしかソフトウェアの動
きを把握できないという問題点もあった。
【0011】キャッシュは通常、一定のワード数からな
るブロック毎に分けられており、ミスヒットした場合
は、そのブロック単位に主記憶装置から読み出すブロッ
クリードが行われる。本発明はこのブロックリードに着
目してなされたもので、上記従来の問題点を解決したブ
ロックトレース方式を提供することを目的とする。
【0012】
【課題を解決するための手段】本発明のブロックトレー
ス方式は、キャッシュメモリーと、主記憶装置から前記
キャッシュメモリーへのブロックリード手段とを備える
情報処理装置において、読み出そうとする命令あるいは
データがキャッシュにヒットしているかどうかを判断
し、ミスヒットしたときは前記キャッシュが命令キャッ
シュであったかデータキャッシュであったかを通知し、
読み出そうとする命令がキャッシュミスヒット時にこの
ミスヒットしたブロックの読込みを前記主記憶装置に通
知し、前記主記憶装置と接続されるアドレスバスを介し
て命令キャッシュミスヒット時におけるブロックリード
の先頭アドレスまたはキャッシュミスヒットアドレスを
ミスヒット毎に順次記憶することによりプロセッサの走
行を記録することを特徴とする。
【0013】そして、前記アドレスバスを介して前記主
記憶装置に接続されたブロックトレース回路と、命令キ
ャッシュミスヒット時における前記ブロックリードの先
頭アドレスまたは前記キャッシュミスヒットアドレスを
ミスヒット毎に前記ブロックトレース回路に記憶させる
バスコントローラーとを備えることを特徴とする。
【0014】
【実施例】次に、本発明について図面を参照して説明す
る。図1は本発明のブロックトレース方式の一実施例を
示すブロック図である。
【0015】図1に示すように、本実施例はプロセッサ
1と、プロセッサ1とキャッシュアドレスバス9,キャ
ッシュデータバス10により接続されたキャッシュメモ
リー3およびバスコントローラー6と、キャッシュアド
レスバス9に接続されたキャッシュコントローラー4
と、バスコントローラー6とアドレスバス13により接
続された主記憶装置5およびブロックトレース回路15
とを備え、主記憶装置5とバスコントローラー6との間
はデータバス14により接続されている。
【0016】キャッシュコントローラー4はプロセッサ
1からの命令読込みおよびデータ読込み時にその読み込
む命令あるいはデータがキャッシュメモリー3に存在す
るかどうかをチェックする。バスコントローラー6はキ
ャッシュミスヒット時に主記憶装置5からブロック読込
みを行う。ブロックトレース回路15はブロックリード
の先頭アドレスを記憶しておく。
【0017】なお、2はプロセッサ1が命令を読み出す
ときの命令読出し信号、7はキャッシュコントローラー
4かキャッシュミスヒットを検出したときプロセッサ1
およびバスコントローラー6へ出力するミスヒット信
号、8はキャッシュミスヒット時にミスヒットしたのが
命令キャッシュかデータキャッシュかをプロセッサ1お
よびバスコントローラー6へ出力するミスヒット種別信
号、11はミスヒット信号7を受けたバスコントローラ
ー6が主記憶装置5およびブロックトレース回路15に
対して出力するブロックリード信号、12は命令キャッ
シュミスヒット時にバスコントローラー6からブロック
トレース回路15に対して出力する命令キャッシュミス
信号、16はバスコントローラー6が読み出したデータ
をキャッシュメモリー3へ書き込むための書込み信号、
17はブロックリードの終了を通知するブロックリード
終了信号、18はプロセッサ1へキャッシュコントロー
ラー4からブロックリード終了と処理の再開を通知する
処理再開信号、19はプロセッサ1が走行しているかど
うかを示すプロセッサ走行表示信号である。
【0018】続いて本実施例の動作について説明する。
プロセッサ1は命令を読み出す際、まず命令読出し信号
2をキャッシュコントローラー4に出力するのと同時
に、キャッシュアドレスバス9へアドレスを出力する。
キャッシュコントローラー4はプロセッサ1から命令読
出し信号2を受けると、キャッシュアドレスバス9のア
ドレスを判断して読み出そうとするアドレスがキャッシ
ュメモリー3に存在するかを判断し、存在しないとき、
すなわちミスヒットしたときは、ミスヒット信号7によ
りプロセッサ1とバスコントローラー6に通知する。ま
たミスヒットしたのが命令キャッシュであることもミス
ヒット種別信号8によって通知する。
【0019】ミスヒット信号7を受け取ったプロセッサ
1は命令の読出しを一時停止する。一方バスコントロー
ラー6はブロックリード信号11を主記憶装置5へ出力
すると同時に、ブロックリードの先頭アドレスをアドレ
スバス13を介して出力する。また、バスコントローラ
ー6はブロックトレース回路15に対して命令キャッシ
ュミス信号12を出力する。この時、命令キャッシュミ
ス信号12およびブロックリード信号11を受け取った
ブロックトレース回路15はアドレスバス13を介して
ブロックリードの先頭アドレスを記憶する。ただし、こ
のブロックリードの先頭アドレスは必ずしもミスヒット
したアドレスではない。
【0020】ブロックリード信号11およびブロックリ
ードの先頭アドレスを受け取った主記憶装置5はキャッ
シュのブロックサイズに対応したブロック分のデータを
データバス14を介してバスコントローラー6へ1ワー
ドずつ順次返し、バスコントローラー6はそのデータを
順次キャッシュデータバス10へ出力するのと同時に書
込み信号16により順次キャッシュメモリー3へ書き込
んで行く。バスコントローラー6は所定のブロック分の
キャッシュメモリー3への書込みを終了すると、ブロッ
クリード終了信号17をキャッシュコントローラー4へ
出力し、それを受けたキャッシュコントローラー4は処
理再開信号18によりプロセッサ1に対して命令読出し
ができるようになっとことを通知する。
【0021】もしここで、プロセッサ1がブロックリー
ド中のキャッシュアドレスバス9を監視して次に走行し
始めるアドレスすなわちミスヒットしたアドレスを発見
したとき、その時のデータを読み込んで走行し始めると
いう命令ストリーミングモードならば、ブロックリード
の先頭アドレスは記憶しないでおき、プロセッサ走行表
示信号19がアクティブになった時のアドレスを記憶す
るようにする。こうすることでミスヒットアドレスその
ものを記憶することも可能である。
【0022】以上のように本実施例によれば、ブロック
トレース回路をキャッシュアドレスバスではなく、主記
憶装置に接続されるバスに置くことにより、主記憶装置
と同程度のメモリーが使用できる。また、ブロックリー
ドの先頭アドレスまたはキャッシュミスヒットアドレス
を記憶することにより、キャッシュのミスヒット毎に記
憶が行われるので、従来の方式よりもより広範囲のソフ
トウェアの動きを把握することが可能となった。
【0023】
【発明の効果】以上説明したように本発明は、従来と同
じトレースメモリーの容量でソフトウェアの動きをより
広範囲に把握することができ、また、主記憶装置と同程
度の速度のメモリーが使用できるので、システム全体の
価格を安くすることが可能であるという効果を有する。
【図面の簡単な説明】
【図1】本発明のブロックトレース方式の一実施例を示
すブロック図である。
【図2】従来のトレース方式の一例を示すブロック図で
ある。
【符号の説明】
1,21 プロセッサ 2,24 命令読出し信号 3,23 キャッシュメモリー 4,25 キャッシュコントローラー 5 主記憶装置 6 バスコントローラー 7 ミスヒット信号 8 ミスヒット種別信号 9,22 キャッシュアドレスバス 10,27 キャッシュデータバス 11 ブロックリード信号 12 命令キャッシュミス信号 13 アドレスバス 14 データバス 15 ブロックトレース回路 16 書込み信号 17 ブロックリード終了信号 18 処理再開信号 19 プロセッサ走行表示信号 26 キャッシュ選択信号 28 トレース回路 29 割込み処理回路 30 停止信号 31 トレースデータバス

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 キャッシュメモリーと、主記憶装置から
    前記キャッシュメモリーへのブロックリード手段とを備
    える情報処理装置において、読み出そうとする命令ある
    いはデータがキャッシュにヒットしているかどうかを判
    断し、ミスヒットしたときは前記キャッシュが命令キャ
    ッシュであったかデータキャッシュであったかを通知
    し、読み出そうとする命令がキャッシュミスヒット時に
    このミスヒットしたブロックの読込みを前記主記憶装置
    に通知し、前記主記憶装置と接続されるアドレスバスを
    介して命令キャッシュミスヒット時におけるブロックリ
    ードの先頭アドレスまたはキャッシュミスヒットアドレ
    スをミスヒット毎に順次記憶することによりプロセッサ
    の走行を記録することを特徴とするブロックトレース方
    式。
  2. 【請求項2】 前記アドレスバスを介して前記主記憶装
    置に接続されたブロックトレース回路と、命令キャッシ
    ュミスヒット時における前記ブロックリードの先頭アド
    レスまたは前記キャッシュミスヒットアドレスをミスヒ
    ット毎に前記ブロックトレース回路に記憶させるバスコ
    ントローラーとを備えることを特徴とする請求項1記載
    のブロックトレース方式。
JP4297547A 1992-11-09 1992-11-09 ブロックトレース方式 Pending JPH06149668A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4297547A JPH06149668A (ja) 1992-11-09 1992-11-09 ブロックトレース方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4297547A JPH06149668A (ja) 1992-11-09 1992-11-09 ブロックトレース方式

Publications (1)

Publication Number Publication Date
JPH06149668A true JPH06149668A (ja) 1994-05-31

Family

ID=17847956

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4297547A Pending JPH06149668A (ja) 1992-11-09 1992-11-09 ブロックトレース方式

Country Status (1)

Country Link
JP (1) JPH06149668A (ja)

Similar Documents

Publication Publication Date Title
US4881228A (en) Debugging microprocessor
KR950009435A (ko) 프로그램된 디바이스의 동작 조종 방법 및 장치
US7941652B2 (en) Apparatus and computer program product for implementing atomic data tracing
JPH06149668A (ja) ブロックトレース方式
JPH0789328B2 (ja) データ処理装置
JPH05303517A (ja) ブロックトレース方式
JP2002189572A (ja) ディスク記憶装置、同記憶装置を持つ情報処理機器、及び書き込み失敗時処理方法
JP2636101B2 (ja) デバッグ支援装置
JP2665173B2 (ja) プロセッサトラップ回路
JPH0713806A (ja) マイクロプロセッサのバストレース装置
JP2001005689A (ja) トレース採取回路
JPH11219293A (ja) アドレストレース方法及びトレーサメモリ制御装置
JPH0447350A (ja) 主記憶読み出し応答制御方式
JP3013517B2 (ja) ライトバッファエラーアドレス検出回路
JPS63123140A (ja) 履歴情報記憶装置
JPH0561803A (ja) 情報処理装置
JPH01318128A (ja) キャッシュ・エラー処理方式
JPH0628268A (ja) マイクロプロセッサ i/oアクセス トレース方式
JPH05241852A (ja) 情報処理システムの割り込み発生装置
JPH04125747A (ja) キャッシュメモリ制御装置
JPH08202630A (ja) 磁気ディスク装置の試験方式
JPH04182839A (ja) マイクロプログラムのデバッグ方式
JPH05216666A (ja) スタック制御方法、及びエミュレータ
JPH1165875A (ja) インサーキットエミュレータ
JPH04243434A (ja) アドレストレーサ

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20000111