JP5087676B2 - 階層型キャッシュタグアーキテクチャ - Google Patents
階層型キャッシュタグアーキテクチャ Download PDFInfo
- Publication number
- JP5087676B2 JP5087676B2 JP2010515039A JP2010515039A JP5087676B2 JP 5087676 B2 JP5087676 B2 JP 5087676B2 JP 2010515039 A JP2010515039 A JP 2010515039A JP 2010515039 A JP2010515039 A JP 2010515039A JP 5087676 B2 JP5087676 B2 JP 5087676B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- tag
- original
- storage structure
- match
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 claims description 19
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 claims description 10
- 229910052710 silicon Inorganic materials 0.000 claims description 10
- 239000010703 silicon Substances 0.000 claims description 10
- 238000012545 processing Methods 0.000 description 52
- 230000008569 process Effects 0.000 description 11
- 238000012937 correction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
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
キャッシュメモリの全てのエントリ用のタグおよびその他の関連情報(例えば状態情報、LRU情報、ECC情報)を記憶する記憶構造のこと。
タグ記憶構造に記憶されるタグのサブセットを記憶するキャッシュのこと。
タグ記憶構造の特定のタグセットを指し示す、メモリ要求のアドレスの部分のこと。
特定のインデックス部分に固有の特定のメモリアドレス位置を指し示す、メモリ要求のアドレスの部分のこと。
(14b tag + 2b state) X 4M tags + (8b ECC + 4b LRU) /set X 1M ways = 9.5 MB
(14-bit tag + 2-bit state) X 4 ways + 4-bit LRU + 8-bit ECC = 9.5 Bytes
キャッシュタグのキャッシュに2K(2^11)を記憶させるべく、記憶要件を19K(2K*9.5B)とする。キャッシュタグのキャッシュのエントリの詳細は、以下に図2を参照しながら説明する。故に、キャッシュタグのキャッシュの一実施形態は、プロセッサダイの上に常駐して、一番最近に利用されたタグのルックアップを行ってよく、ダイへの負担は19Kである。19Kの記憶サイズのオンダイのコストは、9.5Mサイズのフルタグ記憶構造の記憶負担より非常に小さい。
(14 bit tag + 2 bit state) X 4 ways + 4 bit LRU + 8 bit ECC = 9.5 Bytes
Claims (18)
- プロセッサに連結されたキャッシュメモリと、
前記キャッシュメモリに連結され、複数のタグを記憶するタグ記憶構造と、
前記プロセッサに連結され、前記タグ記憶構造に記憶されている前記複数のタグのうち1以上のタグのサブセットを記憶するキャッシュタグのキャッシュと、
前記プロセッサに連結されたコントローラと、
前記コントローラに連結された、分割された状態情報記憶ユニットと
を備え、
前記複数のタグの各々は、前記キャッシュメモリ内に記憶されているデータ位置に関連付けられており、
前記分割された状態情報記憶ユニットは、複数の共通の状態情報パターンを記憶し、
前記コントローラは、前記キャッシュタグのキャッシュのタグと関連付けられた状態情報ビットのセットの代わりに、前記分割された状態情報記憶ユニットに記憶されている共通の状態情報パターンへのポインタを記憶する、
前記キャッシュタグのキャッシュを実装する装置。 - 前記キャッシュタグのキャッシュは、前記タグ記憶構造に記憶されている一番最近に利用されたタグのうち1以上を含む
請求項1に記載の装置。 - 前記プロセッサに連結された部分的なタグキャッシュをさらに備え、
前記部分的なタグキャッシュは、メモリ要求のキャッシュミスを判断し、
前記キャッシュタグのキャッシュは、前記メモリ要求のキャッシュヒットを判断する
請求項1または2に記載の装置。 - 前記コントローラは、タグマッチの発生を判断し、
前記タグマッチは、メモリ要求に関連付けられた元のタグが前記タグマッチをチェックされる位置に記憶されているタグに等しい場合に発生する
請求項1から3のいずれか1項に記載の装置。 - 前記コントローラは、さらに、前記メモリ要求のアドレスから元のインデックスを判断し、
前記元のインデックスがまだ前記キャッシュタグのキャッシュにない場合、前記キャッシュタグのキャッシュに現在あるインデックスを上書きすることで、前記キャッシュタグのキャッシュに前記元のインデックスを挿入する
請求項4に記載の装置。 - 前記コントローラは、さらに、前記メモリ要求からの前記元のインデックスが前記キャッシュタグのキャッシュにある場合、前記キャッシュタグのキャッシュの前記タグマッチをチェックし、
前記メモリ要求からの前記元のインデックスが前記キャッシュタグのキャッシュにない場合、前記タグ記憶構造の前記タグマッチをチェックし、
前記キャッシュタグのキャッシュにも、前記タグ記憶構造にもタグマッチがない場合、システムメモリから前記元のタグを取得する
請求項5に記載の装置。 - 前記コントローラは、さらに、前記キャッシュタグのキャッシュにタグマッチがない場合、前記元のタグを前記キャッシュタグのキャッシュに挿入し、
前記タグ記憶構造にタグマッチがない場合、前記元のタグを前記タグ記憶構造に挿入する
請求項6に記載の装置。 - インターコネクトと、
第1のシリコンダイの上に配設され、前記インターコネクトに連結されたプロセッサと、
第2のシリコンダイの上に配設され、前記インターコネクトに連結されたキャッシュメモリと、
前記第2のシリコンダイの上に配設され、前記インターコネクトに連結され、複数のタグを記憶するタグ記憶構造と、
前記第1のシリコンダイの上に配設され、前記インターコネクトに連結され、前記タグ記憶構造に記憶された前記複数のタグのうち1以上のサブセットを記憶するキャッシュタグのキャッシュと、
前記プロセッサに連結されたコントローラと、
前記コントローラに連結された、分割された状態情報記憶ユニットと
を備え、
前記複数のタグの各々は、前記キャッシュメモリ内に記憶されているデータ位置に関連付けられており、
前記分割された状態情報記憶ユニットは、複数の共通の状態情報パターンを記憶し、
前記コントローラは、前記キャッシュタグのキャッシュのタグと関連付けられた状態情報ビットのセットの代わりに、前記分割された状態情報記憶ユニットに記憶されている共通の状態情報パターンへのポインタを記憶する、
前記キャッシュタグのキャッシュを実装するシステム。 - 前記プロセッサに連結された部分的なタグキャッシュをさらに備え、
前記部分的なタグキャッシュは、メモリ要求のキャッシュミスを判断し、
前記キャッシュタグのキャッシュは、前記メモリ要求のキャッシュヒットを判断する
請求項8に記載のシステム。 - 前記コントローラは、タグマッチの発生を判断し、
前記タグマッチは、メモリ要求に関連付けられた元のタグが前記タグマッチをチェックされる位置に記憶されているタグに等しい場合に発生する
請求項8または9に記載のシステム。 - 前記コントローラは、さらに、前記メモリ要求のアドレスからの元のインデックスを判断し、
前記元のインデックスがまだ前記キャッシュタグのキャッシュにない場合、前記キャッシュタグのキャッシュに現在あるインデックスを上書きすることで、前記キャッシュタグのキャッシュに前記元のインデックスを挿入する
請求項10に記載のシステム。 - 前記コントローラは、さらに、前記メモリ要求からの前記元のインデックスが前記キャッシュタグのキャッシュにある場合、前記キャッシュタグのキャッシュの前記タグマッチをチェックし、
前記メモリ要求からの前記元のインデックスが前記キャッシュタグのキャッシュにない場合、前記タグ記憶構造の前記タグマッチをチェックし、
前記キャッシュタグのキャッシュにタグマッチがない場合、または、前記タグ記憶構造にタグマッチがない場合、システムメモリから前記元のタグを取得する
請求項11に記載のシステム。 - 前記コントローラは、さらに、前記キャッシュタグのキャッシュにタグマッチがない場合、前記元のタグを前記キャッシュタグのキャッシュに挿入し、
前記タグ記憶構造にタグマッチがない場合、前記元のタグを前記タグ記憶構造に挿入する
請求項12に記載のシステム。 - 複数のタグをタグ記憶構造に記憶させる段階と、
キャッシュタグのキャッシュに、前記タグ記憶構造に記憶されている前記複数のタグのうち1以上および全て未満の数のタグのサブセットを記憶する段階と、
複数の共通の状態情報パターンを分割された状態情報記憶ユニットに記憶する段階と、
プロセッサに連結されたコントローラによって、前記キャッシュタグのキャッシュのタグと関連づけられた状態情報ビットのセットの代わりに、前記分割された状態情報記憶ユニットに記憶されている共通の状態情報パターンへのポインタを記憶する段階と
を備え、
前記複数のタグの各々は、前記プロセッサに連結されたキャッシュメモリ内に記憶されているデータ位置に関連付けられている
方法。 - タグマッチの発生を判断する段階をさらに備え、
前記タグマッチは、メモリ要求に関連付けられた元のタグが前記タグマッチをチェックされる位置に記憶されているタグに等しい場合に発生する
請求項14に記載の方法。 - 前記メモリ要求のアドレスから元のインデックスを判断する段階と、
前記元のインデックスがまだ前記キャッシュタグのキャッシュにない場合、前記キャッシュタグのキャッシュに現在あるインデックスを上書きすることで、前記キャッシュタグのキャッシュに前記元のインデックスを挿入する段階と
をさらに備える
請求項15に記載の方法。 - 前記メモリ要求からの前記元のインデックスが前記キャッシュタグのキャッシュにある場合、前記キャッシュタグのキャッシュの前記タグマッチをチェックする段階と、
前記メモリ要求からの前記元のインデックスが前記キャッシュタグのキャッシュにない場合、前記タグ記憶構造の前記タグマッチをチェックする段階と、
前記キャッシュタグのキャッシュにタグマッチがない場合、または、前記タグ記憶構造にタグマッチがない場合、システムメモリから前記元のタグを取得する段階と
をさらに備える
請求項16に記載の方法。 - 前記キャッシュタグのキャッシュにタグマッチがない場合、前記元のタグを前記キャッシュタグのキャッシュに挿入する段階と、
前記タグ記憶構造にタグマッチがない場合、前記元のタグを前記タグ記憶構造に挿入する段階と
をさらに備える
請求項17に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/771,774 | 2007-06-29 | ||
US11/771,774 US20090006757A1 (en) | 2007-06-29 | 2007-06-29 | Hierarchical cache tag architecture |
PCT/US2008/068044 WO2009006113A2 (en) | 2007-06-29 | 2008-06-24 | Hierarchical cache tag architecture |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010532537A JP2010532537A (ja) | 2010-10-07 |
JP5087676B2 true JP5087676B2 (ja) | 2012-12-05 |
Family
ID=39721952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010515039A Expired - Fee Related JP5087676B2 (ja) | 2007-06-29 | 2008-06-24 | 階層型キャッシュタグアーキテクチャ |
Country Status (7)
Country | Link |
---|---|
US (1) | US20090006757A1 (ja) |
EP (1) | EP2017738A1 (ja) |
JP (1) | JP5087676B2 (ja) |
CN (1) | CN101689146B (ja) |
DE (1) | DE112008001666T5 (ja) |
TW (1) | TW200908009A (ja) |
WO (1) | WO2009006113A2 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090327577A1 (en) * | 2008-06-27 | 2009-12-31 | Microsoft Corporation | Hybrid storage |
CN101667158B (zh) * | 2009-09-15 | 2015-07-01 | 威盛电子股份有限公司 | 串流上下文的高速缓存系统 |
US8990506B2 (en) | 2009-12-16 | 2015-03-24 | Intel Corporation | Replacing cache lines in a cache memory based at least in part on cache coherency state information |
US8612809B2 (en) | 2009-12-31 | 2013-12-17 | Intel Corporation | Systems, methods, and apparatuses for stacked memory |
KR20130079706A (ko) * | 2012-01-03 | 2013-07-11 | 삼성전자주식회사 | 휘발성 메모리를 포함하는 저장 장치의 구동 방법 |
US9495305B1 (en) * | 2012-11-02 | 2016-11-15 | David Fuchs | Detecting pointer errors for memory protection |
US20140215158A1 (en) * | 2013-01-31 | 2014-07-31 | Hewlett-Packard Development Company, L.P. | Executing Requests from Processing Elements with Stacked Memory Devices |
US9141484B2 (en) * | 2013-03-15 | 2015-09-22 | Seagate Technology Llc | Transiently maintaining ECC |
US10019352B2 (en) * | 2013-10-18 | 2018-07-10 | Sandisk Technologies Llc | Systems and methods for adaptive reserve storage |
CN104636268B (zh) * | 2013-11-08 | 2019-07-26 | 上海芯豪微电子有限公司 | 一种可重构缓存产品与方法 |
US9558120B2 (en) | 2014-03-27 | 2017-01-31 | Intel Corporation | Method, apparatus and system to cache sets of tags of an off-die cache memory |
US9594910B2 (en) | 2014-03-28 | 2017-03-14 | Intel Corporation | In-system provisioning of firmware for a hardware platform |
GB2546245B (en) * | 2016-01-05 | 2020-08-19 | Advanced Risc Mach Ltd | Cache memory |
US10042576B2 (en) | 2016-08-17 | 2018-08-07 | Advanced Micro Devices, Inc. | Method and apparatus for compressing addresses |
CN114780031B (zh) * | 2022-04-15 | 2022-11-11 | 北京志凌海纳科技有限公司 | 一种基于单机存储引擎的数据处理方法和装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02294751A (ja) * | 1989-05-09 | 1990-12-05 | Mitsubishi Electric Corp | キヤツシユメモリ制御装置 |
US5414827A (en) * | 1991-12-19 | 1995-05-09 | Opti, Inc. | Automatic cache flush |
US5559987A (en) * | 1994-06-30 | 1996-09-24 | Digital Equipment Corporation | Method and apparatus for updating a duplicate tag status in a snoop bus protocol based computer system |
US5813031A (en) * | 1994-09-21 | 1998-09-22 | Industrial Technology Research Institute | Caching tag for a large scale cache computer memory system |
JP3585349B2 (ja) * | 1997-08-27 | 2004-11-04 | 富士通株式会社 | キャッシュメモリを備えた情報処理装置 |
US6212602B1 (en) * | 1997-12-17 | 2001-04-03 | Sun Microsystems, Inc. | Cache tag caching |
US20040225830A1 (en) * | 2003-05-06 | 2004-11-11 | Eric Delano | Apparatus and methods for linking a processor and cache |
-
2007
- 2007-06-29 US US11/771,774 patent/US20090006757A1/en not_active Abandoned
-
2008
- 2008-03-27 EP EP08251130A patent/EP2017738A1/en not_active Withdrawn
- 2008-06-24 JP JP2010515039A patent/JP5087676B2/ja not_active Expired - Fee Related
- 2008-06-24 DE DE112008001666T patent/DE112008001666T5/de not_active Withdrawn
- 2008-06-24 WO PCT/US2008/068044 patent/WO2009006113A2/en active Application Filing
- 2008-06-24 CN CN2008800222813A patent/CN101689146B/zh not_active Expired - Fee Related
- 2008-06-27 TW TW097124281A patent/TW200908009A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
CN101689146B (zh) | 2012-09-26 |
WO2009006113A2 (en) | 2009-01-08 |
CN101689146A (zh) | 2010-03-31 |
DE112008001666T5 (de) | 2010-09-16 |
US20090006757A1 (en) | 2009-01-01 |
WO2009006113A3 (en) | 2009-04-30 |
EP2017738A1 (en) | 2009-01-21 |
JP2010532537A (ja) | 2010-10-07 |
TW200908009A (en) | 2009-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5087676B2 (ja) | 階層型キャッシュタグアーキテクチャ | |
KR100884351B1 (ko) | 타입 비트들을 이용한, 레벨 2 캐시에서의 ecc 및프리디코드 비트들의 저장 추적 | |
US6834327B2 (en) | Multilevel cache system having unified cache tag memory | |
US6219760B1 (en) | Cache including a prefetch way for storing cache lines and configured to move a prefetched cache line to a non-prefetch way upon access to the prefetched cache line | |
US8161246B2 (en) | Prefetching of next physically sequential cache line after cache line that includes loaded page table entry | |
USRE45078E1 (en) | Highly efficient design of storage array utilizing multiple pointers to indicate valid and invalid lines for use in first and second cache spaces and memory subsystems | |
US5784590A (en) | Slave cache having sub-line valid bits updated by a master cache | |
US8140759B2 (en) | Specifying an access hint for prefetching partial cache block data in a cache hierarchy | |
US20090106494A1 (en) | Allocating space in dedicated cache ways | |
US9569363B2 (en) | Selective prefetching of physically sequential cache line to cache line that includes loaded page table entry | |
US20100217937A1 (en) | Data processing apparatus and method | |
US7836259B1 (en) | Prefetch unit for use with a cache memory subsystem of a cache memory hierarchy | |
JPS61156346A (ja) | 記憶階層の先取り装置 | |
KR20010042262A (ko) | 템포럴 및 넌템포럴 명령어에 대한 공유 캐시 구조 | |
US9720847B2 (en) | Least recently used (LRU) cache replacement implementation using a FIFO storing indications of whether a way of the cache was most recently accessed | |
US20140129774A1 (en) | Hierarchical cache structure and handling thereof | |
CN105446898B (zh) | 用于数据处理的装置及方法 | |
US7356650B1 (en) | Cache apparatus and method for accesses lacking locality | |
US7657667B2 (en) | Method to provide cache management commands for a DMA controller | |
US6311253B1 (en) | Methods for caching cache tags | |
US20050091457A1 (en) | Method and apparatus for an in-situ victim cache | |
US9053030B2 (en) | Cache memory and control method thereof with cache hit rate | |
US8176254B2 (en) | Specifying an access hint for prefetching limited use data in a cache hierarchy | |
US20240111677A1 (en) | Region pattern-matching hardware prefetcher | |
US11645148B2 (en) | Method and apparatus for caching MTE and/or ECC data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120424 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120719 |
|
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: 20120814 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120910 |
|
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: 20150914 Year of fee payment: 3 |
|
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 |