JP2006529034A - 置換に利用可能なキャッシュウェイを選択する方法と装置 - Google Patents
置換に利用可能なキャッシュウェイを選択する方法と装置 Download PDFInfo
- Publication number
- JP2006529034A JP2006529034A JP2006521113A JP2006521113A JP2006529034A JP 2006529034 A JP2006529034 A JP 2006529034A JP 2006521113 A JP2006521113 A JP 2006521113A JP 2006521113 A JP2006521113 A JP 2006521113A JP 2006529034 A JP2006529034 A JP 2006529034A
- Authority
- JP
- Japan
- Prior art keywords
- rule set
- cache
- access address
- address
- 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
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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- 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
づいてルールセットを選択する方法が理解される。各実施例では、キャッシュ性能を向上し、キャッシュ汚染を低減するために、例えば異なるキャッシュウェイを異なる種類の情報に対して割り当てるなどしてルールセットを設計することが可能である。例えば、一実施例では、ユーザは情報の寿命に応じて異なるキャッシュウェイを割り当てることによって短い寿命の情報が長寿命の情報を置換する(あるいは重複置換する)ことがないようにすることが可能である。あるいは、(寿命以外あるいはそれに加えて)情報の異なる特性を用いて異なるキャッシュウェイを割り当てることが可能である。更に、例えばキャッシュウェイ制御レジスタ100、ルールセットセレクタ制御レジスタ126、アドレス範囲コンパレータ140などのルールセット選択回路の部分のプログラム可能性によってユーザは、(キャッシュ18などの)キャッシュを異なる種類のアプリケーションに対して最適化することが可能となる。更に、図5及び6の実施例によって最低限の諸経費でもって必要に応じて任意の数のルールセットとアドレス範囲とを規定することが可能となる。ルールセットは、必要に応じてタスクあるいはスレッドの実施中であってもいつでも再プログラムすることが可能である。更に、最適化は、特別なソフトウェア指令や別途ソフトウェア実施に関わる諸経費を必要とすることなく実施することができる。また、メモリ管理ユニットは、異なるメモリ領域に記憶されている情報の種類に関する知識を必要としない。
Claims (19)
- 複数のウェイを有するキャッシュにおいて、置換に利用可能なN個のウェイを選択する方法であって、
複数のルールセットを用意する工程であって、前記複数のルールセットの各々は前記キャッシュにおいて置換に利用可能なN個のウェイを特定するものであり、Nはゼロ以上の整数である、前記用意する工程と、
アクセスアドレスを受信する工程と、
少なくとも前記アクセスアドレスの一部を使用して、前記複数のルールセットから選択された1つのルールセットを選択する工程と、
前記選択された1つのルールセットを使用して、前記キャッシュにおいて置換に利用可能なN個のウェイを選択する工程とを備える前記方法。 - 前記少なくともアクセスアドレスの一部が複数の連続的なアクセスアドレスビットを含む請求項1に記載の方法。
- 前記複数のウェイのうちの第1のウェイの置換を許可する第1のプログラム可能なビットを与える工程を更に備える請求項1に記載の方法。
- 前記複数のウェイのうちの第2のウェイの置換を許可する第2のプログラム可能なビットを与える工程を更に備える請求項3に記載の方法。
- 前記複数のルールセットのうちの第1のルールセットが第1及び第2のプログラム可能なビットを備える請求項4に記載の方法。
- 前記複数のウェイのうちの前記第1のウェイの置換を許可する第3のプログラム可能なビットを与える工程と、
前記複数のウェイのうちの前記第2のウェイの置換を許可する第4のプログラム可能なビットを与える工程とを更に備え、前記複数のルールセットのうちの第2のルールセットは前記第3及び第4のプログラム可能なビットを備える請求項5に記載の方法。 - 前記少なくともアクセスアドレスの一部は複数のビットを備え、前記複数のビットが前記アクセスアドレスの最高次ビットを備える請求項1に記載の方法。
- 前記少なくともアクセスアドレスの一部は前記キャッシュにおいて別の用途をもたない請求項1に記載の方法。
- 前記アクセスアドレスの複数のビットを選択して前記アクセスアドレスのうち少なくとも一部として使用する工程を更に備える請求項1に記載の方法。
- 前記少なくとも前記アクセスアドレスの一部を復号する工程を更に備える、当該複合する工程は、前記少なくとも前記アクセスアドレスの一部を使用して、前記複数のルールセットから選択された1つのルールセットを選択する工程に先だって行われる請求項1に記載の方法。
- 前記少なくともアクセスアドレスの一部を受信し、前記複数のルールセットのうち少なくとも一つを選択するためのルールセット標識を与えるルールセット選択制御レジスタを設ける工程を更に備える請求項1に記載の方法。
- 前記複数のルールセットのうちの第1のルールセットに対応する第1のアドレス範囲を用意する工程と、
前記アクセスアドレスが前記第1のアドレス範囲内にあるか否かを決定する工程とを更に備える請求項1に記載の方法。 - 前記複数のルールセットのうちの第2のルールセットに対応する第2のアドレス範囲を用意する工程と、
前記アクセスアドレスが前記第2のアドレス範囲内にあるか否かを決定する工程とを更に備える請求項12に記載の方法。 - 前記アクセスアドレスが、前記第1のアドレス範囲内になく、かつ、前記第2のアドレス範囲内にない場合、前記複数のルールセットからデフォルトルールセットを使用する工程を更に備える請求項13に記載の方法。
- 前記キャッシュは集積回路の一部として形成される請求項1に記載の方法。
- 複数のウェイを有するキャッシュを備えた集積回路であって、前記キャッシュが、
複数のルールセットを記憶するルールセット記憶回路を備えたルールセット選択回路であって、前記複数のルールセットの各々が前記キャッシュにおいて置換に利用可能なN個のウェイを特定するものであり、Nは0以上の整数であり、少なくともアクセスアドレスの一部を使用して少なくとも1つの選択されたルールセット信号を用意する前記ルールセット選択回路と、
前記ルールセット選択回路に連結され、前記少なくとも1つの選択されたルールセット信号を受信する置換制御回路とを備え、前記置換制御回路は前記少なくとも1つの選択されたルールセット信号を使用して前記キャッシュにおいて置換に利用可能なN個のウェイを選択するものである前記集積回路。 - 前記ルールセット選択回路は、
ベースアドレス値と下限値とのうちの1つを記憶する第1の記憶回路と、
マスク値と上限値とのうちの1つを記憶する第2の記憶回路とを更に備える請求項16に記載の集積回路。 - 複数のルールセットを記憶する記憶回路と、
前記記憶回路に連結され、アクセスアドレスの一部を利用して、前記複数のルールセットのうち少なくとも1つのルールセットを選択するために使用されるルールセット標識を生成する回路とを備え、前記複数のルールセットのうちの前記1つのルールセットは、前記キャッシュにおいて置換に利用可能な少なくとも0以上のウェイを選択するために使用されるものであるキャッシュ制御回路。 - 前記記憶回路は、少なくとも1つのユーザプログラム可能な制御レジスタを備える請求項18に記載のキャッシュ制御回路。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/627,559 US6973540B2 (en) | 2003-07-25 | 2003-07-25 | Method and apparatus for selecting cache ways available for replacement |
PCT/US2004/022439 WO2005013040A2 (en) | 2003-07-25 | 2004-07-13 | Method and apparatus for selecting cache ways available for replacement |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006529034A true JP2006529034A (ja) | 2006-12-28 |
JP4210698B2 JP4210698B2 (ja) | 2009-01-21 |
Family
ID=34080672
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006521113A Expired - Fee Related JP4210698B2 (ja) | 2003-07-25 | 2004-07-13 | 置換に利用可能なキャッシュウェイを選択する方法と装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US6973540B2 (ja) |
EP (1) | EP1652095A2 (ja) |
JP (1) | JP4210698B2 (ja) |
KR (1) | KR101098689B1 (ja) |
CN (1) | CN100407172C (ja) |
TW (1) | TW200532450A (ja) |
WO (1) | WO2005013040A2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009509274A (ja) * | 2005-09-21 | 2009-03-05 | クゥアルコム・インコーポレイテッド | キャッシュのパーティショニングを管理する方法および装置 |
JP2010191754A (ja) * | 2009-02-19 | 2010-09-02 | Mitsubishi Electric Corp | キャッシュ記憶装置 |
JP2017507443A (ja) * | 2014-12-14 | 2017-03-16 | ヴィア アライアンス セミコンダクター カンパニー リミテッド | ヘテロジニアス置換ポリシーを用いるセット・アソシエイティブ・キャッシュ・メモリ |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070204107A1 (en) * | 2004-02-24 | 2007-08-30 | Analog Devices, Inc. | Cache memory background preprocessing |
US20060101208A1 (en) * | 2004-11-09 | 2006-05-11 | Intel Corporation | Method and apparatus for handling non-temporal memory accesses in a cache |
US20080052467A1 (en) * | 2006-08-25 | 2008-02-28 | Advanced Micro Devices, Inc. | System for restricted cache access during information transfers and method thereof |
US9208036B2 (en) | 2011-04-19 | 2015-12-08 | Freescale Semiconductor, Inc. | Dynamic lockstep cache memory replacement logic |
US9086977B2 (en) | 2011-04-19 | 2015-07-21 | Freescale Semiconductor, Inc. | Cache memory with dynamic lockstep support |
GB2505220A (en) * | 2012-08-23 | 2014-02-26 | Ibm | Efficient rule execution in decision services |
US10783083B2 (en) * | 2018-02-12 | 2020-09-22 | Stmicroelectronics (Beijing) Research & Development Co. Ltd | Cache management device, system and method |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5568632A (en) * | 1993-12-17 | 1996-10-22 | Lsi Logic Corporation | Method and apparatus for cache memory |
US5809528A (en) * | 1996-12-24 | 1998-09-15 | International Business Machines Corporation | Method and circuit for a least recently used replacement mechanism and invalidated address handling in a fully associative many-way cache memory |
US6434671B2 (en) | 1997-09-30 | 2002-08-13 | Intel Corporation | Software-controlled cache memory compartmentalization |
US6185657B1 (en) * | 1998-04-20 | 2001-02-06 | Motorola Inc. | Multi-way cache apparatus and method |
US6205519B1 (en) | 1998-05-27 | 2001-03-20 | Hewlett Packard Company | Cache management for a multi-threaded processor |
GB9901933D0 (en) | 1999-01-28 | 1999-03-17 | Univ Bristol | Cache memory |
US6393525B1 (en) * | 1999-05-18 | 2002-05-21 | Intel Corporation | Least recently used replacement method with protection |
CN1282025A (zh) * | 2000-08-31 | 2001-01-31 | 后健慈 | 动态随机存取内存的记忆页运作方法及其架构 |
JP2002140234A (ja) * | 2000-11-02 | 2002-05-17 | Hitachi Ltd | キャッシュ装置 |
US20030159003A1 (en) * | 2001-10-23 | 2003-08-21 | Ip-First, Llc | Associative cache memory with replacement way information integrated into directory |
US6848025B2 (en) * | 2001-10-26 | 2005-01-25 | Elan Research, Inc. | Method and system for programmable replacement mechanism for caching devices |
CN1165000C (zh) * | 2001-12-20 | 2004-09-01 | 中国科学院计算技术研究所 | 动态索引的微处理器高速缓存方法 |
TW556212B (en) * | 2002-01-14 | 2003-10-01 | Ip First Llc | L2 cache LRU generation method and apparatus |
-
2003
- 2003-07-25 US US10/627,559 patent/US6973540B2/en active Active
-
2004
- 2004-07-13 KR KR1020067001662A patent/KR101098689B1/ko active IP Right Grant
- 2004-07-13 EP EP04778112A patent/EP1652095A2/en not_active Withdrawn
- 2004-07-13 JP JP2006521113A patent/JP4210698B2/ja not_active Expired - Fee Related
- 2004-07-13 CN CN200480017397XA patent/CN100407172C/zh not_active Expired - Fee Related
- 2004-07-13 WO PCT/US2004/022439 patent/WO2005013040A2/en active Application Filing
- 2004-07-23 TW TW093122204A patent/TW200532450A/zh unknown
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009509274A (ja) * | 2005-09-21 | 2009-03-05 | クゥアルコム・インコーポレイテッド | キャッシュのパーティショニングを管理する方法および装置 |
JP4847534B2 (ja) * | 2005-09-21 | 2011-12-28 | クゥアルコム・インコーポレイテッド | キャッシュのパーティショニングを管理する方法および装置 |
JP2010191754A (ja) * | 2009-02-19 | 2010-09-02 | Mitsubishi Electric Corp | キャッシュ記憶装置 |
JP2017507443A (ja) * | 2014-12-14 | 2017-03-16 | ヴィア アライアンス セミコンダクター カンパニー リミテッド | ヘテロジニアス置換ポリシーを用いるセット・アソシエイティブ・キャッシュ・メモリ |
Also Published As
Publication number | Publication date |
---|---|
US20050021911A1 (en) | 2005-01-27 |
EP1652095A2 (en) | 2006-05-03 |
CN100407172C (zh) | 2008-07-30 |
US6973540B2 (en) | 2005-12-06 |
KR101098689B1 (ko) | 2011-12-23 |
WO2005013040A2 (en) | 2005-02-10 |
JP4210698B2 (ja) | 2009-01-21 |
WO2005013040A3 (en) | 2005-08-04 |
CN1809819A (zh) | 2006-07-26 |
TW200532450A (en) | 2005-10-01 |
KR20060055522A (ko) | 2006-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100813370B1 (ko) | 캐시 메모리 및 그 제어방법 | |
EP0952524B1 (en) | Multi-way cache apparatus and method | |
US7802057B2 (en) | Priority aware selective cache allocation | |
US6058456A (en) | Software-managed programmable unified/split caching mechanism for instructions and data | |
US8356239B2 (en) | Selective cache way mirroring | |
US6578065B1 (en) | Multi-threaded processing system and method for scheduling the execution of threads based on data received from a cache memory | |
US7111124B2 (en) | Set partitioning for cache memories | |
KR101845371B1 (ko) | 오프-다이 캐시 메모리의 태그들의 세트들을 캐시하기 위한 방법, 장치, 및 시스템 | |
KR100942408B1 (ko) | 가변 길이 명령어에 대한 절전 방법 및 장치 | |
CN101097547A (zh) | 用智能最近最少使用方案在高速缓存中进行功率性能调整 | |
JP4210698B2 (ja) | 置換に利用可能なキャッシュウェイを選択する方法と装置 | |
US6898671B2 (en) | Data processor for reducing set-associative cache energy via selective way prediction | |
US6026470A (en) | Software-managed programmable associativity caching mechanism monitoring cache misses to selectively implement multiple associativity levels | |
JP2006018841A (ja) | さまざまなメモリラインサイズに適応的に対応可能なキャッシュメモリシステムおよび方法 | |
US20090292880A1 (en) | Cache memory system | |
US20220121576A1 (en) | Reduce Data Traffic between Cache and Memory via Data Access of Variable Sizes | |
US7376797B2 (en) | Cache memory system and method using reference bits | |
US20150006935A1 (en) | Method for controlling cache memory and apparatus for the same | |
KR100486252B1 (ko) | 캐쉬 장치 및 이에 적합한 캐쉬 제어 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070713 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080415 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080618 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080708 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080912 |
|
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: 20081007 |
|
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: 20081027 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4210698 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: 20111031 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121031 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121031 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131031 Year of fee payment: 5 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |