JP6092351B2 - クロスダイ・インタフェース・スヌープ又はグローバル観測メッセージの順序付け - Google Patents
クロスダイ・インタフェース・スヌープ又はグローバル観測メッセージの順序付け Download PDFInfo
- Publication number
- JP6092351B2 JP6092351B2 JP2015223743A JP2015223743A JP6092351B2 JP 6092351 B2 JP6092351 B2 JP 6092351B2 JP 2015223743 A JP2015223743 A JP 2015223743A JP 2015223743 A JP2015223743 A JP 2015223743A JP 6092351 B2 JP6092351 B2 JP 6092351B2
- Authority
- JP
- Japan
- Prior art keywords
- interface
- snoop
- message
- integrated circuit
- completion
- 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 claims description 71
- 230000001427 coherent effect Effects 0.000 claims description 44
- 238000000034 method Methods 0.000 claims description 27
- 239000004744 fabric Substances 0.000 claims description 22
- 238000004891 communication Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 4
- 239000003795 chemical substances by application Substances 0.000 description 38
- 238000010586 diagram Methods 0.000 description 11
- 230000002093 peripheral effect Effects 0.000 description 8
- 238000012856 packing Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000032258 transport Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3027—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a 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
- 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
- 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
- G06F12/0833—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means in combination with broadcast means (e.g. for invalidation or updating)
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/62—Details of cache specific to multiprocessor cache arrangements
- G06F2212/621—Coherency control relating to peripheral accessing, e.g. from DMA or I/O device
-
- 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)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Debugging And Monitoring (AREA)
Description
(1)OSF302インタフェースでは、別個のスヌープ/GO FIFOに、スヌープ/GOエポックを追跡するためのエントリごとに追加ビット及び現在のエポックを追跡するための更なる1ビットが与えられる;
(a)エポックビットが、キューへの入力において生成され、読み取られて、パッキング/送信を決定する;
(b)GOメッセージはアドレスを担持せず、したがって、ロジック(例えばロジック150)は、スヌープメッセージが未処理のGOと競合するかどうかが分からないことに留意されたい。このため、CDIコヒーレント・プロトコルは、スヌープが、以前に発行されたGOを渡さない(NOT pass)ことを必要とする;
(2)フリット内の順序付けされない定義メッセージによる、コヒーレントフリットを構築する際のCDIの暗黙的なフリット順序(すなわち、単一フリット内の全てのメッセージは、順序付けの要件を有しておらず、これらの全てのメッセージを受信側ロジックで完全にアンパックして、任意の所望の順序でデバイスに送信することができる)。
GOが前のサイクル又は同じサイクルで受け取らなかった場合、最初はSnp_epoch=1であり、そうでない場合は0、
最初はGO_epoch=1、
GOが書かれて、最後にスヌープが書かれた場合、又は最後にGOが書かれ、スヌープは書かれなかった場合、Snp_epochをトグル切り替えし、
スヌープがこのサイクルでも書かれる場合、又は最後にスヌープが書かれて、GOは書かれなかった場合、GO_epochをトグル切り替えする。
Rbitが、最後に送信されたGO_epochに設定され;
エポックが同じ場合、スヌープはGOを渡し;
エポックが同じでない場合、Rbit=Snp_epochならば、スヌープはGO(複数可)を渡し;
Rbit=Snp_epochでないならば、スヌープは、GOが発行されるまで遅延され;
エポックを変更する前に、現在のエポック内の全てを送信する必要がある。
上記のルールに従う順序付け問題(order matter)のとき、スヌープは、後のフリット内に置き;
効率を改善するために、スヌープメッセージとGOメッセージを異なるフリットにグループ化する。
Claims (25)
- 2つのビットの状態に少なくとも基づいて、第1の集積回路ダイと第2の集積回路ダイとの間で交換されるべきスヌープメッセージと完了メッセージの順序を決定するロジック
を備える機器であって、
前記第1の集積回路ダイ及び前記第2の集積回路ダイは、第1のインタフェース及び第2のインタフェースを通して結合されることになり、
前記スヌープメッセージ及び前記完了メッセージは、前記第1のインタフェース及び前記第2のインタフェースの少なくとも一方を介して交換されることになり、前記ロジックは、前記完了メッセージが前記スヌープメッセージを渡すことを許可し、前記ロジックは、前記スヌープメッセージが前記完了メッセージを同じアドレスに渡すことを許可しない、
機器。 - 前記第1のインタフェースは、コヒーレント・クロスダイ・インタフェース(CDI)を用いるオンダイ・ファブリック(OSF)インタフェースを備える、
請求項1に記載の機器。 - 前記コヒーレントCDIは、取付けデバイスと前記OSFインタフェースとの間の通信のためのコヒーレンスプロトコルを提供する、
請求項2に記載の機器。 - 前記第2のインタフェースは、非コヒーレントCDIを備える、
請求項1に記載の機器。 - 前記2つのビットは、スヌープエポックビットと、完了エポックビットとを備える、
請求項1に記載の機器。 - 前記スヌープメッセージはアドレスを備え、前記完了メッセージはアドレスを除外する、
請求項1に記載の機器。 - 前記ロジックと、1つ以上のプロセッサコアを有するプロセッサと、メモリとが、同じ集積デバイス上にある、
請求項1に記載の機器。 - 前記第1のインタフェースと前記第2のインタフェースの少なくとも一方が、ポイントツーポイントリンクを備える、
請求項1に記載の機器。 - 2つのビットの状態に少なくとも基づいて、第1の集積回路ダイと第2の集積回路ダイとの間で交換されるべきスヌープメッセージと完了メッセージの順序を決定するステップ
を備える方法あって、
前記第1の集積回路ダイ及び前記第2の集積回路ダイは、第1のインタフェース及び第2のインタフェースを通して結合され、
前記スヌープメッセージ及び前記完了メッセージは、前記第1のインタフェース及び前記第2のインタフェースの少なくとも一方を介して交換されることになり、前記完了メッセージは前記スヌープメッセージを渡すことを許可され、前記スヌープメッセージは前記完了メッセージを同じアドレスに渡すことを許可されない、
方法。 - 前記第1のインタフェースは、コヒーレント・クロスダイ・インタフェース(CDI)を用いるオンダイ・ファブリック(OSF)インタフェースを備える、
請求項9に記載の方法。 - 前記コヒーレントCDIが、取付けデバイスと前記OSFインタフェースとの間の通信のためのコヒーレンスプロトコルを提供するステップ、
を更に備える請求項10に記載の方法。 - 前記第2のインタフェースは、非コヒーレント・リンク層を備える、
請求項9に記載の方法。 - 前記2つのビットは、スヌープエポックビットと、完了エポックビットとを備える、
請求項9に記載の方法。 - 前記スヌープメッセージはアドレスを備え、前記完了メッセージはアドレスを除外する、
請求項9に記載の方法。 - システムであって、
1つ以上のプロセッサコアを有するプロセッサと;
前記プロセッサに結合されるディスプレイデバイスと;
2つのビットの状態に少なくとも基づいて、第1の集積回路ダイと第2の集積回路ダイとの間で交換されるべきスヌープメッセージと完了メッセージの順序を決定するロジックと;
を備え、
前記第1の集積回路ダイ及び前記第2の集積回路ダイは、第1のインタフェース及び第2のインタフェースを通して結合されることになり、
前記スヌープメッセージ及び前記完了メッセージは、前記第1のインタフェース及び前記第2のインタフェースの少なくとも一方を介して交換されることになり、前記ロジックは、前記完了メッセージが前記スヌープメッセージを渡すことを許可し、前記ロジックは、前記スヌープメッセージが前記完了メッセージを同じアドレスに渡すことを許可しない、
システム。 - 前記第1のインタフェースは、コヒーレント・クロスダイ・インタフェース(CDI)を用いるオンダイ・ファブリック(OSF)インタフェースを備える、
請求項15に記載のシステム。 - 前記コヒーレントCDIは、取付けデバイスと前記OSFインタフェースとの間の通信のためのコヒーレンスプロトコルを提供する、
請求項16に記載のシステム。 - 前記第2のインタフェースは、非コヒーレント・リンク層を備える、
請求項15に記載のシステム。 - 前記2つのビットは、スヌープエポックビットと、完了エポックビットとを備える、
請求項15に記載のシステム。 - 前記スヌープメッセージはアドレスを備え、前記完了メッセージはアドレスを除外する、
請求項15に記載のシステム。 - 前記ロジックと、1つ以上のプロセッサコアを有する前記プロセッサと、メモリとが、同じ集積デバイス上にある、
請求項15に記載のシステム。 - 前記第1のインタフェースと前記第2のインタフェースの少なくとも一方が、ポイントツーポイントリンクを備える、
請求項15に記載のシステム。 - プロセッサによって実行されると、該プロセッサに、請求項9乃至14のいずれか一項に記載の方法を実行させる1つ以上の命令を備える、コンピュータプログラム。
- 請求項9乃至14のいずれか一項に記載の方法を実行する手段を備える機器。
- 請求項23に記載のコンピュータプログラムを記憶したコンピュータ読取可能な記憶媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/582,148 | 2014-12-23 | ||
US14/582,148 US9785556B2 (en) | 2014-12-23 | 2014-12-23 | Cross-die interface snoop or global observation message ordering |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016119066A JP2016119066A (ja) | 2016-06-30 |
JP6092351B2 true JP6092351B2 (ja) | 2017-03-08 |
Family
ID=54703787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015223743A Active JP6092351B2 (ja) | 2014-12-23 | 2015-11-16 | クロスダイ・インタフェース・スヌープ又はグローバル観測メッセージの順序付け |
Country Status (6)
Country | Link |
---|---|
US (1) | US9785556B2 (ja) |
EP (1) | EP3037972A1 (ja) |
JP (1) | JP6092351B2 (ja) |
KR (1) | KR101736460B1 (ja) |
CN (1) | CN105718349B (ja) |
TW (1) | TWI594125B (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9785556B2 (en) | 2014-12-23 | 2017-10-10 | Intel Corporation | Cross-die interface snoop or global observation message ordering |
US20190004990A1 (en) | 2017-07-01 | 2019-01-03 | Stephen R. Van Doren | Techniques to support mulitple interconnect protocols for an interconnect |
US11593262B1 (en) * | 2018-04-25 | 2023-02-28 | Seagate Technology Llc | Garbage collection command scheduling |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5339399A (en) * | 1991-04-12 | 1994-08-16 | Intel Corporation | Cache controller that alternately selects for presentation to a tag RAM a current address latch and a next address latch which hold addresses captured on an input bus |
US5751995A (en) * | 1994-01-04 | 1998-05-12 | Intel Corporation | Apparatus and method of maintaining processor ordering in a multiprocessor system which includes one or more processors that execute instructions speculatively |
US5623628A (en) * | 1994-03-02 | 1997-04-22 | Intel Corporation | Computer system and method for maintaining memory consistency in a pipelined, non-blocking caching bus request queue |
US5535345A (en) * | 1994-05-12 | 1996-07-09 | Intel Corporation | Method and apparatus for sequencing misaligned external bus transactions in which the order of completion of corresponding split transaction requests is guaranteed |
JP3872118B2 (ja) * | 1995-03-20 | 2007-01-24 | 富士通株式会社 | キャッシュコヒーレンス装置 |
US6023747A (en) * | 1997-12-17 | 2000-02-08 | International Business Machines Corporation | Method and system for handling conflicts between cache operation requests in a data processing system |
US7010740B1 (en) * | 2001-05-17 | 2006-03-07 | Emc Corporation | Data storage system having no-operation command |
US6985972B2 (en) * | 2002-10-03 | 2006-01-10 | International Business Machines Corporation | Dynamic cache coherency snooper presence with variable snoop latency |
US20050262250A1 (en) | 2004-04-27 | 2005-11-24 | Batson Brannon J | Messaging protocol |
US7529894B2 (en) * | 2005-08-17 | 2009-05-05 | Sun Microsystems, Inc. | Use of FBDIMM channel as memory channel and coherence channel |
US20070073977A1 (en) * | 2005-09-29 | 2007-03-29 | Safranek Robert J | Early global observation point for a uniprocessor system |
US20080005484A1 (en) * | 2006-06-30 | 2008-01-03 | Joshi Chandra P | Cache coherency controller management |
US8151059B2 (en) * | 2006-11-29 | 2012-04-03 | Intel Corporation | Conflict detection and resolution in a multi core-cache domain for a chip multi-processor employing scalability agent architecture |
US7975109B2 (en) * | 2007-05-30 | 2011-07-05 | Schooner Information Technology, Inc. | System including a fine-grained memory and a less-fine-grained memory |
JP4461170B2 (ja) | 2007-12-28 | 2010-05-12 | 株式会社東芝 | メモリシステム |
US8190820B2 (en) * | 2008-06-13 | 2012-05-29 | Intel Corporation | Optimizing concurrent accesses in a directory-based coherency protocol |
US8250311B2 (en) * | 2008-07-07 | 2012-08-21 | Intel Corporation | Satisfying memory ordering requirements between partial reads and non-snoop accesses |
US8205111B2 (en) * | 2009-01-02 | 2012-06-19 | Intel Corporation | Communicating via an in-die interconnect |
US8074131B2 (en) * | 2009-06-30 | 2011-12-06 | Intel Corporation | Generic debug external connection (GDXC) for high integration integrated circuits |
US8751714B2 (en) * | 2010-09-24 | 2014-06-10 | Intel Corporation | Implementing quickpath interconnect protocol over a PCIe interface |
US8554851B2 (en) * | 2010-09-24 | 2013-10-08 | Intel Corporation | Apparatus, system, and methods for facilitating one-way ordering of messages |
US8538922B2 (en) * | 2010-10-11 | 2013-09-17 | International Business Machines Corporation | Nondisruptive overflow avoidance of tuple validity timestamps in temporal database systems |
US8856456B2 (en) * | 2011-06-09 | 2014-10-07 | Apple Inc. | Systems, methods, and devices for cache block coherence |
US8495091B2 (en) * | 2011-07-01 | 2013-07-23 | Intel Corporation | Dynamically routing data responses directly to requesting processor core |
US20130111149A1 (en) * | 2011-10-26 | 2013-05-02 | Arteris SAS | Integrated circuits with cache-coherency |
US20140040561A1 (en) * | 2012-07-31 | 2014-02-06 | Futurewei Technologies, Inc. | Handling cache write-back and cache eviction for cache coherence |
DE112013005093T5 (de) | 2012-10-22 | 2015-10-22 | Intel Corporation | Hochleistungszusammenschaltungsbitübertragungsschicht |
US20140114928A1 (en) | 2012-10-22 | 2014-04-24 | Robert Beers | Coherence protocol tables |
US9785556B2 (en) | 2014-12-23 | 2017-10-10 | Intel Corporation | Cross-die interface snoop or global observation message ordering |
-
2014
- 2014-12-23 US US14/582,148 patent/US9785556B2/en active Active
-
2015
- 2015-11-06 TW TW104136689A patent/TWI594125B/zh not_active IP Right Cessation
- 2015-11-16 JP JP2015223743A patent/JP6092351B2/ja active Active
- 2015-11-19 EP EP15195503.6A patent/EP3037972A1/en not_active Ceased
- 2015-11-20 KR KR1020150163072A patent/KR101736460B1/ko active IP Right Grant
- 2015-11-23 CN CN201510819454.6A patent/CN105718349B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
KR101736460B1 (ko) | 2017-05-16 |
US9785556B2 (en) | 2017-10-10 |
US20160179673A1 (en) | 2016-06-23 |
TWI594125B (zh) | 2017-08-01 |
EP3037972A1 (en) | 2016-06-29 |
CN105718349B (zh) | 2019-03-29 |
JP2016119066A (ja) | 2016-06-30 |
TW201635149A (zh) | 2016-10-01 |
CN105718349A (zh) | 2016-06-29 |
KR20160076970A (ko) | 2016-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101887126B1 (ko) | Or 체인 버스를 위한 향상된 데이터 버스 반전 인코딩 | |
KR101642086B1 (ko) | 고성능 인터커넥트 링크 계층 | |
KR101661259B1 (ko) | 저전력 부분 폭 고속 링크 상태에서 나갈 때의 고속 디스큐 | |
US9952644B2 (en) | Device power management state transition latency advertisement for faster boot time | |
JP5307151B2 (ja) | リンクに基づくシステムにおけるシステムルーティング情報の変更 | |
EP4235441A1 (en) | System, method and apparatus for peer-to-peer communication | |
US20170300434A1 (en) | Emi mitigation on high-speed lanes using false stall | |
JP6092351B2 (ja) | クロスダイ・インタフェース・スヌープ又はグローバル観測メッセージの順序付け | |
KR101845465B1 (ko) | 듀얼 전압 데이터 전송을 이용한 메시 성능 향상 | |
EP2801032B1 (en) | Bimodal functionality between coherent link and memory expansion | |
US9489333B2 (en) | Adaptive termination scheme for low power high speed bus | |
US11003616B1 (en) | Data transfer using point-to-point interconnect | |
KR20050080704A (ko) | 프로세서간 데이터 전송 장치 및 방법 | |
US8468309B2 (en) | Optimized ring protocols and techniques |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160920 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161219 |
|
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: 20170131 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170208 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6092351 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 |