JP4374956B2 - キャッシュメモリ制御装置およびキャッシュメモリ制御方法 - Google Patents
キャッシュメモリ制御装置およびキャッシュメモリ制御方法 Download PDFInfo
- Publication number
- JP4374956B2 JP4374956B2 JP2003316884A JP2003316884A JP4374956B2 JP 4374956 B2 JP4374956 B2 JP 4374956B2 JP 2003316884 A JP2003316884 A JP 2003316884A JP 2003316884 A JP2003316884 A JP 2003316884A JP 4374956 B2 JP4374956 B2 JP 4374956B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- read
- cache
- cache memory
- 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
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
キャッシュメモリは、プロセッサによって高速にデータを読み出すことが可能な記憶素子によって構成されている。そして、キャッシュメモリは、メモリデバイスに記憶されているデータ(以下、適宜「メモリデバイスデータ」と言う。)の一部を記憶しておき、プロセッサがメモリデバイスからデータの読み出しを行う場合に、そのデータがキャッシュメモリに記憶されているものであれば、キャッシュメモリから読み出すことによって、データを高速に読み出すことを可能としている。
セット・アソシアティブ方式とは、キャッシュメモリを複数の領域(ウェイ)に分割し、それぞれのウェイに、メモリデバイス上の異なるアドレスのデータを格納しておくことにより、ヒット率を向上させることができる方式である。
図12において、キャッシュメモリ100は、タグ・テーブル110と、データ・メモリ120と、ヒット検出部130と、マルチプレクサ(MUX)140とを含んで構成される。なお、キャッシュメモリ100においては、その記憶領域内に、複数N個の要素を記憶することが可能であり、これらの要素それぞれは“エントリ”と称される。また、キャッシュメモリ100は、2ウェイのセット・アソシアティブ方式であり、各エントリには、それぞれ2つのメモリデバイスデータ(ウェイAおよびウェイBのデータ)が格納されている。
ヒット検出部130は、プロセッサからの読み出し命令に対し、キャッシュメモリ100に記憶されているメモリデバイスデータがヒットしたか否かを検出する。具体的には、タグ・テーブル110に記憶されたアドレス情報それぞれを参照し、プロセッサからの読み出し命令に示されたアドレスに対応するアドレス情報が検出されると、キャッシュがヒットしたものと判定する。そして、ヒット検出部130は、ヒットしたウェイを示す情報をMUX140に出力する。
このようなセット・アソシアティブ方式においては、プロセッサからエントリ・アドレス(キャッシュメモリ内に記憶されているいずれかのエントリを選択するアドレス)が入力された場合、キャッシュメモリ100の複数のウェイそれぞれについて、タグ・テーブル110およびデータ・メモリ120にアクセスを行い、データがヒットしたか否かが検出される。
ここで、上述のようなキャッシュメモリ100を含め、従来のキャッシュメモリにおける問題を解決するために、種々の提案がなされている。
特開平11−39216号公報には、複数のウェイを有するセット・アソシアティブ方式のキャッシュメモリにおいて、データ・メモリの出力が確定するまでの遅延を低減するために、メモリデバイスをインターリーブしてアクセスする方法が開示されている。
即ち、上述の公報に記載された技術においては、キャッシュメモリ内の不要な部分に対するアクセスが増加することにより、消費電力の増加、あるいは、処理効率の低下を招くと言う問題を解決することが困難であった。
プロセッサの読み出し対象となるデータを記憶しているメモリデバイス(例えば、発明を実施するための最良の形態中の外部メモリ)から、記憶されているデータの少なくとも一部を複数のウェイ(例えば、発明を実施するための最良の形態中のウェイA,B)含むキャッシュメモリにキャッシュしておき、キャッシュされたデータをプロセッサに供給可能なキャッシュメモリ制御装置であって、プロセッサが読み出している読み出し中データの後に読み出されると予想される予定データが、前記キャッシュメモリのいずれかのウェイにキャッシュされているか否かを判定するキャッシュ判定手段(例えば、図1のアクセス管理部10およびタグ・テーブル30)と、前記キャッシュ判定手段によって、前記予定データがいずれかのウェイにキャッシュされていると判定された場合に、前記複数のウェイのうち、該予定データが記憶されているウェイにアクセスし、該予定データを読み出して記憶する先読みキャッシュ手段(例えば、図1のアクセス管理部10および先読みキャッシュ部20)とを含み、前記先読みキャッシュ手段は、前記読み出し中データの後に前記予定データが読み出された場合に、記憶している予定データをプロセッサに出力することを特徴としている。
したがって、読み出し中データの次に読み出されると予想されるデータのみについて、キャッシュされているか否かおよび先読みキャッシュ手段への記憶等の処理を行えばよいため、処理効率を向上させることができる。
このような構成により、複数のワードそれぞれについて、プロセッサが読み出し命令を行う必要がなく、一つの読み出し命令でブロック全体を読み出すことができるため、消費電力を低減することができると共に、処理効率を向上させることが可能となる。
一般に、予定データは、読み出し中データのより後のワードがプロセッサに読み出されているタイミングで予想する方が、的中する確率が高くなるものである。
また、前記キャッシュ判定手段は、前記読み出し中データを構成する複数のワードのうち、プロセッサが末尾のワードに先行するワードの読み出しを指示することに対応して、前記予定データがキャッシュされているか否かを判定することを特徴としている。
また、前記先読みキャッシュ手段は、前記キャッシュ判定手段によって、前記予定データがいずれかのウェイにキャッシュされていると判定された場合に、前記読み出し中データを構成する複数のワードのうち、プロセッサが末尾のワードの読み出しを指示することに対応して、該予定データが記憶されているウェイにアクセスし、該予定データを読み出すことを特徴としている。
このような構成により、不要な部分の消費電力を低減することができ、キャッシュメモリ制御装置の消費電力をさらに低減することが可能となる。
このような構成により、不要な部分に対するクロック信号を供給することにより発生する不要な消費電力を低減することができる。
このような構成により、セット・アソシアティブ方式のキャッシュメモリにおいて、エントリに含まれる各ウェイのアドレス記憶手段(タグ・テーブル)およびデータ記憶手段(データ・メモリ)に不必要にアクセスすることによって発生する消費電力を大幅に低減できると共に、処理効率を向上させることが可能となる。
このような構成により、予定データがキャッシュされていない場合に、メモリデバイスから予定データを読み出す処理をより早く行うことができるため、ウェイトサイクルの発生を防止することあるいは発生するウェイトサイクルを低減することが可能となる。
プロセッサの読み出し対象となるデータを記憶しているメモリデバイスから、記憶されているデータの少なくとも一部を複数のウェイを含むキャッシュメモリにキャッシュしておき、キャッシュされたデータをプロセッサに供給するためのキャッシュメモリ制御方法であって、プロセッサが読み出している読み出し中データの後に読み出されると予想される予定データが、前記キャッシュメモリのいずれかのウェイにキャッシュされているか否かを判定するキャッシュ判定ステップと、前記キャッシュ判定ステップにおいて、前記予定データがいずれかのウェイにキャッシュされていると判定された場合に、前記複数のウェイのうち、該予定データが記憶されているウェイにアクセスし、該予定データを読み出して記憶する先読みキャッシュステップと、プロセッサによって、前記読み出し中データの後に前記予定データが読み出された場合に、前記先読みキャッシュステップにおいて記憶された予定データをプロセッサに出力する出力ステップとを含むことを特徴としている。
まず、構成を説明する。
図1は、本発明を適用したキャッシュメモリ制御装置1の構成を示す図である。
図1において、キャッシュメモリ制御装置1は、アクセス管理部10と、先読みキャッシュ部20と、タグ・テーブル30と、データ・メモリ40と、ヒット検出部50と、MUX60とを含んで構成される。
以下、図1に基づいて、キャッシュメモリ制御装置1の構成を説明し、適宜、図2を参照することとする。なお、ここでは、キャッシュメモリ制御装置1が、2ウェイ(ウェイA,B)のセット・アソシアティブ方式である場合を想定している。
例えば、アクセス管理部10は、プロセッサから入力された読み出し命令に基づいて、読み出し命令に示されたアドレスのデータが先読みキャッシュ部20に記憶されている場合には、そのアドレスに対応するデータをプロセッサに対して出力させると共に、引き続き読み出されるデータを予想し、予想したデータを先読みキャッシュ部20のプロセッサ先読みバッファ22に記憶させる。
先読みキャッシュ部20は、プロセッサから入力された読み出し命令を受け取り、読み出し命令に示されたアドレスをアクセス管理部10に出力する。また、先読みキャッシュ部20は、アクセス管理部10の指示に従って、プロセッサによって読み出されると予想されたデータを、データ・メモリ40あるいは外部メモリから予め読み出して記憶し、プロセッサから実際に読み出された場合に、そのデータをプロセッサに出力する。
アドレス制御部21は、プロセッサから入力された読み出し命令から、読み出し対象となっているデータのアドレスを取得し、アクセス管理部10に出力する。また、アドレス制御部21は、データ・メモリ40にキャッシュされているデータを読み出す際に、タグ・テーブル30およびデータ・メモリ40に読み出し対象のアドレスを出力したり、データ・メモリ40にキャッシュされていないデータを外部メモリから読み出す際に、読み出し対象のアドレスを外部メモリに出力したりする。
そのため、不要なウェイへのアクセス回数を低減することができ、消費電力を低減することができると共に、処理効率の向上を実現することができる。
外部メモリ先読みバッファ23は、外部メモリから読み出されたデータを受け取り、プロセッサに出力するデータとして記憶する。また、外部メモリ先読みバッファ23に記憶されたデータは、キャッシュメモリ制御装置1において処理が行われないクロックタイミングにデータ・メモリ40に格納される。
次に、動作を説明する。
まず、キャッシュメモリ制御装置1の基本的な動作について説明する。
キャッシュメモリ制御装置1の基本的な動作においては、読み出し対象であるメモリデバイスデータの最後のワードのアドレスがプロセッサから出力されるタイミングで、タグ・テーブル30を参照し、引き続き読み出されると予想されるデータ(以下、「予定データ」と言う。)がキャッシュにヒットするか否かを検出(先読み)する。したがって、実際に読み出される可能性の高いデータについて、キャッシュを先読みすることができるため、先読みキャッシュ部20におけるデータのヒット率を向上させることができる。
図3において、キャッシュメモリ制御装置1は、状態S1〜S4を遷移し、それぞれの状態間を遷移するための遷移条件C1〜C12が定められている。
状態S1(ST-PRC-NORMAL)においては、予定データが、プロセッサ先読みバッファ22に記憶されている場合(先読みキャッシュにヒットしている場合)に、そのデータをブロック単位でプロセッサに出力する。
さらに、状態S1においては、外部メモリから読み込まれているデータのブロックのうち、末尾のワードの読み出しが完了するまでは、キャッシュのリード(データ・メモリ40の読み出し)を行わない。
状態S3(ST-CACHE-HIT-TEST)においては、タグ・テーブル30とデータ・メモリ40にアクセスし、予定データのアドレスがタグ・テーブル30のアドレスと一致するか否かを検出する。そして、状態S3においては、予定データのアドレスと一致したアドレスに対応するデータをデータ・メモリ40から読み出す。
遷移条件C2(CND-PRA-END)は、状態S2において、ウェイトサイクルが発生しなければ、次のサイクルで状態S1に戻ることを意味している。
遷移条件C4(CND-CHT-CNT)は、状態S3を継続するための条件である。即ち、先読みキャッシュ部20に予定データが記憶されていないため、タグ・テーブル30およびデータ・メモリ40にアクセスしてキャッシュヒットを確認し続けるための条件である。なお、分岐命令について、分岐先のアドレスがブロックの末尾であり、かつ状態S3である場合には、次のサイクルでブロックの先頭のワードにアクセスすることから、連続して先読みキャッシュにヒットしない場合に、先読みキャッシュのミスヒットと判定される。
遷移条件C7(CND-EMA-START)は、状態S3において、キャッシュにヒットしない場合(データ・メモリ40に読み込み対象であるデータが記憶されていない場合)を意味している。
遷移条件C9(CND-PRA-CHT)は、状態S2において、先読みキャッシュにヒットしない場合を意味している。
遷移条件C10(CND-NORM-CNT)は、状態S1において、先読みキャッシュにヒットしている場合あるいは外部メモリにアクセスしている場合を意味している。
遷移条件C12(CND-EMA-END)は、状態S4において、外部メモリへのアクセスが終了した場合を意味している。
次に、外部メモリを読み出すためのステートマシン“sm-exmem-access”について説明する。
図4において、キャッシュメモリ制御装置1は、状態T1〜T6を遷移する。
状態T1(ST-WAIT)においては、外部メモリへのアクセスを停止している。状態T1においては、所定のタイミングで、状態T2に移行する。
状態T3(ST-EXMEM-READ-1W-E-2W-S)においては、読み出し対象であるデータの第2番目のワードを外部メモリから読み出し、読み出す処理が終了すると、状態T4に移行する。
状態T5(ST-EXMEM-READ-3W-E-4W-S)においては、読み出し対象であるデータの第4番目のワードを外部メモリから読み出し、読み出す処理が終了すると、状態T6に移行する。
図3および図4に示すように各状態を遷移する結果、キャッシュメモリ制御装置1は、プロセッサによって読み出されるデータに応じて、具体的に以下のような動作を行う。
まず、プロセッサによって読み出されるデータが、連続して先読みキャッシュにヒットする場合の例について説明する。
図5においては、プロセッサによって、連続するアドレスのデータ(アドレス“A00〜A0C”、“A10〜A1C”および“A20〜A2C”のデータ)が読み出される場合を示している。なお、以下、アドレス“A00〜A0C”、“A10〜A1C”および“A20〜A2C”によって示されるデータをそれぞれ第1〜第3のデータと称する。
すると、次のクロックタイミング(サイクル “5”)において、タグ・テーブル30の各ウェイに記憶されたアドレスが出力されると共に、それらのアドレスと第2のデータのアドレスとが一致するか否かが判定され、ここでは一致していることから、キャッシュにヒットしたことが検出される(CACHE-HIT=1)。また、このとき、第2のデータのアドレスが、データ・メモリ40の第2のデータが記憶されている方のウェイ(ここでは、図5中に実線で示されているウェイAであるものとし、第2のデータが記憶されていないウェイBについては点線で示す。以下、同様である。)に入力される(WAYA-DATA-ADRS,WAYB-DATA-ADRS)。
また、キャッシュメモリ制御装置1においては、メモリデバイスデータをブロック単位で読み出すことができるため、データ“D10”を読み出すことにより、同じブロックの他のデータ(データ“D14”〜“D1C”)もまとめて読み出され、プロセッサ先読みバッファ22に記憶される。その結果、データ“D10”に引き続く3ワードは、それぞれを読み出すためにタグ・テーブル30およびデータ・メモリ40にアクセスすることなく、データ“D10”に連続して、プロセッサ先読みバッファ22からプロセッサに出力されることとなる。
次に、プロセッサによって読み出されるデータが、先読みキャッシュにヒットしない場合の例について説明する。
図6は、プロセッサによって読み出されるデータが、先読みキャッシュにヒットしない場合の動作例を示すタイミングチャートである。なお、図6におけるデータ名や信号名等は、図5における場合と同様である。
そして、サイクル“7”において、分岐先であるアドレス“A44”のデータは、プロセッサ先読みバッファ22に記憶されていないことから、先読みキャッシュにヒットしないことが検出される(PRC-HIT=0)。このとき、キャッシュメモリ制御装置1は、ノーウェイトでデータの供給を行うため、次のサイクルでアドレス“A44”に対応するメモリデバイスデータ“D44”を出力するべく、タグ・テーブル30およびデータ・メモリ40の各ウェイに、アドレス“A44”のワードを含むブロック(以下、「分岐先データ」と言う。)のアドレスを出力する。
ここで、分岐先であるアドレス“A44”は、ブロックの第2番目のワードであることから、キャッシュメモリ制御装置1においては、そのブロックの第2番目から第4番目のワード(アドレス“A44〜”A4C“のワード)がまとめて読み出され、プロセッサ先読みバッファ22に記憶される。
次に、プロセッサによって読み出されるデータが、先読みキャッシュにもキャッシュにもヒットしない場合の例について説明する。
図7は、プロセッサによって読み出されるデータが、先読みキャッシュにもキャッシュにもヒットしない場合の動作例を示すタイミングチャートである。なお、図7におけるデータ名や信号名等は、図5における場合と同様である。
そして、サイクル“8”において、タグ・テーブル30から、各ウェイに記憶されたアドレス(WAYA-TAG-DATA,WAYB-TAG-DATA)が出力されると共に、データ・メモリ40から、各ウェイのデータ(WAYA-TAG-DATA,WAYB-TAG-DATA)が出力される。このとき、タグ・テーブル30の各ウェイに記憶されたアドレスと、分岐先データのアドレスとが一致しないことから、キャッシュにヒットしないことが検出される(CACHE-HIT=0)。
なお、キャッシュメモリ制御装置1は、外部メモリから取り込んだ分岐先データを外部メモリ先読みバッファ23に順次記憶する。このとき、外部メモリからデータを取り込むためには、キャッシュの場合と異なり、1ワードにつき2サイクルを要している(データ“D44〜D48”)。そして、キャッシュメモリ制御装置1は、分岐先データを外部メモリ先読みバッファ23に記憶した後には、図5における処理と同様に、引き続くデータを先読みし、同様にプロセッサに出力する。また、外部メモリ先読みバッファ23に記憶された分岐先データは、データ・メモリ40へのアクセスが行われていないタイミングで、データ・メモリ40にキャッシュされる。さらに、外部メモリ先読みバッファ23に外部メモリから取り込んだデータが記憶されている状態で、そのデータに対する読み出し命令がプロセッサから入力された場合、外部メモリ先読みバッファ23に記憶されたデータが、プロセッサに出力される。
図8は、プロセッサによって読み出されるデータが、連続するアドレスのデータであるにもかからず、キャッシュにヒットしない場合の動作例を示すタイミングチャートである。なお、図8におけるデータ名や信号名等は、図5における場合と同様である。
そして、外部メモリへのアクセスを行ってから3サイクルの後(サイクル“8”)、外部メモリから予定データの各ワードが順次取り込まれる。
この結果、従来のように、プロセッサから読み出し対象となるデータのアドレスが入力されてから、キャッシュにヒットするか否かを検出する場合に比べ、1サイクル早いタイミングで外部メモリのデータを取り込むことが可能となる。つまり、従来の方法では、プロセッサから読み出し命令が入力されてから、プロセッサにデータが出力されるまで4サイクルを要していたが、図8においては、3サイクルに短縮されている。
図9は、先行先読み処理の動作を示す状態遷移図である。
図9において、キャッシュメモリ制御装置1は、状態P1〜P4および状態P5,6を遷移し、それぞれの状態間を遷移するための遷移条件G1〜G14が定められている。
状態P5(ST-PREREAD-IDLE)は、タイミングを遅らせるためのアイドル状態である。即ち、ブロックの先頭のワードのアドレスがプロセッサから入力されるタイミングで先読みを行う場合、読み出し対象となるデータをプロセッサ先読みバッファ22に取り込むタイミングが早すぎてしまう“ずれ”を解消するために、一定サイクルのアイドル状態が挿入されるものである。
遷移条件 G1(CND-PRA-F-START)は、状態P1において、読み込み対象であるデータの先頭のワード(16進数で表されたアドレスの末尾が“0”のワード)のアドレスが、プロセッサから入力されることを意味している。
遷移条件G14(CND-PRA-READ-END)は、データ・メモリ40からプロセッサ先読みバッファ22へのデータの転送が終了することを意味している。
以上のように、本実施の形態に係るキャッシュメモリ制御装置1は、読み出し対象であるデータがプロセッサから読み出されている際に、引き続いて読み出されると予想されるデータがキャッシュされているか否か(データ・メモリ40に記憶されているか否か)を検出する。そして、引き続いて読み出されると予想されるデータがキャッシュに記憶されている場合、そのデータを先読みキャッシュ部20に記憶し、引き続いて読み出されると予想されるデータがキャッシュに記憶されていない場合、そのデータを外部メモリから読み出し、先読みキャッシュ部20に記憶する。その後、引き続くサイクルでプロセッサから実際に読み出されたデータのアドレスが、先読みキャッシュ部20に記憶されたデータのアドレスと一致する場合、そのデータを先読みキャッシュ部20からプロセッサに出力する。なお、引き続くサイクルでプロセッサから実際に読み出されたデータのアドレスが、先読みキャッシュ部20に記憶されたデータのアドレスと一致しない場合には、その時点で外部メモリにアクセスする。
したがって、キャッシュメモリ制御装置1内の不要な部分に対するアクセスを防ぐことができ、消費電力の低減、および、処理効率の向上を実現することが可能となる。
したがって、引き続くサイクルで読み出される確率の高いデータを先読みキャッシュ部20に記憶しておくことができるため、無駄なデータに対するアクセスを行う事態を低減でき、消費電力の低減を図ることができる。
この場合、より早いタイミングでキャッシュのヒットが検出されるため、キャッシュにヒットしない場合に、外部メモリから読み出し対象であるデータを読み込む処理をより早く行うことができ、ウェイトサイクルの発生を防止すること、あるいは、ウェイトサイクルの回数を低減することが可能となる。
図10は、キャッシュメモリ制御装置1がクロックゲーティング機能を備える場合の構成を示す図である。
図10において、キャッシュメモリ制御装置1は、図1に示す構成に加え、消費電力制御部70を含んで構成される。
図11は、消費電力制御部70の構成を示す図である。
図11において、消費電力制御部70は、複数n個のメモリそれぞれに対応するクロックゲーティング素子(以下、「CG素子」と言う。)71−1〜71−nを含んで構成される。
Claims (12)
- プロセッサの読み出し対象となるデータを記憶しているメモリデバイスから、記憶されているデータの少なくとも一部を複数のウェイを含むキャッシュメモリにキャッシュしておき、キャッシュされたデータをプロセッサに供給可能なキャッシュメモリ制御装置であって、
プロセッサが読み出している読み出し中データの後に読み出されると予想される予定データが、前記キャッシュメモリのいずれかのウェイにキャッシュされているか否かを判定するキャッシュ判定手段と、
前記キャッシュ判定手段によって、前記予定データがいずれかのウェイにキャッシュされていると判定された場合に、前記複数のウェイのうち、該予定データが記憶されているウェイにアクセスし、該予定データを読み出して記憶する先読みキャッシュ手段と、
を含み、
前記先読みキャッシュ手段は、前記読み出し中データの後に前記予定データが読み出された場合に、記憶している予定データをプロセッサに出力することを特徴とするキャッシュメモリ制御装置。 - 前記キャッシュメモリは、前記複数のウェイについて、キャッシュしているデータのアドレスを格納しているアドレス記憶手段と、該アドレスそれぞれに対応するデータを記憶しているデータ記憶手段とを含み、
前記キャッシュ判定手段は、前記アドレス記憶手段のいずれかのウェイに、前記予定データのアドレスが記憶されているか否かによって、該予定データがキャッシュされているか否かを判定し、
前記先読みキャッシュ手段は、前記データ記憶手段の複数のウェイのうち、前記予定データのアドレスを記憶している前記アドレス記憶手段のウェイに対応するウェイにアクセスすることを特徴とする請求項1記載のキャッシュメモリ制御装置。 - 前記予定データは、前記読み出し中データの直後に読み出されると予想されるデータであることを特徴とする請求項1または2記載のキャッシュメモリ制御装置。
- プロセッサの読み出し対象となるデータは、複数のワードを含むブロックとして構成され、該ブロックを単位として、前記予定データがキャッシュされているか否かの判定あるいは前記予定データの読み出しを行うことを特徴とする請求項1から3のいずれか1項に記載のキャッシュメモリ制御装置。
- 前記キャッシュ判定手段は、前記読み出し中データを構成する複数のワードのうち、プロセッサが末尾のワードの読み出しを指示することに対応して、前記予定データがキャッシュされているか否かを判定することを特徴とする請求項4記載のキャッシュメモリ制御装置。
- 前記キャッシュ判定手段は、前記読み出し中データを構成する複数のワードのうち、プロセッサが末尾のワードに先行するワードの読み出しを指示することに対応して、前記予定データがキャッシュされているか否かを判定することを特徴とする請求項4記載のキャッシュメモリ制御装置。
- 前記先読みキャッシュ手段は、前記キャッシュ判定手段によって、前記予定データがいずれかのウェイにキャッシュされていると判定された場合に、前記読み出し中データを構成する複数のワードのうち、プロセッサが末尾のワードの読み出しを指示することに対応して、該予定データが記憶されているウェイにアクセスし、該予定データを読み出すことを特徴とする請求項6記載のキャッシュメモリ制御装置。
- 前記キャッシュメモリにおける複数のウェイのうち、データの読み出しに関係しないウェイを低消費電力で動作させる低消費電力化手段をさらに含むことを特徴とする請求項1から7のいずれか1項に記載のキャッシュメモリ制御装置。
- 前記低消費電力化手段は、データの読み出しに関係しないウェイに対し、クロック信号を供給しないように制御するクロックゲーティング機能を備えることを特徴とする請求項8記載のキャッシュメモリ制御装置。
- 前記キャッシュメモリは、セット・アソシアティブ方式のキャッシュメモリであることを特徴とする請求項1から9のいずれか1項に記載のキャッシュメモリ制御装置。
- 前記先読みキャッシュ手段は、前記キャッシュ判定手段によって、前記キャッシュメモリのいずれのウェイにも前記予定データがキャッシュされていないと判定された場合、前記メモリデバイスにアクセスし、該予定データを読み出して記憶することを特徴とする請求項1から10のいずれか1項に記載のキャッシュメモリ制御装置。
- プロセッサの読み出し対象となるデータを記憶しているメモリデバイスから、記憶されているデータの少なくとも一部を複数のウェイを含むキャッシュメモリにキャッシュしておき、キャッシュされたデータをプロセッサに供給するためのキャッシュメモリ制御方法であって、
プロセッサが読み出している読み出し中データの後に読み出されると予想される予定データが、前記キャッシュメモリのいずれかのウェイにキャッシュされているか否かを判定するキャッシュ判定ステップと、
前記キャッシュ判定ステップにおいて、前記予定データがいずれかのウェイにキャッシュされていると判定された場合に、前記複数のウェイのうち、該予定データが記憶されているウェイにアクセスし、該予定データを読み出して記憶する先読みキャッシュステップと、
プロセッサによって、前記読み出し中データの後に前記予定データが読み出された場合に、前記先読みキャッシュステップにおいて記憶された予定データをプロセッサに出力する出力ステップと、
を含むことを特徴とするキャッシュメモリ制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003316884A JP4374956B2 (ja) | 2003-09-09 | 2003-09-09 | キャッシュメモリ制御装置およびキャッシュメモリ制御方法 |
US10/927,090 US20050086435A1 (en) | 2003-09-09 | 2004-08-27 | Cache memory controlling apparatus, information processing apparatus and method for control of cache memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003316884A JP4374956B2 (ja) | 2003-09-09 | 2003-09-09 | キャッシュメモリ制御装置およびキャッシュメモリ制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005084999A JP2005084999A (ja) | 2005-03-31 |
JP4374956B2 true JP4374956B2 (ja) | 2009-12-02 |
Family
ID=34416644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003316884A Expired - Fee Related JP4374956B2 (ja) | 2003-09-09 | 2003-09-09 | キャッシュメモリ制御装置およびキャッシュメモリ制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4374956B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007200213A (ja) * | 2006-01-30 | 2007-08-09 | Nec Corp | 情報処理装置、エントリ構成制御方法及びプログラム |
JP5159258B2 (ja) * | 2007-11-06 | 2013-03-06 | 株式会社東芝 | 演算処理装置 |
WO2014068694A1 (ja) | 2012-10-31 | 2014-05-08 | ルネサスエレクトロニクス株式会社 | 半導体装置及びキャッシュメモリへのデータ先読み方法 |
JP6130758B2 (ja) * | 2013-09-06 | 2017-05-17 | 株式会社東芝 | メモリ制御回路およびキャッシュメモリ |
US11138121B2 (en) * | 2017-11-20 | 2021-10-05 | Samsung Electronics Co., Ltd. | Systems and methods for efficient cacheline handling based on predictions |
-
2003
- 2003-09-09 JP JP2003316884A patent/JP4374956B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005084999A (ja) | 2005-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3512678B2 (ja) | キャッシュメモリ制御装置および計算機システム | |
JP3739491B2 (ja) | プリフェッチ命令を用いるハーバードアーキテクチャキャッシュメモリの調和したソフトウェア制御 | |
US6718454B1 (en) | Systems and methods for prefetch operations to reduce latency associated with memory access | |
JP4451717B2 (ja) | 情報処理装置および情報処理方法 | |
JP5444889B2 (ja) | 演算処理装置および演算処理装置の制御方法 | |
JPH10232827A (ja) | 先取りキャッシュ書戻しの方法と装置 | |
JP2004171177A (ja) | キャッシュシステムおよびキャッシュメモリ制御装置 | |
JP2005276199A (ja) | Dmaコントローラにキャッシュ管理コマンドを提供する方法 | |
JP2007514237A (ja) | 分岐先バッファにおいてエントリを割り当てる方法及び装置 | |
KR101049319B1 (ko) | 분기 타겟 어드레스 캐시에서 룩업들을 감소시키는 방법 및장치 | |
JP2008186233A (ja) | 命令キャッシュプリフェッチ制御方法及びその装置 | |
JP4173858B2 (ja) | 命令キャッシュ、及びメモリ競合を低減する方法 | |
JP4374956B2 (ja) | キャッシュメモリ制御装置およびキャッシュメモリ制御方法 | |
JPH1055276A (ja) | 多重レベル分岐予測方法および装置 | |
US7007137B2 (en) | Method and architecture capable of accessing data and instructions using store and forward | |
JP2001249846A (ja) | キャッシュメモリ装置及びデータ処理システム | |
JPH11232171A (ja) | 情報処理システム | |
US10776043B2 (en) | Storage circuitry request tracking | |
JP2008015668A (ja) | タスク管理装置 | |
JP2006139646A (ja) | データ転送装置およびデータ転送方法 | |
JP2006285727A (ja) | キャッシュメモリ装置 | |
JP5170050B2 (ja) | ハードウェアプロセッサおよびハードウェアプロセッサ制御方法並びに情報処理装置 | |
JP2007193433A (ja) | 情報処理装置 | |
JP2000357090A (ja) | マイクロコンピュータおよびキャッシュ制御方法 | |
JP2003044357A (ja) | キャッシュ先取り方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060327 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20070403 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090723 |
|
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: 20090818 |
|
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: 20090831 |
|
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: 20120918 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130918 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |