KR20100066410A - 시리얼 인터페이스 버스를 통한 캐시 코히런시를 유지하기 위한 시스템 및 방법 - Google Patents
시리얼 인터페이스 버스를 통한 캐시 코히런시를 유지하기 위한 시스템 및 방법 Download PDFInfo
- Publication number
- KR20100066410A KR20100066410A KR1020090121685A KR20090121685A KR20100066410A KR 20100066410 A KR20100066410 A KR 20100066410A KR 1020090121685 A KR1020090121685 A KR 1020090121685A KR 20090121685 A KR20090121685 A KR 20090121685A KR 20100066410 A KR20100066410 A KR 20100066410A
- Authority
- KR
- South Korea
- Prior art keywords
- processor
- data
- cache
- cache line
- local memory
- Prior art date
Links
Images
Classifications
-
- 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
-
- 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
-
- 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
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)
- Information Transfer Systems (AREA)
- Multi Processors (AREA)
Abstract
Description
Claims (10)
- 메모리에 저장된 데이터가 유효한지를 판정하기 위한 컴퓨터 시스템으로서,제1 프로세서;상기 제1 프로세서와 연관된 로컬 메모리;제2 프로세서;상기 제2 프로세서와 연관된 데이터 캐시; 및상기 제1 프로세서와 상기 제2 프로세서 사이에 메시지들을 라우팅하도록 구성된 시리얼 인터페이스 버스를 포함하고,상기 제1 프로세서는,상기 로컬 메모리에 저장된 제1 데이터가 상기 데이터 캐시에 저장된 제2 데이터에 대해 코히런트인지를 판정하도록 구성된 스누프(snoop) 요청을 생성하고 - 상기 스누프 요청은 상기 시리얼 인터페이스 버스 상의 상기 데이터 캐시를 식별하는 목적지 정보, 및 상기 데이터 캐시에서 상기 제2 데이터가 위치되는 장소를 식별하는 캐시 라인 어드레스를 포함함 - ,상기 데이터 캐시를 식별하는 상기 목적지 정보에 기초하여 상기 스누프 요청이 상기 시리얼 인터페이스 버스를 통해 상기 제2 프로세서에 송신되게 하고,상기 로컬 메모리에 저장된 상기 제1 데이터를 이용하여 처리 동작을 실행하도록 구성되며,상기 제2 프로세서는,상기 스누프 요청으로부터 상기 캐시 라인 어드레스를 추출하고,상기 데이터 캐시에서 상기 캐시 라인 어드레스에 저장된 상기 제2 데이터가 상기 제1 데이터에 대해 코히런트인지를 판정하고,상기 시리얼 인터페이스 버스 상의 상기 로컬 메모리를 식별하는 목적지 정보, 및 상기 제1 데이터가 상기 제2 데이터에 대해 코히런트임을 나타내는 완료 정보를 포함하는 완료(CPL) 메시지를 생성하고,상기 로컬 메모리를 식별하는 상기 목적지 정보에 기초하여 상기 CPL 메시지가 상기 시리얼 인터페이스 버스를 통해 상기 제1 프로세서에 송신되게 하도록 구성되는 컴퓨터 시스템.
- 제1항에 있어서, 상기 스누프 요청은 비-포스팅된 트랜잭션(non-posted transaction)이고, 상기 제1 프로세서는 상기 스누프 요청에 응답하여 상기 제2 프로세로부터 메시지를 수신하기를 기대하는 컴퓨터 시스템.
- 제1항에 있어서, 상기 스누프 요청은 상기 데이터 캐시를 식별하는 상기 목적지 정보를 포함하는 벤더 정의 헤더(vendor-defined header)를 갖는 벤더 정의 메시지인 컴퓨터 시스템.
- 제1항에 있어서, 상기 데이터 캐시에서 상기 캐시 라인 어드레스에 저장된 상기 제2 데이터가 코히런트인지를 판정하는 것은, 상기 캐시 라인 어드레스와 연관된 캐시 라인 태그를 검사하여 상기 제1 데이터에 대한 상기 제2 데이터의 상태를 판정하는 것을 포함하는 컴퓨터 시스템.
- 제4항에 있어서, 상기 제2 프로세서는 또한,상기 데이터 캐시에서 상기 캐시 라인 어드레스에 저장된 상기 제2 데이터가 수정되었음을 판정하고,상기 제2 데이터가 상기 로컬 메모리에 송신되게 하고,상기 제2 데이터가 상기 로컬 메모리에 기록되게 하고,상기 캐시 라인이 무효임을 나타내도록 상기 캐시와 연관된 상기 캐시 라인 태그를 변경하도록 구성되는 컴퓨터 시스템.
- 제4항에 있어서,상기 제2 프로세서는 또한, 판독 요청이 상기 시리얼 인터페이스 버스를 통해 상기 제2 프로세서로부터 상기 제1 프로세서에 송신되게 하도록 구성되고, 상기 판독 요청은 상기 로컬 메모리에 저장된 상기 제1 데이터를 판독하는 요청을 포함하고,상기 제1 프로세서는 또한, 상기 제2 프로세서로부터 수신된 상기 CPL 메시지를 무시하고, 상기 처리 동작을 실행한 후에, 상기 시리얼 인터페이스 버스를 통해 상기 제2 프로세서에 상기 제1 데이터의 송신을 야기함으로써 상기 판독 요청을 서비스하도록 구성되고, 상기 제1 데이터는 상기 실행된 처리 동작에 의해 수정되는 컴퓨터 시스템.
- 메모리에 저장된 데이터를 이용하여 처리 동작을 실행하기 위한 방법으로서,제1 프로세서에 연결된 로컬 메모리에 저장된 제1 데이터가 제2 프로세서에 연결된 데이터 캐시에 저장된 제2 데이터에 대해 코히런트인지를 판정하도록 구성된 스누프 요청을 생성하는 단계 - 상기 스누프 요청은 시리얼 인터페이스 버스 상의 상기 데이터 캐시를 식별하는 목적지 정보, 및 상기 데이터 캐시에서 상기 제2 데이터가 위치되는 장소를 식별하는 캐시 라인 어드레스를 포함함 - ;상기 데이터 캐시를 식별하는 상기 목적지 정보에 기초하여 상기 스누프 요청이 상기 시리얼 인터페이스 버스를 통해 상기 제2 프로세서에 송신되게 하는 단계;상기 스누프 요청으로부터 상기 캐시 라인 어드레스를 추출하는 단계;상기 데이터 캐시에서 상기 캐시 라인 어드레스에 저장된 상기 제2 데이터가 상기 로컬 메모리에 저장된 상기 제1 데이터에 대해 코히런트인지를 판정하는 단계;상기 시리얼 인터페이스 버스 상의 상기 로컬 메모리를 식별하는 목적지 정보, 및 상기 제1 데이터가 상기 제2 데이터에 대해 코히런트임을 나타내는 완료 정보를 포함하는 완료(CPL) 메시지를 생성하는 단계;상기 로컬 메모리를 식별하는 상기 목적지 정보에 기초하여 상기 CPL 메시지 가 상기 시리얼 인터페이스 버스를 통해 상기 제1 프로세서에 송신되게 하는 단계; 및상기 로컬 메모리에 저장된 상기 제1 데이터를 이용하여 상기 처리 동작이 상기 제1 프로세서 상에서 실행되게 하는 단계를 포함하는 처리 동작 실행 방법.
- 제7항에 있어서, 상기 판정하는 단계는, 상기 캐시 라인 어드레스와 연관된 캐시 라인 태그를 검사하여 상기 제1 데이터에 대한 상기 제2 데이터의 상태를 판정하는 단계를 포함하는 처리 동작 실행 방법.
- 제8항에 있어서,상기 데이터 캐시에서 상기 캐시 라인 어드레스에 저장된 상기 제2 데이터가 수정되었음을 판정하는 단계;상기 제2 데이터가 상기 로컬 메모리에 송신되게 하는 단계;상기 제2 데이터가 상기 로컬 메모리에 기록되게 하는 단계; 및상기 캐시 라인이 무효임을 나타내도록 상기 캐시와 연관된 상기 캐시 라인 태그를 변경하는 단계를 더 포함하는 처리 동작 실행 방법.
- 제8항에 있어서,판독 요청이 상기 시리얼 인터페이스 버스를 통해 상기 제2 프로세서로부터 상기 제1 프로세서에 송신되게 하는 단계 - 상기 판독 요청은 상기 로컬 메모리에 저장된 상기 제1 데이터를 판독하는 요청을 포함함 - ;상기 제1 프로세서에서, 상기 제2 프로세서로부터 수신된 상기 CPL 메시지를 무시하는 단계; 및상기 처리 동작이 상기 제1 프로세서 상에서 실행된 후에, 상기 시리얼 인터페이스 버스를 통해 상기 제2 프로세서에 상기 제1 데이터의 송신을 야기함으로써 상기 판독 요청을 서비스하는 단계 - 상기 제1 데이터는 상기 실행된 처리 동작에 의해 수정됨 - 를 더 포함하는 처리 동작 실행 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/331,302 US8234458B2 (en) | 2008-12-09 | 2008-12-09 | System and method for maintaining cache coherency across a serial interface bus using a snoop request and complete message |
US12/331,302 | 2008-12-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100066410A true KR20100066410A (ko) | 2010-06-17 |
KR101107391B1 KR101107391B1 (ko) | 2012-01-19 |
Family
ID=42232360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090121685A KR101107391B1 (ko) | 2008-12-09 | 2009-12-09 | 시리얼 인터페이스 버스를 통한 캐시 코히런시를 유지하기 위한 시스템 및 방법 |
Country Status (4)
Country | Link |
---|---|
US (2) | US8234458B2 (ko) |
JP (1) | JP5146844B2 (ko) |
KR (1) | KR101107391B1 (ko) |
CN (1) | CN101751370B (ko) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8751714B2 (en) * | 2010-09-24 | 2014-06-10 | Intel Corporation | Implementing quickpath interconnect protocol over a PCIe interface |
WO2012124431A1 (ja) * | 2011-03-17 | 2012-09-20 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
US11144580B1 (en) * | 2013-06-16 | 2021-10-12 | Imperva, Inc. | Columnar storage and processing of unstructured data |
US10846223B2 (en) * | 2017-10-19 | 2020-11-24 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd | Cache coherency between a device and a processor |
US11477049B2 (en) * | 2018-08-02 | 2022-10-18 | Xilinx, Inc. | Logical transport over a fixed PCIE physical transport network |
US11210246B2 (en) * | 2018-08-24 | 2021-12-28 | Advanced Micro Devices, Inc. | Probe interrupt delivery |
US10769071B2 (en) * | 2018-10-10 | 2020-09-08 | Micron Technology, Inc. | Coherent memory access |
CN109617832B (zh) * | 2019-01-31 | 2022-07-08 | 新华三技术有限公司合肥分公司 | 报文缓存方法及装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09223115A (ja) * | 1996-02-19 | 1997-08-26 | Canon Inc | 情報処理装置及びシステム及びその制御方法 |
JP3849951B2 (ja) * | 1997-02-27 | 2006-11-22 | 株式会社日立製作所 | 主記憶共有型マルチプロセッサ |
US6292872B1 (en) * | 1998-02-17 | 2001-09-18 | International Business Machines Corporation | Cache coherency protocol having hovering (H) and recent (R) states |
US20020053004A1 (en) * | 1999-11-19 | 2002-05-02 | Fong Pong | Asynchronous cache coherence architecture in a shared memory multiprocessor with point-to-point links |
US7644237B1 (en) * | 2003-06-23 | 2010-01-05 | Mips Technologies, Inc. | Method and apparatus for global ordering to insure latency independent coherence |
US7698509B1 (en) * | 2004-07-13 | 2010-04-13 | Oracle America, Inc. | Snooping-based cache-coherence filter for a point-to-point connected multiprocessing node |
US7360027B2 (en) | 2004-10-15 | 2008-04-15 | Intel Corporation | Method and apparatus for initiating CPU data prefetches by an external agent |
US7543115B1 (en) * | 2006-01-11 | 2009-06-02 | Intel Corporation | Two-hop source snoop based cache coherence protocol |
US7571286B2 (en) * | 2006-08-24 | 2009-08-04 | International Business Machines Corporation | Reduced memory traffic via detection and tracking of temporally silent stores |
US7836144B2 (en) * | 2006-12-29 | 2010-11-16 | Intel Corporation | System and method for a 3-hop cache coherency protocol |
US7861024B2 (en) * | 2008-09-30 | 2010-12-28 | Intel Corporation | Providing a set aside mechanism for posted interrupt transactions |
-
2008
- 2008-12-09 US US12/331,302 patent/US8234458B2/en active Active
-
2009
- 2009-12-09 JP JP2009279506A patent/JP5146844B2/ja active Active
- 2009-12-09 KR KR1020090121685A patent/KR101107391B1/ko active IP Right Grant
- 2009-12-09 CN CN2009102507255A patent/CN101751370B/zh active Active
-
2012
- 2012-07-25 US US13/557,980 patent/US8782349B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN101751370B (zh) | 2013-11-20 |
JP2010140485A (ja) | 2010-06-24 |
KR101107391B1 (ko) | 2012-01-19 |
US8782349B2 (en) | 2014-07-15 |
JP5146844B2 (ja) | 2013-02-20 |
CN101751370A (zh) | 2010-06-23 |
US20100146218A1 (en) | 2010-06-10 |
US20120290796A1 (en) | 2012-11-15 |
US8234458B2 (en) | 2012-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101107391B1 (ko) | 시리얼 인터페이스 버스를 통한 캐시 코히런시를 유지하기 위한 시스템 및 방법 | |
US9946650B2 (en) | Technique to share information among different cache coherency domains | |
TWI410796B (zh) | 來自窺探過濾器之過期無效異動的減少 | |
US9170946B2 (en) | Directory cache supporting non-atomic input/output operations | |
US7284097B2 (en) | Modified-invalid cache state to reduce cache-to-cache data transfer operations for speculatively-issued full cache line writes | |
JP4733932B2 (ja) | マルチプロセッサシステム及びマルチプロセッサシステムのキャッシュ一貫性維持方法 | |
CN101097545A (zh) | 独占所有权探听过滤器 | |
JPH07253928A (ja) | 2重化キャッシュ・スヌープ機構 | |
US7685373B2 (en) | Selective snooping by snoop masters to locate updated data | |
US7519780B2 (en) | System and method for reducing store latency in symmetrical multiprocessor systems | |
JP6975335B2 (ja) | ホームエージェントベースのキャッシュ転送アクセラレーションスキーム | |
CN112612725A (zh) | 用于处理缓存维护操作的装置和方法 | |
US20070073979A1 (en) | Snoop processing for multi-processor computing system | |
EP4124963A1 (en) | System, apparatus and methods for handling consistent memory transactions according to a cxl protocol | |
US9392062B2 (en) | Optimized ring protocols and techniques | |
CN110083548B (zh) | 数据处理方法及相关网元、设备、系统 | |
US7546421B2 (en) | Interconnect transaction translation technique | |
JP6975338B2 (ja) | 順序付けされた帯域幅を改善するプロトコルスキームのキャンセル及びリプレイ | |
JP5063059B2 (ja) | 方法、データ処理システム、メモリ・コントローラ(i/o書込みオペレーションのパイプライン化および多重オペレーション範囲を可能にするデータ処理システムおよび方法) | |
JP2023544538A (ja) | キャッシュライン追い出しのためのマルチレベルキャッシュコヒーレンシプロトコル |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20141231 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20160104 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20170102 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20180110 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20190102 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20200102 Year of fee payment: 9 |