JP5164505B2 - キャッシュメモリ制御装置 - Google Patents

キャッシュメモリ制御装置 Download PDF

Info

Publication number
JP5164505B2
JP5164505B2 JP2007257666A JP2007257666A JP5164505B2 JP 5164505 B2 JP5164505 B2 JP 5164505B2 JP 2007257666 A JP2007257666 A JP 2007257666A JP 2007257666 A JP2007257666 A JP 2007257666A JP 5164505 B2 JP5164505 B2 JP 5164505B2
Authority
JP
Japan
Prior art keywords
cache
index
row
line
data
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
JP2007257666A
Other languages
English (en)
Other versions
JP2009087139A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2007257666A priority Critical patent/JP5164505B2/ja
Publication of JP2009087139A publication Critical patent/JP2009087139A/ja
Application granted granted Critical
Publication of JP5164505B2 publication Critical patent/JP5164505B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

この発明は、二次元データを格納するキャッシュメモリの制御を行うキャッシュメモリ制御装置に関するものである。
一般的に、二次元データは行方向順にメモリに格納される。例えば、二次元データの典型例であるフレームバッファデータは、行方向、すなわちスキャンライン方向の順番でメモリに格納されることが多い。
メモリ上に格納されたこれらのデータの一部をキャッシュに格納する際、キャッシュ制御装置はキャッシュのどのラインにデータを格納するかを決定する。ダイレクトマップ方式やセットアソシアティブ方式といった一般的なキャッシュ制御方式では、メモリアドレスの一部分のビット列をインデックス値として抜き出し、そのインデックス値と等しいライン番号をもつキャッシュラインにデータを格納している。
二次元データは、キャッシュラインに格納できるデータ量(キャッシュライン容量)の単位に分割されキャッシュに格納される。分割されたデータの先頭アドレスからインデックス値が決まり、そのインデックス値から格納するキャッシュラインが決まる。
二次元データ1行分のデータを格納するのに必要なキャッシュラインの総数がキャッシュラインの個数の倍数である場合、分割されたデータそれぞれに割り振られるインデックス値の順番が各行で同じになる(後述する図4参照)。よって、列が同じデータには同じインデックス値が割り振られ、列方向(縦方向)に連続するデータアクセスを行えば、同じキャッシュラインに格納されるデータを連続してアクセスすることになる。特定のキャッシュラインに対するアクセスに偏りがあると、キャッシュの競合状態が発生し、キャッシュ性能が低下してしまう。
従来、このようなキャッシュラインに対するアクセスに偏りがあるかを判定するカウンタを設け、それを元にインデックス変換テーブルを構築するようにしたものがあった(例えば、特許文献1参照)。
特開2000−181793号公報
しかしながら、従来のキャッシュメモリ制御装置では、二次元データに対しても一次元データと同様の方式でキャッシュ格納ラインの決定を行っていたため、キャッシュの競合が発生してキャッシュ利用効率が低下する可能性があるという問題点があった。
例えば、二次元データの場合、
●二次元データは縦横どちらの方向にも関連するデータが並ぶことが多い
●行方向(横方向)の幅が固定されている
●二次元データは一次元的に並べて格納する
といったことから、列方向(縦方向)に連続するデータアクセスのように、一定間隔で飛び飛びになったデータアクセスを行うことが一次元データより発生しやすい。このような列方向(縦方向)に連続するデータアクセスとしては、フレームバッファに縦線を一本書き込むといった処理や行列データの縦データへの連続アクセスといったものがある。従って、このようなデータアクセスに対して一次元データと同様の方式を適用しても、必ずしもキャッシュ利用効率を向上させることができるとは限らなかった。
この発明は上記のような問題点を解決するためになされたもので、二次元データに最適なキャッシュ格納ラインの決定を行うことのできるキャッシュ制御装置の実現を目的とする。
この発明に係るキャッシュメモリ制御装置は、二次元データのメモリアドレスによって指定されるインデックスを、前記メモリアドレスから抽出される前記二次元データの行に応じて異なるインデックスに変換するインデックス変換手段と、
前記二次元データ1行分のデータを格納するのに必要なキャッシュラインの総数が、当該キャッシュラインの個数の倍数であった場合、前記インデックス変換手段で変換されたインデックスで格納するキャッシュラインを決定するキャッシュライン決定手段と
前記キャッシュメモリのタグとインデックスから、元のインデックスを復元するインデックス逆変換手段とを備えたものである。
この発明のキャッシュメモリ制御装置は、キャッシュメモリに書き込むためのインデックスを、二次元データのメモリアドレスから抽出される二次元データの行に応じて他の値に変換するようにしたので、二次元データに最適なキャッシュ格納ラインの決定を行うことができる。
実施の形態1.
図1は、この発明の実施の形態1によるキャッシュメモリ制御装置を示す構成図である。
図示のように、メモリ上のデータをキャッシュメモリ10に格納する際、そのデータのアドレスを三分割し、タグとインデックスとオフセットに分ける。図1では、タグ/インデックス/オフセットの順に分割しているが、必ずしもこのように分割する必要はない。図2の様に、アドレスビットの連続していないビットを連結させタグやインデックスを生成する場合もある。尚、キャッシュメモリ10の構成によってはオフセットがない場合もある。
キャッシュメモリ制御装置は、ルックアップテーブル(インデックス変換手段)1、デコーダ(キャッシュライン決定手段)2、エンコーダ3、逆ルックアップテーブル(逆インデックス変換手段)4、キャッシュヒット判定手段5を備えている。ルックアップテーブル1は、図3に示すように、メモリアドレスによって指定されるインデックスと、メモリアドレスから抽出される行判定ビットとの対応関係を示す変換テーブルである。デコーダ2は、ルックアップテーブル1で変換されたインデックスをキャッシュメモリ10にアクセスするキャッシュライン番号として決定するものである。即ち、デコーダ2は、インデックスとキャッシュライン番号が一致するキャッシュラインを検出し、そのキャッシュラインをデータ格納に使用するキャッシュラインとする。キャッシュラインの総数は2の(インデックスビット数)乗と一致する。また、エンコーダ3は、キャッシュメモリ10のキャッシュライン番号からインデックスを生成するものである。逆ルックアップテーブル4は、ルックアップテーブル1との逆変換を行うためのルックアップテーブルである。キャッシュヒット判定手段5は、メモリアドレスから抽出されるタグとキャッシュメモリ10のタグとを比較してキャッシュヒット/ミスヒットを判定する手段である。
オフセットは、キャッシュライン内のオフセットアドレスである。タグは、キャッシュヒット判定手段5によってデータ格納に使用するキャッシュメモリ10のタグと比較され、一致した場合はキャッシュヒットと判定される。不一致だった場合はキャッシュミスヒットと判定され、キャッシュメモリ10の更新を行う。
行判定ビットはアドレスから抜き出したビット列であり、1ビット以上で構成される。アドレスのタグもしくはインデックスに分割されるビットから抜き出す。
ルックアップテーブル1は、行判定ビットを用いて、インデックスを異なるインデックスとする変換を行う。
図3は、行判定ビットとインデックスが共に2ビットであった場合におけるルックアップテーブルの具体例である。
インデックス変換用のルックアップテーブル1は、列の数が2の(インデックスビット数)乗、行の数が2の(行判定ビット数)乗のテーブルである。列と行が逆になっていてもよい。インデックスビットと行判定ビットを入力すると、変換後インデックスビットが出力される。ここで、変換後インデックスビットのビット幅は元のインデックスビットのビット幅に等しい。
ルックアップテーブル1は、行判定ビットが同じでインデックスが異なる場合に、出力される変換後インデックスに重複がないように構築するのが望ましい。また、ルックアップテーブル1は、インデックスが同じで行判定ビットが異なる場合に、出力される変換後インデックスに重複がないように構築するのが望ましい。
キャッシュに格納したデータをメモリに書き戻す際には、タグとインデックスから元のアドレスを生成する必要がある。タグはキャッシュにそのまま保管されているのでそれを利用する。インデックスは、逆ルックアップテーブル4を用いてキャッシュライン番号(=変換後インデックス)を逆変換し、元のインデックスを求める必要がある。このように、ルックアップテーブル1によるインデックス変換を行うと、データ書き戻しの際にインデックス逆変換が必要となる。但し、インデックス逆変換に必要な行判定ビットはキャッシュメモリ10のタグやキャッシュライン番号から割り出せるため、行判定ビット用のメモリをキャッシュメモリ10に追加する必要はない。
次に、実施の形態1の動作について説明する。
図1に示すように、アドレスを、タグ/インデックス/オフセットの順番に分割したとする。二次元データ1行分のデータを格納するのに必要なキャッシュラインの総数がキャッシュラインの個数の倍数である場合、図4のように、データを格納するキャッシュライン番号の順番が各行で同じになる。列方向(縦方向)に連続アクセスを行うと同じキャッシュラインに格納されるデータを連続してアクセスすることになる。特定のキャッシュラインに対するアクセスに偏りがあると、キャッシュの競合状態が発生し、キャッシュ性能が低下してしまう。
1行分のデータ容量が2のべき乗で表せる数である場合、アドレスビットの中に行毎に変化するビットがある。変化するビット、もしくは変化するビットとその上位ビットの連結ビットを行判定ビットとする。
例えば、1行分のデータ容量が512バイトである場合、図5に示すように、アドレスの下位から数えて10ビット目が行ごとに変化する(尚、図5のアドレスはバイトアドレスである)。10ビット目を行判定ビットとすると、行判定ビットは1行目では「0」、2行目では「1」、3行目では「0」、4行目では「1」、5行目では「0」となる。このように、行判定ビットを1ビットで構成すると、奇数行か偶数行のいずれかであるかを判定できる。
10ビット目とその上位ビットの11ビット目の連結ビットを行判定ビットとした場合、行判定ビットは1行目では「00」、2行目では「01」、3行目では「10」、4行目では「11」、5行目では「00」となる。このように、行判定ビットを2ビットで構成すると、4行単位で行判定が行うことができる。つまり、行判定ビットをNビットで構成すると、(2のN乗)行単位で行判定を行うことができる。
このような行判定ビットは自動的に検出することができる。一行目先頭のアドレスと二行目先頭のアドレスとを比較して、変化するビットが1ビットであれば(即ち、一行分のデータ容量が2のべき乗で表せる場合であれば)、行変化ビットを特定することができる。ここで、アドレスは、Y座標*横幅+X座標で計算するため、二次元データの横幅さえ与えれば求めることができる。
行判定ビットを2ビットとし、図3に示したルックアップテーブル1を用いると、図6に示すようにインデックス番号が変換される。図3のインデックス変換ルックアップテーブルは、入力される元のインデックスが同じで行変換ビットが異なる場合に出力される変換後インデックスに重複がないように構築されている。従って、列方向(縦方向)に連続アクセスを行っても、同じキャッシュラインに格納されるデータを連続してアクセスすることにならない。
また、データを書き戻す場合は、エンコーダ3でキャッシュライン番号をエンコードして変換後インデックスを出力し(例えば、キャッシュライン番号が3であれば3を出力し)、この変換後インデックスと、キャッシュメモリ10のタグに含まれる行判定ビットから逆ルックアップテーブル4でインデックスを復元する。
このように、二次元データ1行分のデータを格納するのに必要なキャッシュラインの総数がキャッシュラインの個数の倍数で、1行分のデータ容量が2のべき乗で表せる数である場合、アドレスの特定のビット(行判定ビット)によって行を判定できる。判定した行毎に異なったインデックス変換を実施する。キャッシュメモリ10に何ら変更を加えずとも、列方向連続アクセス時のキャッシュラインに対するアクセスが偏りなく均一になる。
以上のように、実施の形態1のキャッシュメモリ制御装置によれば、二次元データのメモリアドレスによって指定されるインデックスを、メモリアドレスから抽出される二次元データの行に応じて異なるインデックスに変換するインデックス変換手段と、二次元データ1行分のデータを格納するのに必要なキャッシュラインの総数が、キャッシュラインの個数の倍数であった場合、インデックス変換手段で変換されたインデックスで格納するキャッシュラインを決定するキャッシュライン決定手段とを備えたので、二次元データに最適なキャッシュ格納ラインの決定を行うことができ、キャッシュ利用効率を向上させることができる。
また、実施の形態1のキャッシュメモリ制御装置によれば、キャッシュメモリのタグとインデックスから、元のインデックスを復元するインデックス逆変換手段を備えたので、キャッシュメモリに何ら変更を加えずとも元のインデックスを復元することができる。
実施の形態2.
実施の形態1では、二次元データ1行分のデータを格納するのに必要なキャッシュラインの総数がキャッシュラインの個数の倍数である場合について説明したが、実施の形態2は、二次元データ1行分のデータを格納するのに必要なキャッシュラインの総数がキャッシュラインの個数の倍数でない場合についての実施の形態である。図面上の構成は、図1と同様であるため、図1を援用して説明する。
実施の形態2では、二次元データ1行分のデータを格納するのに必要なキャッシュラインの総数が、キャッシュラインの個数の倍数でない場合、ルックアップテーブル1を無効化し、デコーダ2は、メモリアドレスで指定されたインデックスをキャッシュメモリ10にアクセスするキャッシュラインとして決定するよう構成されている。また、データ書き戻しも同様に、キャッシュメモリ10から求めたインデックスをメモリアドレスを求める場合の元のインデックスとする。尚、キャッシュヒット判定手段5におけるキャッシュヒット/ミスヒットの判定処理については実施の形態1と同様である。
次に、実施の形態2のキャッシュメモリ制御装置の動作について説明する。
図7は、二次元データ1行分のデータを格納するのに必要なキャッシュラインの総数がキャッシュラインの個数の倍数になっていない場合のメモリ構成図である。
図7に示すように、データを格納するキャッシュライン番号の順番が各行で同じになっていない。図7において、キャッシュライン番号は1行目では0から始まり、2行目では3から始まり、3行目では2から始まり、4行目では1から始まっている。列方向(縦方向)に連続アクセスを行っても、同じキャッシュラインに格納されるデータを連続してアクセスすることにならない。
この場合、ルックアップテーブル1は無効化し、デコーダ2は、アドレスから抜き出したインデックスビットをそのままデータを格納するキャッシュライン決定に用いる。尚、このようなルックアップテーブル1を無効化するか否かは、例えば、上記実施の形態1で説明した行判定ビットの検出ができなかった場合に無効化するようにしてもよい。また、これ以外の理由でルックアップテーブル1を無効化してもよい。データの書き戻しは、逆ルックアップテーブル4を無効化し、エンコーダ3で求めたインデックスを元のインデックスとして出力する。これ以外の動作は、実施の形態1と同じである。
このように、二次元データ1行分のデータ容量とキャッシュライン総数の関係により、インデックス変換が不要になった場合でも、ルックアップテーブル1を無効化できるようにすることで、従来のキャッシュ制御装置と同様の機構とすることができる。
以上のように、実施の形態2のキャッシュメモリ制御装置によれば、二次元データ1行分のデータを格納するのに必要なキャッシュラインの総数が、キャッシュラインの個数の倍数でない場合、インデックス変換手段を無効化し、キャッシュライン決定手段は、メモリアドレスで指定されたインデックスをキャッシュメモリにアクセスするキャッシュラインと決定するようにしたので、インデックス変換が不要な場合でも、二次元データに最適なキャッシュ格納ラインの決定を行うことができる。
実施の形態3.
実施の形態1では、1行分のデータ容量が2のべき乗で表せる数である場合について説明したが、実施の形態3では、1行分のデータ容量が2のべき乗で表せる数でない場合について説明する。尚、この実施の形態においても図面上の構成は図1と同様であるため、図1を援用して説明する。
図8は、1行分のデータ容量が2のべき乗で表せる数でない場合のメモリ構成図である。
実施の形態1と同様に、二次元データ1行分のデータを格納するのに必要なキャッシュラインの総数がキャッシュラインの個数の倍数になっているため、データを格納するキャッシュライン番号の順番が各行で同じになる。列方向(縦方向)に連続アクセスを行うと同じキャッシュラインに格納されるデータを連続してアクセスすることになる。
一方、実施の形態1とは異なり、1行分のデータ容量が2のべき乗で表せる数でないため、アドレスビットの中に行ごとに変化するビットが一つではない。例えば、1行分のデータ容量が640バイトである場合、図8に示すように、1行目から2行目に行が繰り上がるときに、アドレスの下位から数えて10ビット目と8ビット目が変化する(図8のアドレスはバイトアドレスで表している)。
この場合、実施の形態1とは異なり、行を判定できるビットをアドレスから一意に抜き出すことはできない。図8において、10ビット目を行判定ビットとすると、行判定ビットは1行目では「0」、2行目では「1」、3行目では「0」、4行目では「1」、5行目では「1」となる。よって、行判定ビットで奇数行か偶数行のいずれかであるかを判定することはできない。一方、8ビット目を行判定ビットとすると、行判定ビットは1行目では「0」、2行目では「1」、3行目では「0」、4行目では「1」、5行目では「0」となる。よって、行判定ビットで奇数行か偶数行のいずれかであるかを判定することができる。これにより、8ビット目を行判定ビットにすれば奇数行か偶数行を判定できることがわかる。行判定後のルックアップテーブル1〜逆ルックアップテーブル4における動作については実施の形態1と同様である。
以上のように、実施の形態3のキャッシュメモリ制御装置によれば、1行分のデータ容量に応じて、行を判定可能なアドレスビットを見つけ、それを行判定ビットに割り当てるようにしたので、1行分のデータ容量が2のべき乗で表せる数でない場合も、ルックアップテーブル1を用いて、列方向連続アクセス時のキャッシュラインに対するアクセスの偏りをなくすことができる。
実施の形態4.
実施の形態3では、1行分のデータ容量が2のべき乗で表せる数である場合に、行を判定できるビットをアドレスから抜き出すことができた場合についての実施の形態であるが、次に、実施の形態4として、行を判定できるビットをアドレスから抜き出すことができなかった場合について説明する。
1行分のデータ容量によっては、行を判定可能なアドレスビットがない場合がある。その場合は、行判定ビットをアドレスから抜き出すのではなく、行数を使用する。メモリアドレスを計算するときに行数を使用する。その行数の下位ビット(1ビット以上)を行判定ビットとする。
図9は、実施の形態4のキャッシュメモリ制御装置の構成図である。
図示のキャッシュメモリ制御装置は、ルックアップテーブル(インデックス変換手段)1a、デコーダ(キャッシュライン決定手段)2、エンコーダ3、逆ルックアップテーブル(インデックス逆変換手段)4a、キャッシュヒット判定手段5を備えている。ルックアップテーブル1aおよび逆ルックアップテーブル4aの基本的な構成は実施の形態1と同様であるが、ルックアップテーブル1aは、行数の下位ビットとインデックスとに対応した変換値を持ち、逆ルックアップテーブル4aは、この逆変換を行うよう構成されている。その他の構成は実施の形態1と同様である。
また、キャッシュメモリ10aには、キャッシュライン毎に行判定ビットを格納するためのメモリ領域が設けられている。これは実施の形態4の場合、インデックス逆変換に必要な行判定ビットをキャッシュメモリ10aのタグやキャッシュライン番号から割り出すことはできない。そこでキャッシュメモリ10aにメモリを追加して、インデックス逆変換に備えて行判定ビットを保存しておく必要があるからである。
このように構成された実施の形態4では、行数の下位ビットを行判定ビットとしてルックアップテーブル1aで変換後インデックスを求め、デコーダ2は、この変換後インデックスでキャッシュメモリ10aのキャッシュラインを決定する。また、決定されたキャッシュラインにデータを書き込んだ場合、図示しないキャッシュメモリ書き込み手段は、行判定ビットをそのキャッシュラインに対応して書き込む。
キャッシュメモリ10aに格納したデータをメモリに書き戻す際には、タグとインデックスから元のアドレスを生成する必要がある。タグはキャッシュメモリ10aにそのまま保管されているのでそれを利用する。インデックスは、逆ルックアップテーブル4aを用いてキャッシュライン番号を逆変換し、元のインデックスを求める必要がある。実施の形態4では、キャッシュメモリ10aに格納されている行判定ビットから読み出し、この行判定ビットを用いて逆ルックアップテーブル4aで元のインデックスを復元する。
このように、行を判定できるビットをアドレスから抜き出すことができなかった場合でも、キャッシュメモリ10aに行判定ビット保存用のメモリを追加すれば、ルックアップテーブル1a及び逆ルックアップテーブル4aを用いて、列方向連続アクセス時のキャッシュラインに対するアクセスの偏りをなくすことができる。
以上のように、実施の形態4のキャッシュメモリ制御装置によれば、二次元データのメモリアドレスによって指定されるインデックスを、二次元データの行に応じて異なるインデックスに変換するインデックス変換手段と、二次元データ1行分のデータを格納するのに必要なキャッシュラインの総数が、キャッシュラインの個数の倍数であった場合、インデックス変換手段で変換されたインデックスで格納するキャッシュラインを決定するキャッシュライン決定手段とを備え、かつ、二次元データをキャッシュラインに格納した場合は、キャッシュラインに対応して二次元データの行数を示す値をキャッシュメモリに格納するようにしたので、メモリアドレスから行判定ビットを特定できない場合でも、二次元データに最適なキャッシュ格納ラインの決定を行うことのでき、キャッシュ利用効率を向上させることができる。
また、実施の形態4のキャッシュメモリ制御装置によれば、キャッシュメモリのタグと、キャッシュメモリに記憶されている行数を示す値から、元のインデックスを復元するインデックス逆変換手段を備えたので、メモリアドレスから行判定ビットを特定できない場合でも、キャッシュメモリに行数を記憶させる構成を付加するだけで元のインデックスを復元することができる。
尚、実施の形態2は、実施の形態1に適用した場合を説明したが、実施の形態3、4に適用してもよい。即ち、実施の形態3、4においてもルックアップテーブル1,1aや逆ルックアップテーブル4,4aを無効化するようにしてもよい。
この発明の実施の形態1によるキャッシュメモリ制御装置を示す構成図である。 この発明の実施の形態1によるキャッシュメモリ制御装置に関するタグとインデックス生成の他の例を示す説明図である。 この発明の実施の形態1によるキャッシュメモリ制御装置のルックアップテーブルの説明図である。 この発明の実施の形態1によるキャッシュメモリ制御装置の二次元データの行とキャッシュラインとの関係を示す説明図である。 この発明の実施の形態1によるキャッシュメモリ制御装置の二次元データのアドレスとキャッシュラインとの関係を示す説明図である。 この発明の実施の形態1によるキャッシュメモリ制御装置のインデックス変換後のキャッシュラインへの格納状態を示す説明図である。 この発明の実施の形態2によるキャッシュメモリ制御装置の二次元データの行とキャッシュラインとの関係を示す説明図である。 この発明の実施の形態3によるキャッシュメモリ制御装置の二次元データのアドレスとキャッシュラインとの関係を示す説明図である。 この発明の実施の形態4によるキャッシュメモリ制御装置の構成図である。
符号の説明
1,1a ルックアップテーブル(インデックス変換手段)、2 デコーダ(キャッシュライン決定手段)、3 エンコーダ、4,4a 逆ルックアップテーブル(インデックス逆変換手段)、10,10a キャッシュメモリ。

Claims (3)

  1. 二次元データのメモリアドレスによって指定されるインデックスを、前記メモリアドレスから抽出される前記二次元データの行に応じて異なるインデックスに変換するインデックス変換手段と、
    前記二次元データ1行分のデータを格納するのに必要なキャッシュラインの総数が、当該キャッシュラインの個数の倍数であった場合、前記インデックス変換手段で変換されたインデックスで格納するキャッシュラインを決定するキャッシュライン決定手段と
    前記キャッシュメモリのタグとインデックスから、元のインデックスを復元するインデックス逆変換手段とを備えたキャッシュメモリ制御装置。
  2. 二次元データのメモリアドレスによって指定されるインデックスを、前記二次元データの行に応じて異なるインデックスに変換するインデックス変換手段と、
    前記二次元データ1行分のデータを格納するのに必要なキャッシュラインの総数が、当該キャッシュラインの個数の倍数であった場合、前記インデックス変換手段で変換されたインデックスで格納するキャッシュラインを決定するキャッシュライン決定手段と、
    キャッシュメモリのタグと、前記二次元データとともに前記キャッシュラインに対応して格納されている前記二次元データの行数を示す値とから、元のインデックスを復元するインデックス逆変換手段とを備えたキャッシュメモリ制御装置。
  3. 二次元データ1行分のデータを格納するのに必要なキャッシュラインの総数が、当該キャッシュラインの個数の倍数でない場合、インデックス変換手段を無効化し、キャッシュライン決定手段は、メモリアドレスで指定されたインデックスをキャッシュメモリにアクセスするキャッシュラインと決定することを特徴とする請求項1または請求項2記載のキャッシュメモリ制御装置。
JP2007257666A 2007-10-01 2007-10-01 キャッシュメモリ制御装置 Expired - Fee Related JP5164505B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007257666A JP5164505B2 (ja) 2007-10-01 2007-10-01 キャッシュメモリ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007257666A JP5164505B2 (ja) 2007-10-01 2007-10-01 キャッシュメモリ制御装置

Publications (2)

Publication Number Publication Date
JP2009087139A JP2009087139A (ja) 2009-04-23
JP5164505B2 true JP5164505B2 (ja) 2013-03-21

Family

ID=40660462

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007257666A Expired - Fee Related JP5164505B2 (ja) 2007-10-01 2007-10-01 キャッシュメモリ制御装置

Country Status (1)

Country Link
JP (1) JP5164505B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9122609B2 (en) * 2011-03-07 2015-09-01 Texas Instruments Incorporated Caching method and system for video coding
JP6459784B2 (ja) 2015-06-03 2019-01-30 富士通株式会社 並列計算機、マイグレーションプログラム、及び、マイグレーション方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2845946B2 (ja) * 1989-06-14 1999-01-13 株式会社日立製作所 画像データ変換装置
JPH0383150A (ja) * 1989-08-28 1991-04-09 Fujitsu Ltd アドレス変換機構付キャッシュ装置の制御方式
JPH04153753A (ja) * 1990-10-18 1992-05-27 Fujitsu Ltd キャッシュメモリ制御方式
JPH04209049A (ja) * 1990-11-30 1992-07-30 Fujitsu Ltd キャッシュメモリアドレスマッピング方式
JPH0553909A (ja) * 1991-08-23 1993-03-05 Pfu Ltd 画像データ処理におけるキヤツシユメモリ制御方式
JPH09101915A (ja) * 1995-10-06 1997-04-15 Matsushita Electric Ind Co Ltd キャッシュメモリの制御方法
JPH10154230A (ja) * 1996-11-21 1998-06-09 Matsushita Electric Ind Co Ltd 画像処理装置
JP5039334B2 (ja) * 2006-07-28 2012-10-03 富士通セミコンダクター株式会社 キャッシュメモリ制御方法、及び装置

Also Published As

Publication number Publication date
JP2009087139A (ja) 2009-04-23

Similar Documents

Publication Publication Date Title
US20180260318A1 (en) Read-write control method for memory, and corresponding memory and server
EP3121703B1 (en) Data caching method, cache and computer system
JP5434738B2 (ja) ディスク装置
US8555143B2 (en) Flash memory controller and the method thereof
US10042576B2 (en) Method and apparatus for compressing addresses
JP5745168B2 (ja) 大型ramキャッシュ
JP4653830B2 (ja) 命令キャッシュシステム
TWI382426B (zh) 預測快取記憶體之存取位置的方法及系統
US10585803B2 (en) Systems and methods for addressing a cache with split-indexes
US20100153645A1 (en) Cache control apparatus and method
US20170185294A1 (en) Memory system and operating method thereof
CN104714903A (zh) 存储系统
JP2010097557A (ja) セットアソシアティブ方式のキャッシュ装置及びキャッシュ方法
US20090100226A1 (en) Cache memory device and microprocessor
JP5164505B2 (ja) キャッシュメモリ制御装置
KR20140088725A (ko) 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치 및 그 선택적 리프레쉬 방법
US10754786B2 (en) Memory access method using simplified mapping table requiring smaller memory space
US9261946B2 (en) Energy optimized cache memory architecture exploiting spatial locality
CN105335296B (zh) 一种数据处理方法、装置及系统
US20190286571A1 (en) Memory system
JPH0553909A (ja) 画像データ処理におけるキヤツシユメモリ制御方式
TWI635391B (zh) 快閃記憶體以及其管理方法
CN112052190B (zh) 一种基于布隆过滤器和二级lru表的固态硬盘热数据识别方法
US10621107B1 (en) Translation lookaside buffer (TLB) clustering system for checking multiple memory address translation entries each mapping a viritual address offset
JPH03232034A (ja) キャッシュ制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100903

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120911

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121029

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: 20121120

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121218

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

Free format text: PAYMENT UNTIL: 20151228

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5164505

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees