JP2002373115A - 共有キャッシュメモリのリプレイスメント制御方法及びその装置 - Google Patents
共有キャッシュメモリのリプレイスメント制御方法及びその装置Info
- Publication number
- JP2002373115A JP2002373115A JP2001179637A JP2001179637A JP2002373115A JP 2002373115 A JP2002373115 A JP 2002373115A JP 2001179637 A JP2001179637 A JP 2001179637A JP 2001179637 A JP2001179637 A JP 2001179637A JP 2002373115 A JP2002373115 A JP 2002373115A
- Authority
- JP
- Japan
- Prior art keywords
- ways
- cache memory
- processor
- way
- replacement
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/6042—Allocation of cache space to multiple users or processors
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)
Abstract
するマルチプロセッサシステムにおいて、或るプロセッ
サがアクセス対象にしているブロックの写しが、他のプ
ロセッサがアクセス対象にしているブロックの写しで置
き換えられることに起因して発生するミスヒット(プロ
セッサ間の競合ミス)をなくすことにより、マルチプロ
セッサシステムの処理速度を向上させる。 【解決手段】 置き換え対象選択回路303 は、キャッシ
ュメモリの複数のウェイを、プロセッサ毎のグループに
グループ分けして管理している。ミスヒットが発生した
場合、上記ミスヒットの原因となるメモリアクセスを行
ったプロセッサ用にグループ分けしてあるウェイの中か
ら、置き換え対象にするウェイを1つ選択する。その
際、LRU ビット保持部302 が保持しているLRU ビットに
基づいて、上記グループ中のウェイの中から、参照順が
最も古いウェイを選択する。
Description
がnウェイセットアソシアティブ方式(nは2以上)の
キャッシュメモリを共有するマルチプロセッサシステム
に関し、特に、ミスヒットが発生した際に行うリプレイ
スメントの制御技術に関する。
るため、複数のプロセッサからなるマルチプロセッサシ
ステムを使用するということは、従来から行われてい
る。また、デバイス技術の進歩した現在では、1チップ
上にマルチプロセッサシステムを構成したオンチップマ
ルチプロセッサシステムも実現可能になっている。マル
チプロセッサシステムやオンチップマルチプロセッサシ
ステムでは、キャッシュメモリのヒット率を向上させた
り、キャッシュメモリTOレジスタのデータ転送に要す
るサイクル数を短縮するために、キャッシュ構成の研究
や発明が盛んになされている。
サ毎に個別のキャッシュメモリを持たせるプライベート
キャッシュ方式と、複数のプロセッサ間でキャッシュメ
モリを共有する共有キャッシュ方式とがある。共有キャ
ッシュ方式は、プライベートキャッシュ方式に比較し
て、メモリ素子数を少なくすることができるので、チッ
プ面積に制限のあるオンチップマルチプロセッサシステ
ムや、小型化,低コスト化が重視される用途では有利で
ある。
シュ方式を採用した従来の一般的なマルチプロセッサシ
ステムの動作を説明する。
採用したマルチプロセッサシステムは、プロセッサP
0,P1と、キャッシュコントローラCCと、キャッシ
ュメモリBSと、メインメモリMSとから構成されてい
る。尚、キャッシュメモリBSは、4ウェイセットアソ
シアティブ方式のものとする。また、ミスヒット時のブ
ロックの置き換えは、LRU法により行うとする。
A,B内のアドレスを順次出力し、次いで、プロセッサ
P1がブロックC,D,E内のアドレスを順次出力し、
その後、プロセッサP0が再びブロックA,B内のアド
レスを順次出力したとする。尚、上記各ブロックA〜E
は、全て同一のセットi内のブロックであり、キャッシ
ュメモリBSは、初期状態であるとする。
レスを出力し、その後、プロセッサP1がブロックC,
D内のアドレスを出力すると、図7(1)に示すよう
に、キャッシュメモリBSのセットiのウェイ0,1,
2,3にブロックA,B,C,Dの写しが格納される。
のアドレスを出力すると、図7(2)に示すように、ミ
スヒットが発生し、ウェイ0に格納されていたブロック
Aの写しがブロックEの写しに置き換えられる。更に、
プロセッサP0が、ブロックA内のアドレスを出力する
と、図7(3)に示すように、ミスヒットが発生し、ウ
ェイ1に格納されていたブロックBの写しがブロックA
の写しに置き換えられる。そして、最後にプロセッサP
0がブロックB内のアドレスを出力すると、図7(4)
に示すように、ミスヒットが発生し、ウェイ2に格納さ
れていたブロックCの写しがブロックBの写しに置き換
えられる。
の技術では、複数のプロセッサP0,P1が同一のセッ
トi内の多数のブロック(ウェイ数以上のブロック)を
アクセスするような場合、或るプロセッサがアクセス対
象にしているブロックの写しが、他のプロセッサがアク
セス対象にしているブロックの写しに置き換えられるこ
とに起因するミスヒット(プロセッサ間の競合ミス)が
発生してしまう。図7の例では、同図(2)において、
ウェイ0に格納されていたブロックAの写しがブロック
Eの写しに置き換えられることに起因する、同図
(3),(4)に示すミスヒットがこれに当たる。そし
て、プロセッサ間の競合ミスが発生した場合には、置き
換えが行われるため、マルチプロセッサシステムの処理
速度が低下してしまうという問題がある。
競合ミスの発生を防止することにある。
成するため、複数のプロセッサがnウェイセットアソシ
アティブ方式のキャッシュメモリを共有するマルチプロ
セッサシステムにおいて、前記キャッシュメモリの複数
のウェイを前記各プロセッサ毎のグループにグループ分
けし、ミスヒットが発生した時、前記ミスヒットの原因
となるメモリアクセスを行ったプロセッサにグループ分
けされているウェイの中から、置き換えの対象にするウ
ェイを1つ選択する。
リアクセスを原因とするミスヒットが発生した場合、置
き換えの対象にするウェイが、各プロセッサ毎のウェイ
のグループの内の、上記或るプロセッサに対応するグル
ープ内のウェイに制限されるので、プロセッサ間の競合
ミスが発生することはない。
に、障害等によりオフライン状態になったプロセッサが
発生した場合においても、キャッシュメモリの利用効率
が低下することを防止できるようにするため、オフライ
ン状態のプロセッサが存在する状況において、オフライ
ン状態のプロセッサにグループ分けされているウェイ
を、オンライン状態のプロセッサにどのように分配する
のかを示すオフライン時分配情報を管理しておき、オフ
ライン状態のプロセッサが存在する状況においてミスヒ
ットが発生した場合、前記ミスヒットの原因となるメモ
リアクセスを行ったプロセッサにグループ分けされてい
るウェイと、前記オフライン時分配情報が前記ミスヒッ
トの原因となったプロセッサに新たに分配することを示
しているウェイの中から、置き換えの対象にするウェイ
を1つ選択する。
チプロセッサシステムを構成する各プロセッサ毎のグル
ープにグループ分けするだけでは、オフライン状態のプ
ロセッサが発生した場合、オフライン状態のプロセッサ
に割り当てられているグループ中のウェイは、全く使用
されなくなってしまい、キャッシュメモリの利用効率が
低下する。これに対して、上記した構成では、オフライ
ン状態のプロセッサが存在する場合、オフライン状態の
プロセッサにグループ分けされていたウェイを、オンラ
イン状態のプロセッサに分配するようにしているので、
オフライン状態のプロセッサが発生した場合も、キャッ
シュメモリの全てのウェイが使用可能となり、キャッシ
ュメモリの利用効率低下を防ぐことができる。
図面を参照して詳細に説明する。
を示すブロック図であり、オンチップマルチプロセッサ
システム110,120と、オフチップキャッシュメモ
リ130と、メインメモリ140と、メモリバス15
0,160とから構成されている。
0は、プロセッサコア111,112と、キャッシュコ
ントローラ113と、オンチップキャッシュメモリ11
4とを備えている。また、オンチップマルチプロセッサ
システム120は、プロセッサコア121,122と、
キャッシュコントローラ123と、オンチップキャッシ
ュメモリ124とを備えている。尚、オンチップキャッ
シュメモリ113,123は、4ウェイセットアソシア
ティブ方式のものとする。
ーラ113,オンチップキャッシュメモリ114の構成
例を示したブロック図である。尚、キャッシュコントロ
ーラ123,オンチップキャッシュメモリ124も、同
様の構成を有している。
ア111,112がメインメモリ140をアクセスする
際の物理アドレス(32ビットとする)を保持するレジ
スタである。この物理アドレスは、ブロックアドレス2
02(18ビットとする)と、セットアドレス203
(8ビットとする)と、ブロック内バイトアドレス20
4(6ビットとする)とから構成されている。従って、
ディレクトリ部207,データアレイ部214のセット
数は256個となる。
×256セット)には、メインメモリ140の適当なブ
ロックの写しが格納される。ディレクトリ部207の各
領域(4ウェイ×256セット)には、データアレイ部
214の対応する領域に写しが格納されているブロック
のブロックアドレスと、その写しが有効であるか否かを
示す有効ビットとからなるタグ情報が格納されている。
を保持するレジスタである。デコーダ210は、レジス
タ209に保持されているセットアドレスを解読し、デ
ィレクトリ部207の第0セット〜第255セットの内
の1つを選択する選択信号を出力する。
を保持するレジスタである。デコーダ216は、レジス
タ215に保持されているセットアドレスを解読し、デ
ータアレイ部214の第0セット〜第255セットの内
の1つを選択する選択信号を出力する。
7の256個のセットの内の、デコーダ210によって
選択されたセット中の第0〜第3ウェイの内容(タグ情
報)と、アドレスレジスタ201に保持されているブロ
ックアドレス202とが入力される。そして、有効ビッ
トが有効を示しているタグ情報中のブロックアドレス
と、ブロックアドレス202とを比較し、一致するもの
がなければ、ミスヒット信号を出力し、一致するものが
あれば、ヒット信号を出力する。尚、ヒット信号には、
一致したブロックアドレスがどのウェイに格納されてい
たものなのかを示すセレクト情報が含まれる。
力されるヒット信号,ミスヒット信号を保持するレジス
タである。
ット信号が出力された場合、それに含まれているセレク
ト情報と、デコーダ216の出力とによって特定され
る、データアレイ部214の領域に格納されているデー
タを出力する。
ヒットが発生したときに、ディレクトリ部207に書き
込むタグ情報が保持される。一方、データレジスタ21
2には、ミスヒットが発生したときに、データアレイ部
214に書き込むブロックの写しが保持される。
回路208からミスヒット信号が出力された場合、置き
換えの対象にするウェイを示す置き換えウェイ信号を出
力する。尚、リプレイスメント制御回路218の構成,
動作については、後で詳細に説明する。
回路218からの置き換えウェイ信号に従って、キャッ
シュタグレジスタ205に保持されているタグ情報を、
ディレクトリ部207の4個のウェイの内の、上記置き
換えウェイ信号によって示されるウェイに出力する。デ
ィレクトリ部207は、選択回路206から出力された
タグ情報を、その出力先のウェイと、デコーダ210に
よって選択されたセット(ミスヒットの発生したセッ
ト)とによって特定される領域に書き込む。
ト制御回路218からの置き換えウェイ信号に従って、
データレジスタ212に保持されているブロックの写し
を、データアレイ部214の4個のウェイの内の、上記
置き換えウェイ信号によって示されるウェイに出力す
る。データアレイ部214は、選択回路213から出力
されたブロックの写しを、その出力先のウェイと、デコ
ーダ216によって選択されたセット(ミスヒットの発
生したセット)とによって特定される領域に書き込む。
御回路218の構成例を示すブロック図であり、LRU
ビット更新回路301と、LRUビット保持部302
と、置き換え対象選択回路303と、レジスタ304と
を備えている。
55セットの256個のセットから構成され、各セット
には、そのセット内の4個のウェイの参照順を示すLR
Uビットが格納されている。尚、本実施例では、LRU
ビットを8ビット構成とし、先頭から2ビットずつをそ
れぞれ第0,第1,第2,第3ウェイに割り当てるもの
とする。そして、各ウェイに対応するビットには、参照
順が古いものから順番に“00”“01”“10”“1
1”を設定するものとする。
208からヒット信号が出力された場合、LRUビット
保持部302に保持されているLRUビットの内の、セ
ットアドレス203によって特定されるセット中のLR
Uビットを更新する。
1,112がオンライン状態であるか、オフライン状態
(故障もオフライン状態とする)であるかを示すオンオ
フ状態情報が格納されている。
路208からのミスヒット信号と、LRUビット保持部
302の出力(セットアドレスによって選択されている
セットの内容)と、レジスタ304からのオンオフ状態
情報と、プロセッサコア111或いはプロセッサコア1
12からのアクティブ信号とが入力されている。アクテ
ィブ信号は、プロセッサコア111,112がメモリア
クセスを行った時に、プロセッサコア111,112か
ら出力されるものであり、自プロセッサコアを示す情報
(例えば、プロセッサコア番号)を含んでいる。
208からミスヒット信号が出力されると、図4のアル
ゴリズムに従った動作を行う。図4を参照して、置き換
え対象選択回路303の動作を説明する。
トリ部207,データアレイ部214の4個のウェイ
を、プロセッサコア111用のウェイ(ウェイ0,1と
する)と、プロセッサコア112用のウェイ(ウェイ
2,3とする)とにグループ分けして管理している。更
に、置き換え対象選択回路303は、プロセッサコア1
11がオフライン状態の場合はプロセッサコア111用
にグループ分けされているウェイ0,1をオンライン状
態のプロセッサコア112に分配し、プロセッサコア1
12がオフライン状態の場合は、プロセッサコア112
用にグループ分けされているウェイ2,3をオンライン
状態のプロセッサコア111に分配することを示すオフ
ライン時分配情報を管理している。
されたとき、置き換え対象選択回路303は、レジスタ
304の内容及びアクティブ信号が示すプロセッサコア
(ミスヒットの原因となるメモリアクセスを行ったプロ
セッサコア)に基づいて下記(A)〜(D)の何れかの
動作を行う。
ンオフ状態情報が、プロセッサコア111,112が共
にオンライン状態であることを示し、且つアクティブ信
号がプロセッサコア111を示している場合の動作 ・LRUビット保持部302から出力されている8ビッ
ト構成のLRUビットの内の、プロセッサコア111用
にグループ分けしてあるウェイ0,1に対応するビット
同士を比較し(本実施例では、第0,第1ビットと、第
2,第3ビットとを比較する)、どちらのウェイの方が
参照順が古いかを調べる。その後、参照順が古い方のウ
ェイを示す置き換えウェイ信号を生成し、出力する。例
えば、ウェイ0,1に対応するビットがそれぞれ“0
0”“10”であれば、ウェイ0を示す置き換えウェイ
信号を出力する。この置き換えウェイ信号は、図2の選
択回路206,213に供給される。
ンオフ状態情報が、プロセッサコア111,112が共
にオンライン状態であることを示し、且つアクティブ信
号がプロセッサコア112を示している場合の動作 ・LRUビット保持部302から出力されている8ビッ
ト構成のLRUビットの内の、プロセッサコア112用
にグループ分けしてあるウェイ2,3に対応するビット
同士を比較し(本実施例では、第4,第5ビットと第
6,第7ビットとを比較する)、どちらのウェイの方が
参照順が古いかを調べる。その後、参照順が古い方のウ
ェイを示す置き換えウェイ信号を生成し、出力する。
ンオフ状態情報が、プロセッサコア111がオフライン
状態で、プロセッサコア112がオンライン状態である
ことを示している場合の動作 ・オフライン時分配情報に基づいて、オフライン状態の
プロセッサコア111用にグループ分けされているウェ
イ0,1をオンライン状態のプロセッサコア112に分
配する。その後、LRUビット保持部302から出力さ
れている8ビット構成のLRUビットに基づいて、プロ
セッサコア112用にグループ分けされているウェイ
2,3と、新たにプロセッサコア112に分配されたウ
ェイ0,1の中から参照順が最も古いウェイを選択す
る。その後、選択したウェイを示す置き換えウェイ信号
を生成し、出力する。
ンオフ状態情報が、プロセッサコア112がオフライン
状態で、プロセッサコア111がオンライン状態である
ことを示している場合の動作 ・オフライン時分配情報に基づいて、オフライン状態の
プロセッサコア112用にグループ分けされているウェ
イ2,3をオンライン状態のプロセッサコア111に分
配する。その後、LRUビット保持部302から出力さ
れている8ビット構成のLRUビットに基づいて、プロ
セッサコア111用にグループ分けされているウェイ
0,1と、新たにプロセッサコア111に分配されたウ
ェイ2,3の中から参照順が最も古いウェイを選択す
る。その後、選択したウェイを示す置き換えウェイ信号
を生成し、出力する。
明する。
ロックA,B内のアドレスを順次出力し、次いで、プロ
セッサコア112がブロックC,D,E内のアドレスを
順次出力し、その後、プロセッサコア111が再びブロ
ックA,B内のアドレスを順次出力したとする。尚、上
記各ブロックA〜Eは、全て同一のセットi内のブロッ
クであり、キャッシュメモリBSは、初期状態であると
する。
のアドレスを出力し、その後、プロセッサコア112が
ブロックC,D内のアドレスを出力すると、図5(1)
に示すように、データアレイ部214のセットiのウェ
イ0,1,2,3にブロックA,B,C,Dの写しが格
納される。
クE内のアドレスを出力すると、プロセッサコア112
用のウェイは、ウェイ2,3に制限されているので、図
5(2)に示すように、ミスヒットが発生し、ウェイ2
に格納されていたブロックCの写しがブロックEの写し
に置き換えられる。
A,B内のアドレスを順次出力しても、図5(3),
(4)に示すように、キャッシュヒットとなり、プロセ
ッサ間の競合ミスは発生しない。
サコア間の競合ミスを完全に防止できるので、従来の技
術に比較して置き換えが行われる回数を減らし(図7参
照)、マルチプロセッサシステムの処理速度を向上させ
ることができる。また、故障等のオフライン状態のプロ
セッサコアが発生した場合、そのプロセッサコアにグル
ープ分けされていたウェイを、オンライン状態のプロセ
ッサコアに分配するようにしたので、オフライン状態の
プロセッサコアが発生しても、キャッシュメモリの利用
効率が低下することはない。
プマルチプロセッサシステムの台数を2台としたが、3
台以上であっても良い。また、オンチップマルチプロセ
ッサシステム内のプロセッサコアの台数を2台とした
が、3台以上であっても良い。更に、キャッシュメモリ
のウェイ数を4としたが、ウェイ数はオンチップ上のプ
ロセッサコア数より多ければ良い。キャッシュメモリの
リード/ライトポートは各1ポートで構成されている
が、複数のポートで構成してもよい。また、オフチップ
マルチプロセッサの共有キャッシュとしても適用も可能
である。実施例では、L1キャッシュだがL2キャッシ
ュより下の階層のキャッシュにも適用可能である。
シュメモリの複数のウェイを、マルチプロセッサシステ
ムを構成する各プロセッサ毎のグループにグループ分け
しておき、ミスヒットが発生した時、ミスヒットの原因
となるメモリアクセスを行ったプロセッサ用にグループ
分けされているウェイの中から、置き換え対象にするウ
ェイを1つ選択するようにしているので、プロセッサ間
の競合ミス(或るプロセッサがアクセス対象にしている
ブロックの写しが、他のプロセッサがアクセス対象にし
ているブロックの写しで置き換えられることに起因して
発生するミスヒット)を完全になくすことができる。そ
の結果、プロセッサ間の競合ミスに起因する置き換えが
発生しないので、マルチプロセッサシステムの処理速度
を向上させることができる。
ッサが存在する場合、オフライン状態のプロセッサにグ
ループ分けされていたウェイを、オンライン状態のプロ
セッサに分配するようにしているので、オフライン状態
のプロセッサが発生した場合も、キャッシュメモリの全
てのウェイが使用可能となり、キャッシュメモリの利用
効率低下を防ぐことができる。
ック図である。
ャッシュメモリ114の構成例を示すブロック図であ
る。
すブロック図である。
ズムを示す図である。
示す図である。
Claims (7)
- 【請求項1】 複数のプロセッサがnウェイセットアソ
シアティブ方式のキャッシュメモリを共有するマルチプ
ロセッサシステムにおいて、 前記キャッシュメモリの複数のウェイを前記各プロセッ
サ毎のグループにグループ分けし、 ミスヒットが発生した時、前記ミスヒットの原因となる
メモリアクセスを行ったプロセッサにグループ分けされ
ているウェイの中から、置き換えの対象にするウェイを
1つ選択することを特徴とする共有キャッシュメモリの
リプレイスメント制御方法。 - 【請求項2】 請求項1記載の共有キャッシュメモリの
リプレイスメント制御方法において、 オフライン状態のプロセッサが存在する状況において、
オフライン状態のプロセッサにグループ分けされている
ウェイを、オンライン状態のプロセッサにどのように分
配するのかを示すオフライン時分配情報を管理してお
き、 オフライン状態のプロセッサが存在する状況においてミ
スヒットが発生した場合、前記ミスヒットの原因となる
メモリアクセスを行ったプロセッサにグループ分けされ
ているウェイと、前記オフライン時分配情報が前記ミス
ヒットの原因となったプロセッサに新たに分配すること
を示しているウェイの中から、置き換えの対象にするウ
ェイを1つ選択することを特徴とする共有キャッシュメ
モリのリプレイスメント制御方法。 - 【請求項3】 請求項1または2記載の共有キャッシュ
メモリのリプレイスメント制御方法において、 選択対象のウェイの中から置き換えの対象にするウェイ
を1つ選択する際、前記選択対象のウェイの内の、最も
遠い過去に参照されたウェイを選択することを特徴とす
る共有キャッシュメモリのリプレイスメント制御方法。 - 【請求項4】 複数のプロセッサがnウェイセットアソ
シアティブ方式のキャッシュメモリを共有するマルチプ
ロセッサシステムにおける共有キャッシュメモリのリプ
レイスメント制御装置であって、 前記キャッシュメモリの複数のウェイを前記各プロセッ
サ毎のグループにグループ分けし、ミスヒットが発生し
た時、前記ミスヒットの原因となるメモリアクセスを行
ったプロセッサにグループ分けされているウェイの中か
ら、置き換えの対象にするウェイを1つ選択する置き換
え対象選択回路を備えたことを特徴とする共有キャッシ
ュメモリのリプレイスメント制御装置。 - 【請求項5】 請求項4記載の共有キャッシュメモリの
リプレイスメント制御装置において、 前記置き換え対象選択回路が、 オフライン状態のプロセッサが存在する状況において、
オフライン状態のプロセッサにグループ分けされている
ウェイを、オンライン状態のプロセッサにどのように分
配するのかを示すオフライン時分配情報を管理してお
き、オフライン状態のプロセッサが存在する状況におい
てミスヒットが発生した場合、前記ミスヒットの原因と
なるメモリアクセスを行ったプロセッサにグループ分け
されているウェイと、前記オフライン時分配情報が前記
ミスヒットの原因となったプロセッサに新たに分配する
ことを示しているウェイの中から、置き換えの対象にす
るウェイを1つ選択する構成を有することを特徴とする
共有キャッシュメモリのリプレイスメント制御装置。 - 【請求項6】 請求項4または5記載の共有キャッシュ
メモリのリプレイスメント制御装置において、 前記置き換え対象選択回路が、 選択対象のウェイの中から置き換えの対象にするウェイ
を1つ選択する際、前記選択対象のウェイの内の、最も
遠い過去に参照されたウェイを選択する構成を有するこ
とを特徴とする共有キャッシュメモリのリプレイスメン
ト制御装置。 - 【請求項7】 請求項6記載の共有キャッシュメモリの
リプレイスメント制御装置において、 前記キャッシュメモリ中の各セット毎に、そのセット中
のウェイの参照順を示すLRUビットが登録されたLR
Uビット保持部を備え、且つ、 前記置き換え対象選択回路が、 前記選択対象のウェイの中から最も遠い過去の参照され
たウェイを選択する際、前記LRUビット保持部の内容
に基づいて選択する構成を有することを特徴とする共有
キャッシュメモリのリプレイスメント制御装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001179637A JP3620473B2 (ja) | 2001-06-14 | 2001-06-14 | 共有キャッシュメモリのリプレイスメント制御方法及びその装置 |
US10/166,625 US6877067B2 (en) | 2001-06-14 | 2002-06-12 | Shared cache memory replacement control method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001179637A JP3620473B2 (ja) | 2001-06-14 | 2001-06-14 | 共有キャッシュメモリのリプレイスメント制御方法及びその装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002373115A true JP2002373115A (ja) | 2002-12-26 |
JP3620473B2 JP3620473B2 (ja) | 2005-02-16 |
Family
ID=19020178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001179637A Expired - Fee Related JP3620473B2 (ja) | 2001-06-14 | 2001-06-14 | 共有キャッシュメモリのリプレイスメント制御方法及びその装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6877067B2 (ja) |
JP (1) | JP3620473B2 (ja) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007105256A1 (ja) | 2006-02-24 | 2007-09-20 | Fujitsu Limited | マルチプロセッサシステム、プロセッサ、およびキャッシュ制御方法 |
JP2008097572A (ja) * | 2006-09-11 | 2008-04-24 | Matsushita Electric Ind Co Ltd | 演算装置、コンピュータシステム、および携帯機器 |
JP2009015509A (ja) * | 2007-07-03 | 2009-01-22 | Renesas Technology Corp | キャッシュメモリ装置 |
US7493448B2 (en) | 2002-06-24 | 2009-02-17 | Nec Corporation | Prevention of conflicting cache hits without an attendant increase in hardware |
JP2009098933A (ja) * | 2007-10-17 | 2009-05-07 | Nec Corp | 登録先ウェイの固定方法、プロセッサ、及び情報処理装置 |
WO2009075070A1 (ja) * | 2007-12-10 | 2009-06-18 | Panasonic Corporation | 共有キャッシュ制御装置、共有キャッシュ制御方法及び集積回路 |
US7558920B2 (en) | 2004-06-30 | 2009-07-07 | Intel Corporation | Apparatus and method for partitioning a shared cache of a chip multi-processor |
WO2010116431A1 (ja) * | 2009-04-08 | 2010-10-14 | パナソニック株式会社 | キャッシュ制御装置及びキャッシュ制御方法 |
JP2011523745A (ja) * | 2008-05-30 | 2011-08-18 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 分散型レベル1キャッシュシステム及び集中型レベル2キャッシュを有するシェーダ複合体 |
JP2012522290A (ja) * | 2009-03-27 | 2012-09-20 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | キャッシュにおけるウエイ割り当て及びウエイロックのための方法 |
JP2013502645A (ja) * | 2009-08-21 | 2013-01-24 | エンパイア テクノロジー ディベロップメント エルエルシー | キャッシュメモリ結合性を伴うプロセッサコアの割当 |
JP2013516006A (ja) * | 2009-12-29 | 2013-05-09 | エンパイア テクノロジー ディベロップメント エルエルシー | エネルギー効率のよいマルチコアプロセッサのための共用メモリ |
JP2017507443A (ja) * | 2014-12-14 | 2017-03-16 | ヴィア アライアンス セミコンダクター カンパニー リミテッド | ヘテロジニアス置換ポリシーを用いるセット・アソシエイティブ・キャッシュ・メモリ |
US9898411B2 (en) | 2014-12-14 | 2018-02-20 | Via Alliance Semiconductor Co., Ltd. | Cache memory budgeted by chunks based on memory access type |
US9910785B2 (en) | 2014-12-14 | 2018-03-06 | Via Alliance Semiconductor Co., Ltd | Cache memory budgeted by ways based on memory access type |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040199727A1 (en) * | 2003-04-02 | 2004-10-07 | Narad Charles E. | Cache allocation |
US20070094664A1 (en) * | 2005-10-21 | 2007-04-26 | Kimming So | Programmable priority for concurrent multi-threaded processors |
US20070275278A1 (en) * | 2006-05-27 | 2007-11-29 | Dr. Herng Shinn Hwang | Integrated catalytic and turbine system and process for the generation of electricity |
US8185695B2 (en) * | 2008-06-30 | 2012-05-22 | Advanced Micro Devices, Inc. | Snoop filtering mechanism |
US8392661B1 (en) * | 2009-09-21 | 2013-03-05 | Tilera Corporation | Managing cache coherence |
JP5336423B2 (ja) | 2010-05-14 | 2013-11-06 | パナソニック株式会社 | 計算機システム |
US20130097387A1 (en) * | 2011-10-14 | 2013-04-18 | The Board Of Trustees Of The Leland Stanford Junior University | Memory-based apparatus and method |
CN102521151A (zh) * | 2011-11-28 | 2012-06-27 | 华为技术有限公司 | 数据缓存方法和装置 |
US9223709B1 (en) * | 2012-03-06 | 2015-12-29 | Marvell International Ltd. | Thread-aware cache memory management |
US9274963B2 (en) * | 2012-07-20 | 2016-03-01 | International Business Machines Corporation | Cache replacement for shared memory caches |
US9529719B2 (en) * | 2012-08-05 | 2016-12-27 | Advanced Micro Devices, Inc. | Dynamic multithreaded cache allocation |
US9086987B2 (en) | 2012-09-07 | 2015-07-21 | International Business Machines Corporation | Detection of conflicts between transactions and page shootdowns |
US9086986B2 (en) | 2012-09-07 | 2015-07-21 | International Business Machines Corporation | Detection of conflicts between transactions and page shootdowns |
KR102354848B1 (ko) | 2014-11-28 | 2022-01-21 | 삼성전자주식회사 | 캐시 메모리 장치 및 이를 포함하는 전자 시스템 |
US9652398B2 (en) * | 2014-12-14 | 2017-05-16 | Via Alliance Semiconductor Co., Ltd. | Cache replacement policy that considers memory access type |
EP3230874B1 (en) * | 2014-12-14 | 2021-04-28 | VIA Alliance Semiconductor Co., Ltd. | Fully associative cache memory budgeted by memory access type |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4736293A (en) * | 1984-04-11 | 1988-04-05 | American Telephone And Telegraph Company, At&T Bell Laboratories | Interleaved set-associative memory |
JPS63254543A (ja) | 1987-04-10 | 1988-10-21 | Matsushita Electric Ind Co Ltd | マルチプロセツサ装置 |
US5553262B1 (en) * | 1988-01-21 | 1999-07-06 | Mitsubishi Electric Corp | Memory apparatus and method capable of setting attribute of information to be cached |
JP3348367B2 (ja) * | 1995-12-06 | 2002-11-20 | 富士通株式会社 | 多重アクセス方法および多重アクセスキャッシュメモリ装置 |
US6205519B1 (en) * | 1998-05-27 | 2001-03-20 | Hewlett Packard Company | Cache management for a multi-threaded processor |
US6434669B1 (en) * | 1999-09-07 | 2002-08-13 | International Business Machines Corporation | Method of cache management to dynamically update information-type dependent cache policies |
JP3812258B2 (ja) * | 2000-01-13 | 2006-08-23 | 株式会社日立製作所 | キャッシュ記憶装置 |
US6598123B1 (en) * | 2000-06-28 | 2003-07-22 | Intel Corporation | Snoop filter line replacement for reduction of back invalidates in multi-node architectures |
-
2001
- 2001-06-14 JP JP2001179637A patent/JP3620473B2/ja not_active Expired - Fee Related
-
2002
- 2002-06-12 US US10/166,625 patent/US6877067B2/en not_active Expired - Fee Related
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7493448B2 (en) | 2002-06-24 | 2009-02-17 | Nec Corporation | Prevention of conflicting cache hits without an attendant increase in hardware |
US7558920B2 (en) | 2004-06-30 | 2009-07-07 | Intel Corporation | Apparatus and method for partitioning a shared cache of a chip multi-processor |
WO2007105256A1 (ja) | 2006-02-24 | 2007-09-20 | Fujitsu Limited | マルチプロセッサシステム、プロセッサ、およびキャッシュ制御方法 |
US7945754B2 (en) | 2006-02-24 | 2011-05-17 | Fujitsu Limited | Multiprocessor system, processor, and cache control method |
JP2008097572A (ja) * | 2006-09-11 | 2008-04-24 | Matsushita Electric Ind Co Ltd | 演算装置、コンピュータシステム、および携帯機器 |
JP2009015509A (ja) * | 2007-07-03 | 2009-01-22 | Renesas Technology Corp | キャッシュメモリ装置 |
JP2009098933A (ja) * | 2007-10-17 | 2009-05-07 | Nec Corp | 登録先ウェイの固定方法、プロセッサ、及び情報処理装置 |
WO2009075070A1 (ja) * | 2007-12-10 | 2009-06-18 | Panasonic Corporation | 共有キャッシュ制御装置、共有キャッシュ制御方法及び集積回路 |
JP2011523745A (ja) * | 2008-05-30 | 2011-08-18 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 分散型レベル1キャッシュシステム及び集中型レベル2キャッシュを有するシェーダ複合体 |
JP2012522290A (ja) * | 2009-03-27 | 2012-09-20 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | キャッシュにおけるウエイ割り当て及びウエイロックのための方法 |
WO2010116431A1 (ja) * | 2009-04-08 | 2010-10-14 | パナソニック株式会社 | キャッシュ制御装置及びキャッシュ制御方法 |
US8868835B2 (en) | 2009-04-08 | 2014-10-21 | Panasonic Corporation | Cache control apparatus, and cache control method |
JP2013502645A (ja) * | 2009-08-21 | 2013-01-24 | エンパイア テクノロジー ディベロップメント エルエルシー | キャッシュメモリ結合性を伴うプロセッサコアの割当 |
JP2013516006A (ja) * | 2009-12-29 | 2013-05-09 | エンパイア テクノロジー ディベロップメント エルエルシー | エネルギー効率のよいマルチコアプロセッサのための共用メモリ |
US9367462B2 (en) | 2009-12-29 | 2016-06-14 | Empire Technology Development Llc | Shared memories for energy efficient multi-core processors |
JP2017507443A (ja) * | 2014-12-14 | 2017-03-16 | ヴィア アライアンス セミコンダクター カンパニー リミテッド | ヘテロジニアス置換ポリシーを用いるセット・アソシエイティブ・キャッシュ・メモリ |
US9811468B2 (en) | 2014-12-14 | 2017-11-07 | Via Alliance Semiconductor Co., Ltd. | Set associative cache memory with heterogeneous replacement policy |
US9898411B2 (en) | 2014-12-14 | 2018-02-20 | Via Alliance Semiconductor Co., Ltd. | Cache memory budgeted by chunks based on memory access type |
US9910785B2 (en) | 2014-12-14 | 2018-03-06 | Via Alliance Semiconductor Co., Ltd | Cache memory budgeted by ways based on memory access type |
Also Published As
Publication number | Publication date |
---|---|
US6877067B2 (en) | 2005-04-05 |
US20020194433A1 (en) | 2002-12-19 |
JP3620473B2 (ja) | 2005-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2002373115A (ja) | 共有キャッシュメモリのリプレイスメント制御方法及びその装置 | |
US5535361A (en) | Cache block replacement scheme based on directory control bit set/reset and hit/miss basis in a multiheading multiprocessor environment | |
JP4082612B2 (ja) | 複数のコヒーレンシ領域およびキャッシュ・パージのないコヒーレンシ領域間ソフトウェア・プロセス移行を備えるマルチプロセッサ・コンピュータ・システム | |
US6910108B2 (en) | Hardware support for partitioning a multiprocessor system to allow distinct operating systems | |
JPS61103258A (ja) | 多重プロセッサ・システム | |
JP5039913B2 (ja) | ロッキング・キャッシュを用いる直接的保存 | |
JPH11232173A (ja) | ローカルメモリに組み込んでいるリモートキャッシュとcc−NUMA(キャッシュ整合型の不均一メモリアクセス)アーキテクチュアを有するデータ処理システム | |
US20040073742A1 (en) | Method and system of managing virtualized physical memory in a data processing system | |
JP2002304328A (ja) | マルチプロセッサシステム用コヒーレンスコントローラ、およびそのようなコントローラを内蔵するモジュールおよびマルチモジュールアーキテクチャマルチプロセッサシステム | |
JP3900025B2 (ja) | 共有キャッシュメモリのヒット判定制御方法及び共有キャッシュメモリのヒット判定制御方式 | |
US6038642A (en) | Method and system for assigning cache memory utilization within a symmetric multiprocessor data-processing system | |
US5893163A (en) | Method and system for allocating data among cache memories within a symmetric multiprocessor data-processing system | |
JP2010097557A (ja) | セットアソシアティブ方式のキャッシュ装置及びキャッシュ方法 | |
US20050270876A1 (en) | Selectively changeable line width memory | |
US6785770B2 (en) | Data processing apparatus with a cache memory and method of using such an apparatus | |
US6094710A (en) | Method and system for increasing system memory bandwidth within a symmetric multiprocessor data-processing system | |
JP4712089B2 (ja) | 情報処理装置、システム制御装置および情報処理装置の制御方法 | |
JP2008512758A (ja) | 仮想アドレス・キャッシュに格納されたデータを共用する仮想アドレス・キャッシュ及び方法 | |
US7865691B2 (en) | Virtual address cache and method for sharing data using a unique task identifier | |
US6996675B2 (en) | Retrieval of all tag entries of cache locations for memory address and determining ECC based on same | |
US20060069873A1 (en) | Instruction cache using single-ported memories | |
JPS5928287A (ja) | キヤツシユバツフア制御装置 | |
KR100841130B1 (ko) | 상호접속 네트워크를 통한 효율적인 순서화 저장을 위한방법 및 장치 | |
JP2008176731A (ja) | マルチプロセッサシステム | |
JP2009151457A (ja) | キャッシュメモリシステムおよびキャッシュメモリ制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040729 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040803 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041004 |
|
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: 20041026 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041108 |
|
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: 20071126 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081126 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081126 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091126 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091126 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101126 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111126 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111126 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121126 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121126 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131126 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |