JP5587539B2 - ローカルメモリデータのコヒーレントなキャッシュ処理 - Google Patents
ローカルメモリデータのコヒーレントなキャッシュ処理 Download PDFInfo
- Publication number
- JP5587539B2 JP5587539B2 JP2007542381A JP2007542381A JP5587539B2 JP 5587539 B2 JP5587539 B2 JP 5587539B2 JP 2007542381 A JP2007542381 A JP 2007542381A JP 2007542381 A JP2007542381 A JP 2007542381A JP 5587539 B2 JP5587539 B2 JP 5587539B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- local memory
- processor
- memory
- data block
- 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.)
- Active
Links
- 230000015654 memory Effects 0.000 title claims description 116
- 230000001427 coherent effect Effects 0.000 title description 5
- 238000000034 method Methods 0.000 claims description 24
- 230000007175 bidirectional communication Effects 0.000 claims 2
- 239000000284 extract Substances 0.000 claims 1
- 230000000694 effects Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000006386 memory function Effects 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- 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
-
- 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/0817—Cache consistency protocols using directory methods
- G06F12/0826—Limited pointers directories; State-only directories without pointers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
Description
・read−sharedは、それを読み込む意図によりデータを読み込むのに使用される。
・read−exclusiveは、それを変更する意図によりデータを読み込むのに使用される。
・lookup−cache−and−upgradeは、modified状態によるデータを有するプロセッサにそれをshared状態に戻すことをリクエストする。
・lookup−cache−and−invalidateは、それのキャッシュにデータを有するプロセッサにキャッシュからそれを削除するようリクエストする。
Claims (12)
- システムバスを介しアクセス可能なメインメモリと、
複数のプロセッサであって、該プロセッサの1以上が関連するキャッシュメモリを有するプロセッサと、
前記複数のプロセッサを接続するシステムバスと、
前記複数のプロセッサの第1プロセッサに関連し、前記システムバスを介し前記複数のプロセッサによりアクセス可能な非キャッシュローカルメモリと、
を有するマルチプロセッサシステムであって、
前記非キャッシュローカルメモリは、前記第1プロセッサによってアクセスされるよう構成され、さらに当該マルチプロセッサシステムの前記複数のプロセッサの他のプロセッサによってアクセスされるよう構成され、
前記非キャッシュローカルメモリは、前記第1プロセッサと直接に双方向通信するための第1ポートと、前記システムバスを介し前記他のプロセッサと双方向通信するための第2ポートとを有し、
前記非キャッシュローカルメモリは、前記メインメモリとは別のメモリであるマルチプロセッサシステム。 - 前記非キャッシュローカルメモリは、各データブロックに第1状態ビットと第2状態ビットとが割り当てられているデータブロックに情報を格納するよう構成され、
前記第1状態ビットと前記第2状態ビットとは、前記非キャッシュローカルメモリと1以上のキャッシュメモリとの間のコヒーレンシを維持するため設けられる、請求項1記載のマルチプロセッサシステム。 - 前記第1状態ビットは、あるデータブロックが共有されているか示すよう構成され、
前記第2状態ビットは、前記あるデータブロックが無効であるか示すよう構成される、請求項2記載のマルチプロセッサシステム。 - 当該システムは、前記データブロックがもともと格納されている前記非キャッシュローカルメモリに前記第1及び第2状態ビットを格納するよう構成される、請求項2又は3記載のマルチプロセッサシステム。
- 前記非キャッシュローカルメモリは、当該システムのキャッシュコヒーレンス粒度に対応するブロックサイズによりデータを格納するよう構成される、請求項2記載のマルチプロセッサシステム。
- システムバスに接続される複数のプロセッサであって、該プロセッサの各々がキャッシュメモリを有する前記複数のプロセッサと、前記システムバスを介しアクセス可能なメインメモリとを有するマルチプロセッサシステムにおいてデータを処理する方法であって、
前記システムバスを介し前記複数のプロセッサによりアクセス可能であって、関連する非キャッシュローカルメモリを第1プロセッサに備えるステップと、
前記非キャッシュローカルメモリが第1ポートを介し前記第1プロセッサによって直接に双方向にアクセス可能とされ、前記システムバスと第2ポートとを介しその他のプロセッサによって双方向にアクセス可能とされる前記第1ポートと前記第2ポートとを有するように、前記非キャッシュローカルメモリを設定するステップと、
を有し、
前記非キャッシュローカルメモリは、前記メインメモリとは別のメモリとして備えられる方法。 - 第1及び第2状態ビットを前記非キャッシュローカルメモリに格納されている各データブロックに割り当てるステップをさらに有し、
前記第1及び第2状態ビットは、前記非キャッシュローカルメモリとキャッシュメモリとの間のコヒーレンシを維持するよう動作する、請求項6記載の方法。 - 前記第1状態ビットは、あるデータブロックが共有されているか示し、
前記第2状態ビットは、前記あるデータブロックが無効であるか示す、請求項7記載の方法。 - 前記データブロックがもともと格納されている前記非キャッシュローカルメモリに前記第1及び第2状態ビットを格納するステップをさらに有する、請求項8記載の方法。
- 第1プロセッサと該第1プロセッサに関連する非キャッシュローカルメモリとの間のリード処理は、
アクセスされる前記データブロックの状態を決定し、前記データブロックが無効であると判断される場合、関連するキャッシュメモリに格納されている変更されたデータブロックを有する前記1以上の他のプロセッサのそれぞれから、前記システムバスを介し変更されたデータブロックを抽出し、無効状態ビットをクリアし、共有状態ビットを設定し、当該リード処理を完了するステップを有する、請求項8又は9記載の方法。 - 第1プロセッサと該第1プロセッサに関連する非キャッシュローカルメモリとの間のライト処理は、
書き込みされる前記データブロックの状態を決定し、前記データブロックが無効又は共有されていると判断される場合、他の何れかのプロセッサが変更されたデータブロックを有するか判断し、そうである場合、該プロセッサに前記変更されたデータブロックを前記非キャッシュローカルメモリに書き戻すようリクエストし、その他のプロセッサのそれぞれの各自のメモリにおいて前記データブロックを無効化し、無効状態ビットをクリアし、当該ライト処理を完了するステップを有する、請求項8又は9記載の方法。 - 前記非キャッシュローカルメモリは、前記システムのキャッシュコヒーレンス粒度に対応するブロックサイズによりデータを格納する、請求項6記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP04106032.8 | 2004-11-24 | ||
EP04106032 | 2004-11-24 | ||
PCT/IB2005/053662 WO2006056900A1 (en) | 2004-11-24 | 2005-11-08 | Coherent caching of local memory data |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008521114A JP2008521114A (ja) | 2008-06-19 |
JP5587539B2 true JP5587539B2 (ja) | 2014-09-10 |
Family
ID=35744855
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007542381A Active JP5587539B2 (ja) | 2004-11-24 | 2005-11-08 | ローカルメモリデータのコヒーレントなキャッシュ処理 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7779205B2 (ja) |
EP (1) | EP1828907A1 (ja) |
JP (1) | JP5587539B2 (ja) |
KR (1) | KR101168364B1 (ja) |
CN (1) | CN101065735A (ja) |
WO (1) | WO2006056900A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8291175B2 (en) * | 2009-10-16 | 2012-10-16 | Oracle America, Inc. | Processor-bus attached flash main-memory module |
JP5404433B2 (ja) | 2010-01-08 | 2014-01-29 | 株式会社東芝 | マルチコアシステム |
TWI478055B (zh) * | 2012-12-11 | 2015-03-21 | Gemtek Technology Co Ltd | 非對稱式處理之多核心系統與其網路設備 |
CN104407989B (zh) * | 2014-11-25 | 2019-02-12 | 上海兆芯集成电路有限公司 | 具有统一标签和片化数据的高速缓冲存储器 |
CN105095145B (zh) * | 2015-09-17 | 2018-04-03 | 浪潮(北京)电子信息产业有限公司 | 一种自适应嵌入式处理器 |
CN107688545B (zh) * | 2016-12-23 | 2021-01-19 | 北京国睿中数科技股份有限公司 | 高速缓存的一致性状态预置方法及系统 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6073766A (ja) * | 1983-09-29 | 1985-04-25 | Meidensha Electric Mfg Co Ltd | Cpu間の情報交換装置 |
JPS61211759A (ja) * | 1985-03-16 | 1986-09-19 | Meidensha Electric Mfg Co Ltd | マルチcpuシステムにおける2ポ−トメモリ制御回路 |
US5291442A (en) | 1990-10-31 | 1994-03-01 | International Business Machines Corporation | Method and apparatus for dynamic cache line sectoring in multiprocessor systems |
JPH05225147A (ja) * | 1992-02-17 | 1993-09-03 | Toshiba Corp | マルチプロセッサ型データ処理システム |
US5513335A (en) | 1992-11-02 | 1996-04-30 | Sgs-Thomson Microelectronics, Inc. | Cache tag memory having first and second single-port arrays and a dual-port array |
US5590308A (en) * | 1993-09-01 | 1996-12-31 | International Business Machines Corporation | Method and apparatus for reducing false invalidations in distributed systems |
US5832534A (en) | 1994-01-04 | 1998-11-03 | Intel Corporation | Method and apparatus for maintaining cache coherency using a single controller for multiple cache memories |
EP0815513B1 (en) | 1995-03-17 | 2006-08-16 | Intel Corporation | Multi-processing cache coherency protocol on a local bus |
US5943500A (en) * | 1996-07-19 | 1999-08-24 | Compaq Computer Corporation | Long latency interrupt handling and input/output write posting |
EP0908825B1 (en) * | 1997-10-10 | 2002-09-04 | Bull S.A. | A data-processing system with cc-NUMA (cache coherent, non-uniform memory access) architecture and remote access cache incorporated in local memory |
JP2002024198A (ja) * | 2000-07-06 | 2002-01-25 | Fujitsu Ltd | 分散共有メモリ型並列計算機 |
US6356983B1 (en) | 2000-07-25 | 2002-03-12 | Src Computers, Inc. | System and method providing cache coherency and atomic memory operations in a multiprocessor computer architecture |
US6862640B2 (en) | 2001-04-10 | 2005-03-01 | Texas Instruments Incorporated | Arbitration in local system for access to memory in a distant subsystem |
WO2003075162A1 (en) * | 2002-02-28 | 2003-09-12 | Silicon Graphics, Inc. | Method and system for cache coherence in dsm multiprocessor system without growth of the sharing vector |
US7133977B2 (en) * | 2003-06-13 | 2006-11-07 | Microsoft Corporation | Scalable rundown protection for object lifetime management |
-
2005
- 2005-11-08 US US11/719,780 patent/US7779205B2/en active Active
- 2005-11-08 JP JP2007542381A patent/JP5587539B2/ja active Active
- 2005-11-08 KR KR1020077011549A patent/KR101168364B1/ko active IP Right Grant
- 2005-11-08 WO PCT/IB2005/053662 patent/WO2006056900A1/en not_active Application Discontinuation
- 2005-11-08 CN CNA2005800401769A patent/CN101065735A/zh active Pending
- 2005-11-08 EP EP05802168A patent/EP1828907A1/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US7779205B2 (en) | 2010-08-17 |
CN101065735A (zh) | 2007-10-31 |
KR101168364B1 (ko) | 2012-07-25 |
JP2008521114A (ja) | 2008-06-19 |
WO2006056900A1 (en) | 2006-06-01 |
KR20070084441A (ko) | 2007-08-24 |
EP1828907A1 (en) | 2007-09-05 |
US20090150619A1 (en) | 2009-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI408550B (zh) | 對資料處理設備中共用記憶體之寫入存取請求之處理 | |
US8606997B2 (en) | Cache hierarchy with bounds on levels accessed | |
JP6831788B2 (ja) | キャッシュ保守命令 | |
US8037252B2 (en) | Method for reducing coherence enforcement by selective directory update on replacement of unmodified cache blocks in a directory-based coherent multiprocessor | |
JP5536658B2 (ja) | バッファメモリ装置、メモリシステム及びデータ転送方法 | |
US6343347B1 (en) | Multiprocessor system bus with cache state and LRU snoop responses for read/castout (RCO) address transaction | |
US6353875B1 (en) | Upgrading of snooper cache state mechanism for system bus with read/castout (RCO) address transactions | |
US7984244B2 (en) | Method and apparatus for supporting scalable coherence on many-core products through restricted exposure | |
US20070156972A1 (en) | Cache coherency control method, chipset, and multi-processor system | |
JP4119380B2 (ja) | マルチプロセッサシステム | |
GB2507758A (en) | Cache hierarchy with first and second level instruction and data caches and a third level unified cache | |
JPH09259036A (ja) | ライトバックキャッシュおよびライトバックキャッシュ内で整合性を維持する方法 | |
US6748496B1 (en) | Method and apparatus for providing cacheable data to a peripheral device | |
JP2007011580A (ja) | 情報処理装置 | |
JP2006277762A (ja) | 分散共有メモリマルチプロセッサシステムのための分割疎ディレクトリ | |
JP5587539B2 (ja) | ローカルメモリデータのコヒーレントなキャッシュ処理 | |
KR20070040340A (ko) | 소형 캐시 시스템에서 원자적 보존 라인에 라이트백하는것을 배제하는 방법 및 시스템 | |
US8332592B2 (en) | Graphics processor with snoop filter | |
US20110082981A1 (en) | Multiprocessing circuit with cache circuits that allow writing to not previously loaded cache lines | |
JP4577729B2 (ja) | ライトバックキャッシュにおいてスヌーププッシュ処理やスヌープキル処理が同時発生しているときのライトバック処理をキャンセルするためのシステムおよび方法 | |
US8041898B2 (en) | Method, system and apparatus for reducing memory traffic in a distributed memory system | |
TW200527217A (en) | Data extraction method and system | |
US9639467B2 (en) | Environment-aware cache flushing mechanism | |
US7543112B1 (en) | Efficient on-chip instruction and data caching for chip multiprocessors | |
US20150269079A1 (en) | Data processing apparatus and method for handling performance of a cache maintenance operation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081106 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110830 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20111128 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20111205 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120229 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120529 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120827 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120903 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121115 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130108 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130508 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20130515 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20130607 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20131125 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20131128 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140606 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140724 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5587539 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |