TWI594125B - 橫跨晶粒介面窺探或全球觀測系統訊息排序之技術 - Google Patents
橫跨晶粒介面窺探或全球觀測系統訊息排序之技術 Download PDFInfo
- Publication number
- TWI594125B TWI594125B TW104136689A TW104136689A TWI594125B TW I594125 B TWI594125 B TW I594125B TW 104136689 A TW104136689 A TW 104136689A TW 104136689 A TW104136689 A TW 104136689A TW I594125 B TWI594125 B TW I594125B
- Authority
- TW
- Taiwan
- Prior art keywords
- interface
- message
- snoop
- coherent
- integrated circuit
- Prior art date
Links
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
本文揭示大致上係有關於電子領域。更明確言之,一實施例係有關於橫跨晶粒介面(CDI)窺探及/或全球觀測(GO)系統訊息排序之技術。
依據本發明之一實施例,係特地提出一種設備,其包含:邏輯,其用以至少基於兩個位元的狀態來決定要在一第一積體電路晶粒與一第二積體電路晶粒間被交換的一窺探訊息及一完成訊息的一順序,其中該第一積體電路晶粒與該第二積體電路晶粒係用以透過一第一介面及一第二介面被耦合,其中該窺探訊息與該完成訊息係在該第一介面及該第二介面中之至少一者上被交換。
100、200、400、500‧‧‧系統、計算系統
102、102-1~M‧‧‧代理器
104‧‧‧結構
106、108‧‧‧單向鏈接
110‧‧‧雙向鏈接
120、412、510、512‧‧‧記憶體
150‧‧‧CDI邏輯
202-208‧‧‧插座、核心0-3
302、304‧‧‧積體電路(IC)晶粒
303‧‧‧CDI同調鏈接層
305‧‧‧同調協定介面
306‧‧‧晶粒上系統結構(OSF)
307‧‧‧CDI實體層(PHY)
308‧‧‧橫跨晶粒介面(CDI)
310‧‧‧仲裁邏輯/多工器(ARB/MUX)
402、502、504‧‧‧處理器
405‧‧‧網路
406、520‧‧‧晶片組
408‧‧‧圖形記憶體控制中樞器(GMCH)
410、642‧‧‧記憶體控制器
414‧‧‧圖形介面
416‧‧‧顯示器
418‧‧‧中樞器介面
420‧‧‧輸入/輸出控制中樞器(ICH)
422、540、544‧‧‧匯流排
424‧‧‧周邊裝置橋接器
426、547‧‧‧音訊裝置
428‧‧‧碟片驅動裝置
430‧‧‧網路配接器
431‧‧‧天線
432‧‧‧作業系統(O/S)
434‧‧‧應用程式
436‧‧‧裝置驅動器
505‧‧‧電腦網路
506、508‧‧‧記憶體控制器中樞器(MCH)
514、522、524‧‧‧點對點(PtP)介面
526、528、530、532、537、541‧‧‧PtP介面電路
534‧‧‧圖形電路
536‧‧‧圖形介面
542‧‧‧匯流排橋接器
543‧‧‧I/O裝置
545‧‧‧鍵盤/滑鼠
546‧‧‧通訊裝置
548‧‧‧資料儲存裝置
549‧‧‧代碼
602‧‧‧單晶片系統(SOC)裝置
620‧‧‧處理單元(CPU)核心
630‧‧‧圖形處理單元(GPU)核心
640‧‧‧輸入/輸出(I/O)介面
660‧‧‧記憶體
670‧‧‧I/O裝置
詳細說明部分係參考附圖提出。於該等圖式中,元件符號的最左位數識別該元件符號首次出現的圖式。於不同圖式中相同元件符號的使用指示相似的或相同的項
目。
圖1例示一計算系統之實施例的方塊圖,其可運用以實現此處討論的各種實施例。
圖2例示一計算系統之實施例的方塊圖,其可運用以實現此處討論的一或多個實施例。
圖3例示依據一實施例一多晶粒互連組態的方塊圖。
圖4例示一計算系統之實施例的方塊圖,其可運用以實現此處討論的一或多個實施例。
圖5例示一計算系統之實施例的方塊圖,其可運用以實現此處討論的一或多個實施例。
圖6例示依據一實施例一單晶片系統(SOC)封裝的方塊圖。
於後文詳細說明部分中,陳述無數特定細節以供徹底瞭解各種實施例。然而,可無該等特定細節而實施若干實施例。於其它情況下,眾所周知的方法、程序、組件、及電路並未以細節描述以免遮掩了該等特定實施例。實施例之各種面向可使用各種手段進行,諸如整合式半導體電路(「硬體」)、組織成一或多個程式的電腦可讀取指令(「軟體」)、或硬體與軟體之某種組合。為了本文揭示之目的,述及「邏輯」將表示硬體、軟體、或其某種組合。
如此處討論,「窺探」或匯流排窺探籠統地係指
在分享記憶體中使用以達成快取同調的技術。舉例言之,一窺探訊息可用以決定橫跨分享記憶體裝置的一快取行的狀態,及確保存在於二或多個位置/快取記憶體的相同記憶體位置係與橫跨具有分享記憶體裝置的一計算系統的其它對應記憶體位置保持同調。又復,一「GO」(或全球觀測系統)訊息通常係指指示一或多項操作完成的一訊息類型。又,一「弗利特(flit)」(流量控制數字的簡寫)係指流量控制的最小單位。訊息通常由多個弗利特組成。此外,於一實施例中,一「弗利特(flit)」可包括80位元,例如,8位元用於錯誤檢測,8位元用於鏈接層標頭,及64位元用於資料,但也可使用其它組態。
若干實施例提出一種同調橫跨晶粒介面(CDI)窺探及/或GO或全球觀測系統(又稱「完成」)訊息排序。更明確言之,同調CDI包括就窺探及GO訊息排序的一法則,該法則要求GO訊息可越過窺探訊息,但窺探訊息不會越過GO訊息到相同位址(否則,可能打破同調性及總儲存排序(TSO)記憶體一致性模型)。實施此種法則可能複雜,原因在於窺探訊息含有一位址,而GO訊息則否。因此,全部GO/窺探訊息須視為潛在矛盾衝突處理。為了達成此項目的,一實施例相對於何時一GO或窺探訊息到達而將時間窗分割成「時程」,其係與稱作「時程位元」的位元相關聯。一實施例運用一弗利特的時程位元及包封法則以有效地包封一同調CDI弗利特而用以確保在一弗利特中不存在有任何衝突訊息。然後使用拆封法則以在接收器端重現該等時程
位元而遵守窺探/GO排序法則。
再者,此處討論之技術可提供於各種計算系統(例如,包括非行動計算裝置諸如桌上型電腦、工作站、伺服器、機架系統等或行動計算裝置諸如智慧型電話、平板、超行動個人電腦(UMPC)、膝上型電腦、超筆電TM計算裝置、智慧型手表、智慧型眼鏡等),包括參照圖1-6討論者。更明確言之,圖1例示依據一實施例一計算系統100的方塊圖。系統100可包括一或多個代理器102-1至102-M(此處合稱「代理器102」或更籠統稱作「代理器102」)。於一實施例中,代理器102中之一或多者可以是一計算系統的組件中之任一者,諸如參照圖4-6討論的計算系統。
如於圖1中例示,代理器102可透過一主要結構104諸如晶粒上系統結構(OSF)。因此,於一實施例中,代理器102及結構104可存在於相同積體電路上。如此處討論,「OSF」能夠指可擴充、可組配、及/或特定產品的晶粒上系統結構。舉例言之,代理器102中之各者可以是橋接器(例如,用於耦合至另一個結構)、智慧財產(IP)區塊、或透過結構104耦合的電子裝置之另一個組件。於一個實施例中,結構104可包括一電腦網路其允許各種代理器(諸如計算裝置)通訊資料。於一實施例中,結構104可包括一或多個互連(或互連網路)其透過串行(例如,點對點)鏈接及/或分享通訊網路(於一實施例中其可組配成環狀)通訊。各個鏈接可包括一或多個通道。舉例言之,若干實施例可輔助鏈接上組件除錯或驗證,其允許以全部緩衝雙排型記憶體模組
(FBD)通訊,例如,於該處FBD鏈接為用於耦合記憶體模組至一主機控制器裝置(諸如處理器或記憶體中樞器)的一串行鏈接。除錯資訊可自FBD頻道主機傳輸,使得除錯資訊能沿該頻道藉頻道資料通量蹤跡擷取工具(諸如一或多個邏輯分析器)觀察。
於一個實施例中,系統100能支援一層疊協定方案,其可包括一實體層、一鏈接層、路由層、傳輸層、及/或一協定層。針對一點對點或分享網路,結構104能夠進一步協助資料(例如,呈封包形式)自一個協定(例如,快取處理器或快取知曉記憶體控制器)傳輸給另一個協定。又,於若干實施例中,結構104可提供遵守一或多個快取同調協定的通訊。
又復,如圖1中箭頭之方向顯示,代理器102可透過結構104發射及/或接收資料。因此,有些代理器可利用單向鏈接用於通訊,而其它代理器可利用雙向鏈接用於通訊。例如,一或多個代理器(諸如代理器102-M)可發射資料(例如,透過單向鏈接106),而其它代理器(諸如代理器102-2)可接收資料(例如,透過單向鏈接108),而另有些代理器(諸如代理器102-1)可發射與接收資料兩者(例如,透過雙向鏈接110)。於若干實施例中,鏈接106-110為OSF介面其提供協定及/或傳訊以允許IP區塊跨多種設計交互操作。
於一實施例中,耦合代理器102的OSF介面(例如,鏈接106-110)可提供兩個埠,稱作主要頻道及邊帶頻道。主要頻道能夠:(a)成為用於同層級及/或上游間資料傳
輸的高效能介面;(b)支援記憶體(例如,32位元、44位元)、輸入/輸出(IO或I/O)、組態、及訊息交易;(c)支援周邊組件互連(PCI)快速(「PCIe」,根據PCI快速基本規格3.0,修訂0.5,2008年8月)排序法則及/或枚舉;(d)支援分裂交易協定;及/或(e)映射PCIe標頭資訊。邊帶頻道能夠:(i)提供一標準介面用以通訊邊帶(此處又可交換稱作為「帶外」)資訊及免除特用導線;(ii)提供一點對點網路;(iii)用於狀態、電源管理、組態陰影、測試模型等;及/或(iv)用於低效能(例如,非意圖用於主要資料傳輸)。
此外,代理器102中之至少一者可以是主機代理器,及代理器102中之一或多者可以是請求或快取代理器。概略言之,請求/快取代理器發送請求給一主機節點/代理器用於接取一對應「主機代理器」與其相關聯的一記憶體位址。又,於一實施例中,代理器102中之一或多者(只顯示代理器102-1一者)能夠接取一記憶體(其可為該代理器專用或與其它代理器分享)諸如記憶體120。於若干實施例中,代理器102中之各者(或至少一者)能夠耦合至記憶體120,其係在與代理器的相同晶粒上或以其它方式由該代理器可存取。又,如圖1顯示,代理器102包括同調CDI邏輯150用以協助窺探及/或GO訊息排序,容後詳述,例如參考圖2-6。
圖2為依據一實施例一計算系統200的方塊圖。系統200包括多個插座202-208(圖中顯示四個,但若干實施例可具有更多或更少個插座)。各個插座包括一處理器。又,系統200中之各種代理器可透過邏輯150通訊。即便邏輯150
只顯示於項目202及MC2/HA2,但邏輯150可設於系統200的其它代理器。又復,取決於實施例於一系統中可存在有更多或更少個邏輯區塊。此外,各個插座係透過一點對點(PtP)鏈接,或一不同互連,諸如快速路徑互連結構(QPI)、行動工業處理器介面(MIPI)等而耦合至其它插座。如就圖1之結構104討論,各個插座係耦合至系統記憶體的本地部分,例如由包括動態隨機存取記憶體(DRAM)的多個雙排型記憶體模組(DIMM)形成。
於另一個實施例中,網路結構可運用於利用客端或標準介面的任何單晶片系統(SoC或SOC)應用,諸如,用於進階微控制器匯流排架構(AMBA)、開放核心協定(OCP)、行動工業處理器介面(MIPI)、周邊組件互連(PCI)、或周邊組件互連快速(PCIe)的ARM依從介面。
如圖2顯示,各個插座係耦合至一記憶體控制器(MC)/主機代理器(HA)(諸如MC0/HA0至MC3/HA3)。該等記憶體控制器係耦合至本地記憶體(標示為MEM0至MEM3),其可以是系統記憶體的一部分(諸如圖9之記憶體912)。於若干實施例中,該記憶體控制器(MC)/主機代理器(HA)(諸如MC0/HA0至MC3/HA3)可與圖1的代理器102-1相同或相似,而標示為MEM0至MEM3的記憶體可與參考此處圖式中之任一者討論的記憶體裝置相同或相似。又,於一個實施例中,MEM0至MEM3可經組配以鏡射資料,例如作為賓與主。又,於若干實施例中,系統200的一或多個組件可涵括在相同積體電路晶粒上。
又復,一個實施例(諸如圖2中顯示)係針對配合鏡射的插座無縫鏈接組態。舉例言之,指派給一記憶體控制器(諸如MC0/HA0)的資料係透過PtP鏈接鏡射到另一個記憶體控制器(諸如MC3/HA3)。
圖3例示依據一個實施例一多-晶粒互連組態之方塊圖。又,邏輯150可包括圖3中顯示的組件中之一或多者而輔助窺探/GO訊息排序,如此處參考若干實施例討論。於一實施例中,圖3之橫跨晶粒介面(CDI)308係用以耦合多個積體電路晶粒/裝置。
於若干實施例中,提出一種鏈接具有在第一積體電路(IC)晶粒302及第二IC晶粒304的兩個(例如,獨一)介面。此等介面中之一者為晶粒上系統結構(OSF)306(其可與圖1的OSF 102相同或相似),其在一附接裝置與OSF 306間使用一同調協定及一非同調協定。於一實施例中,OSF可包括多個介面(及於若干實施例中,可以是超過2000線寬)。另一介面是橫跨晶粒介面(CDI)308,其可有50通道寬度。於一個實施例中,CDI將同調協定介面305包封成一400位元弗利特(Flit)。一個實施例有效地包封同調CDI訊息,同時仍然依從窺探及/或GO訊息排序要求。概略言之,排序要求是GO能夠越過窺探,但窺探推進GO。
一種先前解決方案係擴延OSF的全部訊息介面(其可能極其不實際)。舉例言之,在50通道及8 UI(或8單位區間)介面(或於400位元弗利特)上,接收自OSF的任何訊息通訊可經包封且前傳給次要晶粒(其可包括數千導線介
面)。針對OSF 306上方的同調CDI,目的地為單一接收器的大部分訊息沒有次序,除了窺探及GO之外。另一種解決方案係一次在一弗利特上發送單一訊息,可能極其沒有效率。
如前述,就窺探及GO訊息的同調CDI法則為GO訊息能夠越過窺探,但窺探訊息無法越過GO訊息到相同位址(否則,可能打破同調及TSO記憶體一致性模型)。造成如此複雜的一個項目為窺探訊息含有一位址,而GO訊息則否。因此,全部SO/窺探訊息需視為潛在矛盾衝突加以處理。為了達成此項目的,一實施例運用一弗利特的時程位元及包封法則以便有效地包封同調CDI弗利特,以確保在一弗利特內不存在有任何衝突訊息。然後,可使用拆封法則以在接收器端重新產生該等時程位元用以維持該窺探/GO排序法則。
又,若干實施例允許包封在單一弗利特內有許多窺探及/或GO訊息,同時保證同調CDI排序而在弗利特訊息中不運用任何額外位元。再者,此等技術避免了燒掉或浪費掉弗利特中的任何額外位元用於讓TX/RX(發射/接收)電路維持同步,以及允許弗利特的有效包封而讓一弗利特內放置儘可能多的訊息。
另一種保證同調CDI的有序要求之方法涉及於單一先進先出(FIFO)緩衝器內排序該等訊息,但此種解決方案消耗遠更大型綜合結構或多個位元(又CDI係比OSF互連結構遠更窄,故更大型結構或多個位元將減慢鏈接速度,原因在於與存取更大型結構及/或通訊額外資訊相關聯
的延遲之故)。相反地,有些實施例在CDI TX/RX邏輯中只使用兩個位元以追蹤潛在相依性。此二位元不在TX/RX邏輯間發送,反而駐在各邊的儲存結構內。此種辦法提供了更簡單的解決方案,其涉及了本地決策/存取,而非必須透過鏈接傳輸此項資訊,例如,結果導致更高可信度,功率消耗減少,減少延遲,及/或提高速度。於RX邏輯,當GO及窺探訊息拆封時,此二位元(此處偶爾又稱「時程位元」)在同調協定介面305上傳輸之前再生。
參考圖3,同調協定介面通常在主要IC 302與次要IC 304間顯示於左側,而非同調協定介面顯示於右側。於圖3中,「ARB/MUX」310係指仲裁邏輯/多工器用以在多個協定鏈接層間仲裁,及於一個實施例中,在如圖3顯示的同調協定鏈接層與非同調協定鏈接層的輸出間仲裁。CDI實體(PHY)層307傳輸以弗利特粒度多工化的該協定。
於若干實施例中,如下組態/法則(發展用於主要與次要IC間之CDI同調管線)中之一或多者確保窺探/GO排序:(1)於OSF 302介面,提出分開的窺探/GO FIFO配合每分錄一額外位元以追蹤窺探/GO時程位元及一或多個位元用以追蹤目前時程位元;(a)時程位元係在輸入佇列時產生及讀取以決定包封/發送;(b)注意GO訊息不攜載位址,故邏輯(例如,邏輯150)不知曉窺探訊息是否與一懸而未決的GO衝突。因此理由
故,CDI同調協定要求窺探不越過一先前簽發的GO;(2)CDI暗示弗利特順序-建立同調CDI弗利特中,藉由定義弗利特內部訊息為未經排序(亦即單一弗利特中的全部訊息沒有排序需求,而可在接收器邏輯完全拆封及以任何期望順序發送給裝置)。
方案如下操作。窺探(Req)及GO(Rsp)FIFO係以每個分錄一額外時程位元陣列分開。GO時程(GO_epoch)或窺探時程(Snp_epoch)位元分派二進位值給其本身間無需排序的一GO或窺探區塊(個別地)。也有額外位元(Rbit或「記憶位元」)用以記憶目前/前次自GO FIFO蹦出的時程。
於一個實施例中,位元根據此等法則操控入發射(Tx)/接收(Rx)FIFO:若在前一個或相同週期未曾接收到GO,則最初Snp_epoch=1,否則0
最初GO_epoch=1
若前次窺探被寫入時GO被寫入,或若前次GO被寫入時並無窺探被寫入,則切換Snp_epoch
若本週期也寫入窺探,或若前次窺探被寫入時並無GO被寫入,則切換GO_epoch
於一個實施例中,為了判定自前次窺探是否來到GO或自前次GO是否來到窺探,儲存各個寫入啟用信號之狀態用於佇列。當任一者被宣告時,擷取請求寫入啟動(req_WrEn)及回應寫入啟動(rsp_WrEn)。否則last_req_WrEn及last_rsp_WIEn flops保有其狀態。藉此方式,「last」表示
前次寫入。欲寫至佇列的時程位元命名next_snp_epoch及next_GO_epoch。於若干實施例中,其係由表1:Snp_epoch時程及表2:GO_epoch時程決定。
於一個實施例中,當讀取Tx/Rx FIFO時,建立排序的法則如下:Rbit設定為前次發送的GO_epoch;若時程為相同則窺探可越過GO;
否則若Rbit=Snp_epoch則窺探可越過GO;否則窺探被延遲直到GO被簽發之後;及在改變時程之前須發送目前時程中的全部。
依據若干實施例一個實例提供於下表3。本表顯示出現在OSF上的窺探(S0、S1、S2等)及GO(G0、G1、G2等)之樣本順序,及邏輯(例如,邏輯150及/或303)如何分派Snp_epoch位元及GO_epoch位元。
藉由定義,針對初值,第一個GO_epoch經常性為1。若未曾接收到GO,則第一Snp_epoch=1,否則為0。於該實施例中,於時間t=0的Snp_epoch被指定為1。於t-1,來到GO(G0)而無窺探。此種GO也被指定為1,原因在於相對於窺探沒有排序要求,因而係在相同時程。於t=2,窺探(S1)及GO(G1)兩者來到。窺探須被指定一個新時程,故將排序在前一個GO後方。GO也被給定此時程,故不妨礙窺探。於t=4,窺探(S2)的Snp_epoch須被切換,使得其排序在t=3時來到的GO後方。本實例之其餘部分可使用前述法則建立。
表3顯示依據一實施例,於Snp及GO FIFO中,窺探(S)及GO(G)訊息到來及對應追蹤實例:
於一實施例中,同調CDI弗利特係基於下列法則包封:根據如上法則當順序重要時,將窺探置於稍後弗利特;及為了改良效率,將窺探及GO訊息群集於不同弗利特中。
用於本實例,接收到第一個GO訊息時記憶位元(Rbit)設定為1。窺探S0及G0可於相同弗利特發送,但S1、G1及G2無法。因其皆為時程0的訊息,許可S1、G1及G2在隨後的弗利特發送(注意其是否將實際發送取決於其它弗利特包封法則)。R-bit將改成0。再度,無法發送S2,原因在於Snp_epoch(1)不匹配R-bit。許可S3、S4、S5及G4在隨
後的弗利特發送,但S6無法,原因在於其時程不匹配R-bit(0),原因在於其必須相對於G4排序之故。
於Rx資料路徑中,根據如上文討論用於寫入Rx FIFO的法則,弗利特被拆封且時程位元被產生及連同窺探及GO訊息儲存於Rx FIFO。順序係基於被包封的弗利特。在一弗利特內部的窺探/GO訊息為亂序,但必須針對一弗利特內部的窺探/GO訊息的Snp_epoch及GO_epoch設定相同值。弗利特間出現排序。當Rx FIFO被讀取時,時程位元係用以正確順序將窺探/GO訊息回送給接收器邏輯。
圖4例示一計算系統400之實施例的方塊圖。圖1之代理器102中之一或多者可包含計算系統400的一或多個組件。又,計算系統400的各個組件可包括邏輯150,如於圖4中例示。然而,邏輯150可提供遍及計算系統400各個位置,涵括或排除例示者。計算系統400可包括一或多個中央處理單元(CPU)402(此處可合稱「處理器402」或更通稱「處理器402」)耦合至互連網路(或匯流排)404。參照圖1-3討論的操作可由系統400的一或多個組件執行。
處理器402可以是任何類型的處理器,諸如通用處理器、網路處理器(其能處理透過電腦網路405通訊的資料)等(包括精簡指令集電腦(RISC)處理器或複雜指令集電腦(CISC))。再者,處理器402能具有單一或多個核心設計。具有多核心設計的處理器402可將不同類型的處理器核心整合於同一個積體電路(IC)晶粒上。又,具有多核心設計的處理器402可實施為對稱性或非對稱性多處理器。
於各種實施例中,處理器402可包括一或多個快取記憶體,其可以是專用及/或分享。通常,快取記憶體儲存對應原先儲存於它處的資料或稍早計算的資料。為了減少記憶體存取的延遲,一旦資料被儲存於快取記憶體,則未來的使用可藉由存取一快取複本而非預提取或重新計算原先資料。快取記憶體可以是任何類型的快取記憶體,諸如層級1(L1)快取記憶體、層級2(L2)快取記憶體、層級3(L3)快取記憶體、中間層級快取記憶體、最末層級快取記憶體(LLC)等用以儲存由系統400的一或多個組件運用的電子資料(例如,包括指令)。此外,此種(等)快取記憶體可位在各個位置(例如,在此處討論的計算系統的其它組件內部,包括圖1、2、3或5之系統)。
一晶片組406可額外耦合至互連網路404。又,晶片組406可包括圖形記憶體控制中樞器(GMCH)408。GMCH 408可包括耦合至一記憶體412的一記憶體控制器410。記憶體412可儲存資料,例如包括由處理器402或與計算系統400的組件通訊的任何其它裝置執行的指令序列。又,於一個實施例中,記憶體412可包括一或多個依電性儲存裝置(或記憶體)諸如隨機存取記憶體(RAM)、動態RAM(DRAM)、同步DRAM(SDRAM)、靜態RAM(SRAM)等。也可運用非依電性記憶體諸如硬碟。額外裝置可耦合至互連網路404,諸如多個處理器及/或多個系統記憶體。
GMCH 408可進一步包括一圖形介面414耦合至一顯示裝置416(例如,於一個實施例中透過圖形加速器)。
於一個實施例中,圖形介面414可透過加速圖形埠(AGP)或周邊組件互連(PCI)(或PCI快速(PCIe)介面)耦合至顯示裝置416。於一實施例中,顯示裝置416(諸如平板顯示器)可透過例如一數位轉換器耦合至圖形介面414,該數位轉換器將儲存於一儲存裝置諸如視訊記憶體或系統記憶體(例如,記憶體412)的影像之數位表示型態轉譯成由顯示器416詮釋及顯示的顯示信號。
如圖4顯示,一中樞器介面418可將GMCH 408耦合至一輸入/輸出控制中樞器(ICH)420。ICH 420可提供一介面給耦合至計算系統400的輸入/輸出(I/O)裝置。ICH 420可透過周邊橋接器(或控制器)424耦合至一匯流排422,諸如遵守PCIe規格的周邊組件互連(PCI)橋接器、通用串列匯流排(USB)控制器等。橋接器424可提供處理器402與周邊裝置間之一資料路徑。可運用其它類型的拓樸結構。又,多個匯流排例如可透過多個橋接器或控制器耦合至ICH 420。又,匯流排422可包含其它類型及組態的匯流排系統。再者,於各種實施例中,耦合至ICH 420的其它周邊裝置可包括整合式驅動電子裝置(IDE)或小型電腦系統介面(SCSI)硬碟驅動裝置、USB埠、鍵盤、滑鼠、並列埠、串列埠、軟碟驅動裝置、數位輸出支援(例如,數位視訊介面(DVI))等。
匯流排422可耦合至一音訊裝置426、一或多個碟片驅動裝置428、及一網路配接器/介面430(於一實施例中可以是NIC)。於一個實施例中,網路配接器430或耦合至匯流排422的其它裝置可與晶片組406通訊。網路配接器430可透
過有線或無線介面與各種組件通訊。如圖4顯示,網路配接器430可耦合至天線431以無線地(例如,透過美國電機及電子工程師學會(IEEE)802.11介面(包括IEEE 802.11a/b/g/n/ac等)、胞狀介面、3G、11G、LPE等)與網路403通訊。其它裝置可透過匯流排422通訊。又,於若干實施例中,各種組件(諸如網路配接器430)可耦合至GMCH 408。此外,處理器402及GMCH 408可組合而形成單一晶片。於一實施例中,記憶體控制器410可提供於CPU 402中之一或多者。又,於一實施例中,GMCH 408與ICH 420可組合成一周邊控制中樞器(PCH)。
此外,計算系統400可包括依電性及/或非依電性記憶體(或儲存裝置)。舉例言之,非依電性記憶體可包括下列中之一或多者:唯讀記憶體(ROM)、可規劃ROM(PROM)、可抹除PROM(EPROM)、電氣EPROM(EEPROM)、碟片驅動裝置(例如,428)、軟碟、光碟ROM(CD-ROM)、數位影音碟(DVD)、快閃記憶體、磁光碟、或能夠儲存電子資料(例如,包括指令)的其它類型之非依電性機器可讀取媒體。
於一實施例中,記憶體412可包括下列中之一或多者:作業系統(O/S)432、應用程式434、及/或裝置驅動器436。記憶體412也可包括記憶體對映輸入輸出(MMIO)操作的專用區域。儲存於記憶體412的程式及/或資料可調換入碟片驅動裝置428作為記憶體管理操作的一部分。應用程式434可執行(例如,於處理器402上)以與耦合至網路405的一
或多個計算裝置通訊一或多個封包。於一實施例中,一封包可以是一序列之一或多個符碼及/或數值其可由一或多個電氣信號編碼,該封包自至少一個發送器發射到至少一個接收器(例如,透過網路諸如網路405)。舉例言之,各個封包能有一標頭其包括各種資訊其可用於安排路徑及/或處理封包,諸如來源位址、目的地位址、封包類型等。各個封包也能有一酬載,其包括透過一電腦網路(諸如網路405)在各種計算裝置間移轉的封包原始資料(或內容)。
於一實施例中,應用程式434能運用O/S 432用以例如經由裝置驅動器436而與系統400的各種組件通訊。因此,裝置驅動器436可包括特定網路配接器430指令用以提供O/S 432與網路配接器430間之通訊介面,或例如透過晶片組406耦合至系統400的其它I/O裝置。
於一實施例中,O/S 432可包括一網路協定堆疊。一協定堆疊通常係指可執行用以處理透過網路405發送的封包之一集合的程序或程式,於該處封包可根據一特定協定。舉例言之,傳輸控制協定/網際網路協定(TCP/IP)封包可使用TCP/IP堆疊處理。裝置驅動器436可指示例如透過該協定堆疊欲處理的記憶體412內的緩衝器。
網路405可包括任何類型的電腦網路。網路配接器430可進一步包括直接記憶體存取(DMA)引擎,其將封包寫至緩衝器(例如,儲存於記憶體412)分派給可用描述符(例如,儲存於記憶體412)用以透過網路405發射及/或接收資料。此外,網路配接器430可包括一網路配接器控制器,其
可包括執行配接器相關操作的邏輯(諸如可規劃處理器)。於一實施例中,配接器控制器可以是媒體存取控制(MAC)組件。網路配接器430可進一步包括一記憶體,諸如任何類型的依電性/非依電性記憶體(例如,包括一或多個快取記憶體及/或參考記憶體412討論的其它記憶體類型)。
圖5例示依據一實施例,以點對點(PtP)組態排列的一計算系統500。更明確言之,圖5顯示一系統於該處處理器、記憶體、及輸入/輸出裝置係藉多個點對點介面互連。參考圖1-4討論的操作可藉系統500的一或多個組件進行。
如於圖5中例示,系統500可包括數個處理器,其中為求清晰只顯示兩個,處理器502及504。處理器502及504可各自包括一本地記憶體控制器中樞器(MCH)506及508以使其能與記憶體510及512通訊。記憶體510及/或512可儲存各種資料,諸如參考圖5之記憶體512討論者。如圖5顯示,處理器502及504(或系統500的其它組件諸如晶片組520、I/O裝置543等)也能包括一或多個快取記憶體,諸如參考圖1-4討論者。
於一實施例中,處理器502及504可以是諸如參考圖5討論的處理器502中之一者。處理器502及504可分別使用點對點(PtP)介面電路516及518透過PtP介面514交換資料。又,處理器502及504可各自使用PtP介面電路526、528、530、及532透過個別PtP介面522及524與一晶片組520交換資料。晶片組520可進一步透過高效能圖形介面536,例如
使用PtP介面電路537而與高效能圖形電路534交換資料。
於至少一個實施例中,邏輯150可提供於處理器502、504及/或晶片組520中之一或多者。但其它實施例可存在於圖5之系統500內部的其它電路、邏輯單元、或裝置。又復,其它實施例可分散遍布圖5中例示的若干電路、邏輯單元、或裝置。舉例言之,系統500的各種組件可包括圖1之邏輯150。然而,邏輯150可設於遍布系統500的位置,包括或排除例示者。
晶片組520可使用PtP介面電路541與匯流排540通訊。匯流排540可有與其通訊的一或多個裝置,諸如匯流排橋接器542及I/O裝置543。透過一匯流排544,匯流排橋接器542可與其它裝置通訊,諸如鍵盤/滑鼠545、通訊裝置546(諸如數據機、網路介面裝置、或能與電腦網路505通訊的其它通訊裝置)、音訊I/O裝置、及/或資料儲存裝置548。資料儲存裝置548可儲存代碼549其可由處理器502及/或504執行。
於若干實施例中,此處討論的該等組件中之一或多者可實施為單晶片系統(SOC)裝置。圖6例示依據一實施例一SOC封裝的方塊圖。如於圖6中例示,SOC 602包括一或多個中央處理單元(CPU)核心620、一或多個圖形處理單元(GPU)核心630、一輸入/輸出(I/O)介面640、及一記憶體控制器642。SOC封裝602的各種組件可耦合至互連或匯流排,諸如此處參考其它圖式討論者。又,SOC封裝602可包括更多或更少個組件,諸如此處參考其它圖式討論者。又,
SOC封裝602的各種組件可包括一或多個其它組件,諸如此處參考其它圖式討論者。於一個實施例中,SOC封裝602(及其組件)設於一或多個積體電路(IC)晶粒上,例如,封裝入單一半導體裝置內。
如於圖6中例示,SOC封裝602係透過記憶體控制器642耦合至一記憶體660(其可前文就其它圖式討論者相似或相同)。於一實施例中,記憶體660(或其部分)可整合至SOC封裝602上。
I/O介面640例如可透過互連及/或匯流排,諸如此處參考其它圖式討論者,耦合至一或多個I/O裝置670。I/O裝置670可包括鍵盤、滑鼠、觸控面層、影像/視訊擷取裝置(諸如相機或攝影機/視訊紀錄器)、觸控螢幕、揚聲器等中之一或多者。再者,於一個實施例中,SOC封裝602可包括/整合邏輯150。另外,邏輯150可設在SOC封裝602外部(亦即作為一分開的邏輯)。
下列實例係有關進一步實施例。實施例1包括一種設備包含:邏輯用以至少基於兩個位元的狀態決定用於在一第一積體電路晶粒與一第二積體電路晶粒交換的一窺探訊息及一完成訊息的一順序,其中該第一積體電路晶粒與該第二積體電路晶粒係透過一第一介面及一第二介面耦合,其中該窺探訊息與該完成訊息係在該第一介面及該第二介面中之至少一者交換。實施例2包括實施例1之設備,其中該第一介面係包含一晶粒上系統結構(OSF)介面其係利用一同調橫跨晶粒介面(CDI)。實施例3包括實施例2之設
備,其中該同調CDI係提供用於在一附接裝置與該OSF介面間通訊的一同調協定。實施例4包括實施例1之設備,其中該第二介面係包含一非同調CDI。實施例5包括實施例1之設備,其中該兩個位元係包含一窺探時程位元及一完成時程位元。實施例6包括實施例1之設備,其中該窺探訊息係包含一位址且該完成訊息係排除一位址。實施例7包括實施例1之設備,其中該邏輯,一處理器具有一或多個處理器核心,及記憶體係在同一整合式裝置上。實施例8包括實施例1之設備,其中該第一介面及該第二介面中之至少一者係包含一點對點鏈接。
實施例9包括一種方法包含:至少基於兩個位元的狀態決定用於在一第一積體電路晶粒與一第二積體電路晶粒交換的一窺探訊息及一完成訊息的一順序,其中該第一積體電路晶粒與該第二積體電路晶粒係透過一第一介面及一第二介面耦合,其中該窺探訊息與該完成訊息係在該第一介面及該第二介面中之至少一者交換。實施例10包括實施例9之方法,其中該第一介面包含一晶粒上系統結構(OSF)介面其利用一同調橫跨晶粒介面(CDI)。實施例11包括實施例10之方法,其進一步包含該同調CDI提供用於在一附接裝置與該OSF介面間通訊的一同調協定。實施例12包括實施例9之方法,其中該第二介面包含一非同調鏈接層。實施例13包括實施例9之方法,其中該兩個位元包含一窺探時程位元及一完成時程位元。實施例14包括實施例9之方法,其中該窺探訊息包含一位址且該完成訊息排除一位址。
實施例15包括一種系統包含:一處理器具有一或多個處理器核心;耦合至該處理器的一顯示裝置;及邏輯用以至少基於兩個位元的狀態決定用於在一第一積體電路晶粒與一第二積體電路晶粒交換的一窺探訊息及一完成訊息的一順序,其中該第一積體電路晶粒與該第二積體電路晶粒係透過一第一介面及一第二介面耦合,其中該窺探訊息與該完成訊息係在該第一介面及該第二介面中之至少一者交換。實施例16包括實施例15之系統,其中該第一介面係包含一晶粒上系統結構(OSF)介面其係利用一同調橫跨晶粒介面(CDI)。實施例17包括實施例16之系統,其中該同調CDI係提供用於在一附接裝置與該OSF介面間通訊的一同調協定。實施例18包括實施例15之系統,其中該第二介面係包含一非同調鏈接層。實施例19包括實施例15之系統,其中該兩個位元係包含一窺探時程位元及一完成時程位元。實施例20包括實施例15之系統,其中該窺探訊息係包含一位址且該完成訊息係排除一位址。實施例21包括實施例15之系統,其中該邏輯,該處理器具有一或多個處理器核心,及記憶體係在同一整合式裝置上。實施例22包括實施例15之系統,其中該第一介面及該第二介面中之至少一者係包含一點對點鏈接。
實施例23包括一種電腦可讀取媒體包含一或多個指令其當在一處理器上執行時組配該處理器用以執行一或多個操作:至少基於兩個位元的狀態決定用於在一第一積體電路晶粒與一第二積體電路晶粒交換的一窺探訊息及
一完成訊息的一順序,其中該第一積體電路晶粒與該第二積體電路晶粒係透過一第一介面及一第二介面耦合,其中該窺探訊息與該完成訊息係在該第一介面及該第二介面中之至少一者交換。實施例24包括實施例23之電腦可讀取媒體,其中該第一介面包含一晶粒上系統結構(OSF)介面其利用一同調橫跨晶粒介面(CDI)。實施例25包括實施例24之電腦可讀取媒體,其進一步包含一或多個指令其當在該處理器上執行時組配該處理器用以執行一或多個操作而造成該同調CDI提供用於在一附接裝置與該OSF介面間通訊的一同調協定。
實施例26包括一種設備包含用於執行如任何先前實施例陳述之一方法的構件。
實施例27包括一種包括機器可讀取指令的機器可讀取儲存裝置,當執行時用以實施如任何先前實施例陳述之一方法或實現如任何先前實施例陳述之一設備。
於各種實施例中,例如參考圖1-6於此處討論之操作可具體實施為硬體(例如,電路)、軟體、韌體、微代碼、或其組合,其可被提供為一電腦程式產品,例如,包括一具體有形(例如,非暫態)機器可讀取或(例如,非暫態)電腦可讀取媒體其上儲存指令(或軟體程序)用以規劃一電腦以進行此處討論之一方法。又,「邏輯」一詞可包括例如,軟體、硬體、或軟硬體之組合。機器可讀取媒體可包括一儲存裝置,諸如就圖1-6討論者。此外,此等機器可讀取媒體可被下載為一電腦程式產品,其中該程式可透過一通訊鏈
接(例如,匯流排、數據機、或網路連結)經由於載波或其它傳播媒體中之資料信號而自一遠端電腦(例如,伺服器)移轉至一請求電腦(例如,客端裝置)。
於說明書中述及「一個實施例」或「一實施例」表示連結該實施例描述的一特定特性件、結構、或特點可涵括於至少一個實例。於該說明書中各處出現「於一個實施例中」片語可以或可非全部係指相同實施例。
又,於詳細說明部分及申請專利範圍中,可使用「耦合」及「連結」等詞連同其衍生詞。於若干實施例中,「連結」可用以指示二或多個元件係彼此直接實體或電氣接觸。「耦合」可表示二或多個元件係彼此直接實體或電氣接觸。但「耦合」也可表示二或多個元件可非彼此直接接觸,但仍可彼此協作或互動。
如此,雖然實施例已經以結構特性件及/或方法動作的特定語言描述,但須瞭解所請求的主旨可不受已描述的特定特性件或動作所限。反而,特定特性件及動作係揭示為實現本案所請主旨的樣本形式。
100‧‧‧系統
102-1~M‧‧‧代理器
104‧‧‧晶粒上系統結構
106、108、110‧‧‧鏈接
120‧‧‧記憶體
150‧‧‧同調邏輯
Claims (25)
- 一種用於訊息排序之設備,其包含:邏輯,其用以至少基於兩個位元的狀態來決定要在一第一積體電路晶粒與一第二積體電路晶粒間被交換的一窺探訊息及一完成訊息的一順序,其中該第一積體電路晶粒與該第二積體電路晶粒係用以透過一第一介面及一第二介面被耦合,其中該窺探訊息與該完成訊息係在該第一介面及該第二介面中之至少一者上被交換,其中該邏輯用以允許該完成訊息越過該窺探訊息,其中該邏輯用以不允許該窺探訊息越過該完成訊息到一相同位址。
- 如請求項1之設備,其中該第一介面係用以包含係要利用一同調橫跨晶粒介面(CDI)的一晶粒上結構(OSF)介面。
- 如請求項2之設備,其中該同調CDI係用以提供用於在一附接裝置與該OSF介面間通訊的一同調協定。
- 如請求項1之設備,其中該第二介面係用以包含一非同調CDI。
- 如請求項1之設備,其中該兩個位元係用以包含一窺探時程位元及一完成時程位元。
- 如請求項1之設備,其中該窺探訊息係用以包含一位址且該完成訊息係用以排除一位址。
- 如請求項1之設備,其中該邏輯、具有一或多個處理器核心之一處理器及記憶體係在一相同整合式裝置上。
- 如請求項1之設備,其中該第一介面及該第二介面中之至少一者係用以包含一點對點鏈接。
- 一種用於訊息排序之方法,其包含:至少基於兩個位元的狀態來決定要在一第一積體電路晶粒與一第二積體電路晶粒間被交換的一窺探訊息及一完成訊息的一順序,其中該第一積體電路晶粒與該第二積體電路晶粒係透過一第一介面及一第二介面所耦合,其中該窺探訊息與該完成訊息係要在該第一介面及該第二介面中之至少一者上交換,其中該完成訊息被允許越過該窺探訊息,其中該窺探訊息不被允許越過該完成訊息到一相同位址。
- 如請求項9之方法,其中該第一介面包含利用一同調橫跨晶粒介面(CDI)的一晶粒上結構(OSF)介面。
- 如請求項10之方法,其進一步包含該同調CDI提供用於在一附接裝置與該OSF介面間通訊的一同調協定。
- 如請求項9之方法,其中該第二介面包含一非同調鏈接層。
- 如請求項9之方法,其中該兩個位元包含一窺探時程位元及一完成時程位元。
- 如請求項9之方法,其中該窺探訊息包含一位址且該完成訊息排除一位址。
- 一種運算系統,其包含:一處理器,其具有一或多個處理器核心;一顯示裝置,其耦合至該處理器;以及邏輯,其用以至少基於兩個位元的狀態來決定要在一第一積體電路晶粒與一第二積體電路晶粒間被交換的一窺探訊息及一完成訊息的一順序,其中該第一積體電路晶粒與該第二積體電路晶粒係用以透過一第一介面及一第二介面被耦合,其中該窺探訊息與該完成訊息係在該第一介面及該第二介面中之至少一者上被交換,其中該邏輯用以允許該完成訊息越過該窺探訊息,其中該邏輯用以不允許該窺探訊息越過該完成訊息到一相同位址。
- 如請求項15之系統,其中該第一介面係用以包含要利用一同調橫跨晶粒介面(CDI)的一晶粒上結構(OSF)介面。
- 如請求項16之系統,其中該同調CDI係用以提供用於在一附接裝置與該OSF介面間通訊的一同調協定。
- 如請求項15之系統,其中該第二介面係用以包含一非同調鏈接層。
- 如請求項15之系統,其中該兩個位元係用以包含一窺探時程位元及一完成時程位元。
- 如請求項15之系統,其中該窺探訊息係用以包含一位址且該完成訊息係用以排除一位址。
- 如請求項15之系統,其中該邏輯、具有一或多個處理器 核心之該處理器及記憶體係在一相同整合式裝置上。
- 如請求項15之系統,其中該第一介面及該第二介面中之至少一者係用以包含一點對點鏈接。
- 一種非暫態電腦可讀取媒體,包含一或多個指令,當該等指令在一處理器上執行時組配該處理器以進行一或多個操作來:至少基於兩個位元的狀態來決定要在一第一積體電路晶粒與一第二積體電路晶粒間被交換的一窺探訊息及一完成訊息的一順序,其中該第一積體電路晶粒與該第二積體電路晶粒係透過一第一介面及一第二介面所耦合,其中該窺探訊息與該完成訊息係在該第一介面及該第二介面中之至少一者上交換,其中該完成訊息被允許越過該窺探訊息,其中該窺探訊息不被允許越過該完成訊息到一相同位址。
- 如請求項23之非暫態電腦可讀取媒體,其中該第一介面包含利用一同調橫跨晶粒介面(CDI)的一晶粒上結構(OSF)介面。
- 如請求項24之非暫態電腦可讀取媒體,其進一步包含一或多個指令,當該等指令在該處理器上所執行時組配該處理器以進行一或多個操作而致使該同調CDI提供用於在一附接裝置與該OSF介面間通訊的一同調協定。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
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 |
---|---|
TW201635149A TW201635149A (zh) | 2016-10-01 |
TWI594125B true TWI594125B (zh) | 2017-08-01 |
Family
ID=54703787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104136689A TWI594125B (zh) | 2014-12-23 | 2015-11-06 | 橫跨晶粒介面窺探或全球觀測系統訊息排序之技術 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9785556B2 (zh) |
EP (1) | EP3037972A1 (zh) |
JP (1) | JP6092351B2 (zh) |
KR (1) | KR101736460B1 (zh) |
CN (1) | CN105718349B (zh) |
TW (1) | TWI594125B (zh) |
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 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070043913A1 (en) * | 2005-08-17 | 2007-02-22 | Sun Microsystems, Inc. | Use of FBDIMM Channel as memory channel and coherence channel |
TW200928749A (en) * | 2007-12-28 | 2009-07-01 | Toshiba Kk | Memory system |
US20120079032A1 (en) * | 2010-09-24 | 2012-03-29 | Vash James R | Apparatus, system, and methods for facilitating one-way ordering of messages |
US20130007046A1 (en) * | 2011-07-01 | 2013-01-03 | Baum Allen J | Dynamically routing data responses directly to requesting processor core |
Family Cites Families (25)
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 |
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 |
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 |
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 |
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 |
US20140114928A1 (en) | 2012-10-22 | 2014-04-24 | Robert Beers | Coherence protocol tables |
CN104380269B (zh) | 2012-10-22 | 2018-01-30 | 英特尔公司 | 高性能互连相干协议 |
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
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070043913A1 (en) * | 2005-08-17 | 2007-02-22 | Sun Microsystems, Inc. | Use of FBDIMM Channel as memory channel and coherence channel |
TW200928749A (en) * | 2007-12-28 | 2009-07-01 | Toshiba Kk | Memory system |
US20120079032A1 (en) * | 2010-09-24 | 2012-03-29 | Vash James R | Apparatus, system, and methods for facilitating one-way ordering of messages |
US20130007046A1 (en) * | 2011-07-01 | 2013-01-03 | Baum Allen J | Dynamically routing data responses directly to requesting processor core |
Also Published As
Publication number | Publication date |
---|---|
US9785556B2 (en) | 2017-10-10 |
TW201635149A (zh) | 2016-10-01 |
US20160179673A1 (en) | 2016-06-23 |
JP6092351B2 (ja) | 2017-03-08 |
CN105718349B (zh) | 2019-03-29 |
CN105718349A (zh) | 2016-06-29 |
KR101736460B1 (ko) | 2017-05-16 |
EP3037972A1 (en) | 2016-06-29 |
JP2016119066A (ja) | 2016-06-30 |
KR20160076970A (ko) | 2016-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110741356B (zh) | 多处理器系统中的中继一致存储器管理 | |
JP6171210B2 (ja) | 複数orチェーンバスの拡張データバス反転符号化 | |
KR102616458B1 (ko) | 비 휘발성 메모리 익스프레스(NVMe) 제어기의 상이한 네트워크 어드레스들 상의 개별 NVMe IO(INPUT/OUTPUT) 큐들을 가능하게 하는 방법 및 장치 | |
US9582463B2 (en) | Heterogeneous input/output (I/O) using remote direct memory access (RDMA) and active message | |
KR101661259B1 (ko) | 저전력 부분 폭 고속 링크 상태에서 나갈 때의 고속 디스큐 | |
US8819388B2 (en) | Control of on-die system fabric blocks | |
JP2017525065A (ja) | Sfenceを用いずに最適化されたpio書込みシーケンスを用いるパケット送信 | |
US9952644B2 (en) | Device power management state transition latency advertisement for faster boot time | |
TWI594125B (zh) | 橫跨晶粒介面窺探或全球觀測系統訊息排序之技術 | |
US20190384710A1 (en) | System and method for managing transactions | |
TW201423663A (zh) | 資料傳輸之系統與方法 | |
JP5307151B2 (ja) | リンクに基づくシステムにおけるシステムルーティング情報の変更 | |
US20160011976A1 (en) | Three channel cache-coherency socket protocol | |
KR20220103931A (ko) | 메모리와 분산된 계산 어레이 간의 데이터 전송 | |
KR101845465B1 (ko) | 듀얼 전압 데이터 전송을 이용한 메시 성능 향상 | |
KR101844812B1 (ko) | 고속 레인에서 가기능정지를 이용한 emi 완화 | |
JP2005092630A (ja) | メモリ制御装置及び制御方法 | |
US9489333B2 (en) | Adaptive termination scheme for low power high speed bus | |
US10255207B2 (en) | Method and apparatus use with interrupts | |
US20150058524A1 (en) | Bimodal functionality between coherent link and memory expansion | |
Kumar B et al. | A novel utilization-aware and power-delay-aware intelligent DMA controller for video streaming used in AI applications | |
Behera et al. | An enhanced approach towards improving the performance of embedding memory management units into Network-on-Chip |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |