JP4302083B2 - キャッシュシステムおよびキャッシュシステム制御方法 - Google Patents
キャッシュシステムおよびキャッシュシステム制御方法 Download PDFInfo
- Publication number
- JP4302083B2 JP4302083B2 JP2005207350A JP2005207350A JP4302083B2 JP 4302083 B2 JP4302083 B2 JP 4302083B2 JP 2005207350 A JP2005207350 A JP 2005207350A JP 2005207350 A JP2005207350 A JP 2005207350A JP 4302083 B2 JP4302083 B2 JP 4302083B2
- Authority
- JP
- Japan
- Prior art keywords
- entry
- reload
- victim
- cache
- pointer
- 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 title claims description 15
- 230000006870 function Effects 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000004422 calculation algorithm Methods 0.000 claims description 4
- 238000013500 data storage Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 2
- 230000001960 triggered effect Effects 0.000 claims 3
- 239000000872 buffer Substances 0.000 description 17
- 238000010586 diagram Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 208000033748 Device issues Diseases 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008867 communication pathway Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction 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/0855—Overlapped cache accessing, e.g. pipeline
- G06F12/0859—Overlapped cache accessing, e.g. pipeline with reload from main memory
-
- 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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
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
図5は、典型的なキャッシュシステムを示すブロック図である。このシステムには、3つの互いに独立する有限状態マシン(FSM)が含まれている。なお、FSMの数は、3に限られることがない。
Claims (8)
- キャッシュストレージにおけるエントリであって、メインメモリから読み出されたデータが格納されるべきリロードエントリを指定するリロードポインタと、
キャッシュストレージにおけるフリーエントリを前記リロードエントリとして指定するよう前記リロードポインタを設定するフリーエントリ演算手段と、
キャッシュミスが発生した際、前記リロードポインタが指定するリロードエントリに対してメインメモリから読み出したデータを格納するキャッシュミス制御手段と、
キャッシュストレージにおけるエントリであって、格納されたデータがメインメモリにライトバックされるべきビクティムエントリを指定するビクティムポインタと、
キャッシュミスが発生した際、キャッシュストレージにおけるフリーエントリが、前記リロードポインタが指定するリロードエントリだけであることを条件として、前記キャッシュミス制御手段によるリロードエントリへのデータ格納処理と並列して、前記ビクティムポインタが指定するビクティムエントリに格納されたデータをメインメモリへライトバックするライトバック制御手段と、
前記ライトバック制御手段によるライトバック処理を契機として、所定のアルゴリズムに基づいて選択されたキャッシュストレージにおける別のエントリを新たなビクティムエントリとして指定するよう前記ビクティムポインタを設定するビクティムエントリ演算手段と、を備え、
前記ライトバック制御手段は、ライトバック処理を実行したビクティムエントリを、新たなリロードエントリとして前記リロードポインタが指定するよう前記フリーエントリ演算手段において設定させるために、当該ライトバック処理を実行したビクティムエントリに格納されたデータを無効なデータとして設定することを特徴とするキャッシュシステム。 - 他のデバイスのリクエストに対応するためのバスオペレーションをスヌープするスヌープ制御手段をさらに備えることを特徴とする請求項1に記載のキャッシュシステム。
- 前記スヌープ制御手段は、ディレクトリと接続されていることを特徴とする請求項2に記載のキャッシュシステム。
- 前記ビクティムエントリ演算手段は、前記別のエントリとして、前記キャッシュストレージにおけるエントリのうち最も過去に用いられたエントリを選択することを特徴とする請求項1から3のいずれかに記載のキャッシュシステム。
- キャッシュシステムを制御する方法であって、
キャッシュストレージにおけるエントリであって、メインメモリから読み出されたデータが格納されるべきリロードエントリを指定するリロードポインタが、キャッシュストレージにおけるフリーエントリを前記リロードエントリとして指定するよう設定するステップと、
キャッシュミスが発生した際、前記リロードポインタが指定するリロードエントリに対してメインメモリから読み出したデータを格納するステップと、
キャッシュミスが発生した際、キャッシュストレージにおけるフリーエントリが、前記リロードポインタが指定するリロードエントリだけであることを条件として、キャッシュストレージにおけるエントリであって、格納されたデータがメインメモリにライトバックされるべきビクティムエントリを指定するビクティムポインタについて、そのビクティムポインタが指定するビクティムエントリに格納されたデータを、前記リロードエントリへのデータ格納処理と並列してメインメモリへライトバックするステップと、
前記メインメモリへのライトバック処理を契機として、所定のアルゴリズムに基づいて選択されたキャッシュストレージにおける別のエントリを新たなビクティムエントリとして指定するよう前記ビクティムポインタを設定するステップと、を備え、
前記ライトバックするステップは、ライトバック処理を実行したビクティムエントリを、新たなリロードエントリとして前記リロードポインタにより指定させるために、当該ライトバック処理を実行したビクティムエントリに格納されたデータを無効なデータとして設定するステップを含むことを特徴とするキャッシュシステム制御方法。 - 前記ビクティムポインタを設定するステップは、前記別のエントリとして、前記キャッシュストレージにおけるエントリのうち最も過去に用いられたエントリを選択することを特徴とする請求項5に記載のキャッシュシステム制御方法。
- キャッシュシステムを制御するためのコンピュータプログラムであって、
キャッシュストレージにおけるエントリであって、メインメモリから読み出されたデータが格納されるべきリロードエントリを指定するリロードポインタが、キャッシュストレージにおけるフリーエントリを前記リロードエントリとして指定するよう設定する機能と、
キャッシュミスが発生した際、前記リロードポインタが指定するリロードエントリに対してメインメモリから読み出したデータを格納する機能と、
キャッシュミスが発生した際、キャッシュストレージにおけるフリーエントリが、前記リロードポインタが指定するリロードエントリだけであることを条件として、キャッシュストレージにおけるエントリであって、格納されたデータがメインメモリにライトバックされるべきビクティムエントリを指定するビクティムポインタについて、そのビクティムポインタが指定するビクティムエントリに格納されたデータを、前記リロードエントリへのデータ格納処理と並列してメインメモリへライトバックする機能と、
前記メインメモリへのライトバック処理を契機として、所定のアルゴリズムに基づいて選択されたキャッシュストレージにおける別のエントリを新たなビクティムエントリとして指定するよう前記ビクティムポインタを設定する機能と、を前記キャッシュシステムに実現させ、
前記ライトバックする機能は、ライトバック処理を実行したビクティムエントリを、新たなリロードエントリとして前記リロードポインタにより指定させるために、当該ライトバック処理を実行したビクティムエントリに格納されたデータを無効なデータとして設定する機能を含むことを特徴とするキャッシュシステム制御プログラム。 - 請求項7に記載のキャッシュシステム制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/891,796 US20060015689A1 (en) | 2004-07-15 | 2004-07-15 | Implementation and management of moveable buffers in cache system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006031710A JP2006031710A (ja) | 2006-02-02 |
JP4302083B2 true JP4302083B2 (ja) | 2009-07-22 |
Family
ID=35134646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005207350A Expired - Fee Related JP4302083B2 (ja) | 2004-07-15 | 2005-07-15 | キャッシュシステムおよびキャッシュシステム制御方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20060015689A1 (ja) |
JP (1) | JP4302083B2 (ja) |
WO (1) | WO2006040689A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7281092B2 (en) * | 2005-06-02 | 2007-10-09 | International Business Machines Corporation | System and method of managing cache hierarchies with adaptive mechanisms |
US20080244189A1 (en) * | 2007-03-30 | 2008-10-02 | Allison Brian D | Method, Apparatus, System and Program Product Supporting Directory-Assisted Speculative Snoop Probe With Concurrent Memory Access |
US20080244190A1 (en) * | 2007-03-30 | 2008-10-02 | Shedivy David A | Method, Apparatus, System and Program Product Supporting Efficient Eviction of an Entry From a Central Coherence Directory |
US7966521B2 (en) * | 2008-07-14 | 2011-06-21 | International Business Machines Corporation | Light weight and high throughput test case generation methodology for testing cache/TLB intervention and diagnostics |
US9678882B2 (en) * | 2012-10-11 | 2017-06-13 | Intel Corporation | Systems and methods for non-blocking implementation of cache flush instructions |
US10922230B2 (en) * | 2016-07-15 | 2021-02-16 | Advanced Micro Devices, Inc. | System and method for identifying pendency of a memory access request at a cache entry |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US159004A (en) * | 1875-01-19 | Improvement in hair-cutters gages | ||
JP3183161B2 (ja) * | 1996-04-12 | 2001-07-03 | 三菱自動車工業株式会社 | 覚醒度推定装置 |
US6542081B2 (en) * | 1996-08-19 | 2003-04-01 | William C. Torch | System and method for monitoring eye movement |
US5732232A (en) * | 1996-09-17 | 1998-03-24 | International Business Machines Corp. | Method and apparatus for directing the expression of emotion for a graphical user interface |
US6145057A (en) * | 1997-04-14 | 2000-11-07 | International Business Machines Corporation | Precise method and system for selecting an alternative cache entry for replacement in response to a conflict between cache operation requests |
US5950205A (en) * | 1997-09-25 | 1999-09-07 | Cisco Technology, Inc. | Data transmission over the internet using a cache memory file system |
US6085294A (en) * | 1997-10-24 | 2000-07-04 | Compaq Computer Corporation | Distributed data dependency stall mechanism |
DE19801009C1 (de) * | 1998-01-14 | 1999-04-22 | Daimler Chrysler Ag | Verfahren und Vorrichtung zum Abbremsen eines Fahrzeugs |
US6190314B1 (en) * | 1998-07-15 | 2001-02-20 | International Business Machines Corporation | Computer input device with biosensors for sensing user emotions |
US6347261B1 (en) * | 1999-08-04 | 2002-02-12 | Yamaha Hatsudoki Kabushiki Kaisha | User-machine interface system for enhanced interaction |
US6523089B2 (en) * | 2000-07-19 | 2003-02-18 | Rambus Inc. | Memory controller with power management logic |
US6483418B1 (en) * | 2000-08-18 | 2002-11-19 | Texas Instruments Incorporated | Creep acting miniature thermostatic electrical switch and thermostatic member used therewith |
US6611206B2 (en) * | 2001-03-15 | 2003-08-26 | Koninklijke Philips Electronics N.V. | Automatic system for monitoring independent person requiring occasional assistance |
JP2003072488A (ja) * | 2001-08-31 | 2003-03-12 | Sony Corp | 車載装置、車両及び車両情報の処理方法 |
US7221809B2 (en) * | 2001-12-17 | 2007-05-22 | Genex Technologies, Inc. | Face recognition system and method |
JP4033672B2 (ja) * | 2001-12-26 | 2008-01-16 | 株式会社日立製作所 | 緊急事態通報システム |
US7003139B2 (en) * | 2002-02-19 | 2006-02-21 | Eastman Kodak Company | Method for using facial expression to determine affective information in an imaging system |
-
2004
- 2004-07-15 US US10/891,796 patent/US20060015689A1/en not_active Abandoned
-
2005
- 2005-07-14 WO PCT/IB2005/003565 patent/WO2006040689A1/en active Application Filing
- 2005-07-15 JP JP2005207350A patent/JP4302083B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
WO2006040689A1 (en) | 2006-04-20 |
US20060015689A1 (en) | 2006-01-19 |
JP2006031710A (ja) | 2006-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8495299B2 (en) | Non-blocking data transfer via memory cache manipulation | |
US6286090B1 (en) | Mechanism for selectively imposing interference order between page-table fetches and corresponding data fetches | |
US6725343B2 (en) | System and method for generating cache coherence directory entries and error correction codes in a multiprocessor system | |
US6272602B1 (en) | Multiprocessing system employing pending tags to maintain cache coherence | |
US6085263A (en) | Method and apparatus for employing commit-signals and prefetching to maintain inter-reference ordering in a high-performance I/O processor | |
US8719508B2 (en) | Near neighbor data cache sharing | |
US6728839B1 (en) | Attribute based memory pre-fetching technique | |
KR100704089B1 (ko) | L2 디렉토리를 이용한 멀티프로세서 시스템의 가-로드촉진 방법 및 장치 | |
US20090132749A1 (en) | Cache memory system | |
US11023410B2 (en) | Instructions for performing multi-line memory accesses | |
JP2000250813A (ja) | I/oキャッシュ・メモリにおけるデータ管理方法 | |
JP2010507160A (ja) | データ処理装置の共有メモリへの書込みアクセス要求の処理 | |
KR20040012812A (ko) | L2 디렉토리를 이용한 멀티프로세서 시스템의 가-저장촉진 방법 및 장치 | |
KR101639943B1 (ko) | 범용 그래픽 프로세서의 공유 메모리를 캐시로 동작시키기 위한 공유 메모리 제어 방법 및 이를 이용한 범용 그래픽 프로세서 | |
JP4302083B2 (ja) | キャッシュシステムおよびキャッシュシステム制御方法 | |
EP3885918B1 (en) | System, apparatus and method for performing a remote atomic operation via an interface | |
US11556477B2 (en) | System and method for configurable cache IP with flushable address range | |
US7657667B2 (en) | Method to provide cache management commands for a DMA controller | |
JP4577729B2 (ja) | ライトバックキャッシュにおいてスヌーププッシュ処理やスヌープキル処理が同時発生しているときのライトバック処理をキャンセルするためのシステムおよび方法 | |
US9886212B2 (en) | Mechanism for copying data in memory | |
CN109791521B (zh) | 提供数据访问的原子集的装置及方法 | |
JP2007207224A (ja) | データ・ラインをキャッシュに書き込む方法 | |
US6728842B2 (en) | Cache updating in multiprocessor systems | |
WO2023055508A1 (en) | Storing an indication of a specific data pattern in spare directory entries | |
JPH08123722A (ja) | 情報処理システムにおける記憶制御方法および記憶制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060112 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081029 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081111 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090109 |
|
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: 20090421 |
|
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: 20090421 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120501 Year of fee payment: 3 |
|
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: 20130501 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |