JP4189402B2 - キャッシュ回路 - Google Patents

キャッシュ回路 Download PDF

Info

Publication number
JP4189402B2
JP4189402B2 JP2005303934A JP2005303934A JP4189402B2 JP 4189402 B2 JP4189402 B2 JP 4189402B2 JP 2005303934 A JP2005303934 A JP 2005303934A JP 2005303934 A JP2005303934 A JP 2005303934A JP 4189402 B2 JP4189402 B2 JP 4189402B2
Authority
JP
Japan
Prior art keywords
cache
data
circuit
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.)
Expired - Fee Related
Application number
JP2005303934A
Other languages
English (en)
Other versions
JP2006260525A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2005303934A priority Critical patent/JP4189402B2/ja
Priority to US11/329,027 priority patent/US7899992B2/en
Publication of JP2006260525A publication Critical patent/JP2006260525A/ja
Application granted granted Critical
Publication of JP4189402B2 publication Critical patent/JP4189402B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、キャッシュメモリの制御を行うキャッシュ回路に関するものである。
一般に、コンピュータシステムでは、CPU(Central Processing Unit)とCPUに比べ処理速度が遅いメインメモリとの間に、メインメモリより記憶容量は小さいがメインメモリより処理速度の速いキャッシュメモリが設けられている。
キャッシュメモリは、メインメモリ内の命令コード、またはデータのコピーを一時的に保持することによって、CPUから見たメインメモリの見かけ上の処理速度を速めるようになっている(例えば、非特許文献1を参照。)。
また、メインメモリに保持された命令コードおよびデータをCPUに転送するために、CPUとメインメモリの間にはバスが設けられるが、コンピュータシステムでは、バスの動作の検証や評価が行われる場合があり、バスの動作の検証や評価が行われる際には、プログラムを実行させてCPUからメインメモリへの命令アクセス動作、およびデータアクセス動作を様々な条件で繰り返し行わせる。
このようなプログラムは、CPUにメインメモリへのアクセスを繰り返し行わせるため、通常ループ構造を持つことが多い。
しかし、キャッシュメモリが設けられたコンピュータシステムで、ループ構造を持ったプログラムが実行された場合に、ループ部分のすべての命令コードが命令コード用のキャッシュメモリ(命令キャッシュメモリ)に保持されると、メインメモリへの命令アクセスが行われなくなり、バスを転送されるのは、CPUのデータアクセスによるデータのみになる。
また、ループ部分でメインメモリにアクセスされるデータがすべてデータ用のキャッシュメモリ(データキャッシュメモリ)に保持された場合には、メインメモリへのデータアクセスが行われなくなり、バスを転送されるのは、CPUの命令アクセスによる命令コードのみになる。
この結果、メインメモリへの命令アクセス、およびデータアクセスが定常的に行われる状態でのバスの動作検証を行うことができなくなる。
このため、従来のコンピュータシステムでは、コンピュータシステムが持つタイマを動作させて一定時間ごとにCPUに対しタイマ割り込みを発生させ、CPUがタイマ割り込みを検出するとプログラムにより命令キャッシュメモリあるいはデータキャッシュメモリのエントリを無効化し、メインメモリに保持されている命令コードやデータに対し、バスを介したアクセスを発生させるようになっているものがあった。
橋本 昭洋、"情報工学入門選書7 計算機アーキテクチャ"、昭晃堂、平成7年7月20日
しかし、タイマ割り込みを用い、プログラムによってキャッシュを無効化する方法では、例えば、SRAM(Static Random Access Memory)、SDRAM(Synchronous Dynamic Random Access Memory)、フラッシュROM(Read Only Memory)等のメインメモリの種類によってアクセス速度が異なるため、メインメモリの種類に応じてタイマ割り込みの周期を最適に設定する必要があった。
また、プログラムの動作によっては、キャッシュヒット率の上昇率が一定ではなく、タイマ割り込みによる定期的なキャッシュメモリの無効化処理では、キャッシュヒット率が高くなって、メインメモリへのアクセスが起こらない状態が長く続く可能性があった。
本発明は、上記の問題に着目してなされたものであり、メインメモリの種類やプログラムの動作にかかわらず、キャッシュヒット率が上昇することによるメインメモリへのアクセスの減少を回避することができ、メインメモリへの命令アクセス、およびデータアクセスが定常的に行われる状態でのバスの動作検証を行うことができるキャッシュ回路を提供することを課題とする。
前記の課題を解決するため、請求項1の発明は、
バスに接続されたメインメモリに対して情報処理装置が読み書きするデータおよび前記メインメモリから読み込む命令コードの少なくとも一方が保持されるキャッシュメモリと、
前記情報処理装置によってデータまたは命令コードに対する読み込み要求がなされた際に、キャッシュヒットの場合には、前記キャッシュメモリからデータまたは命令コードを読み込んで前記情報処理装置に出力する一方、キャッシュミスの場合には、前記メインメモリからデータまたは命令コードを読み込んで前記キャッシュメモリに保持させるとともに前記情報処理装置に出力し、情報処理装置によってデータの書き込み要求がなされた際には、前記キャッシュメモリにデータを書き込むキャッシュ制御回路と、
キャッシュヒットの回数が所定の回数を超えた場合に、前記キャッシュメモリに保持されたデータまたは命令コードを無効化するキャッシュメモリ無効化回路と、
を備えたことを特徴とする。
これにより、キャッシュヒットの回数が所定の回数を超えた場合に、前記キャッシュメモリのデータまたは命令コードが無効化されるので、メインメモリの種類やプログラムの動作に係わらず、キャッシュメモリのキャッシュヒット率が上昇することによるメインメモリへのアクセスの減少を回避することができ、メインメモリへの命令アクセス、およびデータアクセスが定常的に行われる状態でのバスの動作検証を行うことができる。
また、請求項の発明は、
請求項のキャッシュ回路であって、
さらに、キャッシュヒットの回数をカウントするヒット数カウント回路を備え、
前記キャッシュメモリ無効化回路は、前記ヒット数カウント回路のカウント数が所定の回数を超えた場合に、前記キャッシュメモリのデータまたは命令コードを無効化するように構成されていることを特徴とする。
これらにより、キャッシュヒット回数が所定の回数を超えた場合に、前記キャッシュメモリのデータまたは命令コードを無効化できる。
また、請求項の発明は、
請求項のキャッシュ回路であって、
前記キャッシュメモリ、キャッシュ制御回路、およびキャッシュメモリ無効化回路は、それぞれデータ用と命令コード用との少なくとも2つずつ設けられ、
データ用キャッシュメモリ無効化回路は、データ用キャッシュメモリについてのキャッシュヒット回数が所定の回数を超え、かつ命令コード用キャッシュメモリについてのキャッシュヒットの回数が所定の回数を超えた場合に、前記データ用キャッシュメモリのデータを無効化するように構成されていることを特徴とする。
また、請求項の発明は、
請求項のキャッシュ回路であって、
前記キャッシュメモリ、キャッシュ制御回路、およびキャッシュメモリ無効化回路は、それぞれデータ用と命令コード用との少なくとも2つずつ設けられ、
命令コード用キャッシュメモリ無効化回路は、命令コード用キャッシュメモリについてのキャッシュヒットの回数が所定の回数を超え、かつデータ用キャッシュメモリについてのキャッシュヒット回数が所定の回数を超えた場合に、前記命令コード用キャッシュメモリの命令コードを無効化するように構成されていることを特徴とする。
これらにより、データ用キャッシュメモリについてのキャッシュヒット回数が所定の回数を超え、かつ命令コード用キャッシュメモリについてのキャッシュヒットの回数が所定の回数を超えた場合に、前記データ用キャッシュメモリのデータを無効化したり、命令コード用キャッシュメモリの命令コードを無効化したりできる。
また、請求項の発明は、
バスに接続されたメインメモリに対して情報処理装置が読み書きするデータおよび前記メインメモリから読み込む命令コードの少なくとも一方が保持されるキャッシュメモリと、
前記情報処理装置によってデータまたは命令コードに対する読み込み要求がなされた際に、キャッシュヒットの場合には、前記キャッシュメモリからデータまたは命令コードを読み込んで前記情報処理装置に出力する一方、キャッシュミスの場合には、前記メインメモリからデータまたは命令コードを読み込んで前記キャッシュメモリに保持させるとともに前記情報処理装置に出力し、情報処理装置によってデータの書き込み要求がなされた際には、前記キャッシュメモリにデータを書き込むキャッシュ制御回路と、
読み書きの要求がなされた回数に対するキャッシュヒットの回数の割合であるキャッシュヒット率が所定の値を超えた場合に、前記キャッシュメモリに保持されたデータまたは命令コードを無効化するキャッシュメモリ無効化回路と、
を備えたことを特徴とする。
また、請求項の発明は、
請求項のキャッシュ回路であって、
さらに、前記キャッシュメモリで保持されるデータまたは命令コードに対して、前記情報処理装置によって読み書きの要求がなされた回数をカウントするアクセス回数カウント回路と、
上記読み書きの要求に対するキャッシュヒットの回数をカウントするヒット数カウント回路と、
前記アクセス回数カウント回路がカウントした回数に対する前記ヒット数カウント回路がカウントしたキャッシュヒットの回数の割合を算出するヒット率算出回路と、
を備えていることを特徴とする。
また、請求項の発明は、
請求項のキャッシュ回路であって、
前記ヒット率算出回路は、前記アクセス回数カウント回路がカウントした回数が所定の回数を超えた場合に、前記キャッシュヒット率を算出するとともに、前記アクセス回数カウント回路とヒット数カウント回路とをリセットするように構成されていることを特徴とする。
これらにより、キャッシュヒット率が所定の値を超えた場合に、前記キャッシュメモリのデータまたは命令コードを無効化できる。
また、請求項の発明は、
請求項のキャッシュ回路であって、
前記キャッシュメモリ、キャッシュ制御回路、およびキャッシュメモリ無効化回路は、それぞれデータ用と命令コード用との少なくとも2つずつ設けられ、
データ用キャッシュメモリ無効化回路は、データ用キャッシュメモリについてのキャッシュヒット率が所定の値を超え、かつ命令コード用キャッシュメモリについてのキャッシュヒット率が所定の値を超えた場合に、前記データ用キャッシュメモリのデータを無効化するように構成されていることを特徴とする。
また、請求項の発明は、
請求項のキャッシュ回路であって、
前記キャッシュメモリ、キャッシュ制御回路、およびキャッシュメモリ無効化回路は、それぞれデータ用と命令コード用との少なくとも2つずつ設けられ、
命令コード用キャッシュメモリ無効化回路は、命令コード用キャッシュメモリについてのキャッシュヒット率が所定の値を超え、かつデータ用キャッシュメモリについてのキャッシュヒット率が所定の値を超えた場合に、前記命令コード用キャッシュメモリの命令コードを無効化するように構成されていることを特徴とする。
これらにより、データ用キャッシュメモリについてのキャッシュヒット率が所定の値を超え、かつ命令コード用キャッシュメモリについてのキャッシュヒット率が所定の値を超えた場合に、前記データ用キャッシュメモリのデータを無効化したり、命令コード用キャッシュメモリの命令コードを無効化したりできる。
また、請求項10の発明は、
請求項1又は請求項5のキャッシュ回路であって、
前記キャッシュメモリは、少なくともデータが保持されるように構成され、
前記キャッシュメモリ無効化回路は、前記キャッシュメモリに保持されたデータまたは命令コードを無効化する際に、前記キャッシュメモリに保持されているデータとメインメモリに保持されているデータとが一致していない場合には、前記キャッシュメモリに保持されているデータを前記メインメモリに書き戻すように構成されていることを特徴とする。
これにより、前記キャッシュメモリのデータを無効化する場合に、前記キャッシュメモリのデータとメインメモリに保持されているデータとに不整合が生じていても、その不整合を解消することができる。
また、請求項11の発明は、
請求項1又は請求項5のキャッシュ回路であって、
前記キャッシュメモリ無効化回路は、前記キャッシュメモリに保持されたデータまたは命令コードが、メインメモリの所定のアドレス範囲と対応するデータまたは命令コードである場合に、前記キャッシュメモリに保持されたデータまたは命令コードを無効化するように構成されていることを特徴とする。
これにより、前記キャッシュメモリに保持されているデータがメインメモリの所定のアドレス範囲のデータと対応するデータである場合に無効化が行われ、例えば、プログラムで関数呼び出し時、または関数呼び出し元への復帰時にアクセスが行われるスタック領域は、常にキャッシュヒットさせるようにし、スタック領域以外でデータが保持されている領域に対しては、メインメモリへのアクセスをおこさせるようにしてバスの動作検証を行うことが可能になる。
本発明によれば、メインメモリの種類やプログラムの動作にかかわらず、キャッシュヒット率(命令キャッシュヒット率、またはデータキャッシュヒット率)を容易に制御することができ、例えば、メインメモリへのアクセスの減少を回避して、メインメモリへの命令アクセス、およびデータアクセスが定常的に行われる状態でのバスの動作検証を行うことが可能になる。
以下、本発明の実施形態について図面を参照しながら説明する。
《発明の実施形態1》
例えばバスの動作の検証や評価が行われる場合に、CPUの命令コードが保持される命令コード用のキャッシュメモリ(命令キャッシュメモリ)についてのキャッシュヒット率を低く抑えるキャッシュ回路の例を説明する。
図1は、本発明の実施形態1に係るキャッシュ回路100の構成を示すブロック図である。
キャッシュ回路100は、図1に示すように、命令キャッシュ制御回路101、命令キャッシュヒットカウンタ102、命令メモリアクセスカウンタ103、および命令キャッシュヒット率算出/エントリ無効化制御回路104を備えて構成されている。
命令キャッシュ制御回路101は、命令アクセス信号S102(CPU400が命令コードにアクセスしていることを示す信号)が入力された場合に、CPU400が出力するアドレス信号S101(CPU400がアクセスするメインメモリのアドレスを示す信号)から、CPU400がアクセスした命令コードが、図示しない命令キャッシュメモリにあるかないか(すなわち、キャッシュヒットであるかキャッシュミスであるか)を判定するようになっている。
また、命令キャッシュ制御回路101は、キャッシュヒットである場合には、キャッシュヒットであることを示すキャッシュヒット信号S103を命令キャッシュヒットカウンタ102に出力するとともに、命令キャッシュメモリから読み出した命令コードをCPU400に出力(図1の信号S104)し、キャッシュミスの場合には、図示しないバスを介してメインメモリにアクセスして読み出した命令コードをCPU400に出力するとともに、命令キャッシュメモリに読み出した命令コードを書き込むようになっている。
また、命令キャッシュ制御回路101は、命令キャッシュヒット率算出/エントリ無効化制御回路104から命令キャッシュエントリ無効化信号S108(後述)が入力された場合に、命令キャッシュメモリのエントリの無効化処理を行うようになっている。
命令キャッシュヒットカウンタ102は、キャッシュヒット信号S103が命令キャッシュ制御回路101から入力された回数をカウントし、カウント結果(ヒット数S105)を命令キャッシュヒット率算出/エントリ無効化制御回路104に出力するようになっている。
命令メモリアクセスカウンタ103は、命令アクセス信号S102がCPU400から入力された回数をカウントし、カウント結果(命令アクセス数S106)を命令キャッシュヒット率算出/エントリ無効化制御回路104に出力するようになっている。
命令キャッシュヒット率算出/エントリ無効化制御回路104は、命令アクセス数S106が所定数以上になった場合に、ヒット数S105の命令アクセス数S106に対する割合(命令キャッシュヒット率)を計算して記憶した後に、命令キャッシュヒットカウンタ102、および命令メモリアクセスカウンタ103をリセットし、さらに前記命令キャッシュヒット率が、キャッシュ回路100の外部から入力された命令キャッシュ用エントリ無効化閾値S107を超えた場合は、命令キャッシュエントリ無効化信号S108を命令キャッシュ制御回路101に出力するようになっている。
CPU400は、キャッシュ回路100を介して、命令キャッシュメモリ、およびメインメモリのうちの何れかから命令コードを読み込んで実行するようになっている。
上記のように構成されたキャッシュ回路100では、通常の動作が行われる場合は、予め命令キャッシュ用エントリ無効化閾値S107として、命令キャッシュヒット率が100%であることを示す値に設定される。これにより、命令キャッシュエントリ無効化信号S108は出力されなくなり、命令キャッシュメモリのエントリの無効化処理は行われない。
また、バスの動作の検証や評価が行われる際には、前述した通常の動作が行われる場合とは異なる値の命令キャッシュ用エントリ無効化閾値S107が予め命令キャッシュヒット率算出/エントリ無効化制御回路104に入力され、検証用のプログラムの実行がCPU400に指示される。
検証用のプログラムの実行が開始され、命令アクセス数S106が所定数以上になるごとに、命令キャッシュヒット率算出/エントリ無効化制御回路104によって命令キャッシュヒット率が求められる。求められた命令キャッシュヒット率が命令キャッシュ用エントリ無効化閾値S107を超えると、命令キャッシュヒット率算出/エントリ無効化制御回路104から命令キャッシュエントリ無効化信号S108が命令キャッシュ制御回路101に出力され、命令キャッシュメモリに保持されている命令コードが無効化される。
命令キャッシュメモリに保持されている命令コードが無効化された場合に、CPU400によって、命令コードの読み込みが行われると、命令キャッシュ制御回路101は、図示しないバスを介してメインメモリにアクセスし、命令コードを読み出してCPU400に出力する。
上記のように、本実施形態のキャッシュ回路によれば、命令キャッシュメモリについてのキャッシュヒット率が命令キャッシュ用エントリ無効化閾値を超えた場合に、命令キャッシュメモリに保持されている命令コードが無効化されるので、メインメモリへのアクセスの減少を回避することができ、命令アクセスにおけるキャッシュヒット率が低い状態でバスの動作検証を行うことが可能になる。
《発明の実施形態2》
CPUにアクセスされるデータが保持されるデータ用のキャッシュメモリ(データキャッシュメモリ)についてのキャッシュヒット率を低く抑えるキャッシュ回路の例を説明する。
なお、以下の実施形態において前記実施形態1等と同様の機能を有する構成要素については、同一の符号を付して説明を省略する。
図2は、本発明の実施形態2に係るキャッシュ回路200の構成を示すブロック図である。
キャッシュ回路200は、図2に示すように、データキャッシュ制御回路201、データキャッシュヒットカウンタ202、データメモリアクセスカウンタ203、データキャッシュヒット率算出/エントリ無効化制御回路204、およびアドレス記憶回路205を備えて構成されている。
データキャッシュ制御回路201は、データアクセス信号S204(CPU500がデータにアクセスしていることを示す信号)が入力された場合に、CPU500が出力するアドレス信号S101(CPU500がアクセスするメインメモリのアドレスを示す信号)に基づいて、CPU500が読み込んでいるデータが前記データキャッシュメモリにあるかないか(すなわちキャッシュヒットであるかキャッシュミスであるか)を判定するようになっている。
また、データキャッシュ制御回路201は、キャッシュヒットである場合には、キャッシュヒット信号S203をデータキャッシュヒットカウンタ202に出力するとともに、リード・ライト信号S202が読み出しであることを示していれば、データキャッシュメモリから読み出したデータ(図2の信号S209)をCPU500に出力し、リード・ライト信号S202が書き込みであることを示していれば、CPU500が出力したデータS210をデータキャッシュメモリに書き込むようになっている。そして、キャッシュミスの場合には、リード・ライト信号S202が読み出しであることを示していれば、バスを経由してメインメモリから読み出したデータ(信号S209)をCPU500に出力するとともに、データキャッシュメモリに前記データを書き込み、リード・ライト信号S202が書き込みであることを示していれば、データキャッシュメモリにデータS210を書き込むようになっている。
また、データキャッシュ制御回路201は、データキャッシュヒット率算出/エントリ無効化制御回路204からデータキャッシュエントリ無効化信号S208(後述)が入力され、かつ前記データキャッシュメモリに保持されているデータがメインメモリの所定のアドレス範囲(無効化対象領域)のデータと対応するものであって、データキャッシュメモリに保持されているデータとメインメモリに保持されているデータとが一致していない場合には、データキャッシュメモリに保持されているデータをメインメモリに書き戻した後にデータキャッシュメモリのエントリの無効化処理を行うようになっている。上記のような不一致は、CPU500が書き込みを行った場合に起こる。
また、前記無効化対象領域を示すメインメモリのアドレスは、本キャッシュ回路では、予めアドレス記憶回路205に保持され、データキャッシュ制御回路201がアドレス記憶回路205にアクセスするようになっている。
データキャッシュヒットカウンタ202は、キャッシュヒット信号S203が入力された回数をカウントし、カウント結果(ヒット数S205)をデータキャッシュヒット率算出/エントリ無効化制御回路204に出力するようになっている。
データメモリアクセスカウンタ203は、データアクセス信号S204がCPU500から入力された回数をカウントし、カウント結果(データアクセス数S206)をデータキャッシュヒット率算出/エントリ無効化制御回路204に出力するようになっている。
データキャッシュヒット率算出/エントリ無効化制御回路204は、データキャッシュ用エントリ無効化閾値S207が入力され、データアクセス数S206が所定数以上になった場合に、ヒット数S205のデータアクセス数S206に対する割合(データキャッシュヒット率)を計算して記憶した後に、データキャッシュヒットカウンタ202、およびデータメモリアクセスカウンタ203をリセットし、さらに、前記データキャッシュヒット率が前記データキャッシュ用エントリ無効化閾値S207を超えた場合に、データキャッシュエントリ無効化信号S208をデータキャッシュ制御回路201に出力するようになっている。
CPU500は、データの入出力を行う場合に、アドレス信号S101、リード・ライト信号S202、およびデータアクセス信号S204をキャッシュ回路200に出力するようになっている。
上記のように構成されたキャッシュ回路200では、通常の動作が行われる場合は、データキャッシュ用エントリ無効化閾値S207として、データキャッシュヒット率が100%であることを示す値に設定される。これにより、これにより、データキャッシュエントリ無効化信号S208は出力されなくなり、データキャッシュメモリのエントリの無効化処理は行われない。
また、バスの動作の検証や評価が行われる際には、前述した通常の動作が行われる場合とは異なる値のデータキャッシュ用エントリ無効化閾値S207が予めデータキャッシュヒット率算出/エントリ無効化制御回路204に入力され、さらに前記無効化対象領域として例えば検証用のプログラムで使用するデータが保持される領域を示すアドレスがアドレス記憶回路205に保持された後、検証用のプログラムの実行が指示される。
検証用のプログラムの実行が開始され、データアクセス数S206が所定数以上になるごとに、データキャッシュヒット率算出/エントリ無効化制御回路204によってデータキャッシュヒット率が求められる。求められたデータキャッシュヒット率がデータキャッシュ用エントリ無効化閾値S207を超えると、データキャッシュヒット率算出/エントリ無効化制御回路204からデータキャッシュエントリ無効化信号S208がデータキャッシュ制御回路201に出力される。
データキャッシュ制御回路201は、データキャッシュエントリ無効化信号S208が入力されると、データキャッシュメモリに保持されているデータが前記無効化対象アドレスに保持されているデータに対応するデータである場合には、次の処理を行う。
データキャッシュメモリに保持されているデータと、データキャッシュメモリに対応するメインメモリ内データとが一致していない場合は、データキャッシュメモリに保持されているデータをメインメモリに書き戻した後、データキャッシュメモリのエントリの無効化処理を行い、一致している場合には、データキャッシュメモリのエントリの無効化処理のみを行う。
データキャッシュメモリに保持されているデータが無効化された場合には、CPU500によってデータのリード動作が行われると、データキャッシュ制御回路201は、図示しないバスを介してメインメモリにアクセスし、CPU500に出力する。
上記のように、本キャッシュ回路によれば、データキャッシュについてのキャッシュヒット率がデータキャッシュ用エントリ無効化閾値を超えた場合に、データキャッシュメモリのデータが無効化されるので、メインメモリへのアクセスの減少を回避することができ、データアクセスにおけるキャッシュヒット率が低い状態でバスの動作検証を行うことが可能になる。
しかも、前記キャッシュヒット率が高くなった場合に、無効化処理を行うエントリを、ユーザが指定するメインメモリ上の所定のアドレスの範囲に限定することにより、例えば、プログラムで関数呼び出し時や関数呼び出し元への復帰時にデータアクセスが行われるスタック領域のデータは、常にキャッシュヒットさせるようにし、実際に検証用プログラムで利用するデータが保持された領域に対してのみ、メインメモリへのアクセスを起こさせるようにできるので、プログラム作成者が意図するアクセスが行われた場合のバスの動作検証を行うことができる。
《発明の実施形態3》
図3は、本発明の実施形態3におけるキャッシュ回路300の構成を示すブロック図である。
キャッシュ回路300は、図3に示すように、命令キャッシュ制御回路101、命令キャッシュヒットカウンタ102、命令メモリアクセスカウンタ103、データキャッシュ制御回路201、データキャッシュヒットカウンタ202、データメモリアクセスカウンタ203、アドレス記憶回路205、命令キャッシュヒット率算出/エントリ無効化制御回路314、およびデータキャッシュヒット率算出/エントリ無効化制御回路324を備えて構成されている。
命令キャッシュヒット率算出/エントリ無効化制御回路314は、キャッシュ回路100の命令キャッシュヒット率算出/エントリ無効化制御回路104と比べ、命令キャッシュエントリ無効化信号S108を命令キャッシュ制御回路101に出力する条件が異なっている。
具体的には、命令キャッシュヒット率算出/エントリ無効化制御回路314は、前記命令キャッシュヒット率が前記命令キャッシュ用エントリ無効化閾値S107を超え、かつデータキャッシュヒット率算出/エントリ無効化制御回路324が算出したデータキャッシュヒット率(図3に示す信号S306としてデータキャッシュヒット率算出/エントリ無効化制御回路324から入力される)が所定の閾値(図3に示す信号S207としてデータキャッシュヒット率算出/エントリ無効化制御回路324に入力されるデータキャッシュ用エントリ無効化閾値S207と区別するため第2のデータキャッシュ用エントリ無効化閾値と呼ぶ)を超えた場合に、命令キャッシュエントリ無効化信号S108を命令キャッシュ制御回路101に出力するようになっている。なお、前記第2のデータキャッシュ用エントリ無効化閾値は、固定的に定められた値でもよいし、外部から入力されるようにしてもよい。
データキャッシュヒット率算出/エントリ無効化制御回路324は、キャッシュ回路200のデータキャッシュヒット率算出/エントリ無効化制御回路204と比べ、データキャッシュエントリ無効化信号S208をデータキャッシュ制御回路201に出力する条件が異なっている。
具体的には、データキャッシュヒット率算出/エントリ無効化制御回路324は、前記データキャッシュヒット率が前記データキャッシュ用エントリ無効化閾値S207を超え、かつ命令キャッシュヒット率算出/エントリ無効化制御回路314が算出した命令キャッシュヒット率(図3に示す信号S305として命令キャッシュヒット率算出/エントリ無効化制御回路314から入力される)が所定の閾値(図3に示す信号S107として命令キャッシュヒット率算出/エントリ無効化制御回路314に入力される命令キャッシュ用エントリ無効化閾値S107と区別するため第2の命令キャッシュ用エントリ無効化閾値と呼ぶ)を超えた場合に、データキャッシュエントリ無効化信号S208をデータキャッシュ制御回路201に出力するようになっている。なお、前記第2の命令キャッシュ用エントリ無効化閾値は、固定的に定められた値でもよいし、外部から入力されるようにしてもよい。
CPU600は、プログラムを実行する際に、キャッシュ回路300を介して、命令コードの読み込み、およびデータの読み込みと書き込みを行うようになっている。
上記のように構成されたキャッシュ回路300では、通常の動作が行われる場合は、命令キャッシュ用エントリ無効化閾値S107、およびデータキャッシュ用エントリ無効化閾値S207がそれぞれキャッシュヒット率が100%であることを示す値に予め設定される。これにより、命令キャッシュメモリ、およびデータキャッシュメモリのエントリの無効化処理は行われない。
また、バスの動作の検証や評価が行われる際に、予め命令キャッシュ用エントリ無効化閾値S107、およびデータキャッシュ用エントリ無効化閾値S207がそれぞれ命令キャッシュヒット率算出/エントリ無効化制御回路314、およびデータキャッシュヒット率算出/エントリ無効化制御回路324に入力され、さらに前記無効化対象領域として、例えば検証用のプログラムで使用するデータが保持されるアドレス領域を示す情報がアドレス記憶回路205に保持された後、CPU600に検証用のプログラムが実行が指示される。
検証用のプログラムの実行が開始され、命令アクセス数S106が所定数以上になるごとに、前記命令キャッシュヒット率が求められ、また、データアクセス数S206が所定数以上になるごとに、前記データキャッシュヒット率が求められる。
前記命令キャッシュヒット率が命令キャッシュ用エントリ無効化閾値S107を超え、かつ前記第2のデータキャッシュ用エントリ無効化閾値を超えると、命令キャッシュヒット率算出/エントリ無効化制御回路314から命令キャッシュエントリ無効化信号S108が命令キャッシュ制御回路101に出力され、命令キャッシュ制御回路101によって、命令キャッシュメモリに保持されている命令コードが無効化される。
また、データキャッシュヒット率がデータキャッシュ用エントリ無効化閾値S207を超え、かつ前記第2の命令キャッシュ用エントリ無効化閾値を超えた場合には、データキャッシュヒット率算出/エントリ無効化制御回路324からデータキャッシュエントリ無効化信号S208がデータキャッシュ制御回路201に出力される。データキャッシュ制御回路201は、データキャッシュメモリに保持されているデータが前記無効化対象アドレスに保持されているデータに対応するデータであれば、データキャッシュメモリに保持されているデータと、データキャッシュメモリと対応するメインメモリ内データとが一致していない場合には、データキャッシュメモリに保持されているデータをメインメモリに書き戻した後、データキャッシュメモリのエントリの無効化処理を行い、一致している場合には、データキャッシュメモリのエントリの無効化処理のみを行う。
命令キャッシュメモリやデータキャッシュメモリの無効化処理が行われると、CPU600による命令コードやデータの読み込みは、バスを介してメインメモリから行われる。
上記のように、本キャッシュ回路によれば、例えば、命令キャッシュメモリのキャッシュヒット率が高い状態でメインメモリへのデータアクセスを行わせることができ、メインメモリへのデータアクセスが連続的に行われる場合のバスの動作検証を行うことが可能になる。また、例えば、データキャッシュメモリのキャッシュヒット率が高い状態でメインメモリへの命令アクセスを起こすことができ、メインメモリへの命令アクセスが連続的に行われる場合のバスの動作検証を行うことも可能になる。
なお、上記の各実施形態では、キャッシュヒット率に基づいて無効化する例を説明したが、キャッシュヒットの回数が所定の閾値を超えた場合に無効化を行うように構成してもよい。
《発明の実施形態3の変形例》
図4は、発明の実施形態3の変形例に係るキャッシュ回路を示すブロック図である。実施形態3の変形例に係るキャッシュ回路は、図4に示すように、上記のキャッシュ回路300に対して、プログラム暴走検出回路701が追加されて構成されている。
プログラム暴走検出回路701は、命令キャッシュヒット率(図4に示すように信号S305として入力されている)、およびデータキャッシュヒット率(図4に示すように信号S306として入力されている)に基づいて、実行されているプログラムが、ユーザの意図しない無限ループに陥っているかどうかを判定するようになっている。
具体的には、プログラム暴走検出回路701は、キャッシュヒット率(命令キャッシュヒット率、またはデータキャッシュヒット率)の高い状態が通常考えられないほどの長時間に渡って続いた場合に、命令キャッシュエントリ無効化信号S108、およびデータキャッシュエントリ無効化信号S208をそれぞれ、命令キャッシュ制御回路101、およびデータキャッシュ制御回路201に出力することによって、キャッシュヒット率を一旦低く制御する。そして、キャッシュヒット率を低くしても、すぐにキャッシュヒット率が高い状態に復帰し、さらにその状態が長時間続くようであれば、プログラム暴走検出回路701は、プログラムがユーザの意図しない無限ループに陥っていると判断して、信号S701を出力する。
例えば、プログラム暴走検出回路701が出力した信号S701により、CPU600に対する割り込みを発生するようにしておけば、ユーザの意図しないプログラムの暴走を検知して、システムを正常な状態に復帰させることが可能になる。
なお、上記の各実施形態や変形例では、キャッシュヒット率に基づいて無効化する例を説明したが、キャッシュヒットの回数が所定の閾値を超えた場合に無効化を行うように構成してもよい。
以上のように、上記の各実施形態や変形例のキャッシュ回路によれば、メインメモリの種類やプログラムの動作にかかわらず、キャッシュヒット率(命令キャッシュヒット率、またはデータキャッシュヒット率)を容易に制御することができる。
したがって、本発明のキャッシュ回路が用いられたシステムでは、メインメモリへのアクセスの減少を回避することができるので、例えばメインメモリへの命令アクセス、およびデータアクセスが定常的に行われる状態でのバスの動作検証を行うことが可能になる。
また、本発明のキャッシュ回路は、当該キャッシュ回路が用いられたシステムにおける電源回路等の規模の最適化に貢献できる。
キャッシュ回路が用いられたシステムでは、キャッシュメモリに対するキャッシュヒット率が小さい場合は、バスを介したメインメモリへのアクセスが増加するので、一般的には消費電力が増加する。そのため、このシステムに用いられる電源回路は、キャッシュヒット率が小さい場合の消費電力を考慮して設計する必要がある。
しかし、従来のキャッシュ回路が用いられたシステムでは、キャッシュヒット率を容易には小さく制御できない。そのため、キャッシュヒット率が小さい場合の正確な消費電力が判らず、システムの最大消費電力を正確に見積ることができない。したがって、従来のシステムでは、電源回路で供給できる電力のマージンを大きくとって設計する必要があり、電源回路等の規模が必要以上に大きくなって、余分なコストがかかってしまう可能性がある。
これに対して、本発明のキャッシュ回路が用いられたシステムは、キャッシュヒット率が小さい状態でシステムを動作させることが容易にできるので、そのシステムにおける消費電力を予め正確に見積りできる。それゆえ、本発明のキャッシュ回路が用いられたシステムは、電源回路等に必要以上のマージンを持たせて設計する必要がない。
また、本発明のキャッシュ回路は、実行するプログラムの切り替えの高速化に貢献できる。
あるプログラム(以下、第1のプログラムという)から、例えば高速応答が必要な別のプログラム(以下、第2のプログラムという)に、実行の対象が切り替わる場合には、従来のキャッシュ回路が用いられたシステムでは、第1のプログラムの終了後(図5のタイミングチャートに示す時刻t1の後)に、データキャッシュメモリにおいて不要になった第1のプログラムのエントリ(ダーティなエントリ)の書き戻し動作(ライトバック動作)が行われる。そしてその後(図5に示す時刻t2の後)に、第2のプログラムのためのデータキャッシュメモリのリフィル、および第2のプログラムの実行が開始される。
これに対して、本発明のキャッシュ回路が用いられたシステムでは、例えば、第1のプログラムの終了処理が行われている間などにキャッシュヒット率を低く制御することによって、図5に示すように予めデータキャッシュメモリのエントリの無効化を行えば、第1のプログラムが終了するまでに、第1のプログラムのダーティなエントリのライトバック動作を完了できる。したがって、第1のプログラムの終了したタイミング(図5の時刻t1)で、第2のプログラムのためのデータキャッシュメモリのリフィル、および第2のプログラムの実行の開始が可能になる。すなわち、発明のキャッシュ回路が用いられたシステムは、先行的にデータキャッシュメモリのエントリを無効化することで、実行するプリグラムの切り替えをより高速に行うこと可能になる。
本発明にかかるキャッシュ回路は、メインメモリの種類やプログラムの動作にかかわらず、キャッシュヒット率(命令キャッシュヒット率、またはデータキャッシュヒット率)を容易に制御することができるという効果を有し、キャッシュメモリの制御を行うキャッシュ回路等として有用である。
本発明の実施形態1のキャッシュ回路の構成を示すブロック図である。 本発明の実施形態2のキャッシュ回路の構成を示すブロック図である。 本発明の実施形態3のキャッシュ回路の構成を示すブロック図である。 本発明の実施形態3の変形例に係るキャッシュ回路の構成を示すブロック図である。 新たなプログラムが起動される場合におけ動作を示すタイミングチャートである。
符号の説明
100 キャッシュ回路
101 命令キャッシュ制御回路
102 命令キャッシュヒットカウンタ
103 命令メモリアクセスカウンタ
104 命令キャッシュヒット率算出/エントリ無効化制御回路
200 キャッシュ回路
201 データキャッシュ制御回路
202 データキャッシュヒットカウンタ
203 データメモリアクセスカウンタ
204 データキャッシュヒット率算出/エントリ無効化制御回路
205 アドレス記憶回路
300 キャッシュ回路
314 命令キャッシュヒット率算出/エントリ無効化制御回路
324 データキャッシュヒット率算出/エントリ無効化制御回路
400 CPU
500 CPU
600 CPU
701 プログラム暴走検出回路

Claims (11)

  1. バスに接続されたメインメモリに対して情報処理装置が読み書きするデータおよび前記メインメモリから読み込む命令コードの少なくとも一方が保持されるキャッシュメモリと、
    前記情報処理装置によってデータまたは命令コードに対する読み込み要求がなされた際に、キャッシュヒットの場合には、前記キャッシュメモリからデータまたは命令コードを読み込んで前記情報処理装置に出力する一方、キャッシュミスの場合には、前記メインメモリからデータまたは命令コードを読み込んで前記キャッシュメモリに保持させるとともに前記情報処理装置に出力し、情報処理装置によってデータの書き込み要求がなされた際には、前記キャッシュメモリにデータを書き込むキャッシュ制御回路と、
    キャッシュヒットの回数が所定の回数を超えた場合に、前記キャッシュメモリに保持されたデータまたは命令コードを無効化するキャッシュメモリ無効化回路と、
    を備えたことを特徴とするキャッシュ回路。
  2. 請求項のキャッシュ回路であって、
    さらに、キャッシュヒットの回数をカウントするヒット数カウント回路を備え、
    前記キャッシュメモリ無効化回路は、前記ヒット数カウント回路のカウント数が所定の回数を超えた場合に、前記キャッシュメモリのデータまたは命令コードを無効化するように構成されていることを特徴とするキャッシュ回路。
  3. 請求項のキャッシュ回路であって、
    前記キャッシュメモリ、キャッシュ制御回路、およびキャッシュメモリ無効化回路は、それぞれデータ用と命令コード用との少なくとも2つずつ設けられ、
    データ用キャッシュメモリ無効化回路は、データ用キャッシュメモリについてのキャッシュヒット回数が所定の回数を超え、かつ命令コード用キャッシュメモリについてのキャッシュヒットの回数が所定の回数を超えた場合に、前記データ用キャッシュメモリのデータを無効化するように構成されていることを特徴とするキャッシュ回路。
  4. 請求項のキャッシュ回路であって、
    前記キャッシュメモリ、キャッシュ制御回路、およびキャッシュメモリ無効化回路は、それぞれデータ用と命令コード用との少なくとも2つずつ設けられ、
    命令コード用キャッシュメモリ無効化回路は、命令コード用キャッシュメモリについてのキャッシュヒットの回数が所定の回数を超え、かつデータ用キャッシュメモリについてのキャッシュヒット回数が所定の回数を超えた場合に、前記命令コード用キャッシュメモリの命令コードを無効化するように構成されていることを特徴とするキャッシュ回路。
  5. バスに接続されたメインメモリに対して情報処理装置が読み書きするデータおよび前記メインメモリから読み込む命令コードの少なくとも一方が保持されるキャッシュメモリと、
    前記情報処理装置によってデータまたは命令コードに対する読み込み要求がなされた際に、キャッシュヒットの場合には、前記キャッシュメモリからデータまたは命令コードを読み込んで前記情報処理装置に出力する一方、キャッシュミスの場合には、前記メインメモリからデータまたは命令コードを読み込んで前記キャッシュメモリに保持させるとともに前記情報処理装置に出力し、情報処理装置によってデータの書き込み要求がなされた際には、前記キャッシュメモリにデータを書き込むキャッシュ制御回路と、
    読み書きの要求がなされた回数に対するキャッシュヒットの回数の割合であるキャッシュヒット率が所定の値を超えた場合に、前記キャッシュメモリに保持されたデータまたは命令コードを無効化するキャッシュメモリ無効化回路と、
    を備えたことを特徴とするキャッシュ回路。
  6. 請求項のキャッシュ回路であって、
    さらに、前記キャッシュメモリで保持されるデータまたは命令コードに対して、前記情報処理装置によって読み書きの要求がなされた回数をカウントするアクセス回数カウント回路と、
    上記読み書きの要求に対するキャッシュヒットの回数をカウントするヒット数カウント回路と、
    前記アクセス回数カウント回路がカウントした回数に対する前記ヒット数カウント回路がカウントしたキャッシュヒットの回数の割合を算出するヒット率算出回路と、
    を備えていることを特徴とするキャッシュ回路。
  7. 請求項のキャッシュ回路であって、
    前記ヒット率算出回路は、前記アクセス回数カウント回路がカウントした回数が所定の回数を超えた場合に、前記キャッシュヒット率を算出するとともに、前記アクセス回数カウント回路とヒット数カウント回路とをリセットするように構成されていることを特徴とするキャッシュ回路。
  8. 請求項のキャッシュ回路であって、
    前記キャッシュメモリ、キャッシュ制御回路、およびキャッシュメモリ無効化回路は、それぞれデータ用と命令コード用との少なくとも2つずつ設けられ、
    データ用キャッシュメモリ無効化回路は、データ用キャッシュメモリについてのキャッシュヒット率が所定の値を超え、かつ命令コード用キャッシュメモリについてのキャッシュヒット率が所定の値を超えた場合に、前記データ用キャッシュメモリのデータを無効化するように構成されていることを特徴とするキャッシュ回路。
  9. 請求項5のキャッシュ回路であって、
    前記キャッシュメモリ、キャッシュ制御回路、およびキャッシュメモリ無効化回路は、それぞれデータ用と命令コード用との少なくとも2つずつ設けられ、
    命令コード用キャッシュメモリ無効化回路は、命令コード用キャッシュメモリについてのキャッシュヒット率が所定の値を超え、かつデータ用キャッシュメモリについてのキャッシュヒット率が所定の値を超えた場合に、前記命令コード用キャッシュメモリの命令コードを無効化するように構成されていることを特徴とするキャッシュ回路。
  10. 請求項1又は請求項5のキャッシュ回路であって、
    前記キャッシュメモリは、少なくともデータが保持されるように構成され、
    前記キャッシュメモリ無効化回路は、前記キャッシュメモリに保持されたデータまたは命令コードを無効化する際に、前記キャッシュメモリに保持されているデータとメインメモリに保持されているデータとが一致していない場合には、前記キャッシュメモリに保持されているデータを前記メインメモリに書き戻すように構成されていることを特徴とするキャッシュ回路。
  11. 請求項1又は請求項5のキャッシュ回路であって、
    前記キャッシュメモリ無効化回路は、前記キャッシュメモリに保持されたデータまたは命令コードが、メインメモリの所定のアドレス範囲と対応するデータまたは命令コードである場合に、前記キャッシュメモリに保持されたデータまたは命令コードを無効化するように構成されていることを特徴とするキャッシュ回路。
JP2005303934A 2005-02-21 2005-10-19 キャッシュ回路 Expired - Fee Related JP4189402B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005303934A JP4189402B2 (ja) 2005-02-21 2005-10-19 キャッシュ回路
US11/329,027 US7899992B2 (en) 2005-02-21 2006-01-11 Cache circuit and control circuits of a cache memory

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005043391 2005-02-21
JP2005303934A JP4189402B2 (ja) 2005-02-21 2005-10-19 キャッシュ回路

Publications (2)

Publication Number Publication Date
JP2006260525A JP2006260525A (ja) 2006-09-28
JP4189402B2 true JP4189402B2 (ja) 2008-12-03

Family

ID=36914202

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005303934A Expired - Fee Related JP4189402B2 (ja) 2005-02-21 2005-10-19 キャッシュ回路

Country Status (2)

Country Link
US (1) US7899992B2 (ja)
JP (1) JP4189402B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010116735A1 (ja) * 2009-04-10 2010-10-14 パナソニック株式会社 キャッシュメモリ装置、キャッシュメモリ制御方法、プログラムおよび集積回路

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011248515A (ja) * 2010-05-25 2011-12-08 Panasonic Corp キャッシュコントローラ及びその制御方法
JP5484281B2 (ja) * 2010-09-21 2014-05-07 三菱電機株式会社 情報処理システム
JP5725169B2 (ja) * 2011-04-26 2015-05-27 富士通株式会社 システム、および検出方法
JP5793061B2 (ja) * 2011-11-02 2015-10-14 ルネサスエレクトロニクス株式会社 キャッシュメモリ装置、キャッシュ制御方法、およびマイクロプロセッサシステム
CN104714898B (zh) * 2013-12-16 2018-08-21 深圳市国微电子有限公司 一种Cache的分配方法和装置
CN105095116B (zh) * 2014-05-19 2017-12-12 华为技术有限公司 缓存替换的方法、缓存控制器和处理器
JP5896066B2 (ja) * 2015-04-02 2016-03-30 富士通株式会社 プロセッサシステム、および制御プログラム
CN109491873B (zh) * 2018-11-05 2022-08-02 阿里巴巴(中国)有限公司 缓存监控方法、介质、装置和计算设备
US11024382B2 (en) 2019-08-29 2021-06-01 Micron Technology, Inc. Fully associative cache management

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60101655A (ja) 1983-11-07 1985-06-05 Fujitsu Ltd キヤツシユ・メモリの管理方法
JPS60196860A (ja) 1984-03-21 1985-10-05 Hitachi Ltd キヤツシユメモリ制御方式
GB8728494D0 (en) * 1987-12-05 1988-01-13 Int Computers Ltd Multi-cache data storage system
EP0343567A3 (en) * 1988-05-25 1991-01-09 Hitachi, Ltd. Multi-processing system and cache apparatus for use in the same
JPH02259845A (ja) 1989-03-30 1990-10-22 Nec Corp プロセッサ
JPH06100983B2 (ja) 1989-05-16 1994-12-12 日本電気株式会社 データ処理装置
US5724548A (en) * 1990-09-18 1998-03-03 Fujitsu Limited System including processor and cache memory and method of controlling the cache memory
JPH04282735A (ja) 1991-03-12 1992-10-07 Nec Corp ディスクキャッシュシステム
JPH0535594A (ja) 1991-07-26 1993-02-12 Nec Corp キヤツシユメモリ装置
JP2636107B2 (ja) 1991-12-12 1997-07-30 工業技術院長 デバッグ支援装置
JPH05189307A (ja) 1992-01-16 1993-07-30 Fujitsu Ltd 計算機システム
JP3194201B2 (ja) 1992-02-24 2001-07-30 株式会社日立製作所 キャッシュモード選択方法
US5499354A (en) * 1993-05-19 1996-03-12 International Business Machines Corporation Method and means for dynamic cache management by variable space and time binding and rebinding of cache extents to DASD cylinders
US5640531A (en) * 1993-06-22 1997-06-17 Unisys Corporation Enhanced computer operational system using auxiliary mini-cache for enhancement to general cache
US5537609A (en) * 1993-06-22 1996-07-16 Unisys Corporation Mini cache operational module for enhancement to general cache
US5740400A (en) * 1995-06-05 1998-04-14 Advanced Micro Devices Inc. Reducing cache snooping overhead in a multilevel cache system with multiple bus masters and a shared level two cache by using an inclusion field
KR19990017082A (ko) * 1997-08-21 1999-03-15 유기범 직병렬 선택 캐쉬 장치
US6678792B2 (en) * 2001-06-22 2004-01-13 Koninklijke Philips Electronics N.V. Fast and accurate cache way selection
US6981112B2 (en) * 2002-08-26 2005-12-27 International Business Machines Corporation Dynamic cache disable

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010116735A1 (ja) * 2009-04-10 2010-10-14 パナソニック株式会社 キャッシュメモリ装置、キャッシュメモリ制御方法、プログラムおよび集積回路

Also Published As

Publication number Publication date
US20060190686A1 (en) 2006-08-24
US7899992B2 (en) 2011-03-01
JP2006260525A (ja) 2006-09-28

Similar Documents

Publication Publication Date Title
JP4189402B2 (ja) キャッシュ回路
US9280474B2 (en) Adaptive data prefetching
JP4802284B2 (ja) 半導体記憶装置及びその制御方法
CA2983479A1 (en) Method for accessing extended memory, device, and system
JPH1055307A (ja) コンピュータ・システム
JP2009211153A (ja) メモリ装置、情報処理装置及び電力制御方法
JP4519151B2 (ja) キャッシュ制御回路
US10719247B2 (en) Information processing device, information processing method, estimation device, estimation method, and computer program product
JP2018536230A (ja) キャッシュへのアクセス
CN105612505A (zh) Cpu调度的方法和装置
JP6877381B2 (ja) 情報処理装置、情報処理方法およびプログラム
JP6873942B2 (ja) 推定装置、推定方法およびプログラム
US11709599B2 (en) Memory controller and memory system
TW201216060A (en) Processor independent loop entry cache
CN115827507A (zh) 数据预取的方法、装置、电子设备及存储介质
JPWO2007099582A1 (ja) プリフェッチ制御装置
JP6477352B2 (ja) 演算処理装置、演算処理装置の制御方法および演算処理装置の制御プログラム
US10120819B2 (en) System and method for cache memory line fill using interrupt indication
JP5116275B2 (ja) 演算処理装置、情報処理装置及び演算処理装置の制御方法
JP2007172519A (ja) 情報処理装置、ソフトウェアモジュールのリンク管理方法及びプログラム
US11994993B2 (en) Adaptive prefetcher for shared system cache
KR101831126B1 (ko) 스토리지 내의 데이터 처리 장치의 제어 방법
JP3956698B2 (ja) メモリ制御装置
JP4837144B2 (ja) 半導体記憶装置及びその制御方法
JP2013097637A (ja) キャッシュ装置、メモリシステム及びデータ転送方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080324

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080624

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080807

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080819

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080912

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110919

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees