JP2017507442A - モードに応じてウェイの全部又はサブセットに選択的に割り当てるように動的に構成可能であるマルチモード・セット・アソシエイティブ・キャッシュ・メモリ - Google Patents
モードに応じてウェイの全部又はサブセットに選択的に割り当てるように動的に構成可能であるマルチモード・セット・アソシエイティブ・キャッシュ・メモリ Download PDFInfo
- Publication number
- JP2017507442A JP2017507442A JP2016564428A JP2016564428A JP2017507442A JP 2017507442 A JP2017507442 A JP 2017507442A JP 2016564428 A JP2016564428 A JP 2016564428A JP 2016564428 A JP2016564428 A JP 2016564428A JP 2017507442 A JP2017507442 A JP 2017507442A
- Authority
- JP
- Japan
- Prior art keywords
- cache memory
- mode
- ways
- tag
- bits
- 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
- 230000015654 memory Effects 0.000 title claims description 311
- 238000000034 method Methods 0.000 claims description 42
- 238000004458 analytical method Methods 0.000 claims description 22
- 230000006870 function Effects 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 11
- 238000003491 array Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 43
- 230000008859 change Effects 0.000 description 14
- 230000007704 transition Effects 0.000 description 14
- 229910052710 silicon Inorganic materials 0.000 description 9
- 239000010703 silicon Substances 0.000 description 9
- 238000003860 storage Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 241001522296 Erithacus rubecula Species 0.000 description 5
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 238000013507 mapping Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 235000013861 fat-free Nutrition 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000001693 membrane extraction with a sorbent interface Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000001575 pathological effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000010200 validation analysis Methods 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/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- 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/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- 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/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
-
- 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
-
- 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
- G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
-
- 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
- G06F12/128—Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
-
- 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/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- 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/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1021—Hit rate improvement
-
- 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/28—Using a specific disk cache architecture
- G06F2212/282—Partitioned cache
-
- 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/601—Reconfiguration of cache memory
-
- 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
- G06F2212/6046—Using a specific cache allocation policy other than replacement policy
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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
Description
Claims (20)
- Jが3よりも大きい整数である2^Jバイトのキャッシュ・ラインを記憶するためのキャッシュ・メモリであって、
2^N個のセットの配列であって、セットの各々が、各々がXビットであるタグを保持し、N及びXが両方とも5よりも大きい整数であり、前記配列が2^W個のウェイを有する、前記2^N個のセットの配列と、
Qビット・メモリ・アドレスMA[(Q−1):0]を受け取る入力であって、前記アドレスが、
タグ部分MA[(Q−1):(Q−X)]と、
インデックス部分MA[(Q−X−1):J]とを有し、
Qが少なくとも(N+J+X−1)の整数である、前記入力と、
前記インデックス部分と前記タグ部分の最下位ビットとを使用して前記配列の1つのセットを選択するセット選択ロジックと、
前記タグ部分の前記最下位ビット以外のすべてのビットを前記選択された1つのセット内の各タグの前記最下位ビット以外のすべてのビットと比較して、マッチがあればヒットを表示する比較ロジックと、
割り当てロジックであって、マッチがないことを前記比較ロジックが表示したときに、
第1のモードで動作しているときには前記選択された1つのセットの前記2^W個のウェイのうちのいずれか1つの中に割り当て、
第2のモードで動作しているときには前記選択された1つのセットの前記2^W個のウェイのサブセットのうちの1つの中に割り当て、前記2^W個のウェイの前記サブセットが前記タグ部分の1つ又は複数のビットに基づき制限される、前記割り当てロジックとを備える、キャッシュ・メモリ。 - 前記サブセットは、前記2^W個のウェイのうちの単一のウェイに制限され、前記単一のウェイは、MA[(Q−X+W):(Q−X+1)]によって指定される、請求項1に記載のキャッシュ・メモリ。
- 前記サブセットは、前記タグ部分の1つ又は複数のビットの関数であるビットが0のときに前記2^W個のウェイのうちの偶数番号のウェイに制限され、前記ビットが1のときに前記2^W個のウェイのうちの奇数番号のウェイに制限される、請求項1に記載のキャッシュ・メモリ。
- 前記サブセットは、MA[(Q−X+1)]が0のときに前記2^W個のウェイのうちの偶数番号のウェイに制限され、MA[(Q−X+1)]が1のときに前記2^W個のウェイのうちの奇数番号のウェイに制限される、請求項3に記載のキャッシュ・メモリ。
- 前記サブセットは、前記2^W個のウェイのうちの2^Z個のウェイに制限され、前記2^Z個のウェイは、MA[(Q−X+(W−Z)):(Q−X+1)]に基づき、Zは0よりも大きく、Wよりも小さい整数である、請求項1に記載のキャッシュ・メモリ。
- 前記サブセットは、前記2^W個のウェイのうちの2^Z個のウェイに制限され、前記2^Z個のウェイは、MA[(Q−X+(W−Z)):(Q−X+1)]に基づき、Zは、0よりも大きい整数である、請求項5に記載のキャッシュ・メモリ。
- 第3のモードで動作するときに、
前記セット選択ロジックは、前記インデックス部分を使用して前記配列の2つのセットを選択し、
前記比較ロジックは、前記タグ部分を前記選択された2つのセット内の各タグと比較して、マッチがあればヒットを表示し、
そうでなければ、前記割り当てロジックが、前記2つの選択されたセットのうちの1つのセット内に割り当てる、請求項1に記載のキャッシュ・メモリ。 - Jは6であり、Nは11であり、Xは20であり、Wは4であり、Qは36である、請求項1に記載のキャッシュ・メモリ。
- 当該キャッシュ・メモリは、当該キャッシュ・メモリを備えるプロセッサ上で新しいプロセスが稼働していることを検出したことに応答して、前記第1のモードから前記第2のモードに遷移させられる、請求項1に記載のキャッシュ・メモリ。
- 前記プロセッサが前記新しいプロセスを実行しているときに、当該キャッシュ・メモリが前記第1のモードより前記第2のモードにおいて効果的に実行するという判定が、オフライン解析によって行われる、請求項9に記載のキャッシュ・メモリ。
- 当該キャッシュ・メモリは、前記第1のモードに入っている間に当該キャッシュ・メモリに閾値より高いミス率が生じていることを検出したことに応答して、前記第1のモードから前記第2のモードに遷移させられる、請求項1に記載のキャッシュ・メモリ。
- Jが3よりも大きい整数である2^Jバイトのキャッシュ・ラインを記憶するためのキャッシュ・メモリを動作させるための方法であって、前記キャッシュ・メモリが、2^N個のセットの配列であって、セットの各々が、各々がXビットであるタグを保持し、N及びXが両方とも5よりも大きい整数であり、前記配列が2^W個のウェイを有する、前記2^N個のセットの配列を有し、当該方法は、
Qビット・メモリ・アドレスMA[(Q−1):0]を受け取るステップであって、前記アドレスが、
タグ部分MA[(Q−1):(Q−X)]と、
インデックス部分MA[(Q−X−1):J]とを有し、
Qが少なくとも(N+J+X−1)の整数である、ステップと、
前記インデックス部分と前記タグ部分の最下位ビットとを使用して前記配列の1つのセットを選択し、
前記タグ部分の前記最下位ビット以外のすべてのビットを前記選択された1つのセット内の各タグの前記最下位ビット以外のすべてのビットと比較して、マッチがあればヒットを表示するステップと、
比較する前記ステップが、マッチがないことを表示したときに、
第1のモードで動作しているときには前記選択された1つのセットの前記2^W個のウェイのうちのいずれか1つの中に割り当て、
第2のモードで動作しているときには前記選択された1つのセットの前記2^W個のウェイのサブセットのうちの1つの中に割り当てるステップであって、前記2^W個のウェイの前記サブセットが前記タグ部分の1つ又は複数のビットに基づき制限される、ステップとを含む、方法。 - 前記サブセットは、前記2^W個のウェイのうちの単一のウェイに制限され、前記単一のウェイは、MA[(Q−X+W):(Q−X+1)]によって指定される、請求項12に記載の方法。
- 前記サブセットは、前記タグ部分の1つ又は複数のビットの関数であるビットが0のときに前記2^W個のウェイのうちの偶数番号のウェイに制限され、前記ビットが1のときに前記2^W個のウェイのうちの奇数番号のウェイに制限される、請求項12に記載の方法。
- 前記サブセットは、前記2^W個のウェイのうちの2^Z個のウェイに制限され、前記2^Z個のウェイは、MA[(Q−X+(W−Z)):(Q−X+1)]に基づき、Zは0よりも大きく、Wよりも小さい整数である、請求項12に記載の方法。
- 第3のモードで動作するときに、
前記インデックス部分を使用して前記配列の2つのセットを選択するステップと、
前記タグ部分を前記選択された2つのセット内の各タグと比較して、マッチがあればヒットを表示するステップと、
そうでなければ、前記2つの選択されたセットのうちの1つのセット内に割り当てるステップとを含む、請求項12に記載の方法。 - 前記キャッシュ・メモリを備えるプロセッサ上で新しいプロセスが稼働していることを検出したことに応答して、前記第1のモードから前記第2のモードに前記キャッシュ・メモリを遷移させるステップをさらに含む、請求項12に記載の方法。
- 前記プロセッサが前記新しいプロセスを実行しているときに、前記キャッシュ・メモリが前記第1のモードより前記第2のモードにおいて効果的に実行するという判定が、オフライン解析によって行われる、請求項17に記載の方法。
- 前記第1のモードに入っている間に前記キャッシュ・メモリに閾値より高いミス率が生じていることを検出したことに応答して、前記キャッシュ・メモリを前記第1のモードから前記第2のモードに遷移させるステップをさらに含む、請求項12に記載の方法。
- プロセッサであって、
Jが3よりも大きい整数である2^Jバイトのキャッシュ・ラインを記憶するキャッシュ・メモリであって、
2^N個のセットの配列であって、セットの各々が、各々がXビットであるタグを保持し、N及びXが両方とも5よりも大きい整数であり、前記配列が2^W個のウェイを有する、前記2^N個のセットの配列と、
Qビット・メモリ・アドレスMA[(Q−1):0]を受け取る入力であって、前記アドレスが、
タグ部分MA[(Q−1):(Q−X)]と、
インデックス部分MA[(Q−X−1):J]とを有し、
Qが少なくとも(N+J+X−1)の整数である、前記入力と、
前記インデックス部分と前記タグ部分の最下位ビットとを使用して前記配列の1つのセットを選択するセット選択ロジックと、
前記タグ部分の前記最下位ビット以外のすべてのビットを前記選択された1つのセット内の各タグの前記最下位ビット以外のすべてのビットと比較して、マッチがあればヒットを表示する比較ロジックと、
割り当てロジックであって、マッチがないことを前記比較ロジックが表示したときに、
第1のモードで動作しているときには前記選択された1つのセットの前記2^W個のウェイのうちのいずれか1つの中に割り当て、
第2のモードで動作しているときには前記選択された1つのセットの前記2^W個のウェイのサブセットのうちの1つの中に割り当て、前記2^W個のウェイの前記サブセットが前記タグ部分の1つ又は複数のビットに基づき制限される、前記割り当てロジックとを備える前記キャッシュ・メモリを具備する、プロセッサ。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/IB2014/003176 WO2016097795A1 (en) | 2014-12-14 | 2014-12-14 | Multi-mode set associative cache memory dynamically configurable to selectively allocate into all or subset or tis ways depending on mode |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017507442A true JP2017507442A (ja) | 2017-03-16 |
JP6209689B2 JP6209689B2 (ja) | 2017-10-04 |
Family
ID=56126003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016564428A Active JP6209689B2 (ja) | 2014-12-14 | 2014-12-14 | モードに応じてウェイの全部又はサブセットに選択的に割り当てるように動的に構成可能であるマルチモード・セット・アソシエイティブ・キャッシュ・メモリ |
Country Status (6)
Country | Link |
---|---|
US (1) | US10719434B2 (ja) |
EP (1) | EP3055774B1 (ja) |
JP (1) | JP6209689B2 (ja) |
CN (1) | CN105701031B (ja) |
TW (1) | TWI564718B (ja) |
WO (1) | WO2016097795A1 (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3055775B1 (en) * | 2014-12-14 | 2019-08-21 | VIA Alliance Semiconductor Co., Ltd. | Cache replacement policy that considers memory access type |
EP3066572B1 (en) * | 2014-12-14 | 2020-02-19 | VIA Alliance Semiconductor Co., Ltd. | Cache memory budgeted by chunks based on memory access type |
EP3129886B1 (en) | 2014-12-14 | 2019-10-02 | VIA Alliance Semiconductor Co., Ltd. | Dynamic cache replacement way selection based on address tag bits |
KR101867143B1 (ko) * | 2014-12-14 | 2018-07-17 | 비아 얼라이언스 세미컨덕터 씨오., 엘티디. | 이종 치환 정책을 가진 셋트 연관 캐시 메모리 |
KR101817847B1 (ko) | 2014-12-14 | 2018-02-21 | 비아 얼라이언스 세미컨덕터 씨오., 엘티디. | 메모리 접근 타입에 기초한 통로에 의해 버짓화된 캐시 메모리 |
EP3230874B1 (en) * | 2014-12-14 | 2021-04-28 | VIA Alliance Semiconductor Co., Ltd. | Fully associative cache memory budgeted by memory access type |
JP6207765B2 (ja) | 2014-12-14 | 2017-10-04 | ヴィア アライアンス セミコンダクター カンパニー リミテッド | モードに応じてセットの1つ又は複数を選択的に選択するように動的に構成可能であるマルチモード・セット・アソシエイティブ・キャッシュ・メモリ |
JP2018005667A (ja) * | 2016-07-05 | 2018-01-11 | 富士通株式会社 | キャッシュ情報出力プログラム、キャッシュ情報出力方法及び情報処理装置 |
CN108268940B (zh) * | 2017-01-04 | 2022-02-18 | 意法半导体股份有限公司 | 用于创建可重新配置的互连框架的工具 |
US10606755B2 (en) | 2017-06-30 | 2020-03-31 | Intel Corporation | Method and system for performing data movement operations with read snapshot and in place write update |
CN107526688B (zh) * | 2017-09-12 | 2020-05-29 | 上海兆芯集成电路有限公司 | 储存装置以及配置方法 |
US20190303303A1 (en) * | 2018-03-29 | 2019-10-03 | Intel Corporation | System, method, and apparatus for detecting repetitive data accesses and automatically loading data into local cache to avoid performance inversion and waste of uncore resources |
US10846235B2 (en) | 2018-04-28 | 2020-11-24 | International Business Machines Corporation | Integrated circuit and data processing system supporting attachment of a real address-agnostic accelerator |
US11055226B2 (en) | 2018-06-29 | 2021-07-06 | Intel Corporation | Mitigation of cache-latency based side-channel attacks |
US11422935B2 (en) * | 2020-06-26 | 2022-08-23 | Advanced Micro Devices, Inc. | Direct mapping mode for associative cache |
CN113032291B (zh) * | 2021-03-31 | 2023-05-26 | 四川长虹空调有限公司 | 查找数据与改写数据的方法 |
US20230101038A1 (en) * | 2021-09-29 | 2023-03-30 | Advanced Micro Devices, Inc. | Deterministic mixed latency cache |
US20240241832A1 (en) * | 2023-01-16 | 2024-07-18 | Nokia Solutions And Networks Oy | Multi-mode indexed cache in a processor |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0520193A (ja) * | 1991-07-15 | 1993-01-29 | Oki Electric Ind Co Ltd | キヤツシユ・メモリ装置 |
JPH06231044A (ja) * | 1992-12-22 | 1994-08-19 | Internatl Business Mach Corp <Ibm> | キャッシュ・メモリを有するデータ処理システム |
JPH0962582A (ja) * | 1995-08-21 | 1997-03-07 | Toshiba Corp | 疑似セットアソシアティブ方式キャッシュメモリ装置 |
JP2000020396A (ja) * | 1998-06-26 | 2000-01-21 | Nec Kofu Ltd | 可変式キャッシュ方式 |
JP2002236616A (ja) * | 2001-02-13 | 2002-08-23 | Fujitsu Ltd | キャッシュメモリシステム |
JP2003131945A (ja) * | 2001-10-25 | 2003-05-09 | Hitachi Ltd | キャッシュメモリ装置 |
JP2005293300A (ja) * | 2004-03-31 | 2005-10-20 | Nec Corp | セットアソシアティブキャッシュシステム及びキャッシュメモリの制御方法 |
JP2010170292A (ja) * | 2009-01-22 | 2010-08-05 | Nec Computertechno Ltd | キャッシュメモリ制御回路およびキャッシュメモリ管理方法 |
WO2013098919A1 (ja) * | 2011-12-26 | 2013-07-04 | ルネサスエレクトロニクス株式会社 | データ処理装置 |
Family Cites Families (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2646854B2 (ja) * | 1990-12-18 | 1997-08-27 | 三菱電機株式会社 | マイクロプロセッサ |
JP3259969B2 (ja) | 1991-07-09 | 2002-02-25 | 株式会社東芝 | キャッシュメモリ制御装置 |
US5325504A (en) | 1991-08-30 | 1994-06-28 | Compaq Computer Corporation | Method and apparatus for incorporating cache line replacement and cache write policy information into tag directories in a cache system |
US5367653A (en) | 1991-12-26 | 1994-11-22 | International Business Machines Corporation | Reconfigurable multi-way associative cache memory |
US6223255B1 (en) * | 1995-02-03 | 2001-04-24 | Lucent Technologies | Microprocessor with an instruction level reconfigurable n-way cache |
US5809562A (en) | 1996-05-20 | 1998-09-15 | Integrated Device Technology, Inc. | Cache array select logic allowing cache array size to differ from physical page size |
US5974507A (en) | 1997-04-14 | 1999-10-26 | International Business Machines Corporation | Optimizing a cache eviction mechanism by selectively introducing different levels of randomness into a replacement algorithm |
US6138209A (en) | 1997-09-05 | 2000-10-24 | International Business Machines Corporation | Data processing system and multi-way set associative cache utilizing class predict data structure and method thereof |
US6047358A (en) * | 1997-10-31 | 2000-04-04 | Philips Electronics North America Corporation | Computer system, cache memory and process for cache entry replacement with selective locking of elements in different ways and groups |
US6192458B1 (en) * | 1998-03-23 | 2001-02-20 | International Business Machines Corporation | High performance cache directory addressing scheme for variable cache sizes utilizing associativity |
JP3495266B2 (ja) | 1998-11-13 | 2004-02-09 | Necエレクトロニクス株式会社 | キャッシュロック装置及びキャッシュロック方法 |
US6405287B1 (en) | 1999-11-17 | 2002-06-11 | Hewlett-Packard Company | Cache line replacement using cache status to bias way selection |
US6446168B1 (en) * | 2000-03-22 | 2002-09-03 | Sun Microsystems, Inc. | Method and apparatus for dynamically switching a cache between direct-mapped and 4-way set associativity |
US6681295B1 (en) | 2000-08-31 | 2004-01-20 | Hewlett-Packard Development Company, L.P. | Fast lane prefetching |
US6874056B2 (en) * | 2001-10-09 | 2005-03-29 | Agere Systems Inc. | Method and apparatus for reducing cache thrashing |
US7096323B1 (en) | 2002-09-27 | 2006-08-22 | Advanced Micro Devices, Inc. | Computer system with processor cache that stores remote cache presence information |
JP2004171177A (ja) | 2002-11-19 | 2004-06-17 | Renesas Technology Corp | キャッシュシステムおよびキャッシュメモリ制御装置 |
US7406579B2 (en) * | 2002-12-17 | 2008-07-29 | International Business Machines Corporation | Selectively changeable line width memory |
US7191291B2 (en) | 2003-01-16 | 2007-03-13 | Ip-First, Llc | Microprocessor with variable latency stack cache |
US7543113B2 (en) | 2004-07-02 | 2009-06-02 | Hewlett-Packard Development Company, L.P. | Cache memory system and method capable of adaptively accommodating various memory line sizes |
JP4669244B2 (ja) * | 2004-07-29 | 2011-04-13 | 富士通株式会社 | キャッシュメモリ装置およびメモリ制御方法 |
US7257678B2 (en) * | 2004-10-01 | 2007-08-14 | Advanced Micro Devices, Inc. | Dynamic reconfiguration of cache memory |
US8593474B2 (en) | 2005-12-30 | 2013-11-26 | Intel Corporation | Method and system for symmetric allocation for a shared L2 mapping cache |
EP1988466A4 (en) | 2006-02-24 | 2009-12-23 | Fujitsu Ltd | CACHE MEMORY ARRANGEMENT AND CACHE MEMORY CONTROL METHOD |
US7689772B2 (en) * | 2006-05-04 | 2010-03-30 | Intel Corporation | Power-performance modulation in caches using a smart least recently used scheme |
US8046775B2 (en) | 2006-08-14 | 2011-10-25 | Marvell World Trade Ltd. | Event-based bandwidth allocation mode switching method and apparatus |
US20090006756A1 (en) | 2007-06-29 | 2009-01-01 | Donley Greggory D | Cache memory having configurable associativity |
JP2010026851A (ja) * | 2008-07-22 | 2010-02-04 | Panasonic Corp | コンパイラによる最適化方法 |
US8352684B2 (en) | 2008-09-23 | 2013-01-08 | International Business Machines Corporation | Optimal cache replacement scheme using a training operation |
US8661179B2 (en) * | 2008-10-03 | 2014-02-25 | Agere Systems Llc | Cache memory architecture having reduced tag memory size and method of operation thereof |
US8549208B2 (en) | 2008-12-08 | 2013-10-01 | Teleputers, Llc | Cache memory having enhanced performance and security features |
US8250332B2 (en) | 2009-06-11 | 2012-08-21 | Qualcomm Incorporated | Partitioned replacement for cache memory |
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 |
US9582431B2 (en) | 2010-03-22 | 2017-02-28 | Seagate Technology Llc | Storage address space to NVM address, span, and length mapping/converting |
US8677071B2 (en) * | 2010-03-26 | 2014-03-18 | Virtualmetrix, Inc. | Control of processor cache memory occupancy |
US20120096226A1 (en) | 2010-10-18 | 2012-04-19 | Thompson Stephen P | Two level replacement scheme optimizes for performance, power, and area |
CN103597545B (zh) | 2011-06-09 | 2016-10-19 | 株式会社半导体能源研究所 | 高速缓冲存储器及其驱动方法 |
US9110830B2 (en) | 2012-01-18 | 2015-08-18 | Qualcomm Incorporated | Determining cache hit/miss of aliased addresses in virtually-tagged cache(s), and related systems and methods |
US9824013B2 (en) | 2012-05-08 | 2017-11-21 | Qualcomm Incorporated | Per thread cacheline allocation mechanism in shared partitioned caches in multi-threaded processors |
US8972665B2 (en) * | 2012-06-15 | 2015-03-03 | International Business Machines Corporation | Cache set selective power up |
US20140047175A1 (en) * | 2012-08-09 | 2014-02-13 | International Business Machines Corporation | Implementing efficient cache tag lookup in very large cache systems |
US9734059B2 (en) * | 2012-11-21 | 2017-08-15 | Advanced Micro Devices, Inc. | Methods and apparatus for data cache way prediction based on classification as stack data |
WO2016009247A1 (en) | 2014-07-14 | 2016-01-21 | Via Alliance Semiconductor Co., Ltd. | Cache system with primary cache and overflow cache that use different indexing schemes |
US9911508B2 (en) | 2014-09-18 | 2018-03-06 | Via Alliance Semiconductor Co., Ltd | Cache memory diagnostic writeback |
JP6207765B2 (ja) | 2014-12-14 | 2017-10-04 | ヴィア アライアンス セミコンダクター カンパニー リミテッド | モードに応じてセットの1つ又は複数を選択的に選択するように動的に構成可能であるマルチモード・セット・アソシエイティブ・キャッシュ・メモリ |
EP3129886B1 (en) | 2014-12-14 | 2019-10-02 | VIA Alliance Semiconductor Co., Ltd. | Dynamic cache replacement way selection based on address tag bits |
-
2014
- 2014-12-14 US US14/891,335 patent/US10719434B2/en active Active
- 2014-12-14 JP JP2016564428A patent/JP6209689B2/ja active Active
- 2014-12-14 WO PCT/IB2014/003176 patent/WO2016097795A1/en active Application Filing
- 2014-12-14 EP EP14891602.6A patent/EP3055774B1/en active Active
-
2015
- 2015-11-18 CN CN201510795138.XA patent/CN105701031B/zh active Active
- 2015-11-20 TW TW104138641A patent/TWI564718B/zh active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0520193A (ja) * | 1991-07-15 | 1993-01-29 | Oki Electric Ind Co Ltd | キヤツシユ・メモリ装置 |
JPH06231044A (ja) * | 1992-12-22 | 1994-08-19 | Internatl Business Mach Corp <Ibm> | キャッシュ・メモリを有するデータ処理システム |
JPH0962582A (ja) * | 1995-08-21 | 1997-03-07 | Toshiba Corp | 疑似セットアソシアティブ方式キャッシュメモリ装置 |
JP2000020396A (ja) * | 1998-06-26 | 2000-01-21 | Nec Kofu Ltd | 可変式キャッシュ方式 |
JP2002236616A (ja) * | 2001-02-13 | 2002-08-23 | Fujitsu Ltd | キャッシュメモリシステム |
JP2003131945A (ja) * | 2001-10-25 | 2003-05-09 | Hitachi Ltd | キャッシュメモリ装置 |
JP2005293300A (ja) * | 2004-03-31 | 2005-10-20 | Nec Corp | セットアソシアティブキャッシュシステム及びキャッシュメモリの制御方法 |
JP2010170292A (ja) * | 2009-01-22 | 2010-08-05 | Nec Computertechno Ltd | キャッシュメモリ制御回路およびキャッシュメモリ管理方法 |
WO2013098919A1 (ja) * | 2011-12-26 | 2013-07-04 | ルネサスエレクトロニクス株式会社 | データ処理装置 |
Also Published As
Publication number | Publication date |
---|---|
EP3055774B1 (en) | 2019-07-17 |
US20160357664A1 (en) | 2016-12-08 |
WO2016097795A1 (en) | 2016-06-23 |
WO2016097795A9 (en) | 2016-10-13 |
TW201636852A (zh) | 2016-10-16 |
EP3055774A1 (en) | 2016-08-17 |
TWI564718B (zh) | 2017-01-01 |
CN105701031A (zh) | 2016-06-22 |
EP3055774A4 (en) | 2017-03-29 |
JP6209689B2 (ja) | 2017-10-04 |
CN105701031B (zh) | 2019-03-15 |
US10719434B2 (en) | 2020-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6209689B2 (ja) | モードに応じてウェイの全部又はサブセットに選択的に割り当てるように動的に構成可能であるマルチモード・セット・アソシエイティブ・キャッシュ・メモリ | |
JP6207765B2 (ja) | モードに応じてセットの1つ又は複数を選択的に選択するように動的に構成可能であるマルチモード・セット・アソシエイティブ・キャッシュ・メモリ | |
JP6218971B2 (ja) | アドレス・タグ・ビットに基づく動的キャッシュ置換ウェイ選択 | |
JP6207766B2 (ja) | ヘテロジニアス置換ポリシーを用いるセット・アソシエイティブ・キャッシュ・メモリ | |
Sanchez et al. | The ZCache: Decoupling ways and associativity | |
EP3066572B1 (en) | Cache memory budgeted by chunks based on memory access type | |
EP3055775B1 (en) | Cache replacement policy that considers memory access type | |
EP3066571B1 (en) | Cache memory budgeted by ways on memory access type | |
EP3230874B1 (en) | Fully associative cache memory budgeted by memory access type | |
Basu et al. | Scavenger: A new last level cache architecture with global block priority |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170321 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20170616 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170810 |
|
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: 20170829 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170911 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6209689 Country of ref document: JP 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |