JP5868213B2 - キャッシュ制御装置、及びキャッシュ制御方法 - Google Patents

キャッシュ制御装置、及びキャッシュ制御方法 Download PDF

Info

Publication number
JP5868213B2
JP5868213B2 JP2012038306A JP2012038306A JP5868213B2 JP 5868213 B2 JP5868213 B2 JP 5868213B2 JP 2012038306 A JP2012038306 A JP 2012038306A JP 2012038306 A JP2012038306 A JP 2012038306A JP 5868213 B2 JP5868213 B2 JP 5868213B2
Authority
JP
Japan
Prior art keywords
address
access
data
cache
priority
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
JP2012038306A
Other languages
English (en)
Other versions
JP2013174997A (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 JP2012038306A priority Critical patent/JP5868213B2/ja
Publication of JP2013174997A publication Critical patent/JP2013174997A/ja
Application granted granted Critical
Publication of JP5868213B2 publication Critical patent/JP5868213B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、ホストからメインメモリへのアクセス要求に応じて、キャッシュメモリへのデータの書き込みを制御するキャッシュ制御装置、及びキャッシュ制御方法に関する。
CPU(Central Processing Unit)等のホストからのアクセス要求に応じて、キャッシュメモリに記憶されたデータの置換を制御する技術として、例えば特許文献1には、キャッシュブロック毎にアクセス要求の回数を記憶し、アクセス要求の回数が少ないキャッシュブロックを置換対象とすることにより、アクセス要求の頻度が大きいキャッシュデータを優先的にキャッシュメモリ内に残す技術が開示されている。
特開平6−012331号公報
しかし、メインメモリへのアクセス時間が異なる複数のアドレスが同じキャッシュラインに割り当てられている場合、特許文献1に記載の技術のようにアクセス回数のみを考慮してキャッシュメモリに残すデータを決定すると、アクセス回数が少なく、かつメインメモリへのアクセス時間の長いデータがキャッシュメモリに残らず、メインメモリへのアクセス性能が向上しないという問題がある。
本発明は、上述の事情の下になされたもので、メインメモリへのアクセス性能を向上させることができるキャッシュ制御装置、及びキャッシュ制御方法を提供することを目的とする。
上記目的を達成するため、本発明に係るキャッシュ制御装置は、
ホストからメインメモリへのアクセス要求に応じて、キャッシュメモリへのデータの書き込みを制御するキャッシュ制御装置であって、
前記メインメモリの、1または複数のアドレスを含むアドレス領域毎に、前記ホストによるそのアドレス領域に含まれるアドレスへのアクセス回数を記憶するアクセス回数記憶部と、
前記メインメモリの、1または複数のアドレスを含むアドレス領域毎に、前記ホストによるそのアドレス領域に含まれるアドレスへのアクセス時間を記憶するアクセス時間記憶部と、
前記ホストからアクセス要求を受信したとき、そのアクセス要求の対象であるアドレスのデータが、前記キャッシュメモリにヒットするか否かを判定するヒット・ミス判定部と、
前記キャッシュメモリに記憶されているデータのアドレスを含むアドレス領域に対応するアクセス回数及びアクセス時間を、それぞれ前記アクセス回数記憶部及び前記アクセス時間記憶部から取得し、取得したアクセス回数及びアクセス時間に基づいて、前記キャッシュメモリにそのデータを記憶させるべき優先度を示す内部優先度を取得する内部優先度取得部と、
前記ヒット・ミス判定部によりヒットしないと判定されたとき、前記アクセス要求の対象であるアドレスを含むアドレス領域に対応するアクセス時間を前記アクセス時間記憶部から取得し、取得したアクセス時間基づいて、前記キャッシュメモリに前記アクセス要求の対象であるアドレスのデータを優先的に記憶させるべき優先度を示す外部優先度を取得する外部優先度取得部と、
前記内部優先度取得部により取得された内部優先度と、前記外部優先度取得部により取得された外部優先度と、に基づいて、前記キャッシュメモリに記憶されているデータを、前記アクセス要求の対象であるアドレスのデータに置き換えるか否かを判定するキャッシュ更新部と、
を備えることを特徴とする。
本発明によれば、メインメモリへのアクセス性能を向上させることができる。
実施形態1に係るキャッシュ制御装置の構成を示すブロック図である。 アクセス回数管理テーブルの一例を示す図である。 アクセス時間管理テーブルの一例を示す図である。 実施形態1のリード要求処理の流れの一例を示すフローチャートである。 実施形態1のライト要求処理の流れの一例を示すフローチャートである。 実施形態1におけるアクセス要求に対するキャッシュ制御装置の処理を説明するための図である。 実施形態2に係るキャッシュ制御装置の構成を示すブロック図である。 実施形態3に係るキャッシュ制御装置の構成を示すブロック図である。 実施形態3のリード要求処理の流れの一例を示すフローチャートである。 実施形態3のライト要求処理の流れの一例を示すフローチャートである。
以下、本発明の実施形態について、図面を参照して説明する。
(実施形態1)
図1に、実施形態1に係るキャッシュ制御装置1の概略構成を表すブロック図を示す。実施形態1に係るキャッシュ制御装置1は、ホスト2からメインメモリ3へのアクセス要求に応じて、キャッシュメモリ4へのデータの書き込みを制御するものである。
ホスト2は、各種処理を演算する演算装置であり、例えば、CPUから構成される。ホスト2は、メインメモリ3に対するデータのリード/ライト要求といったアクセス要求をキャッシュ制御装置1に対し送信する。ホスト2が送信するアクセス要求には、アクセス要求の対象であるメインメモリ3のアドレスが含まれる。そして、アクセス要求がリード要求である場合、キャッシュ制御装置1は、リード要求の対象であるアドレスに基づいて、メインメモリ3又はキャッシュメモリ4からそのアドレスのデータを読み込み、ホスト2に送信する。また、アクセス要求がライト要求である場合、キャッシュ制御装置1は、ライト要求の対象であるアドレスに基づいて、メインメモリ3又はキャッシュメモリ4に、ホスト2から受信したライト要求の対象であるライトデータを書き込む。
メインメモリ3は、ホスト2が各種処理を実行するために必要なプログラムやデータが展開されるメモリであり、例えば、DRAM(Dynamic Random Access Memory)等から構成される。メインメモリ3は、バススイッチ5を介して、キャッシュ制御装置1と接続される。
キャッシュメモリ4は、高速アクセスが可能なSRAM(Static Random Access Memory)等のメモリから構成される。キャッシュメモリ4は、メインメモリ3のデータの一部のコピーを保持しており、これにより、ホスト2によるメインメモリ3へのデータアクセスの速度が向上する。
なお、実施形態1において、キャッシュメモリ4のマッピング方式として、ダイレクトマップ方式が適用される場合について説明する。具体的には、メインメモリ3のアドレスは、そのアドレスのデータの格納先キャッシュラインを特定するインデックスと、格納先キャッシュラインにそのアドレスのデータが格納されているか否かを判定するためのタグとを含む。また、キャッシュメモリ4は、所定のライン数のキャッシュラインを有し、各キャッシュラインと対応してタグを記憶する。そして、キャッシュ制御装置1は、アクセス要求を受信すると、アクセス要求の対象であるアドレスに含まれるインデックスから、格納先キャッシュラインが特定する。そして、アクセス要求の対象であるアドレスに含まれるタグと、格納先キャッシュラインに対応して記憶されるタグと、を比較し、一致すれば格納先キャッシュラインにアクセス要求の対象であるアドレスのデータが格納されている(ヒット)と判定し、一致しなければ格納先キャッシュラインにアクセス要求の対象であるアドレスのデータが格納されていない(ミス)と判定する。
キャッシュ制御装置1は、要求制御部110と、応答制御部120と、アクセス回数記憶部130と、アクセス時間記憶部140と、キャッシュチェック部150と、ヒット・ミス判定部160と、内部優先度取得部170と、外部優先度取得部180と、優先度比較部190と、キャッシュ更新部200と、外部インターフェース(I/F)部210と、から構成される。
要求制御部110は、ホスト2からアクセス要求を受信する。要求制御部110は、ホスト2からアクセス要求を受信すると、アクセス回数記憶部130に記憶された、そのアクセス要求の対象であるアドレスのアクセス回数を更新するよう要求する。
応答制御部120は、ホスト2からのアクセス要求に対する応答データをホスト2に送信する。例えば、ホスト2からのアクセス要求がリード要求である場合、応答制御部120は、リード要求の対象であるアドレスのデータを応答データとして送信する。
アクセス回数記憶部130は、メインメモリ3のアドレス毎に、ホスト2によるそのアドレスへのアクセス回数が格納されているアクセス回数管理テーブル131を記憶する。図2にアクセス回数管理テーブル131の一例を示す。図2に示すように、アクセス回数管理テーブル131は、メインメモリ3のアドレスと、ホスト2によるそのアドレスへのアクセス回数とを対応付けて格納する。アクセス回数記憶部130は、例えばカウンタから構成され、要求制御部110からのアクセス回数の更新要求を受信するたびに、アクセス要求の対象であるアドレスに対応するアクセス回数をインクリメントすることにより、アクセス回数を更新する。
アクセス時間記憶部140は、メインメモリ3のアドレス毎に、ホスト2によるそのアドレスへのアクセス時間が格納されているアクセス時間管理テーブル141を記憶する。図3にアクセス時間管理テーブル141の一例を示す。図3に示すように、アクセス時間管理テーブル141は、メインメモリ3のアドレスと、ホスト2によるそのアドレスへのアクセス回数とを対応付けて格納する。アクセス時間管理テーブル141に格納されているアクセス時間は、例えば、予めユーザによりアクセス時間記憶部140に記録される。
キャッシュチェック部150は、要求制御部110が受信したアクセス要求に応じて、キャッシュリード要求をキャッシュメモリ4に送信する。具体的には、キャッシュチェック部150は、要求制御部110が受信したアクセス要求の対象であるアドレスにおいて、そのインデックスからキャッシュラインを特定し、特定されたキャッシュラインに対応するタグと、そのキャッシュラインに格納されたデータとを含むキャッシュリードデータを送信するように、キャッシュメモリ4に要求する。
ヒット・ミス判定部160は、要求制御部110が受信したアクセス要求の対象であるアドレスのデータが、キャッシュメモリ4にヒットするか否かを判定する。具体的には、ヒット・ミス判定部160は、要求制御部110が受信したアクセス要求の対象であるアドレスに含まれるタグと、キャッシュリード要求に応じてキャッシュメモリ4から読み出されたキャッシュリードデータに含まれるタグとを比較し、一致するか否かを判定する。ヒット・ミス判定部160は、アクセス要求の対象であるアドレスに含まれるタグと、キャッシュリードデータに含まれるタグとが一致した場合(ヒット)、応答制御部120を介して、キャッシュリードデータに含まれるデータ(キャッシュメモリデータ)をホスト2に送信する。ヒット・ミス判定部160は、アクセス要求の対象であるアドレスに含まれるタグと、キャッシュリードデータに含まれるタグとが一致しなかった場合(ミス)、外部I/F部210を介してメインメモリ3からアクセス要求の対象であるアドレスのデータ(メインメモリデータ)を読み込み、応答制御部120を介して、読み込んだメインメモリデータをホスト2に送信する。
なお、ヒット・ミス判定部160は、ヒットするか否かを判定する際、実際には、タグとともにキャッシュメモリ4に記憶されたvalidビットが有効か否かを判定し、validビットが有効なキャッシュラインに対してヒットするか否かの判定を行うが、以下の説明においては、validビットの判定処理についての記載を省略する。
内部優先度取得部170は、キャッシュリード要求に応じて読み出されたキャッシュリードデータに含まれるデータ(キャッシュメモリデータ)をキャッシュメモリ4に記憶させるべき優先度を示す内部優先度を取得する。具体的には、内部優先度取得部170は、キャッシュリード要求に応じて読み出されたキャッシュリードデータに含まれるタグと、そのキャッシュリードデータの格納先であるキャッシュラインのインデックスとから特定されるアドレスに対応するアクセス回数をアクセス回数記憶部130から取得する。また、内部優先度取得部170は、その特定されるアドレスに対応するアクセス時間をアクセス時間記憶部140から取得する。そして、内部優先度取得部170は、取得したアクセス回数と取得したアクセス時間とに基づいて、内部優先度を取得する。内部優先度の取得方法の一例として、内部優先度取得部170は、取得したアクセス回数と取得したアクセス時間とを乗算することにより、内部優先度を取得する。
外部優先度取得部180は、キャッシュメモリ4にアクセス要求の対象であるアドレスのデータ(メインメモリデータ)を優先的に記憶させるべき優先度を示す外部優先度を取得する。具体的には、ヒット・ミス判定部160によりミスしたと判定されたとき、外部優先度取得部180は、アクセス要求の対象であるアドレスに対応するアクセス時間をアクセス時間記憶部140から取得する。そして、外部優先度取得部180は、取得したアクセス時間基づいて、外部優先度を取得する。外部優先度の取得方法の一例として、外部優先度取得部170は、取得したアクセス時間を外部優先度とする。
優先度比較部190は、内部優先度算出部160により取得された内部優先度と、外部優先度算出部170により取得された外部優先度とを比較し、どちらが大きいか判定する。そして、優先度比較部190は、その判定結果をキャッシュ更新部200に送信する。
キャッシュ更新部200は、優先度比較部190による判定結果に基づいて、キャッシュメモリデータを、メインメモリデータに書き換えるか否かを判定する。そして、キャッシュ更新部200は、書き換えると判定した場合、キャッシュメモリデータを、アクセス要求のメインメモリデータに書き換える。
具体的には、優先度比較部190が、内部優先度の方が外部優先度よりも大きいと判定した場合、キャッシュメモリデータの方が、メインメモリデータよりも優先度が高いため、キャッシュメモリデータは、そのまま保持される。また、優先度比較部190が、内部優先度の方が外部優先度よりも大きくないと判定した場合、キャッシュ更新部200は、キャッシュメモリデータを、メインメモリデータに書き換える。
外部I/F部210は、バススイッチ5を介してメインメモリ3と接続されるインターフェースである。
次に、実施形態1に係るキャッシュ制御装置1が実行する処理の流れについて説明する。以下では、ホスト2からアクセス要求としてリード要求を受信した場合に実行するリード要求処理と、アクセス要求としてライト要求処理とについて説明する。
図4は、キャッシュ制御装置1が実行するリード要求処理の流れの一例を示すフローチャートである。図4に示すリード要求処理は、例えば、要求制御部110がホスト2からリード要求を受信したことを契機として開始される。
アクセス回数記憶部130は、リード要求の対象であるアドレスに対応するアクセス回数をインクリメントすることにより更新する(ステップS101)。なお、アクセス回数記憶部130に記憶されているアクセス回数が、既に計数可能な最大値に達している場合、更新しなくてもよい。
キャッシュチェック部150は、キャッシュメモリ4に対し、キャッシュリード要求を送信し、キャッシュリードデータを送信するようキャッシュメモリ4に要求する(ステップS102)。
ヒット・ミス判定部160は、ステップS102において読み出されたキャッシュリードデータに基づいて、アクセス要求の対象であるアドレスのデータが、キャッシュメモリ4にヒットするか否かを判定する(ステップS103)。
ヒット・ミス判定部160がヒットしたと判定した場合(ステップS103;Yes)、ヒット・ミス判定部160は、ステップS102において読み出されたキャッシュリードデータに含まれるデータ(キャッシュメモリデータ)を応答制御部120を介してホスト2に送信する(ステップS104)。
ヒット・ミス判定部160が、ヒットしない、すなわちミスしたと判定した場合(ステップS103;No)、内部優先度取得部170は、キャッシュメモリデータへのアクセス回数及びアクセス時間を取得する(ステップS105)。具体的には、内部優先度取得部170は、ステップS102において読み出されたキャッシュリードデータに含まれるタグと、そのキャッシュリードデータの格納先であるキャッシュラインのインデックスとから特定されるアドレスに対応するアクセス回数及びアクセス時間を、それぞれアクセス回数記憶部130及びアクセス時間記憶部140から取得する。
内部優先度取得部170は、ステップS105において取得したアクセス時間とアクセス回数とを乗算し、その乗算結果を内部優先度として取得する(ステップS106)。
外部I/F部210は、バススイッチ5を介して、メインメモリ3から、リード要求の対象であるアドレスに格納されたメインメモリデータを取得し、応答制御部120を介してホスト2に送信する(ステップS107)。
外部優先度取得部180は、外部優先度として、リード要求の対象であるアドレスに対応するアクセス時間を、アクセス時間記憶部140から取得する(ステップS108)。
優先度比較部190は、ステップS106において取得された内部優先度と、ステップS108において取得された外部優先度とを比較し、どちらが大きいか判定する(ステップS109)。
優先度比較部190が内部優先度が外部優先度よりも大きいと判定した場合(ステップS109;Yes)、本処理を終了する。
優先度比較部190が内部優先度が外部優先度よりも大きくないと判定した場合(ステップS109;No)、キャッシュ更新部200は、キャッシュメモリデータをメインメモリ3に書き戻す(ステップS110)。
そして、キャッシュ更新部200は、ステップS107において取得したメインメモリデータにより、キャッシュメモリデータを書き換える(ステップS111)。そして、本処理を終了する。
次に、キャッシュ制御装置1が実行するライト要求処理の流れについて説明する。図5は、キャッシュ制御装置が実行するライト要求処理の流れの一例を示すフローチャートである。図5に示すライト要求処理は、要求制御部110がホスト2からライト要求を受信したことを契機として開始される。
ステップS201〜S203において、キャッシュ制御装置1は、リード要求処理のステップS101〜S103における処理と同様の処理をライト要求について実行する。
ヒット・ミス判定部160がヒットしたと判定した場合(ステップS203;Yes)、ヒット・ミス判定部160は、ステップS202において読み出されたキャッシュリードデータに含まれるキャッシュメモリデータを、ライト要求の対象であるライトデータに差し替え、キャッシュメモリ4に書き戻す(ステップS204)。なお、キャッシュメモリ4に書き戻されたデータをこのステップでメインメモリ3に反映するかしないかは、ライトバック方式かライトバック方式かによって異なるが、いずれにしろメインメモリ3に反映されるので、どちらでもよい。
ヒット・ミス判定部160が、ヒットしない、すなわちミスしたと判定した場合(ステップS203;No)、ステップS205〜S209において、キャッシュ制御装置1は、リード要求処理のステップS105〜S109と同様の処理をライト要求について実行する。ただし、ステップS207において、外部I/F部210は、バススイッチ5を介して、メインメモリ3から、ライト要求の対象であるアドレスに格納されたメインメモリデータを取得するのみであり、ホスト2への送信は実行しない。
優先度比較部190が内部優先度が外部優先度よりも大きいと判定した場合(ステップS209;Yes)、外部I/F部210を介して、ライト要求の対象であるライトデータを、メインメモリ3上のライト要求の対象であるアドレスに書き込む(ステップS210)。
優先度比較部190が内部優先度が外部優先度よりも大きくないと判定した場合(ステップS209;No)、キャッシュ更新部200は、キャッシュメモリデータをメインメモリ3に書き込む(ステップS210)。
そして、キャッシュ更新部200は、ライト要求の対象であるライトデータを、キャッシュメモリ4に書き込む(ステップS210)。そして、本処理を終了する。
次に、ホスト2からのアクセス要求に対するキャッシュ制御装置1の処理を図6を用いて具体的に説明する。図6において、キャッシュ制御装置1は、ホスト2から、アクセス要求の対象であるアドレス「address_nx」を受信したとする。なお、アドレス「address_nx」は、タグ「tag_n」と、インデックス「index_x」とを含むものとする。
そして、キャッシュ制御装置1は、アクセス回数管理テーブル131において、受信したアドレス「address_nx」に対応するアクセス回数をインクリメントすることにより、アクセス回数「N」を「N+1」に更新する。
また、キャッシュ制御装置1のヒットミス判定部160は、アドレス「address_nx」に含まれるインデックス「index_x」に対応するキャッシュラインのタグ「tag_m」をキャッシュメモリ4から読み出し、アドレス「address_nx」に含まれるタグ「tag_n」と比較することにより、ヒット・ミス判定を実行する。
「tag_n」と「tag_m」が一致する場合、キャッシュ制御装置1は、ヒットと判定する。そして、アクセス要求がリード要求である場合、キャッシュ制御装置1は、キャッシュメモリ4上のタグ「tag_m」に対応するキャッシュメモリデータ「data_mx」をホスト2に送信する。また、アクセス要求がライト要求である場合、キャッシュ制御装置1は、キャッシュメモリ4上のタグ「tag_m」に対応するキャッシュメモリデータ「data_mx」を、ライト要求の対象であるライトデータに差し替える。
「tag_n」と「tag_m」が一致しない場合、キャッシュ制御装置1は、ミスと判定する。この場合、キャッシュ制御装置1は、アドレス「address_nx」に含まれるインデックス「index_x」と、インデックス「index_x」に対応するキャッシュラインのタグ「tag_m」とから特定されるアドレス「address_mx」に対応するアクセス回数「M」をアクセス回数管理テーブル131から取得する。また、アドレス「address_mx」に対応するアクセス時間「Tm」をアクセス時間管理テーブル141から取得する。そして、キャッシュ制御装置1は、内部優先度として、アクセス回数「M」と、アクセス時間「Tm」の乗算結果である「M・Tm」を取得する。
さらに、キャッシュ制御装置1は、アドレス「address_nx」アクセス時間「Tn」を、外部優先度として、アクセス時間記憶部140から取得する。
そして、キャッシュ制御装置1の優先度比較部190は、内部優先度「M・Tm」と外部優先度「Tn」とを比較する。
内部優先度「M・Tm」の方が外部優先度「Tn」よりも大きいと判定したとき、メインメモリ3上の「address_nx」に格納されたメインメモリデータ「data_nx」よりもキャッシュメモリデータ「data_mx」の方が優先度が高い。そのため、キャッシュ制御装置1は、キャッシュメモリデータ「data_mx」をメインメモリデータ「data_nx」で置き換えずに保持する。例えば、アクセス要求がライト要求である場合、キャッシュ制御装置1は、ライト要求の対象であるライトデータを、メインメモリ3上の「address_nx」に格納されたメインメモリデータ「data_nx」に上書きする。
また、内部優先度「M・Tm」の方が外部優先度「Tn」よりも大きくないと判定したとき、メインメモリ3上の「address_nx」に格納されたメインメモリデータ「data_nx」よりもキャッシュメモリデータ「data_mx」の方が優先度が低い、または同じである。そのため、キャッシュ制御装置1は、キャッシュメモリデータ「data_mx」を書き換え対象とする。例えば、アクセス要求がリード要求である場合、キャッシュ制御装置1は、キャッシュメモリ4上のキャッシュメモリデータ「data_mx」とタグ「tag_m」とを、メインメモリデータ「data_nx」とタグ「tag_n」とに書き換える。また、アクセス要求がライト要求の場合、キャッシュ制御装置1は、キャッシュメモリ4上のキャッシュメモリデータ「data_mx」とタグ「tag_m」とを、ライト要求の対象であるライトデータとタグ「tag_n」とに置き換える。
以上説明したように、実施形態1に係るキャッシュ制御装置1において、ミス判定時にキャッシュメモリ4に記憶されているキャッシュメモリデータをメインメモリ3に記憶されているメインメモリデータに書き換えるか否かは、キャッシュメモリデータのアドレスへのアクセス回数及びアクセス時間に基づいて取得された内部優先度と、アクセス要求の対象であるアドレスへのアクセス時間に基づいて取得された外部優先度との比較により判定される。このように、アクセス時間に基づいて優先度が取得されるため、メインメモリ3へのアクセス時間の長いデータに対しては高い優先度が設定され、キャッシュメモリ4に優先的に保持される。そのため、ホスト2の応答待ち時間を処理全体として短縮することができ、メインメモリ3へのアクセス性能を向上させることができる。
(実施形態2)
上記の実施形態1において、外部優先度取得部180は、アクセス要求の対象であるアドレスに対応するアクセス時間をアクセス時間記憶部140から取得し、この取得したアクセス時間を外部優先度としているが、外部優先度の取得方法はこれに限られない。以下の実施形態2では、外部優先度が、アクセス要求の対象であるアドレスに対応するアクセス回数及びアクセス時間に基づいて取得される例について説明する。なお、実施形態2の構成において、上記の実施形態1と同様の構成については、同様の符号を用い、その詳細な説明を省略する。
図7に、実施形態2に係るキャッシュ制御装置1aの概略構成を表すブロック図を示す。実施形態2に係るキャッシュ制御装置1aは、実施形態1の外部優先度取得部180に代えて、外部優先度取得部180aを備える点で、実施形態1と異なる。
外部優先度取得部180aは、ヒット・ミス判定部160によりミスしたと判定されたとき、アクセス要求の対象であるアドレスに対応するアクセス回数をアクセス回数記憶部130から取得し、アクセス要求の対象であるアドレスに対応するアクセス時間をアクセス時間記憶部140から取得し、取得したアクセス回数と取得したアクセス時間とに基づいて、外部優先度を取得する。具体的には、外部優先度取得部180aは、取得したアクセス時間と取得したアクセス回数とを乗算し、その乗算結果を外部優先度として取得する。
以上のように構成されるキャッシュ制御装置1aにおいて、ミス判定時にキャッシュメモリ4に記憶されているキャッシュメモリデータをメインメモリ3に記憶されているメインメモリデータに書き換えるか否かは、キャッシュメモリデータのアドレスへのアクセス回数及びアクセス時間に基づいて取得された内部優先度と、アクセス要求の対象であるアドレスへのアクセス回数及びアクセス時間に基づいて取得された外部優先度との比較により判定される。このように、アクセス回数及びアクセス時間に基づいて優先度が取得されるため、ホスト2の応答待ち時間を処理全体として最小にすることができ、メインメモリ3へのアクセス性能をさらに向上させることができる。
(実施形態3)
上記の実施形態1及び2において、キャッシュ制御装置1、1aは、アクセス回数記憶部130を備えていたが、メインメモリ3及びキャッシュメモリ4が、アクセス回数を記憶する構成を備えていてもよい。以下の実施形態3では、メインメモリ3及びキャッシュメモリ4が、アクセス回数を記憶する構成を備える例について説明する。なお、実施形態3の構成において、上記の実施形態1及び2と同様の構成については、同様の符号を用い、その詳細な説明を省略する。
図8に、実施形態3に係るキャッシュ制御装置1bの概略構成を表すブロック図を示す。実施形態3において、実施形態1及び2におけるアクセス回数記憶部130に代えて、メインメモリ3b及びキャッシュメモリ4bが、アクセス回数を記憶する。また、キャッシュ制御装置1bは、実施形態1及び2におけるキャッシュチェック部150、内部優先度取得部170、外部優先度取得部180、180a、キャッシュ更新部200に代えて、キャッシュチェック部150b、内部優先度取得部170b、外部優先度取得部180b、キャッシュ更新部200bを備える。
メインメモリ3bは、アドレス毎に、そのアドレスに格納されたデータと、ホスト2によるそのアドレスへのアクセス回数とを対応付けて記憶する。メインメモリ3bは、ヒット・ミス判定部160がミスと判定したとき、キャッシュ制御装置1bからの要求に応じて、アクセス要求の対象であるアドレスのデータと、そのデータに対応するアクセス回数とを含む応答データを、キャッシュ制御装置1bに送信する。
キャッシュメモリ4bは、キャッシュライン毎に、タグと、そのキャッシュラインとタグとにより特定されるアドレスに格納されたデータと、ホスト2によるそのアドレスへのアクセス回数とを対応付けて記憶する。
キャッシュチェック部150bは、要求制御部110が受信したアクセス要求の対象であるアドレスにおいて、そのインデックスからキャッシュラインを特定し、特定されたキャッシュラインに対応するタグ及びアクセス回数と、そのキャッシュラインに格納されたデータとを含むキャッシュリードデータを送信するように、キャッシュメモリ4に要求する。
内部優先度記憶部170bは、ヒット・ミス判定部160によりミスしたと判定されたとき、キャッシュリード要求に応じて読み出されたキャッシュリードデータに含まれるタグと、そのキャッシュリードデータの格納先であるキャッシュラインのインデックスとから特定されるアドレスに対応するアクセス時間をアクセス時間記憶部140から取得する。また、内部優先度取得部170bは、キャッシュリード要求に応じて読み出されたキャッシュリードデータからアクセス回数を取得する。そして、内部優先度取得部170bは、取得したアクセス時間と取得したアクセス回数とに基づいて、内部優先度を取得する。
外部優先度取得部180bは、ヒット・ミス判定部160によりヒットしないと判定されたとき、アクセス要求の対象であるアドレスに対応するアクセス時間をアクセス時間記憶部140から取得する。また、外部優先度取得部180bは、メインメモリ3上にアクセス要求の対象であるアドレスのデータと対応付けて記憶されている、ホスト2によるそのデータへのアクセス回数をメインメモリ3から取得する。そして、外部優先度取得部180bは、取得したアクセス時間と取得したアクセス回数とに基づいて、外部優先度を取得する。具体的には、外部優先度取得部180bは、ヒット・ミス判定部160によりミスしたと判定されたとき、メインメモリ3bから読み込まれた応答データからアクセス回数を取得する。
キャッシュ更新部200bは、実施形態1のキャッシュ更新部200と同様に、優先度比較部190による判定結果に基づいて、キャッシュメモリ4に記憶されているデータ(キャッシュメモリデータ)を、アクセス要求の対象であるアドレスのデータ(メインメモリデータ)に書き換えるか否かを判定する。そして、キャッシュ更新部200bは、書き換えると判定した場合、キャッシュメモリデータを、メインメモリデータに書き換える。
また、キャッシュ更新部200bは、ヒット・ミス判定部160による判定結果、及び優先度比較部190による判定結果に基づいて、メインメモリ3bに記憶されているアクセス回数、またはキャッシュメモリ4bに記憶されているアクセス回数を更新する。
具体的には、ヒット・ミス判定部160がヒットと判定した場合、キャッシュ更新部200bは、キャッシュリードデータに含まれるアクセス回数をインクリメントすることにより更新し、キャッシュメモリ4bに書き込む。
また、ヒット・ミス判定部160がミスと判定し、かつ優先度比較部160が内部優先度の方が大きいと判定した場合、キャッシュ更新部200bは、応答データに含まれるアクセス回数をインクリメントすることにより更新し、メインメモリ3bに書き戻す。また、ヒット・ミス判定部160がミスと判定し、かつ優先度比較部160が内部優先度の方が大きくないと判定した場合、キャッシュ更新部200bは、応答データに含まれるアクセス回数をインクリメントすることにより更新し、キャッシュメモリ4bに書き込む。
次に、実施形態3に係るキャッシュ制御装置1bが実行する処理の流れについて説明する。以下では、ホスト2からアクセス要求としてリード要求を受信した場合に実行するリード要求処理と、アクセス要求としてライト要求処理とについて説明する。
図9は、キャッシュ制御装置1bが実行するリード要求処理の流れの一例を示すフローチャートである。図9に示すリード要求処理は、例えば、要求制御部110がホスト2からリード要求を受信したことを契機として開始される。
キャッシュチェック部150bは、キャッシュメモリ4bに対し、キャッシュリード要求を送信し、キャッシュリードデータを送信するようキャッシュメモリ4bに要求する(ステップS301)。
ヒット・ミス判定部160は、ステップS301において読み出されたキャッシュリードデータに基づいて、アクセス要求の対象であるアドレスのデータが、キャッシュメモリ4bにヒットするか否かを判定する(ステップS302)。
ヒット・ミス判定部160がヒットしたと判定した場合(ステップS302;Yes)、ヒット・ミス判定部160は、ステップS301において読み出されたキャッシュリードデータに含まれるキャッシュメモリデータを応答制御部120を介してホスト2に送信する(ステップS303)。
また、キャッシュ更新部200bは、ステップS301において読み出されたキャッシュリードデータに含まれるアクセス回数をインクリメントし、キャッシュメモリ4bに書き込むことによりアクセス回数を更新する(ステップS304)。そして、本処理を終了する。
ヒット・ミス判定部160が、ヒットしない、すなわちミスしたと判定した場合(ステップS302;No)、内部優先度取得部170bは、キャッシュメモリ4bに記憶されているキャッシュメモリデータへのアクセス回数及びアクセス時間を取得する(ステップS305)。具体的には、内部優先度取得部170bは、ステップS301において読み出されたキャッシュリードデータからアクセス回数を取得する。また、内部優先度取得部170bは、ステップS301において読み出されたキャッシュリードデータに含まれるタグと、そのキャッシュリードデータの格納先であるキャッシュラインのインデックスとから特定されるアドレスに対応するアクセス時間を、アクセス時間記憶部140から取得する。
内部優先度取得部170bは、ステップS305において取得したアクセス回数とアクセス時間とを乗算し、その乗算結果を内部優先度として取得する(ステップS306)。
外部I/F部210は、バススイッチ5を介して、メインメモリ3bから、リード要求の対象であるアドレスに格納されたメインメモリデータと、そのメインメモリデータと対応付けられたアクセス回数とを含む応答データを取得し、取得したメインメモリデータを応答制御部120を介してホスト2に送信する(ステップS307)。
外部優先度取得部180bは、リード要求の対象であるアドレスのデータへのアクセス回数及びアクセス時間を取得する(ステップS308)。具体的には、外部優先度取得部180bは、ステップS307において取得された応答データからアクセス回数を取得する。また、外部優先度取得部180bは、リード要求の対象であるアドレスに対応するアクセス時間を、アクセス時間記憶部140から取得する。
外部優先度取得部180bは、ステップS308において取得したアクセス回数とアクセス時間とを乗算し、その乗算結果を外部優先度として取得する(ステップS309)。
優先度比較部190は、ステップS306において取得された内部優先度と、ステップS309において取得された外部優先度とを比較し、どちらが大きいか判定する(ステップS310)。
優先度比較部190が内部優先度が外部優先度よりも大きいと判定した場合(ステップS310;Yes)、キャッシュ更新部200bは、応答データに含まれるアクセス回数をインクリメントすることにより更新し、メインメモリ3bに書き戻す(ステップS311)。そして、本処理を終了する。
優先度比較部190が内部優先度が外部優先度よりも大きくないと判定した場合(ステップS310;No)、キャッシュ更新部200bは、ステップS301において読み出されたキャッシュリードデータに含まれるキャッシュメモリデータとアクセス回数とをメインメモリ3bに書き戻す(ステップS312)。
そして、キャッシュ更新部200bは、応答データに含まれるアクセス回数をインクリメントすることにより更新する(ステップS313)。
そして、キャッシュ更新部200bは、応答データに含まれるメインメモリデータと、ステップS313において更新されたアクセス回数とを、キャッシュメモリ4bに書き込む(ステップS314)。そして、本処理を終了する。
次に、キャッシュ制御装置1が実行するライト要求処理の流れについて説明する。図10は、キャッシュ制御装置が実行するライト要求処理の流れの一例を示すフローチャートである。図10に示すライト要求処理は、要求制御部110がホスト2からライト要求を受信したことを契機として開始される。
ステップS401〜S402において、キャッシュ制御装置1bは、リード要求処理のステップS301〜S302における処理と同様の処理をライト要求について実行する。
ヒット・ミス判定部160がヒットしたと判定した場合(ステップS403;Yes)、キャッシュ更新部200bは、ステップS401において読み出されたキャッシュリードデータに含まれるアクセス回数をインクリメントすることにより更新する(ステップS404)。そして、本処理を終了する。
キャッシュ更新部200bは、ステップS401において読み出されたキャッシュリードデータに含まれるキャッシュメモリデータを、ライト要求の対象であるライトデータに差し替え、ライトデータと、ステップS404において更新されたアクセス回数とをキャッシュメモリ4bに書き込む(ステップS405)。
ヒット・ミス判定部160が、ヒットしない、すなわちミスしたと判定した場合(ステップS403;No)、ステップS405〜S410において、キャッシュ制御装置1bは、リード要求処理のステップS305〜S310と同様の処理をライト要求について実行する。ただし、ステップS407において、外部I/F部210は、バススイッチ5を介して、メインメモリ3bから、ライト要求の対象であるアドレスに格納されたメインメモリデータを取得するのみであり、ホスト2への送信は実行しない。
優先度比較部190が内部優先度が外部優先度よりも大きいと判定した場合(ステップS410;Yes)、キャッシュ更新部200bは、応答データに含まれるアクセス回数をインクリメントすることにより更新する(ステップS411)。
そして、キャッシュ更新部200bは、ライト要求の対象であるライトデータと、ステップS411において更新されたアクセス回数とを、メインメモリ3b上のライト要求の対象であるアドレスに書き込む(ステップS412)。そして、本処理を終了する。
優先度比較部190が内部優先度が外部優先度よりも大きくないと判定した場合(ステップS410;No)、ステップS413〜S414において、キャッシュ更新部200bは、リード要求処理のステップS312〜S313と同様の処理をライト要求について実行する。
そして、キャッシュ更新部200bは、ライト要求の対象であるライトデータと、ステップS414において更新されたアクセス回数とを、キャッシュメモリ4bに書き込む(ステップS415)。そして、本処理を終了する。
以上のように構成されるキャッシュ制御装置1bにおいて、アクセス時間及びアクセス回数に基づいて優先度が取得され、取得された優先度に基づいてミス判定時にキャッシュメモリ4bに記憶されているキャッシュメモリデータをメインメモリ3bに記憶されているメインメモリデータ置き換えるか否かの判定が行われる。このように、アクセス回数及びアクセス時間に基づいて優先度が取得されるため、ホスト2の応答待ち時間を処理全体として最小にすることができ、メインメモリ3bへのアクセス性能をさらに向上させることができる。
また、実施形態3において、メインメモリ3b及びキャッシュメモリ4bがアクセス回数を記憶している。従って、メインメモリ3bに記憶されているデータについて、そのアクセス回数をユーザが設定することにより、任意の優先度を付けることができる。例えば、優先的にキャッシュメモリ4上に保持しておきたいデータがある場合、そのデータに対応する、メインメモリ3bに記憶されているアクセス回数を、優先的に保持しなくてもよいデータのアクセス回数よりも大きい値を予め設定しておくことで、キャッシュメモリ4上に優先的に保持することができる。
以上、本発明の実施形態1乃至3について説明したが、本発明は実施形態1乃至3によって限定されるものではない。
例えば、実施形態1乃至3において、キャッシュメモリ4,4bにおけるキャッシュのマッピング方式としてダイレクトマップ方式を適用する場合について説明したが、本発明に適用可能なキャッシュのマッピング方式はこれに限られない。例えば、セット・アソシアティブ方式を適用してもよい。
また、実施形態1乃至3において、アドレス毎に、ホスト2によるそのアドレスへのアクセス回数、及びホスト2によるそのアドレスへのアクセス時間が記憶されている例について説明したが、アクセス回数及びアクセス時間は、アドレス毎に対応づけられていなくてもよい。例えば、1または複数のアドレスを含むアドレス領域毎に、アクセス回数及びアクセス時間が対応付けて記憶されていてもよい。例えば、SRAM、SDRAM(Synchronous Dynamic Random Access Memory)等の複数の異なる外部記憶装置をメインメモリとする場合、各外部記憶装置によってアクセス時間は異なるが、同じ外部記憶装置であれば、異なるアドレスであってもアクセス時間は同じと考えることができる。従って、外部記憶装置において規定される1または複数のアドレスの集合をアドレス領域とし、外部記憶装置毎、すなわちアドレス領域毎にアクセス回数及びアクセス時間が対応付けて記憶される構成であってもよい。このような構成により、実施形態1乃至3と同様に、ホスト2の応答待ち時間を処理全体として短縮することができ、メインメモリ3へのアクセス性能を向上させることができる。
1,1a,1b キャッシュ制御装置
110 要求制御部
120 応答制御部
130 アクセス回数記憶部
131 アクセス回数管理テーブル
140 アクセス時間記憶部
141 アクセス時間管理テーブル
150,150b キャッシュチェック部
160 ヒット・ミス判定部
170,170b 内部優先度取得部
180,180b外部優先度取得部
190 優先度比較部
200,200b キャッシュ更新部
210 外部I/F部
2 ホスト
3,3b メインメモリ
4,4b キャッシュメモリ
5 バススイッチ

Claims (5)

  1. ホストからメインメモリへのアクセス要求に応じて、キャッシュメモリへのデータの書き込みを制御するキャッシュ制御装置であって、
    前記メインメモリの、1または複数のアドレスを含むアドレス領域毎に、前記ホストによるそのアドレス領域に含まれるアドレスへのアクセス回数を記憶するアクセス回数記憶部と、
    前記メインメモリの、1または複数のアドレスを含むアドレス領域毎に、前記ホストによるそのアドレス領域に含まれるアドレスへのアクセス時間を記憶するアクセス時間記憶部と、
    前記ホストからアクセス要求を受信したとき、そのアクセス要求の対象であるアドレスのデータが、前記キャッシュメモリにヒットするか否かを判定するヒット・ミス判定部と、
    前記キャッシュメモリに記憶されているデータのアドレスを含むアドレス領域に対応するアクセス回数及びアクセス時間を、それぞれ前記アクセス回数記憶部及び前記アクセス時間記憶部から取得し、取得したアクセス回数及びアクセス時間に基づいて、前記キャッシュメモリにそのデータを記憶させるべき優先度を示す内部優先度を取得する内部優先度取得部と、
    前記ヒット・ミス判定部によりヒットしないと判定されたとき、前記アクセス要求の対象であるアドレスを含むアドレス領域に対応するアクセス時間を前記アクセス時間記憶部から取得し、取得したアクセス時間に基づいて、前記キャッシュメモリに前記アクセス要求の対象であるアドレスのデータを優先的に記憶させるべき優先度を示す外部優先度を取得する外部優先度取得部と、
    前記内部優先度取得部により取得された内部優先度と、前記外部優先度取得部により取得された外部優先度と、に基づいて、前記キャッシュメモリに記憶されているデータを、前記アクセス要求の対象であるアドレスのデータに置き換えるか否かを判定するキャッシュ更新部と、
    を備えることを特徴とするキャッシュ制御装置。
  2. ホストからメインメモリへのアクセス要求に応じて、キャッシュメモリへのデータの書き込みを制御するキャッシュ制御装置であって、
    前記メインメモリの、1または複数のアドレスを含むアドレス領域毎に、前記ホストによるそのアドレス領域に含まれるアドレスへのアクセス回数を記憶するアクセス回数記憶部と、
    前記メインメモリの、1または複数のアドレスを含むアドレス領域毎に、前記ホストによるそのアドレス領域に含まれるアドレスへのアクセス時間を記憶するアクセス時間記憶部と、
    前記ホストからアクセス要求を受信したとき、そのアクセス要求の対象であるアドレスのデータが、前記キャッシュメモリにヒットするか否かを判定するヒット・ミス判定部と、
    前記キャッシュメモリに記憶されているデータのアドレスを含むアドレス領域に対応するアクセス回数及びアクセス時間を、それぞれ前記アクセス回数記憶部及び前記アクセス時間記憶部から取得し、取得したアクセス回数及びアクセス時間に基づいて、前記キャッシュメモリにそのデータを記憶させるべき優先度を示す内部優先度を取得する内部優先度取得部と、
    前記ヒット・ミス判定部によりヒットしないと判定されたとき、前記アクセス要求の対象であるアドレスを含むアドレス領域に対応するアクセス回数及びアクセス時間を、それぞれ前記アクセス回数記憶部及び前記アクセス時間記憶部から取得し、取得したアクセス回数及びアクセス時間に基づいて、前記キャッシュメモリに前記アクセス要求の対象であるアドレスのデータを優先的に記憶させるべき優先度を示す外部優先度を取得する外部優先度取得部と
    前記内部優先度取得部により取得された内部優先度と、前記外部優先度取得部により取得された外部優先度と、に基づいて、前記キャッシュメモリに記憶されているデータを、前記アクセス要求の対象であるアドレスのデータに置き換えるか否かを判定するキャッシュ更新部と、
    を備えることを特徴とするキャッシュ制御装置。
  3. ホストからメインメモリへのアクセス要求に応じて、キャッシュメモリに記憶させるデータを制御するキャッシュ制御装置であって、
    前記メインメモリの、1または複数のアドレスを含むアドレス領域毎に、前記ホストによるそのアドレス領域に含まれるアドレスへのアクセス時間を記憶するアクセス時間記憶部と、
    前記ホストからアクセス要求を受信したとき、そのアクセス要求の対象であるアドレスのデータが、前記キャッシュメモリにヒットするか否かを判定するヒット・ミス判定部と、
    前記ヒット・ミス判定部によりヒットしないと判定されたとき、前記キャッシュメモリに記憶されているデータのアドレスを含むアドレス領域に対応するアクセス時間を前記アクセス時間記憶部から取得し、前記キャッシュメモリ上にそのデータのアドレスを含むアドレス領域と対応付けて記憶されている、前記ホストによるそのアドレス領域に含まれるアドレスへのアクセス回数を前記キャッシュメモリから取得し、取得したアクセス時間と取得したアクセス回数とに基づいて、前記キャッシュメモリにそのデータを記憶させるべき優先度を示す内部優先度を取得する内部優先度取得部と、
    前記ヒット・ミス判定部によりヒットしないと判定されたとき、前記アクセス要求の対象であるアドレスを含むアドレス領域に対応するアクセス時間を前記アクセス時間記憶部から取得し、前記メインメモリ上に前記アクセス要求の対象であるアドレスを含むアドレス領域と対応付けて記憶されている、前記ホストによるそのアドレス領域に含まれるアドレスへのアクセス回数を前記メインメモリから取得し、取得したアクセス時間と取得したアクセス回数とに基づいて、前記キャッシュメモリに前記アクセス要求の対象であるアドレスのデータを優先的に記憶させるべき優先度を示す外部優先度を取得する外部優先度取得部と、
    前記内部優先度取得部により取得された内部優先度と、前記外部優先度取得部により取得された外部優先度と、に基づいて、前記キャッシュメモリに記憶されているデータを、前記アクセス要求の対象であるアドレスのデータに置き換えるか否かを判定するキャッシュ更新部と、
    を備えることを特徴とするキャッシュ制御装置。
  4. ホストからメインメモリへのアクセス要求に応じて、キャッシュメモリへのデータの書き込みを制御するキャッシュ制御方法であって、
    前記ホストからアクセス要求を受信したとき、そのアクセス要求の対象であるアドレスのデータが、前記キャッシュメモリにヒットするか否かを判定するヒット・ミス判定ステップと、
    前記キャッシュメモリに記憶されているデータのアドレスを含むアドレス領域に対応するアクセス回数及びアクセス時間を、前記メインメモリの、1または複数のアドレスを含むアドレス領域毎に、前記ホストによるそのアドレス領域に含まれるアドレスへのアクセス回数を記憶するアクセス回数記憶部と、前記メインメモリの、1または複数のアドレスを含むアドレス領域毎に、前記ホストによるそのアドレス領域に含まれるアドレスへのアクセス時間を記憶するアクセス時間記憶部と、からそれぞれ取得し、取得したアクセス回数及びアクセス時間に基づいて、前記キャッシュメモリにそのデータを記憶させるべき優先度を示す内部優先度を取得する内部優先度取得ステップと、
    前記ヒット・ミス判定ステップにおいてヒットしないと判定されたとき、前記アクセス要求の対象であるアドレスを含むアドレス領域に対応するアクセス時間を前記アクセス時間記憶部から取得し、取得したアクセス時間基づいて、前記キャッシュメモリに前記アクセス要求の対象であるアドレスのデータを優先的に記憶させるべき優先度を示す外部優先度を取得する外部優先度取得ステップと、
    前記内部優先度取得ステップにおいて取得された内部優先度と、前記外部優先度取得ステップにおいて取得された外部優先度と、に基づいて、前記キャッシュメモリに記憶されているデータを、前記アクセス要求の対象であるアドレスのデータに置き換えるか否かを判定するキャッシュ更新ステップと、
    を有することを特徴とするキャッシュ制御方法。
  5. ホストからメインメモリへのアクセス要求に応じて、キャッシュメモリに記憶させるデータを制御するキャッシュ制御方法であって、
    前記ホストからアクセス要求を受信したとき、そのアクセス要求の対象であるアドレスのデータが、前記キャッシュメモリにヒットするか否かを判定するヒット・ミス判定ステップと、
    前記ヒット・ミス判定ステップにおいてヒットしないと判定されたとき、前記キャッシュメモリに記憶されているデータのアドレスを含むアドレス領域に対応するアクセス時間を、前記メインメモリの、1または複数のアドレスを含むアドレス領域毎に、前記ホストによるそのアドレス領域に含まれるアドレスへのアクセス時間を記憶するアクセス時間記憶部から取得し、前記キャッシュメモリ上にそのデータのアドレスを含むアドレス領域と対応付けて記憶されている、前記ホストによるそのアドレス領域に含まれるアドレスへのアクセス回数を前記キャッシュメモリから取得し、取得したアクセス時間及びアクセス回数に基づいて、前記キャッシュメモリにそのデータを記憶させるべき優先度を示す内部優先度を取得する内部優先度取得ステップと、
    前記ヒット・ミス判定ステップにおいてヒットしないと判定されたとき、前記アクセス要求の対象であるアドレスを含むアドレス領域に対応するアクセス時間を前記アクセス時間記憶部から取得し、前記メインメモリ上に前記アクセス要求の対象であるアドレスを含むアドレス領域と対応付けて記憶されている、前記ホストによるそのアドレス領域に含まれるアドレスへのアクセス回数を前記メインメモリから取得し、取得したアクセス時間及びアクセス回数に基づいて、前記キャッシュメモリに前記アクセス要求の対象であるアドレスのデータを優先的に記憶させるべき優先度を示す外部優先度を取得する外部優先度取得ステップと、
    前記内部優先度取得ステップにおいて取得された内部優先度と、前記外部優先度取得ステップにおいて取得された外部優先度と、に基づいて、前記キャッシュメモリに記憶されているデータを、前記アクセス要求の対象であるアドレスのデータに置き換えるか否かを判定するキャッシュ更新ステップと、
    を有することを特徴とするキャッシュ制御方法。
JP2012038306A 2012-02-24 2012-02-24 キャッシュ制御装置、及びキャッシュ制御方法 Expired - Fee Related JP5868213B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012038306A JP5868213B2 (ja) 2012-02-24 2012-02-24 キャッシュ制御装置、及びキャッシュ制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012038306A JP5868213B2 (ja) 2012-02-24 2012-02-24 キャッシュ制御装置、及びキャッシュ制御方法

Publications (2)

Publication Number Publication Date
JP2013174997A JP2013174997A (ja) 2013-09-05
JP5868213B2 true JP5868213B2 (ja) 2016-02-24

Family

ID=49267854

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012038306A Expired - Fee Related JP5868213B2 (ja) 2012-02-24 2012-02-24 キャッシュ制御装置、及びキャッシュ制御方法

Country Status (1)

Country Link
JP (1) JP5868213B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6680497B2 (ja) * 2015-09-25 2020-04-15 富士通デバイス株式会社 遊技機用記憶装置
JP6485320B2 (ja) * 2015-10-23 2019-03-20 富士通株式会社 キャッシュメモリおよびキャッシュメモリの制御方法
JP6996139B2 (ja) * 2017-07-14 2022-01-17 富士通株式会社 情報処理装置、プログラム及び情報処理方法
CN112470114A (zh) * 2018-07-26 2021-03-09 索尼半导体解决方案公司 存储控制装置、存储装置和信息处理系统
CN112948286A (zh) * 2019-12-10 2021-06-11 阿里巴巴集团控股有限公司 数据缓存方法、装置、电子设备及计算机可读介质
CN111159232A (zh) * 2019-12-16 2020-05-15 浙江中控技术股份有限公司 一种数据缓存方法及系统
CN113051194B (zh) * 2021-03-02 2023-06-09 长沙景嘉微电子股份有限公司 缓冲存储器、gpu、处理系统及缓存访问方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3486435B2 (ja) * 1993-11-30 2004-01-13 キヤノン株式会社 メモリキャッシング方法及び装置
JP3043732B1 (ja) * 1998-12-18 2000-05-22 甲府日本電気株式会社 データ置換システム
WO2002003207A1 (en) * 2000-06-30 2002-01-10 Koninklijke Philips Electronics N.V. Data processing apparatus with a cache memory and method of using such an apparatus
US6961821B2 (en) * 2002-10-16 2005-11-01 International Business Machines Corporation Reconfigurable cache controller for nonuniform memory access computer systems
JP2004355365A (ja) * 2003-05-29 2004-12-16 Fujitsu Ltd キャッシュ管理装置およびキャッシュメモリ管理方法
JP5541361B2 (ja) * 2010-07-01 2014-07-09 日本電気株式会社 記憶装置、解放優先順位決定方法およびプログラム

Also Published As

Publication number Publication date
JP2013174997A (ja) 2013-09-05

Similar Documents

Publication Publication Date Title
JP5868213B2 (ja) キャッシュ制御装置、及びキャッシュ制御方法
JP6696987B2 (ja) 仮想アドレスを使用してアクセスされるキャッシュ
JP5536658B2 (ja) バッファメモリ装置、メモリシステム及びデータ転送方法
US8775752B2 (en) Virtual memory management apparatus and memory management apparatus
JP2017151982A5 (ja)
JP2018504694A5 (ja)
JP2018133086A (ja) ハイブリッドメモリーモジュール及びその動作方法
US9792221B2 (en) System and method for improving performance of read/write operations from a persistent memory device
US10120750B2 (en) Cache memory, error correction circuitry, and processor system
EP2472412B1 (en) Explicitly regioned memory organization in a network element
US10564871B2 (en) Memory system having multiple different type memories with various data granularities
CN108701070B (zh) 对多级系统存储器的存储器侧高速缓存的容易出错的高速缓存行槽的处理
US10732896B2 (en) Method and system for reading data during control sync operations
KR101893966B1 (ko) 메모리 관리 방법 및 장치, 및 메모리 컨트롤러
TWI237177B (en) Allocating cache lines
WO2015125971A1 (ja) キャッシュ存在情報を有するtlb
US20110167223A1 (en) Buffer memory device, memory system, and data reading method
KR102482516B1 (ko) 메모리 어드레스 변환
US10713165B2 (en) Adaptive computer cache architecture
US7519778B2 (en) System and method for cache coherence
JP7311959B2 (ja) 複数のデータ・タイプのためのデータ・ストレージ
KR102521746B1 (ko) 메모리 장치의 주소 맵핑을 관리하는 반도체 장치 및 이를 포함하는 데이터 저장 장치
CN109791521B (zh) 提供数据访问的原子集的装置及方法
CN112035382A (zh) 低延迟访问ftl的方法与装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140908

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150623

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150717

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160105

R150 Certificate of patent or registration of utility model

Ref document number: 5868213

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees