JP2002091795A - キャッシュ制御装置 - Google Patents

キャッシュ制御装置

Info

Publication number
JP2002091795A
JP2002091795A JP2000279357A JP2000279357A JP2002091795A JP 2002091795 A JP2002091795 A JP 2002091795A JP 2000279357 A JP2000279357 A JP 2000279357A JP 2000279357 A JP2000279357 A JP 2000279357A JP 2002091795 A JP2002091795 A JP 2002091795A
Authority
JP
Japan
Prior art keywords
address
address information
cache
cache memory
memory
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
JP2000279357A
Other languages
English (en)
Inventor
Tsutomu Azezaki
勉 畦崎
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2000279357A priority Critical patent/JP2002091795A/ja
Publication of JP2002091795A publication Critical patent/JP2002091795A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 キャッシュメモリがアクセスされるアドレス
をキャッシュメモリ内に採取できるキャッシュ制御装置
を提供する。 【解決手段】 少なくとも一部の領域がアドレス情報記
録領域として使用される複数のキャッシュメモリ10、
20と、アドレス情報を格納する番地を示し、キャッシ
ュメモリヘのアクセスが発生したときに、次のアドレス
を示すアドレスカウンタ15と、アドレス情報を採取す
ることを示すトレース信号が出力された時、アドレスカ
ウンタから出力されたアドレス情報をキャッシュメモリ
のアドレス端子に入力する切替え手段11と、前記トレ
ース信号が出力された時、キャッシュメモリをアクセス
するアドレス情報をキャッシュメモリのデータ端子に入
力する切替え手段12とを有し、前記アドレス情報記録
領域のアドレスカウンタ15が示すアドレスヘ前記アド
レス情報を記録する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技衝分野】本発明は、コンピュータシス
テムのプログラム実行時のアドレス情報採取に係り、特
にキャッシュメモリのアドレスを採取するキャッシュ制
御装置に関する。
【0002】
【従来の技術】プログラムが実行した命令のアドレス、
及びプログラムがアクセスしたデータのアドレスを記録
することにより、これらの情報を次のような様々な用途
に利用することができる。 (1)ソフトウェアのデバッグ (2)ハードウェアのデバッグ (3)性能評価 これらの目的において、アドレス情報は非常に有効な情
報である。
【0003】上記(1)、(2)においては、ソフトウ
ェアやハードウェアがどの命令を実行したときに不具合
が発生したのか、どのデータをアクセスしたときに不具
合が発生したのか、また、どのような状況下(命令の実
行順序)において不具合が発生したのか容易に解析する
ことが可能となる。上記(3)においては、キャッシュ
のヒット率を計算し、適切なキャッシュサイズを決定す
るために利用できる。また、メモリシステムに要求され
るレイテンシやスループットを決定することにも利用可
能である。さらに、命令セットの最適化などプロセッサ
のアーキテクチャを決定するためにも利用することがで
きる。
【0004】このアドレス情報を採取する方法には、以
下のようなハードウェアによる方法とソフトウェアによ
る方法がある。 (1)ハードウェアによるアドレス情報の採取 MPUチップにメモリインタフェースを追加し、ここに
接続されたメモリヘアドレス情報を記録する方法や、M
PUチップ内にメモリを内蔵し、前記メモリにアドレス
トレース情報を記録する方法がある。 (2)ソフトウェアによるアドレス情報の採取 1命令実行するたびに例外を発生させ、例外ハンドラ内
でアドレストレース情報を記録する方法がある。
【0005】
【発明が解決しようとする課題】アドレス情報をハード
ウェアで採取する場合、アドレス情報を格納するための
メモリをMPUチップ外に接続する場合には、ピン数が
増え、さらに外部のメモリも必要となりチップ単価及び
製造コストが高くなる問題がある。さらに、プロセッサ
は高速に動作するためチップ外部のメモリへ高速にアク
セスする必要があり、技術的にも非常に難しい。また、
MPUチップにメモリを内蔵する場合には、チップの面
積が大きくなりチップ単価が高くなってしまう問題があ
る。また、ソフトウェアでアドレス情報を採取する場合
には、1命令実行するたびに例外を発生させ、その命令
のアドレスと命令を記録していくため、実行時間が非常
に長くなってしまう問題がある。
【0006】本発明は、上記問題を解決するためになさ
れたもので、コストがかからず、アドレス情報採取中の
プログラム実行時間も変えずにアドレス情報を採取する
ことができるキャッシュ制御装置を提案することを目的
とする。
【0007】
【課題を解決するための手段】上記目的を達成するため
に、本発明のキャッシュ制御装置は、同時にリード/ラ
イト可能なポートを備え、または2以上のRAMで構成
され、少なくとも一部の領域がアドレス情報記録領域と
して使用される複数のキャッシュメモリと、アドレス情
報を採取することを示すトレース信号と、前記アドレス
情報を格納する番地を示し、前記キャッシュメモリヘの
アクセスが発生したときに、次のアドレスを示すアドレ
スカウンタと、前記トレース信号が出力された時、前記
アドレスカウンタから出力されたアドレス情報を前記キ
ャッシュメモリのアドレス端子に入力する切替え手段
と、前記トレース信号が出力された時、前記キャッシュ
メモリをアクセスするアドレス情報を前記キャッシュメ
モリのデータ端子に入力する切替え手段とを有し、前記
キャッシュへメモリのアクセスが発生した時に、前記ア
ドレス情報記録領域の前記アドレスカウンタが示すアド
レスヘ前記アドレス情報を記録することを特徴とする。
【0008】また本発明は、ソフトウェアまたはハード
ウェアによって値が設定可能なレジスタと、前記キャッ
シュメモリへのアクセスが発生したときの前記アクセス
情報と前記レジスタに設定された値を比較するための手
段とを有し、前記比較手段の比較結果が一致した場合に
のみ、前記アドレス情報を前記キャッシュメモリの前記
アドレス情報記録領域へ記録することを特徴とする。
【0009】また本発明は、前記アドレスカウンタの値
が前記アドレス情報記録領域を超えたときに、例外処理
を発生する手段を更に具備することを特徴とする。さら
に、本発明は、キャッシュ動作中にエラーを検出した場
合、前記アドレス情報の採取を中断することを特徴とす
る。
【0010】上記の構成により、キャッシュメモリとア
ドレス情報記録用メモリを兼用することにより、新たに
メモリを増設する必要がなく、簡単な論理を追加するだ
けて、アドレス情報を採取することが出来る。また、ア
ドレス情報を採取しないときには、通常のキャッシュメ
モリとして動作することから、プログラムの実行時間へ
の影響もない。
【0011】
【発明の実施の形態】以下、図面を参照して本発明のキ
ャッシュ制御装置の実施形態について説明する。
【0012】図1は、本発明のキャッシュ制御装置の構
成を示すブロック図である。 実施形態で示した2ウェ
イセットアソシアテイブキャッシュを構成するRAM1
0、20は、それぞれ1ポートのRAMで構成され、R
AM10、20に対して同時にリード又はライトアクセ
スすることができる。RAM10、20は、通常キャッ
シュメモリとして使用されるが、アドレス情報の採取を
行なうモードになった時には、一方のRAM(実施形態
ではRAM10)にアドレス情報が記録される構成とな
っている。このため、RAM10には周辺回路として、
セレクタ11、12、13、14、アドレスカウンタ1
5、+1回路16、ORゲート17が設けられている。
【0013】セレクタ11には、プロセッサMPU(図
示せず)からのキャッシュアドレス情報とアドレスカウ
ンタ15から出力されるアドレス情報が入力されてお
り、アドレス情報の採取モード時に有効となるアドレス
トレースイネーブル信号30によって、いずれか一方が
選択される。即ち、アドレストレースイネーブル信号3
0が印加されたときは、アドレスカウンタ15から出力
されたアドレス情報が選択され、印加されていないとき
(通常のキャッシュアクセスの場合)は、プロセッサM
PUからのキャッシュアドレスが選択され、RAM10
のアドレス端子A(0)に与えられる。なお、アドレス情
報の採取モードでは、キャッシュアクセスに応じてOR
ゲート17から出力される信号により、アドレスカウン
タ15は次の格納アドレスを示すように+1回路16に
よって、アドレス情報が逐次更新される。
【0014】セレクタ12には、プロセッサからのライ
トデータと、キャッシュアドレスとが入力され、同じく
アドレストレースイネーブル信号30によって、いずれ
か一方が選択される。即ち、アドレストレースイネーブ
ル信号30が印加されたときは、プロセッサMPUから
のキャッシュアドレスが選択され、印加されていないと
き(通常のキャッシュアクセスの場合)は、ライトデー
タが選択され、RAM10のデータ端子D(0)に与えら
れる。つまり、アドレスカウンタ15によって指定され
るRAM10のアドレスに、プロセッサMPUからのキ
ャッシュアドレスがトレースされるように動作する。
【0015】セレクタ13には、”0”信号とリード信
号50が入力され、同じくアドレストレースイネーブル
信号30によって、いづれか一方が選択され、RAM1
0のリード端子RDに入力される。即ち、アドレストレ
ースイネーブル信号30が印加されたときには、”0”
信号が選択され、RAM10に対し強制的にリード動作
を抑制する。
【0016】セレクタ14は、ライト信号40とリード
信号50とがORゲート17によってオアされた信号と
ライト信号40が入力され、同じくアドレストレースイ
ネーブル信号30によって、いづれか一方が選択され、
RAM10のライト端子WRに入力される。即ち、アド
レストレースイネーブル信号30が印加されたときに
は、ORゲート17からの信号が選択され、RAM10
に対しライト動作が行われるよう指定される。
【0017】一方、RAM20には、RAM10に示し
た周辺回路はなく、プロセッサMPUからのキャッシュ
アドレスがアドレス端子A(1)に、ライトデータがデー
タ端子D(1)に、リード信号50がリード端子RDに、
ライト信号40がライト端子WRにそれぞれ直接供給さ
れるように構成されている。このRAM20にもRAM
10の周辺回路を付加することによって、同様にRAM
20においてもアドレス情報の採取が行なえることは言
うまでもない。
【0018】次に、上記構成のキャッシュ制御装置の動
作を説明する。実施形態のキャッシュ制御装置において
は、2ウェイセットアソシアテイブキャッシュを示し、
それぞれのウェイは異るRAM10、20で構成され、
アドレス情報採取モードでは、RAM10のデータ部を
アドレス情報記録領域として使用し、RAM20のデー
タ部を通常のキャッシュとして使用する。通常動作(ア
ドレス情報採取モードでない)時は、RAM10、20
によって、2ウェイセットアソシアテイブキャッシュと
して動作する。
【0019】アドレス情報採取モード時は、アドレスト
レースイネーブル信号30が印加されることから、セレ
クタ11ではアドレスカウンタTAから出力されるアド
レスが選択され、RAM10のアドレス端子A(0)に供
給される。また、セレクタ12ではプロセッサMPUが
キャッシュメモリヘアクセスしたときのアドレスが選択
され、RAM10のデータ端子D(0)に供給される。そ
して、プロセッサMPUがキャッシュRAM10、20
をアクセス(リードまたはライト)すると、ORゲート
17からリード信号50およびライト信号40のOR信
号が出力され、その信号がセレクタ14から選択されて
RAM10のライト端子WRに供給される。これによ
り、RAM10はアドレスカウンタ15によって指定さ
れるアドレス(アドレス情報記録領域の指定番地)にプ
ロセッサMPUからのアドレス情報が書き込まれる。そ
して、アドレスカウンタ15は+1回路16によって更
新され、次の書き込みアドレスを指定するように動作す
る。他方のキャッシュRAM20は、通常動作と同じ
く、RAM20内のタグを読み出し、ヒット判定を行な
い、キャッシュへのアクセスを実行する。なお、キャッ
シュの判定回路や、その他の制御回路は本発明と直接関
係しないので省略されている。
【0020】1回のアドレス情報の書き込みでアドレス
以外の情報も記録できる場合、同時にリード/ライト可
能なポートが3個以上ある場合、または、3個以上のR
AMでキャッシュが構成されている場合などでは、アド
レス情報の他に、その時に読み出したデータや、書き込
んだデータ、及びヒット判定の結果、アクセスモード
(キャッシュ可能領域,カーネル/ユーザモード)など
の情報も同様に記録することができる。
【0021】このアドレス情報の記録に際して、カーネ
ルまたはユーザモードの時だけトレースする方法や、プ
ログラムの実行IDが一致するときだけトレースする方
法や、予め設定されたアドレスと一致するときだけトレ
ースする方法や、これらの組み合わせを適宜組合せてア
ドレス情報を記録するようにしてもよい。
【0022】図2は、予め設定されたアクセス情報と一
致するときだけトレースする実施形態を示すもので、ソ
フトウェアまたはハードウェアによって値が設定可能な
レジスタ60を設け、キャッシュメモリへのアクセスが
発生したときのアクセス情報とを比較器61によって比
較し、レジスタ60に設定された値とアクセス情報が一
致した場合、ANDゲート62からアドレストレースイ
ネーブル信号30が出力されるようにすることにより、
キャッシュRAM10のアドレス情報記録領域へアドレ
ス情報のトレースを行なうようにする。レジスタ60に
設定されるアクセス情報とは、プログラム実行IDや、
特定アドレスや、ソフト動作モードなどである。
【0023】これにより、マルチタスクシステムでは1
つのプログラムの実行が完了するまでの間に他のプログ
ラムも実行されるので、特定のプログラムだけのアドレ
ス情報を採取したい場合や、実行開始から完了までの他
のプログラム実行を含めてのアドレス情報を採取したい
場合、また、特定プログラムとOS(カーネルモード)
で実行されたアドレス情報を採取した場合など、様々な
情況でアドレストレースが可能となる。
【0024】また、ANDゲート62の他の入力とし
て、キャッシュ動作中に検出されたアドレスエラー、パ
リティエラー、バスエラーなどのエラー信号をインバー
タ63を介して入力することにより、上記エラーが検出
された場合は、ANDゲート62からアドレストレース
イネーブル信号30が出力されないようにして、アドレ
ス情報の採取を中断する。これにより、キャッシュRA
M10を解析することにより、エラーを検出した時点か
らさかのぼって、どのような命令が実行されたかを容易
に解析することが出来る。
【0025】図3はキャッシュRAM10にトレースし
たアドレス情報を他の記憶装置に移す場合の実施形態を
示すもので、アドレスカウンタ15にオーバフローを検
出するオーバフロー検出回路65を接続して、このオー
バフロー検出回路65によってアドレスカウンタ15が
オーバフローしたことを検出した時に、例外処理を発生
する発生手段66を起動するように構成する。そして、
ソフトウェアは、例外処理が発生すると、キャッシュR
AM10からトレースされたアドレス情報を読み出し、
主記憶装置やディスク装置などの記憶装置(図示せず)
にそのアドレス情報を格納する処理を実行する。これに
より、プログラム実行時のアドレス情報がキャッシュR
AM10内の記憶領域に納まらない場合に、例外処理を
発生させて、トレースしたアドレス情報を他の記憶装置
に格納することにより、キャッシュRAM内の記憶領域
以上の膨大なアドレス情報を採取することが可能とな
る。
【0026】
【発明の効果】本発明によれば、キャッシュメモリとア
ドレス情報記録用メモリを兼用することにより、新たに
メモリを増設する必要がなく、簡単な論理を追加するだ
けて、アドレス情報を採取することが出来る。また、ア
ドレス情報を採取しないときには、通常のキャッシュメ
モリとして動作することから、プログラムの実行時間へ
の影響もない。アドレス情報を採取する場合は、キャッ
シュサイズが半分になり、実行速度が少し低下するが、
ソフトウェアでアドレスを採取する方法に比べれば僅か
な低下である。
【図面の簡単な説明】
【図1】本発明のキャッシュ制御装置の構成を示したブ
ロック図。
【図2】本発明のキャッシュ制御装置に用いられるキャ
ッシュアクセス情報の比較に基づく、アドレストレース
イネーブル信号の発生を示すブロック図。
【図3】本発明のキャッシュ制御装置に用いられるアド
レスカウンタのオーバーフロー検出回路の構成を示した
ブロック図。
【符号の説明】 10、20…RAM 12、13、14…セレクタ 15…アドレスカウンタ 16…+1回路 17…ORゲート 30…アドレストレースイネ
ーブル信号 40…ライト信号 50…リード信号 60…レジスタ 61…比較器 62…ANDゲート 63…インバータ 65…オーバーフロー検出回路 66…例外処理発生手段

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 同時にリード/ライト可能なポートを備
    え、または2以上のRAMで構成され、少なくとも一部
    の領域がアドレス情報記録領域として使用される複数の
    キャッシュメモリと、 アドレス情報を採取することを示すトレース信号と、 前記アドレス情報を格納する番地を示し、前記キャッシ
    ュメモリヘのアクセスが発生したときに、次のアドレス
    を示すアドレスカウンタと、 前記トレース信号が出力された時、前記アドレスカウン
    タから出力されたアドレス情報を前記キャッシュメモリ
    のアドレス端子に入力する切替え手段と、 前記トレース信号が出力された時、前記キャッシュメモ
    リをアクセスするアドレス情報を前記キャッシュメモリ
    のデータ端子に入力する切替え手段とを有し、 前記キャッシュへメモリのアクセスが発生した時に、前
    記アドレス情報記録領域の前記アドレスカウンタが示す
    アドレスヘ前記アドレス情報を記録することを特徴とす
    るキャッシュ制御装置。
  2. 【請求項2】 ソフトウェアまたはハードウェアによっ
    て値が設定可能なレジスタと、 前記キャッシュメモリへのアクセスが発生したときの前
    記アクセス情報と前記レジスタに設定された値を比較す
    るための手段とを有し、 前記比較手段の比較結果が一致した場合にのみ、前記ア
    ドレス情報を前記キャッシュメモリの前記アドレス情報
    記録領域へ記録することを特徴とする請求項1記載のキ
    ャッシュ制御装置。
  3. 【請求項3】 前記アドレスカウンタの値が前記アドレ
    ス情報記録領域を超えたときに、例外処理を発生する手
    段を更に具備することを特徴とする請求項1記載のキャ
    ッシュ制御装置。
  4. 【請求項4】 キャッシュ動作中にエラーを検出した場
    合、前記アドレス情報の採取を中断することを特徴とす
    る請求項1記載のキャッシュ制御装置。
JP2000279357A 2000-09-14 2000-09-14 キャッシュ制御装置 Pending JP2002091795A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000279357A JP2002091795A (ja) 2000-09-14 2000-09-14 キャッシュ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000279357A JP2002091795A (ja) 2000-09-14 2000-09-14 キャッシュ制御装置

Publications (1)

Publication Number Publication Date
JP2002091795A true JP2002091795A (ja) 2002-03-29

Family

ID=18764373

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000279357A Pending JP2002091795A (ja) 2000-09-14 2000-09-14 キャッシュ制御装置

Country Status (1)

Country Link
JP (1) JP2002091795A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010067265A (ja) * 2008-08-05 2010-03-25 Intel Corp データアクセス違反を検出する方法および装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010067265A (ja) * 2008-08-05 2010-03-25 Intel Corp データアクセス違反を検出する方法および装置

Similar Documents

Publication Publication Date Title
US6539500B1 (en) System and method for tracing
US4357656A (en) Method and apparatus for disabling and diagnosing cache memory storage locations
US5347636A (en) Data processor which efficiently accesses main memory and input/output devices
CN109254883B (zh) 一种片上存储器的调试装置及方法
JP3202700B2 (ja) 信号処理装置
KR20200088760A (ko) 체크섬 생성
JP2002091795A (ja) キャッシュ制御装置
JP3419392B2 (ja) メモリアクセス監視装置、メモリアクセス監視方法およびメモリアクセス監視用プログラムを記録した記録媒体
EP1160793B1 (en) Memory decoder and method of operation
JPH1165898A (ja) 電子計算機の保守方式
JPH1040130A (ja) マイクロコンピュータ
JP2760228B2 (ja) キャッシュメモリを内蔵したマイクロプロセッサとそのトレースアナライザ
US20040107388A1 (en) Microcomputer
JPH02126340A (ja) データ処理システム
JP2001134471A (ja) デバッグ装置及びデバッグ方法
JP2004348635A (ja) プログラム開発方法
JP2965585B2 (ja) キャッシュメモリ試験方式
JPS6398052A (ja) 記憶装置
JPH09106359A (ja) 半導体集積回路
JPH05324396A (ja) プログラム走行履歴記録方式
KR0155931B1 (ko) 외부에서 억세스 가능한 온칩 캐시 메모리 시스템
JP2654105B2 (ja) マイクロプロセッサ
JPH0644098A (ja) メモリ・アクセス・バス・コンパレータ
JPH0981458A (ja) データ処理システムにおけるキャッシュのアクセス方法
JPH0746330B2 (ja) データ処理装置

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050414

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20050606