JP4477688B2 - キャッシュメモリアクセスを管理する方法と装置 - Google Patents
キャッシュメモリアクセスを管理する方法と装置 Download PDFInfo
- Publication number
- JP4477688B2 JP4477688B2 JP2008514886A JP2008514886A JP4477688B2 JP 4477688 B2 JP4477688 B2 JP 4477688B2 JP 2008514886 A JP2008514886 A JP 2008514886A JP 2008514886 A JP2008514886 A JP 2008514886A JP 4477688 B2 JP4477688 B2 JP 4477688B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- data
- access
- bank
- shared
- 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
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
- G06F12/0848—Partitioned cache, e.g. separate instruction and operand caches
-
- 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
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- 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
-
- 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/0837—Cache consistency protocols with software control, e.g. non-cacheable data
-
- 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
-
- 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
-
- 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)
Description
Claims (21)
- バンクされたキャッシュにおいて、少なくとも1つのバンクについてマルチプロセッサシステムでのキャッシュスヌープトラヒックと関連された共有データキャッシュアクセスおよびアクセスするプロセッサ専用のデータに向けた非共有データキャッシュアクセスの間の干渉を減少させる方法であって、
第1のタイプのデータを保持するための前記バンクされたキャッシュの1つ以上の第1のバンクを指定することであって、前記第1のタイプのデータは共有データおよび非共有データのうちの1つである、1つ以上の第1のバンクを指定することと、
前記第1のタイプのデータのためのキャッシュアクセスを前記1つ以上の第1のバンクに指示することを含む方法。 - さらに、第2のタイプのデータを保持するための前記バンクされたキャッシュの1つ以上の第2のバンクを指定することであって、前記第2のタイプのデータは共有および非共有データのうちの他の1つである、1つ以上の第2のバンクを指定することと、前記第2のタイプのデータのためのキャッシュアクセスを前記1つ以上の第2のバンクへ指示することを含む請求項1の方法。
- 第1のタイプのデータを保持するための前記バンクされたキャッシュの1つ以上の第1のバンクを指定することは、共有データを保持するために前記バンクされたキャッシュの第1のキャッシュバンクを指定することを含み、第2のタイプのデータを保持するために前記バンクされたキャッシュの1つ以上の第2のバンクを指定することが、非共有データを保持するために前記バンクされたキャッシュの第2のキャッシュバンクを指定することを含む請求項2の方法。
- 第1のタイプのデータのためのキャッシュアクセスを前記1つ以上の第1のバンクに指示することは、共有データのためのキャッシュアクセスを前記第1のキャッシュバンクへ指示することであり、第2のタイプのデータのためのキャッシュアクセスを前記1つ以上の第2のバンクに指示することは、非共有データのためのキャッシュアクセスを前記第2のキャッシュバンクへ指示することである請求項3の方法。
- 第1のタイプのデータを保持するための前記バンクされたキャッシュの1つ以上の第1のバンクを指定することは、前記第1のタイプのデータを保持するための前記バンクされたキャッシュの少なくとも1つのバンクを排他的に指定することを含む請求項1の方法。
- 第1のタイプのデータを保持するための前記バンクされたキャッシュの1つ以上の第1のバンクを指定することは、前記第1のタイプのデータおよび第2のタイプのデータの混合を保持するための前記バンクされたキャッシュの少なくとも1つのバンクを指定することを含み、前記第2のタイプのデータは共有および非共有データのうちの他の1つである請求項1の方法。
- 前記第1のタイプのデータのためのキャッシュアクセスを前記1つ以上の第1のバンクに指示することは、キャッシュアクセスが前記第1のタイプのデータ向けであるかどうかを示すアクセスタイプ指標信号にバンク選択機能が応答してバンクを選択することを含む請求項1の方法。
- 前記バンク選択機能は、1つ以上のキャッシュアクセスアドレス信号およびアクセスタイプ指標信号に応答して、前記バンクされたキャッシュの特定のバンクにおける特定の位置へのキャッシュアクセスを指示するように構成される請求項7の方法。
- 第1のタイプのデータを保持するための前記バンクされたキャッシュの1つ以上の第1のバンクを指定することは、個々のキャッシュアクセスが前記第1のタイプのデータを含んでいるかどうかを示すアクセスタイプ指標信号に応答するように、前記バンクされたキャッシュにおける特定のバンクへキャッシュアクセスを指示するために使用されるバンク選択機能を構成することを含む請求項1の方法。
- 前記バンクされたキャッシュの前記1つ以上の第1のバンクの指定を変更することを必要とされたとき、前記バンク選択機能を再構成することをさらに含む請求項9の方法。
- 指定の変更に応答して前記バンクされたキャッシュの前記1つ以上の第1のバンクから現在キャッシュされたデータをフラッシュすることをさらに含む請求項10の方法。
- マルチプロセッサシステムでのキャッシュスヌープトラヒックと関連された共有データのためのキャッシュアクセスとアクセスするプロセッサ専用である非共有データのためのキャッシュアクセスとの間のバンクされたキャッシュにおけるキャッシュアクセス干渉を減少させる方法であり、
前記バンクされたキャッシュの少なくとも1つのキャッシュバンクにおける共有および非共有データの混合を減少または除去することと、
共有または非共有データの一方に関連されたキャッシュアクセスを共有または非共有データのうちの他方が減少または除去されてしまった少なくとも1つのキャッシュバンクに指示することを含む方法。 - 前記バンクされたキャッシュの少なくとも1つのキャッシュバンクにおける共有および非共有データの混合を減少または除去することは、共有データを保持するための前記バンクされたキャッシュの1つ以上のバンクを指定し、共有データのためのキャッシュアクセスを前記指定された1つ以上のバンクに指示することを含む請求項12の方法。
- 前記バンクされたキャッシュの少なくとも1つのキャッシュバンクにおける共有および非共有データの混合を減少または除去することは、非共有データを保持するための前記バンクされたキャッシュの1つ以上のバンクを指定し、非共有データのためのキャッシュアクセスを前記指定された1つ以上のバンクに指示することを含む請求項12の方法。
- 第1のタイプのデータを保持するために指定されたバンクされたキャッシュの1つ以上の第1のキャッシュバンクに第1のタイプのデータのためのキャッシュアクセスを指示することにより、マルチプロセッサシステムでのキャッシュスヌープトラヒックと関連された共有データキャッシュアクセスおよびアクセスするプロセッサ専用のデータに向けた非共有データキャッシュアクセス間の干渉を減少させるように構成され、前記第1のタイプのデータが共有データおよび非共有データのうちの1つである、アクセス制御回路を含むバンクされたキャッシュ。
- 前記アクセス制御回路が、第2のタイプのデータのためのキャッシュアクセスを前記バンクされたキャッシュの1つ以上の第2のキャッシュバンクに指示するように構成され、前記第2のタイプのデータが共有および非共有データのうちの他の1つである請求項15のバンクされたキャッシュ。
- 前記アクセス制御回路は、与えられたキャッシュアクセスが、与えられたキャッシュアクセスと関連して前記バンクされたキャッシュに供給されるアクセスタイプ指標信号に基づいて、前記第1または第2のタイプのデータ向けであるかどうかを判断するように構成される、請求項16のバンクされたキャッシュ。
- 前記アクセス制御回路はキャッシュアクセスと関連したアクセスタイプ指標信号を受け取ることに基づいてバンク選択機能を実施するように構成され、与えられたキャッシュアクセスが前記第1のタイプのデータ向けであることを前記アクセスタイプ指標信号が示す場合に、前記アクセス制御回路が与えられたキャッシュアクセスを前記1つ以上の第1のキャッシュバンクに指示するように構成される、請求項15のバンクされたキャッシュ。
- 前記1つ以上の第1のキャッシュバンクの少なくとも1つが前記第1のタイプのデータを保持するために排他的に指定される、請求項15のバンクされたキャッシュ。
- 前記1つ以上の第1のキャッシュバンクの少なくとも1つが前記第1のタイプのデータを保持のために非排他的に指定される、請求項15のバンクされたキャッシュ。
- 前記アクセス制御回路は前記1つ以上の第1のキャッシュバンクの指定を変更することを可能にするように構成可能である、請求項15のバンクされたキャッシュ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/144,207 US7353319B2 (en) | 2005-06-02 | 2005-06-02 | Method and apparatus for segregating shared and non-shared data in cache memory banks |
PCT/US2006/021401 WO2006130809A2 (en) | 2005-06-02 | 2006-06-02 | Method and apparatus for managing cache memory accesses |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008542923A JP2008542923A (ja) | 2008-11-27 |
JP4477688B2 true JP4477688B2 (ja) | 2010-06-09 |
Family
ID=37027583
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008514886A Expired - Fee Related JP4477688B2 (ja) | 2005-06-02 | 2006-06-02 | キャッシュメモリアクセスを管理する方法と装置 |
Country Status (10)
Country | Link |
---|---|
US (1) | US7353319B2 (ja) |
EP (1) | EP1902370B1 (ja) |
JP (1) | JP4477688B2 (ja) |
KR (1) | KR100953854B1 (ja) |
CN (1) | CN101228512B (ja) |
AT (1) | ATE459920T1 (ja) |
DE (1) | DE602006012678D1 (ja) |
IL (1) | IL187807A0 (ja) |
MX (1) | MX2007015246A (ja) |
WO (1) | WO2006130809A2 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8661265B1 (en) | 2006-06-29 | 2014-02-25 | David Dunn | Processor modifications to increase computer system security |
US7925815B1 (en) * | 2006-06-29 | 2011-04-12 | David Dunn | Modifications to increase computer system security |
US8041854B2 (en) * | 2007-09-28 | 2011-10-18 | Intel Corporation | Steering data units to a consumer |
US7809875B2 (en) * | 2008-06-30 | 2010-10-05 | Wind River Systems, Inc. | Method and system for secure communication between processor partitions |
US20100017569A1 (en) * | 2008-07-16 | 2010-01-21 | Agere Systems Inc. | Pcb including multiple chips sharing an off-chip memory, a method of accessing off-chip memory and a mcm utilizing fewer off-chip memories than chips |
US8112585B2 (en) * | 2009-04-30 | 2012-02-07 | Netapp, Inc. | Method and apparatus for dynamically switching cache policies |
JP5121896B2 (ja) * | 2010-08-11 | 2013-01-16 | 株式会社東芝 | マルチコアプロセッサシステムおよびマルチコアプロセッサ |
US20130159630A1 (en) * | 2011-12-20 | 2013-06-20 | Ati Technologies Ulc | Selective cache for inter-operations in a processor-based environment |
US9195658B2 (en) | 2012-12-12 | 2015-11-24 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Managing direct attached cache and remote shared cache |
CN103268321B (zh) * | 2013-04-19 | 2016-04-27 | 中国建设银行股份有限公司 | 高并发交易数据处理方法和装置 |
US20150370707A1 (en) * | 2014-06-24 | 2015-12-24 | Qualcomm Incorporated | Disunited shared-information and private-information caches |
JP6558009B2 (ja) * | 2015-03-23 | 2019-08-14 | 富士ゼロックス株式会社 | 転送装置、転送システムおよびプログラム |
KR102411920B1 (ko) | 2017-11-08 | 2022-06-22 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
CN110688331B (zh) * | 2018-07-05 | 2021-08-17 | 珠海全志科技股份有限公司 | 一种SoC芯片及读取数据的方法 |
GB2584440B (en) * | 2019-06-03 | 2021-12-08 | Advanced Risc Mach Ltd | Cache arrangement for graphics processing systems |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69429777T2 (de) * | 1993-09-30 | 2002-10-17 | Apple Computer, Inc. | System zur dezentralen massenspeichersteuerung eines rechners mit virtuellem speicher |
US5854638A (en) * | 1996-02-02 | 1998-12-29 | Opti Inc. | Unified memory architecture with parallel access by host and video controller |
GB9701960D0 (en) | 1997-01-30 | 1997-03-19 | Sgs Thomson Microelectronics | A cache system |
US5943686A (en) | 1997-04-14 | 1999-08-24 | International Business Machines Corporation | Multiple cache directories for non-arbitration concurrent accessing of a cache memory |
US6029237A (en) * | 1997-10-08 | 2000-02-22 | Dell Usa, L.P. | Method for simulating the presence of a diskette drive in a NetPC computer that contains only a hard disk drive |
US6751704B2 (en) | 2000-12-07 | 2004-06-15 | International Business Machines Corporation | Dual-L2 processor subsystem architecture for networking system |
US7174415B2 (en) * | 2001-06-11 | 2007-02-06 | Zoran Corporation | Specialized memory device |
-
2005
- 2005-06-02 US US11/144,207 patent/US7353319B2/en active Active
-
2006
- 2006-06-02 EP EP06771913A patent/EP1902370B1/en not_active Not-in-force
- 2006-06-02 CN CN2006800271420A patent/CN101228512B/zh active Active
- 2006-06-02 WO PCT/US2006/021401 patent/WO2006130809A2/en active Application Filing
- 2006-06-02 AT AT06771913T patent/ATE459920T1/de not_active IP Right Cessation
- 2006-06-02 DE DE602006012678T patent/DE602006012678D1/de active Active
- 2006-06-02 MX MX2007015246A patent/MX2007015246A/es active IP Right Grant
- 2006-06-02 JP JP2008514886A patent/JP4477688B2/ja not_active Expired - Fee Related
- 2006-06-02 KR KR1020077030698A patent/KR100953854B1/ko not_active IP Right Cessation
-
2007
- 2007-12-02 IL IL187807A patent/IL187807A0/en unknown
Also Published As
Publication number | Publication date |
---|---|
KR100953854B1 (ko) | 2010-04-20 |
WO2006130809A3 (en) | 2007-02-08 |
EP1902370A2 (en) | 2008-03-26 |
US20060277356A1 (en) | 2006-12-07 |
EP1902370B1 (en) | 2010-03-03 |
CN101228512B (zh) | 2011-05-11 |
DE602006012678D1 (de) | 2010-04-15 |
MX2007015246A (es) | 2008-02-21 |
CN101228512A (zh) | 2008-07-23 |
JP2008542923A (ja) | 2008-11-27 |
US7353319B2 (en) | 2008-04-01 |
KR20080014899A (ko) | 2008-02-14 |
IL187807A0 (en) | 2008-08-07 |
ATE459920T1 (de) | 2010-03-15 |
WO2006130809A2 (en) | 2006-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4477688B2 (ja) | キャッシュメモリアクセスを管理する方法と装置 | |
US7162590B2 (en) | Memory bus within a coherent multi-processing system having a main portion and a coherent multi-processing portion | |
US7925840B2 (en) | Data processing apparatus and method for managing snoop operations | |
JP5650766B2 (ja) | Tlbサポート設計のiommu | |
KR101569160B1 (ko) | 캐시에서의 웨이 할당 및 웨이 로킹 방법 | |
US8180981B2 (en) | Cache coherent support for flash in a memory hierarchy | |
US7389402B2 (en) | Microprocessor including a configurable translation lookaside buffer | |
US20090006756A1 (en) | Cache memory having configurable associativity | |
US20050005073A1 (en) | Power control within a coherent multi-processing system | |
US8521944B2 (en) | Performing memory accesses using memory context information | |
US20050010728A1 (en) | Coherent multi-processing system | |
US20110173393A1 (en) | Cache memory, memory system, and control method therefor | |
US20200104259A1 (en) | System, method, and apparatus for snapshot prefetching to improve performance of snapshot operations | |
GB2571538A (en) | Memory interface | |
KR19980079433A (ko) | 비포함 캐쉬 메모리 계층 구조에서 사용하기 위한 캐쉬 일관성 메카니즘 구현 방법 및 시스템 | |
GB2571536A (en) | Coherency manager | |
US20030115402A1 (en) | Multiprocessor system | |
US8332592B2 (en) | Graphics processor with snoop filter | |
JP2007156821A (ja) | キャッシュシステム及び共用2次キャッシュ | |
US7779205B2 (en) | Coherent caching of local memory data | |
US6345344B1 (en) | Cache allocation mechanism for modified-unsolicited cache state that modifies victimization priority bits | |
JPH10143431A (ja) | マイクロプロセッサおよびコンピュータシステムにおけるデータのキャッシング方法 | |
JP2006244460A (ja) | キャッシュメモリ及びプロセッサ | |
JPH07282023A (ja) | データ転送量可変プロセッサ及びそれを用いたシステム | |
US20040250035A1 (en) | Method and apparatus for affecting computer system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091013 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100113 |
|
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: 20100209 |
|
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: 20100311 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4477688 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: 20130319 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140319 Year of fee payment: 4 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |