JP4036206B2 - セットアソシアティブキャッシュシステム及びキャッシュメモリの制御方法 - Google Patents

セットアソシアティブキャッシュシステム及びキャッシュメモリの制御方法 Download PDF

Info

Publication number
JP4036206B2
JP4036206B2 JP2004108286A JP2004108286A JP4036206B2 JP 4036206 B2 JP4036206 B2 JP 4036206B2 JP 2004108286 A JP2004108286 A JP 2004108286A JP 2004108286 A JP2004108286 A JP 2004108286A JP 4036206 B2 JP4036206 B2 JP 4036206B2
Authority
JP
Japan
Prior art keywords
cache
way
address
block
sets
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
JP2004108286A
Other languages
English (en)
Other versions
JP2005293300A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2004108286A priority Critical patent/JP4036206B2/ja
Priority to US11/092,679 priority patent/US7330935B2/en
Publication of JP2005293300A publication Critical patent/JP2005293300A/ja
Application granted granted Critical
Publication of JP4036206B2 publication Critical patent/JP4036206B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list

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)

Description

本発明は、キャッシュブロック数を一定数に維持したままセット数とウェイ数とを変更することができるセットアソシアティブキャッシュシステム及びキャッシュメモリの制御方法に関する。
現在、システムの複雑化、半導体技術の向上により、マルチタスクOS、マルチプロセッサ、マルチスレッドプロセッサ、オンチップマルチプロセッサ等の技術が構築可能になっている。さらに最近の傾向として、複数のシステムの小型化、資源の共有化の思想が尊重され、様々な発明が提案されている。そのような環境下でキャッシュの共有化の発明も盛んに提案されている。キャッシュの共有化で課題となることは、処理の複雑化に対応して、如何に性能が良いキャッシュシステムを構築するかにある。
キャッシュの性能を高めるため、システム単位の処理、プロセッサ単位の処理、スレッド単位の処理にキャッシュ領域を分割したキャッシュが提案されている。しかし、これらの分割手法は、以下の課題がある。
キャッシュセットで分割するタイプ
・ 領域を分割した場合、キャッシュブロックをそのまま利用できないのでキャッシュミスが発生する(課題1)。
キャッシュウェイで分割するタイプ
・ ウェイ数が不足して処理単位内での競合ミスが発生することがある(課題2)。
・ 処理単位数を増減して領域を変更する場合、処理単位間の競合ミスが発生する(課題3)。
キャッシュブロック単位で分割するタイプ
・ 処理単位数の増減に関わらず、処理単位間の競合ミスが発生する(課題4)。
さらに改良型のキャッシュシステムとして、ウェイ数を指定可能とし、さらに、ウェイ数に応じたヒットチェックを行うように構成することにより、プログラム単位でのキャッシュミスを減らす技術が特許文献1に開示されている。
また、ウェイ数の指定を可能とし、タスク間のキャッシュミスを減らす技術が特許文献2に開示されている。
特許文献1と2とに開示されたキャッシュシステムは、シングルプロセッサのための技術であり、マルチタスクOS、マルチプロセッサ、マルチスレッドのための技術ではない。従って、これらの技術では、マルチタスクOS、マルチプロセッサ、マルチスレッド下ではキャッシュミスを減らすことができない。
また、特許文献1と2とに開示されたウェイ選択・比較方法は、キャッシュ要求時のウェイの最大値を指定する手法であり、最大構成より少ないウェイ数の構成にした時に使用されないキャッシュ容量が発生し、キャッシュの使用効率が低い。
特開平5−20193号公報 特開平9−62582号公報
この発明は上記実情に鑑みてなされたものであり、セット数やウェイ数を変更しても、同一キャッシュアドレスに対応するキャッシュブロックの位置・範囲が変わらないセットアソシアティブキャッシュシステムなどを提供することを目的とする。
また、この発明は、セット数やウェイ数を変更しても、利用可能なキャッシュ容量が減少しないセットアソシアティブキャッシュシステムなどを提供することを目的とする。
上記目的を達成するため、本発明の第1の観点に係るセットアソシアティブキャッシュシステムは、
演算を実行する処理単位に応じてキャッシュ構成を変更するシステムであって、 i組のmウェイnセットのキャッシュメモリと、
所定の総ビット数で構成され、互いのビット数の和が前記所定の総ビット数となる範囲内でビット数を変えることが可能なブロックアドレスとセットアドレスとを含むキャッシュアドレスと前記処理単位が論理的に分割されている数を示すシステム数を有する前記処理単位に関する情報を含むキャッシュ管理情報に基づいて、前記i組のキャッシュメモリの全部又は1つを選択し、前記キャッシュアドレスの前記セットアドレスに従って、選択したキャッシュメモリのうちの第jのセットを選択するセット選択手段と、
キャッシュ管理情報に基づいてウェイを選択するウェイ選択手段と、
前記セット選択手段により選択されたセットの前記ウェイ選択手段で選択したウェイのキャッシュブロックのブロックアドレスとキャッシュアドレス中の要求ブロックアドレスとを比較し、キャッシュヒットとミスとの別を判定する判定手段と、
前記判定手段の判定結果に基づいて、置き換えブロックを選択する置き換え選択手段と、
を具備することを特徴とする。
記キャッシュ管理情報は、処理単位に関する情報を含む。前記処理単位に関する情報とは、例えば、システムの状態(論理的なシステムの数、キャッシュを要求したシステムの番号)を示す情報、プロセスの状態(論理的なプロセスの数、キャッシュを要求したプロセスの番号)を示す情報、スレッドの状態(論理的なスレッド数、キャッシュを要求したスレッドの番号)を示す情報、メモリの共有の状態を示す情報を含む。
前記ウェイ選択手段は、例えば、前記キャッシュ管理情報に基づいて、ウェイを選択し、前記置き換え選択手段は、前記キャッシュ管理情報と共にキャッシュブロックのLRU情報に基づいて、置き換えブロックを選択する。
また、前記ウェイ選択手段は、前記キャッシュ管理情報と共にキャッシュブロックの各ウェイにどの処理単位が割り当てられているかを示す拡張ビットに基づいて、ウェイを選択し、前記置き換え選択手段は、前記キャッシュ管理情報と共にキャッシュブロックのLRU情報とさらにキャッシュブロックの各ウェイにどの処理単位が割り当てられているかを示す拡張ビットに基づいて、置き換えブロックを選択する。
上述の制御により、上記キャッシュシステムは、例えば、mウェイi・nセットのセットアソシアティブキャッシュと、i・mウェイnセットのセットアソシアティブキャッシュと、として機能する。
この場合、セット数とウェイ数とを変更しても、同一のキャッシュアドレスに対応するキャッシュブロックの位置が変化しない。また、セット数とウェイ数とを変更しても、利用可能なキャッシュ容量が変化しない。
上記目的を達成するため、本発明の第2の観点に係るキャッシュメモリの制御方法は、
演算を実行する処理単位に応じてキャッシュ構成を変更するシステムにおいて、 i組のmウェイnセットのキャッシュメモリについて、
所定の総ビット数で構成され、互いのビット数の和が前記所定の総ビット数となる範囲内でビット数を変えることが可能なブロックアドレスとセットアドレスとを含むキャッシュアドレスと前記処理単位が論理的に分割されている数を示すシステム数を有する前記処理単位に関する情報を含むキャッシュ管理情報に基づいて、前記i組のキャッシュメモリの全部又は1つを選択し、前記キャッシュアドレスの前記セットアドレスに従って、選択したキャッシュメモリのうちの第jのセットを選択し、
前記キャッシュ管理情報に基づいてウェイを選択キャッシュブロックし、
選択したセットの選択したウェイのブロックアドレスと、キャッシュアドレス中の要求ブロックアドレスとを比較し、キャッシュヒットとミスとを判定し、
判定結果に基づいて、置き換えブロックを選択する、
ことを特徴とする。
上記構成とすることにより、この発明によれば、セット数とウェイ数とを適宜変更してキャッシュシステムを使用できる。
(実施形態1)
以下、この発明の実施の形態に係るキャッシュシステムを説明する。このキャッシュシステムは、処理単位(システム、プロセス、スレッド)に応じてキャッシュ構成を変更できる可変mウェイnセットアソシアティブキャッシュである。
図1に本実施の形態のキャッシュシステムの概要を示す。図1(a)に示すキャッシュシステム101は4セット4ウェイアソシアティブキャッシュで、キャッシュブロックには処理単位1のメモリブロックの写しが書き込まれている。一方、図1(b)に示すキャッシュシステム102はキャッシュシステム101の構成を変更した後の状態で2セット8ウェイアソシアティブキャッシュである。キャッシュブロックには処理単位1と処理単位2のメモリブロックの写しが書き込まれていて、各セット内のブロックは処理単位1と処理単位2とで2分割されている。
但し、図1(a)と(b)とで、処理1のメモリブロックの写しのキャッシュブロック上の位置は、符号1−1〜1−8で示すように変化していない。
このように、本実施の形態のキャッシュシステムは処理単位に応じて各セット内をブロック単位で分割でき、ウェイ数とセット数とを変更できる。
図2はプロセッサ構成を示している。プロセッサチップ200は、プロセッサコア210とプロセッサコア220とキャッシュコントローラ230と2−4セット4−2ウェイアソシアティブキャッシュ240で構成されている。
プロセッサコア210はマルチスレッドアーキテクチャ機能を有し、実質的に同時に複数(本実施の形態では2)スレッドを処理できる。ここでのスレッドとはハードウエアが同時に処理できる命令列のことを意味する。
また、プロセッサチップ200は論理的にシステム数を複数(本実施の形態では2)に分割できる。
図3は、図2に示すプロセッサチップ200に組み込まれている2−4セット4−2ウェイアソシアティブキャッシュ240の構成例を示す。
この2−4セット4−2ウェイアソシアティブキャッシュ240は、キャッシュコントローラ230からの指示により、2セット4ウェイアソシアティブ構成と4セット2ウェイアソシアティブ構成とで切り替えることができるキャッシュである。
図示するように、このキャッシュ240は、キャッシュアドレスレジスタA−REGとキャッシュ管理情報レジスタM−REGと、セットアドレスデコーダ320と、キャッシュアレイ330と、キャッシュアレイ340と、比較回路350と、から構成されている。
キャッシュアドレスレジスタA−REGは、キャッシュコントローラ230から供給されるキャッシュアドレス300を格納する。
キャッシュアドレス300は、ブロックアドレス301とセットアドレス302とブロック内アドレスとからなる。ブロックアドレス301とセットアドレス302との幅はセット数(この例では、4セットと2セットの別)に応じて変化する。
ブロックアドレス301は、4セットの場合には1ビット、2セットの場合には2ビットであり、4セットの場合には、「0」と「1」で、各セット内の第1ブロックと第2ブロックとを示す。一方、2セットの場合には、「00」、「01」、「10」、「11」で、各セット内の第1〜第4ブロックを示す。
セットアドレス302は、4セットの場合には2ビット、2セットの場合には1ビットであり、4セットの場合には、「00」、「01」、「10」、「11」で、第1〜第4セットを示し、2セットの場合には、「0」と「1」で、第1セットと第2セットとを示す。
また、キャッシュ管理情報310は、ソフトウエア(SW)、ファームウエア(FW)、又はハードウエア(HW)により設定され、実施例では、システム番号311と、スレッド番号312と、メモリ共有情報313とから構成されている。
システム番号311は、キャッシュ要求時点でのシステムの数(論理数)とキャッシュを要求したシステムの番号とを含む。スレッド番号312は、キャッシュ要求時点でのスレッドの数とキャッシュを要求したスレッドの番号を含む。メモリ共有情報313は、メモリを共有しているスレッドを特定する情報を提供する。
例えば、図2に示すプロセッサコア210と220とにより、システムが論理的に2つに分割されており、2つのうちの第1番のシステムがキャッシュを要求した場合には、システム番号311は、キャッシュ要求時点でのシステムの数(論理数)が2となり、キャッシュを要求したシステムの番号は「1」となる。
さらに、図2に示すプロセッサコア210と220とにより、3つのスレッドが並行して実行されており、第2番のスレッドがキャッシュを要求した場合には、スレッド番号312のスレッド数は3、キャッシュを要求したスレッドの番号は「2」となる。
さらに、あるスレッドがメモリを共有している場合には、そのスレッドの番号がメモリ共有情報313に設定される。
セットアドレスデコーダ320は、キャッシュアドレス300とキャッシュ管理情報310とを入力とし、対象セットを選択する。デコードのルールについては、後述する。
キャッシュアレイ330、340は、それぞれ、4つのキャッシュブロックから構成されている。各キャッシュブロックは、セット1〜4、ウェイ1〜4のいずれかに割り当てられている。
セットアドレスデコーダ320によりセットが選択され、キャッシュアレイ330、340は、選択されたセットに書き込まれているブロックアドレスを比較回路350に出力する。キャッシュアレイ330、340には最大幅のブロックアドレスが常に書き込まれる。比較回路350はブロックアドレス301とキャッシュ管理情報310とを入力とし、キャッシュのミスヒット判定を行う。
図4は比較回路350を詳細に示した図である。ウェイ選択回路410はキャッシュ管理情報310とLRUビット400とから、各処理単位が利用できるウェイ領域を選択する。LRUビット400の拡張ビットにはキャッシュ要求時点でのウェイ分割状態が保存されており、ウェイ選択回路410はLRUビット400の拡張ビットに格納されているウェイ分割状態に従って、キャッシュ要求時点でのセット数とウェイ数の状態を判別する。比較部420と比較部430はキャッシュアドレス300のブロックアドレス301とキャッシュアレイ330、340のブロックアドレスとウェイ選択回路410のウェイ領域とを比較してヒット判定回路440によってミス/ヒット判定を行う。置き換え選択回路450は、キャッシュミス時に置き換えるキャッシュブロックを選択する。実施例では、システム数が1の時は、4セット2ウェイアソシアティブキャッシュ構成で、システム数が2の時は2セット4ウェイアソシアティブキャッシュ構成とし、スレッド数に応じてウェイを分割するものとする。
(動作の説明)
2−4セット4−2ウェイアソシアティブキャッシュの動作の説明をする。図5はキャッシュ要求でセットアドレス302とキャッシュ管理情報310とからセットとウェイとの領域を決定するセットアドレスデコーダ320とウェイ選択回路410の動作結果とを表している。アクセス1から2は、4セット2ウェイアソシアティブキャッシュ構成で、アクセス3から6は、2セット4ウェイアソシアティブキャッシュ構成となる。
アクセス1の場合、セットアドレスデコーダ320はシステム番号311のシステム数が1の時、セットアドレス302の2ビット“11”からセット4を選択する。一方、ウェイ選択回路410はスレッド番号312のスレッド番号が1の時、LRUビット400の拡張ビットからセット4のウェイ3を選択する。LRUビット400のLRUビットは更新され、拡張ビットの更新は、スレッド数が増減した時に行われるので更新されない。
アクセス2の場合、セット4、ウェイ4が選択される。LRUビット400のLRUビットは更新され、拡張ビットは更新されない。
アクセス3の場合、セットアドレスデコーダ320はシステム番号311のシステム数が2の時、セットアドレス302の1ビット“1”からセット2とセット4を選択する(ウェイ数が2から4となる)。一方、ウェイ選択回路410はスレッド数が2から3となるので、LRUビット400のLRUビットが示している内容からウェイ2を選択し、LRUビットと拡張ビットの更新を行う。
アクセス4の場合、セット2、4とウェイ3とが選択される。LRUビットの更新を行い、拡張ビットの更新は行わない。
アクセス5の場合、セット2、4が選択される。ウェイ選択回路410はスレッド数が3から4となるので、LRUビット400の拡張ビットに格納されている内容からセット1とセット3とを選び、LRUビットからウェイ1を選択し、LRUビットと拡張ビットとの更新を行う。
アクセス5の場合、スレッド3とスレッド4とがメモリ共有されている。そのことを示す情報がメモリ共有情報310にセットされている。メモリ共有情報310は、ヒット判定回路440に入力され、結局、ウェイ1とウェイ2とがヒット判定対象キャッシュブロックとなる。
アクセス6の場合、セット2、4とウェイ4とが選択される。LRUビットの更新を行い、拡張ビットの更新は行わない。
上記の説明のようにキャッシュシステムを構成して駆動することにより、以下の効果が得られる。
ウェイ数を増やせるので、処理単位内及び処理単位間での競合ミスを防ぐ(効果1)。
セット数とウェイ数を変更してもキャッシュアドレスが指すキャッシュブロックの位置が変わらないのでキャッシュ区分領域変更でのキャッシュミスを低減できる(効果2)。
各ウェイの領域を変更する時にLRUビットを参照することによって区分領域を決定するので処理単位間での競合ミスを低減することができる(効果3)。
なお、この発明は上記実施の形態に限定されず、種々の変形及び応用が可能である。
例えば、図1の構成では、4ブロック(2セット×2ウェイ)のキャッシュアレイを2セット(330と340)用意し、セットの選択とウェイの選択とを制御することにより、4セット×2ウェイ(セット1、セット2、セット3、セット4、各セット1と2とについてはウェイ1とウェイ2、セット3と4とについては、ウェイ3と4)と、2セット×4ウェイ(セット1とセット3とからなる第1のセット、セット2とセット4とからなる第2のセット;第1のセットと第2のセットはそれぞれウェイ1〜ウェイ4)とを切り替えたが、構成は任意である。
m(2の乗数)ウェイ・n(2の乗数)セットのキャッシュメモリ(図1のキャッシュアレイ330、340に相当するものをi(2の乗数)個用意し、セットアドレスデコーダが、キャッシュアドレスとキャッシュ管理情報とに基づいて、i組のキャッシュメモリの全部又は1つを選択し、選択したキャッシュメモリのうちの第jのセットを選択し、ウェイ選択回路が、キャッシュ管理情報とLRUビットとに基づいてウェイを選択し、比較部は、k個配置されて対応するウェイ上の選択されたセットのキャッシュブロックのブロックアドレスと要求ブロックアドレスとを比較してヒット判定を行い、置き換え選択回路がウェイ選択回路の出力とヒット・ミスヒットを示す情報とに基づいて置き換えブロックを選択する。
このような構成により、例えば、mウェイi・nセットのセットアソシアティブキャッシュ、と、i・mウェイnセットのセットアソシアティブキャッシュ、との可変セットアソシアティブキャッシュシステムを得ることができる。
この場合、セット数とウェイ数とを変更しても、同一のキャッシュアドレスに対応するキャッシュブロックの位置が変化しない。また、セット数とウェイ数とを変更しても、利用可能なキャッシュ容量が変化しない。
この発明の実際の形態に係るキャッシュシステムのセットとウェイとを変更する変更態様を概念的に示す図である。 プロセッサの構成例を示す図である。 キャッシュシステム全体の構成図である。 図3に示す比較回路の構成例を示すブロック図である。 セットアドレスデコーダとウェイ選択回路の実際の動作例を示す図である。
符号の説明
101・・・キャッシュシステム、102・・・キャッシュシステム、200・・・プロセッサチップ、210・・・プロセッサコア、220・・・プロセッサコア、230・・・キャッシュコントローラ、240・・・キャッシュ、300・・・キャッシュアドレス、310・・・キャッシュ管理情報、320・・・セットアドレスデコーダ、330・・・キャッシュアレイ、340・・・キャッシュアレイ、350・・・比較回路、400・・・LRUビット、410・・・ウェイ選択回路、420・・・比較部、430・・・比較部、440・・・ヒット判定回路、450・・・置き換え選択回路

Claims (8)

  1. 演算を実行する処理単位に応じてキャッシュ構成を変更するシステムであって、
    i組のmウェイnセットのキャッシュメモリと、
    所定の総ビット数で構成され、互いのビット数の和が前記所定の総ビット数となる範囲内でビット数を変えることが可能なブロックアドレスとセットアドレスとを含むキャッシュアドレスと、前記処理単位が論理的に分割されている数を示すシステム数を有する前記処理単位に関する情報を含むキャッシュ管理情報とに基づいて、前記i組のキャッシュメモリの全部又は1つを選択し、前記キャッシュアドレスの前記セットアドレスに従って、選択したキャッシュメモリのうちの第jのセットを選択するセット選択手段と、
    前記キャッシュ管理情報に基づいてウェイを選択するウェイ選択手段と、
    前記セット選択手段により選択されたセットの前記ウェイ選択手段で選択したウェイのキャッシュブロックのブロックアドレスとキャッシュアドレス中の要求ブロックアドレスとを比較し、キャッシュヒットとミスとの別を判定する判定手段と、
    前記判定手段の判定結果に基づいて、置き換えブロックを選択する置き換え選択手段と、
    を具備することを特徴とするセットアソシアティブキャッシュシステム。
  2. 前記キャッシュ管理情報は、処理単位に関する情報を含み、
    前記処理単位に関する情報は、システムの状態を示す情報、プロセスの状態を示す情報、スレッドの状態を示す情報、メモリの共有の情報を含む、
    ことを特徴とする請求項に記載のセットアソシアティブキャッシュシステム。
  3. 前記ウェイ選択手段は、前記キャッシュ管理情報に基づいて、ウェイを選択し、
    前記置き換え選択手段は、前記キャッシュ管理情報と共にキャッシュブロックのLRU情報に基づいて、置き換えブロックを選択する、
    ことを特徴とする請求項1又は2に記載のセットアソシアティブキャッシュシステム。
  4. 前記ウェイ選択手段は、前記キャッシュ管理情報と共にキャッシュブロックの各ウェイにどの処理単位が割り当てられているかを示す拡張ビットに基づいて、ウェイを選択し、
    前記置き換え選択手段は、前記キャッシュ管理情報と共にキャッシュブロックのLRU情報とさらにキュッシュブロックの各ウェイにどの処理単位が割り当てられているかを示す拡張ビットに基づいて、置き換えブロックを選択する、
    ことを特徴とする請求項1又は2に記載のセットアソシアティブキャッシュシステム。
  5. i・nセット、mウェイセットアソシアティブキャッシュと、nセット、i・mウェイセットアソシアティブキャッシュと、として機能することを特徴とする請求項1乃至のいずれか1項に記載のセットアソシアティブキャッシュシステム。
  6. セット数とウェイ数とを変更しても、同一のキャッシュアドレスに対応するキャッシュブロックの位置が変化しない、ことを特徴とする請求項1乃至のいずれか1項に記載のセットアソシアティブキャッシュシステム。
  7. セット数とウェイ数とを変更しても、利用可能なキャッシュ容量が変化しない、ことを特徴とする請求項1乃至のいずれか1項に記載のセットアソシアティブキャッシュシステム。
  8. 演算を実行する処理単位に応じてキャッシュ構成を変更するシステムにおいて、
    i組のmウェイnセットのキャッシュメモリについて、
    所定の総ビット数で構成され、互いのビット数の和が前記所定の総ビット数となる範囲内でビット数を変えることが可能なブロックアドレスとセットアドレスとを含むキャッシュアドレスと前記処理単位が論理的に分割されている数を示すシステム数を有する前記処理単位に関する情報を含むキャッシュ管理情報とに基づいて、前記i組のキャッシュメモリの全部又は1つを選択し、前記キャッシュアドレスの前記セットアドレスに従って、選択したキャッシュメモリのうちの第jのセットを選択し、
    前記キャッシュ管理情報に基づいてウェイを選択し、
    選択したセットの選択したウェイのキャッシュブロックのブロックアドレスと、キャッシュアドレス中の要求ブロックアドレスとを比較し、キャッシュヒットとミスとを判定し、
    判定結果に基づいて、置き換えブロックを選択する、
    ことを特徴とするセットアソシアティブキャッシュメモリの制御方法。
JP2004108286A 2004-03-31 2004-03-31 セットアソシアティブキャッシュシステム及びキャッシュメモリの制御方法 Expired - Fee Related JP4036206B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004108286A JP4036206B2 (ja) 2004-03-31 2004-03-31 セットアソシアティブキャッシュシステム及びキャッシュメモリの制御方法
US11/092,679 US7330935B2 (en) 2004-03-31 2005-03-30 Set associative cache system and control method for cache memories

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004108286A JP4036206B2 (ja) 2004-03-31 2004-03-31 セットアソシアティブキャッシュシステム及びキャッシュメモリの制御方法

Publications (2)

Publication Number Publication Date
JP2005293300A JP2005293300A (ja) 2005-10-20
JP4036206B2 true JP4036206B2 (ja) 2008-01-23

Family

ID=35055722

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004108286A Expired - Fee Related JP4036206B2 (ja) 2004-03-31 2004-03-31 セットアソシアティブキャッシュシステム及びキャッシュメモリの制御方法

Country Status (2)

Country Link
US (1) US7330935B2 (ja)
JP (1) JP4036206B2 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4506292B2 (ja) * 2004-06-10 2010-07-21 株式会社日立製作所 キャッシュ制御方法およびデータ処理システム並びにその処理プログラム
US7673101B2 (en) * 2005-05-16 2010-03-02 Texas Instruments Incorporated Re-assigning cache line ways
US8244980B2 (en) * 2006-06-21 2012-08-14 Intel Corporation Shared cache performance
US7861041B2 (en) * 2007-09-04 2010-12-28 Advanced Micro Devices, Inc. Second chance replacement mechanism for a highly associative cache memory of a processor
JP5224959B2 (ja) 2008-07-29 2013-07-03 株式会社東芝 キャッシュシステム
KR101056460B1 (ko) 2009-06-05 2011-08-11 세종대학교산학협력단 캐쉬 제어기 및 캐쉬 블록 교체 방법
US8392658B2 (en) 2009-07-10 2013-03-05 Apple Inc. Cache implementing multiple replacement policies
JP5434646B2 (ja) * 2010-02-10 2014-03-05 富士通株式会社 情報処理装置
KR101862785B1 (ko) * 2011-10-17 2018-07-06 삼성전자주식회사 타일 기반 렌더링을 위한 캐쉬 메모리 시스템 및 캐슁 방법
US9043554B2 (en) 2012-12-21 2015-05-26 Apple Inc. Cache policies for uncacheable memory requests
WO2016097812A1 (en) * 2014-12-14 2016-06-23 Via Alliance Semiconductor Co., Ltd. Cache memory budgeted by chunks based on memory access type
US9798668B2 (en) 2014-12-14 2017-10-24 Via Alliance Semiconductor Co., Ltd. Multi-mode set associative cache memory dynamically configurable to selectively select one or a plurality of its sets depending upon the mode
KR101817847B1 (ko) 2014-12-14 2018-02-21 비아 얼라이언스 세미컨덕터 씨오., 엘티디. 메모리 접근 타입에 기초한 통로에 의해 버짓화된 캐시 메모리
EP3055774B1 (en) * 2014-12-14 2019-07-17 VIA Alliance Semiconductor Co., Ltd. Multi-mode set associative cache memory dynamically configurable to selectively allocate into all or a subset of its ways depending on the mode
EP3230874B1 (en) * 2014-12-14 2021-04-28 VIA Alliance Semiconductor Co., Ltd. Fully associative cache memory budgeted by memory access type
US9652398B2 (en) * 2014-12-14 2017-05-16 Via Alliance Semiconductor Co., Ltd. Cache replacement policy that considers memory access type
JP6207766B2 (ja) * 2014-12-14 2017-10-04 ヴィア アライアンス セミコンダクター カンパニー リミテッド ヘテロジニアス置換ポリシーを用いるセット・アソシエイティブ・キャッシュ・メモリ
US10698827B2 (en) 2014-12-14 2020-06-30 Via Alliance Semiconductor Co., Ltd. Dynamic cache replacement way selection based on address tag bits
US10073786B2 (en) 2015-05-28 2018-09-11 Micron Technology, Inc. Apparatuses and methods for compute enabled cache
GB2547189A (en) * 2016-02-03 2017-08-16 Swarm64 As Cache and method
JP2018133038A (ja) * 2017-02-17 2018-08-23 Necプラットフォームズ株式会社 情報処理装置、制御装置、制御方法及びプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0520193A (ja) 1991-07-15 1993-01-29 Oki Electric Ind Co Ltd キヤツシユ・メモリ装置
JPH0962582A (ja) 1995-08-21 1997-03-07 Toshiba Corp 疑似セットアソシアティブ方式キャッシュメモリ装置
KR100373849B1 (ko) * 2000-03-13 2003-02-26 삼성전자주식회사 어소시어티브 캐시 메모리
JP3900025B2 (ja) 2002-06-24 2007-04-04 日本電気株式会社 共有キャッシュメモリのヒット判定制御方法及び共有キャッシュメモリのヒット判定制御方式
JP3931757B2 (ja) 2002-07-26 2007-06-20 日本電気株式会社 共有キャッシュメモリ障害処理方式

Also Published As

Publication number Publication date
US20050223173A1 (en) 2005-10-06
JP2005293300A (ja) 2005-10-20
US7330935B2 (en) 2008-02-12

Similar Documents

Publication Publication Date Title
JP4036206B2 (ja) セットアソシアティブキャッシュシステム及びキャッシュメモリの制御方法
JP4209906B2 (ja) 低消費電力メモリ管理方法及びその方法を用いた計算機
US8250332B2 (en) Partitioned replacement for cache memory
JP5413001B2 (ja) キャッシュメモリ
JP2002373115A (ja) 共有キャッシュメモリのリプレイスメント制御方法及びその装置
JP2000187617A (ja) ディスクアレイ装置におけるキャッシュメモリ管理方法
KR101639943B1 (ko) 범용 그래픽 프로세서의 공유 메모리를 캐시로 동작시키기 위한 공유 메모리 제어 방법 및 이를 이용한 범용 그래픽 프로세서
JP5336423B2 (ja) 計算機システム
JP2003131946A (ja) キャッシュメモリ制御装置及び方法
JPH0452741A (ja) キャッシュメモリ装置
US7574562B2 (en) Latency-aware thread scheduling in non-uniform cache architecture systems
CN102346682A (zh) 信息处理装置及信息处理方法
US6560676B1 (en) Cache memory system having a replace way limitation circuit and a processor
JP4888839B2 (ja) キャッシュメモリを備えるベクトル計算機システム、及びその動作方法
KR20160130743A (ko) 캐싱 시스템 및 방법
US6038642A (en) Method and system for assigning cache memory utilization within a symmetric multiprocessor data-processing system
JP2006092042A (ja) 情報処理装置及びコンテキスト切り替え方法
US6760743B1 (en) Instruction memory system for multi-processor environment and disjoint tasks
US6931488B2 (en) Reconfigurable cache for application-based memory configuration
JP2009015509A (ja) キャッシュメモリ装置
JP2001282617A (ja) 共有されたキャッシュを動的に区分するための方法及びシステム
US20070083711A1 (en) Reconfiguring caches to support metadata for polymorphism
KR20190013049A (ko) 모놀리식 3차원 집적 기술 기반 캐시 메모리 및 이의 제어 방법
JP2005339299A (ja) ストレージ装置のキャッシュ制御方法
JPH07129464A (ja) 情報処理装置

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070508

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070709

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070711

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070724

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070921

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071022

R150 Certificate of patent or registration of utility model

Ref document number: 4036206

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20101109

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111109

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111109

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121109

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121109

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20131109

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees