TWI546671B - 用於模組化晶粒上之一致性互連的方法、設備及系統 - Google Patents

用於模組化晶粒上之一致性互連的方法、設備及系統 Download PDF

Info

Publication number
TWI546671B
TWI546671B TW104118348A TW104118348A TWI546671B TW I546671 B TWI546671 B TW I546671B TW 104118348 A TW104118348 A TW 104118348A TW 104118348 A TW104118348 A TW 104118348A TW I546671 B TWI546671 B TW I546671B
Authority
TW
Taiwan
Prior art keywords
logic
organization
consistency
interface
coherency
Prior art date
Application number
TW104118348A
Other languages
English (en)
Other versions
TW201608378A (zh
Inventor
克里許納庫瑪 加那佩西
史蒂芬R 佩吉
巴哈 法喜
彥成 劉
傑佛瑞D 張伯倫
剛納 古巴茨
安東尼奧 裘安
波 卡伯里
Original Assignee
英特爾公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 英特爾公司 filed Critical 英特爾公司
Publication of TW201608378A publication Critical patent/TW201608378A/zh
Application granted granted Critical
Publication of TWI546671B publication Critical patent/TWI546671B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/4031Coupling between buses using bus bridges with arbitration
    • G06F13/4036Coupling between buses using bus bridges with arbitration and deadlock prevention
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7825Globally asynchronous, locally synchronous, e.g. network on chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multi Processors (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

用於模組化晶粒上之一致性互連的方法、設備及系統 發明領域
本發明係關於計算系統,且詳言之,係關於(但非排他地)晶粒上互連。
隨著計算系統進步,計算系統中之組件變得愈來愈複雜。因此,用以在該等組件之間耦接及通訊之互連架構的複雜性亦增加,以確保對於最佳組件操作滿足頻寬要求。此外,不同市場區隔要求互連架構之不同態樣以適合市場之需求。舉例而言,伺服器需要較高效能,而行動生態系統有時能夠犧牲總體效能以實現功率節約。又,提供最高可能效能與最大功率節約為大部分組織之非凡目的。
依據本發明之一實施例,係特地提出一種設備,其包含:一第一組件,其用以執行一致性操作;以及一一致性組織邏輯,其經由一第一組件介面耦接至該第一組件,該一致性組織邏輯執行針對該第一組件與待耦接至該一致性組織邏輯之一第二組件之間的一致性通訊之充分一 致性組織功能性,該第一組件包括與該一致性組織邏輯傳達封包之一封裝化邏輯,而無用以執行一致性組織功能性之一致性互連介面邏輯。
100‧‧‧處理器
101、102、7600-760n‧‧‧核心
101a、101b‧‧‧硬體執行緒/硬體執行緒時槽/架構狀態暫存器
102a、102b‧‧‧架構狀態暫存器
105‧‧‧匯流排/高速度串行點對點鏈路
110‧‧‧晶片上介面/晶片上介面模組
120、121‧‧‧分支目標緩衝器/指令轉譯緩衝器(I-TLB)
125、126‧‧‧解碼模組/解碼邏輯/解碼器
126‧‧‧解碼器
130、131‧‧‧單元
135、136‧‧‧重排序/引退單元
140、141‧‧‧排程器及實行單元區塊
150、151‧‧‧較低階資料快取記憶體及資料轉譯緩衝器(D-TLB)
175‧‧‧記憶體
176‧‧‧應用程式碼
177‧‧‧轉譯器程式碼
180‧‧‧圖形裝置
200‧‧‧系統
210、410、510、7100-710n、7700-770n、7900-7901‧‧‧一致性組織IP邏輯
220‧‧‧組件介面
230‧‧‧一致性互連
240‧‧‧測試介面
250‧‧‧基礎設施介面
300‧‧‧配置
3101-3106‧‧‧組織IP邏輯
320‧‧‧一致性代理程式
330‧‧‧整合式I/O代理程式
340‧‧‧記憶體控制器
3501-3502‧‧‧核心/快取代理程式
4100-4101‧‧‧外出及進入佇列及緩衝器
4120‧‧‧外出及進入控制邏輯
4121-4122‧‧‧進入佇列及緩衝器
414‧‧‧路由器緩衝及控制邏輯
416‧‧‧反匱乏引擎/反匱乏邏輯
418‧‧‧反死鎖引擎/反死鎖邏輯
420‧‧‧流量節流控制邏輯
422‧‧‧測試設計/除錯設計(DFT/DFD)邏輯
424‧‧‧效能監測及額外邏輯
430‧‧‧組件介面
440、540‧‧‧晶粒上互連
450、550‧‧‧測試介面
460、560‧‧‧功率管理介面
470、570‧‧‧一致性介面
480、580‧‧‧時脈介面
490、590‧‧‧效能監測介面
5151、5152‧‧‧介面
5201、5202‧‧‧組件
600、670‧‧‧方法
610、620、630、640、650、660、675、680、690、695‧‧‧區塊
700‧‧‧SoC
7020-702n‧‧‧水平互連組織
7040-704n‧‧‧垂直互連網狀結構
720‧‧‧KTI代理程式
730‧‧‧PCIe代理程式
740‧‧‧PCIe/直接媒體介面(DMI)/直接記憶體存取代理程式
750‧‧‧PCIe代理程式
7650至765n‧‧‧末階快取記憶體(LLC)
7800至7801‧‧‧整合式記憶體控制器
圖1係包括多核心處理器之計算系統之方塊圖的實施例。
圖2係根據一實施例之包括一致性組織IP邏輯的系統之一部分的方塊圖。
圖3係根據一實施例的多個組織IP邏輯之網狀互連實施的高階方塊圖。
圖4係展示根據一實施例之一致性組織IP邏輯區塊之其他細節的方塊圖。
圖5係根據另一實施例之一致性組織IP邏輯區塊的方塊圖。
圖6係根據一實施例之方法的流程圖。
圖7係根據另一實施例之方法的流程圖。
圖8為根據本發明之一個實施例的SoC之方塊圖。
較佳實施例之詳細說明
在以下描述中,闡述眾多特定細節,諸如以下各者之實例以便提供對本發明之透徹理解:特定類型之處理器及系統組配、特定硬體結構、特定架構及微架構細節、特定暫存器組配、特定指令類型、特定系統組件、特定量 測結果/高度、特定處理器管線級及操作等。然而,對於熟習此項技術者將顯而易見的是,無需使用此等特定細節來實踐本發明。在其他情況下,並未詳細描述熟知組件或方法,諸如特定及替代處理器架構、用於所描述演算法之特定邏輯電路/程式碼、特定韌體程式碼、特定互連操作、特定邏輯組配、特定製造技術及材料、特定編譯程式實施、程式碼中演算法之特定表達、特定斷電及閘控技術/邏輯及電腦系統之其他特定操作細節,以便避免不必要地混淆本發明。
儘管可能參考特定積體電路中(諸如,計算平台或微處理器中)之能量節省及能量效率描述以下實施例,但其他實施例適用於其他類型之積體電路及邏輯裝置。本文所描述之實施例之類似技術及教示可適用於亦可受益於較好能量效率及能量節省的其他類型之電路或半導體裝置。舉例而言,所揭示實施例並不限於桌上型電腦系統或UltrabooksTM。且所揭示實施例亦可用於其他裝置中,諸如手持型裝置、平板電腦、其他精簡型筆記型電腦、系統單晶片(SOC)裝置及嵌入式應用。手持型裝置之一些實例包括蜂巢式電話、網際網路協定裝置、數位攝影機、個人數位助理(PDA)及手持型PC。嵌入式應用通常包括微控制器、數位信號處理器(DSP)、系統單晶片、網路電腦(NetPC)、機上盒、網路集線器、廣域網路(WAN)交換器,或可執行下文所教示之功能及操作的任何其他系統。此外,本文所描述之設備、方法及系統不限於實體計算裝置,而是亦可 係關於針對能量節省及效率之軟體最佳化。如在以下描述中將變得易於顯而易見的是,本文所描述之方法、設備及系統之實施例(不論參考硬體、韌體、軟體抑或其組合)對於未來與效能考量平衡之「綠色技術」而言為至關重要的。
隨著計算系統進步,計算系統中之組件變得愈來愈複雜。因此,用以在該等組件之間耦接及通訊之互連架構的複雜性亦增加,以確保對於最佳組件操作滿足頻寬要求。此外,不同市場區隔要求互連架構之不同態樣以適合市場之需求。舉例而言,伺服器需要較高效能,而行動生態系統有時能夠犧牲總體效能以實現功率節約。又,提供最高可能效能與最大功率節約為大部分組織之非凡目的。下文中,論述將潛在地受益於本文所描述之本發明之態樣的數個互連。
參看圖1,描繪包括多核心處理器之計算系統之方塊圖的實施例。處理器100包括任何處理器或處理裝置,諸如微處理器、嵌入式處理器、數位信號處理器(DSP)、網路處理器、手持型處理器、應用處理器、共處理器、系統單晶片(SOC)或其他裝置,以執行程式碼。在一個實施例中,處理器100包括至少兩個核心即核心101及102,該兩個核心可包括不對稱核心或對稱核心(所說明實施例)。然而,處理器100可包括可為對稱或不對稱的任何數目個處理元件。
在一個實施例中,處理元件指支援軟體執行緒的硬體或邏輯。硬體處理元件之實例包括:執行緒單元、執 行緒時槽、執行緒、處理單元、內容脈絡、內容脈絡單元、邏輯處理器、硬體執行緒、核心及/或能夠保持處理之狀態諸如執行狀態或架構狀態的任何其他元件。換言之,在一個實施例中,處理元件指能夠與程式碼諸如軟體執行緒、作業系統、應用程式或其他程式碼獨立地相關聯的任何硬體。實體處理器(或處理器插口)通常指積體電路,其潛在地包括任何數目個其他處理元件,諸如核心或硬體執行緒。
核心常常指位於積體電路上之能夠維持獨立架構狀態的邏輯,其中每一獨立維持之架構狀態與至少一些專用執行資源相關聯。與核心形成對比,硬體執行緒通常指位於積體電路上的能夠維持獨立架構狀態之任何邏輯,其中獨立維持之架構狀態共用對執行資源的存取。如可看出,當某些資源經共用且其他資源專用於架構狀態時,硬體執行緒與核心的命名法之間的線重疊。但常常,核心及硬體執行緒藉由作業系統作為個別邏輯處理器來檢視,其中作業系統能夠個別地排程每一邏輯處理器上的操作。
實體處理器100如圖1中所說明包括兩個核心,即核心101及102。此處,核心101及102被視為對稱核心,亦即,具有相同組配、功能單元及/或邏輯的核心。在另一實施例中,核心101包括無序處理器核心,而核心102包括有序處理器核心。然而,核心101及102可個別地選自任一類型之核心,諸如本機核心、經軟體管理之核心、經調適以執行本機指令集架構(ISA)之核心、經調適以執行轉譯指令集架構(ISA)的核心、共同設計核心或其他已知核心。在異 質核心環境(亦即,不對稱核心)中,某形式之轉譯諸如二元轉譯可用以在一個或兩個核心上排程或執行程式碼。又對於進一步論述,說明於核心101中之功能單元在下文中進一步詳細地描述,如核心102中之單元以所描繪實施中之類似方式操作一般。
如所描繪,核心101包括兩個硬體執行緒101a及101b,其亦可被稱作硬體執行緒時槽101a及101b。因此,諸如作業系統之軟體實體在一個實施例中潛在地檢視處理器100作為四個分離處理器,亦即,能夠並行地執行四個軟體執行緒的四個邏輯處理器或處理元件。如上文間接地提到,第一執行緒與架構狀態暫存器101a相關聯,第二執行緒與架構狀態暫存器101b相關聯,第三執行緒可與架構狀態暫存器102a相關聯,且第四執行緒可與架構狀態暫存器102b相關聯。此處,架構狀態暫存器(101a、101b、102a及102b)中之每一者可被稱作處理元件、執行緒時槽或執行緒單元,如上文所描述。如所說明,架構狀態暫存器101a在架構狀態暫存器101b中複寫,因此個別架構狀態/內容脈絡能夠被儲存用於邏輯處理器101a及邏輯處理器101b。在核心101中,諸如分配器及重命名程式區塊130中之指令指標及重命名邏輯的其他較小資源亦可經複寫用於執行緒101a及101b。諸如重排序/引退單元135中的重排序緩衝器、ILTB 120、載入/儲存緩衝器及佇列的一些資源可經由分割而共享。諸如通用內部暫存器、傳呼表基礎暫存器、低階資料快取及資料-TLB 115、實行單元140及無序單元135之部分 的其他資源經潛在地充分共享。
處理器100常常包括其他資源,該等資源可經充分共享、經由分割共享,或由處理元件專用/專用於處理元件。在圖1中,說明具有例示性邏輯單元之純粹例示性處理器/處理器之資源的實施例。請注意,處理器可包括或省略此等功能單元中的任一者,以及包括未描繪的任何其他已知功能單元、邏輯或韌體。如所說明,核心101包括簡化代表性無序(out-of-order;OOO)處理器核心。但在不同實施例中可利用有序處理器。OOO核心包括分支目標緩衝器120以預測待執行/進行之分支及指令轉譯緩衝器(I-TLB)120以儲存指令的位址轉譯項。
核心101進一步包括耦接至提取單元120以解碼所提取元件的解碼模組125。在一個實施例中,提取邏輯包括分別與執行緒時遭101a、101b相關聯的個別定序器。通常,核心101與定義/指定在處理器100上可執行之指令的第一ISA相關聯。常常,為第一ISA之部分的機器碼指令包括指令之一部分(被稱作作業碼),其參考/指定待執行的指令或操作。解碼邏輯125包括自其作業碼辨識出此等指令並在管道中傳遞經解碼指令以供由第一ISA定義之處理的電路。舉例而言,如下文更詳細地論述,解碼器125在一個實施例中包括經設計或經調適以辨識特定指令諸如交易指令的邏輯。作為由解碼器125進行之辨識的結果,架構或核心101採用特定預定義動作以執行與適當指令相關聯的任務。重要的是請注意,本文中所描述之任務、區塊、操作 及方法中的任一者可回應於單一或多個指令而執行;指令中的一些可為新指令或舊指令。請注意,在一個實施例中,解碼器126辨識同一ISA(或其子集)。替代地,在異質核心環境中,解碼器126辨識第二ISA(第一ISA的子集或截然不同之ISA)。
在一個實例中,分配器及重命名程式區塊130包括分配器以保留資源,諸如暫存器檔案以儲存指令處理結果。然而,執行緒101a及101b潛在地具有無序執行能力,其中分配器及重命名程式區塊130亦保留其他資源,諸如重排序緩衝器以追蹤指令結果。單元130亦可包括暫存器重命名程式以重命名程式/指令參考暫存器為在處理器100內部的其他暫存器。重排序/引退單元135包括組件,諸如上文所提及之重排序緩衝器、載入緩衝器及儲存緩衝器,以支援無序地執行之指令的無序執行及稍後的有序引退。
排程器及實行單元區塊140在一個實施例中包括排程器單元以在實行單元上排程指令/操作。舉例而言,浮點指令在具有可用浮點實行單元之實行單元的一埠上排程。與實行單元相關聯之暫存器檔案亦經包括以儲存資訊指令處理結果。例示性實行單元包括浮點實行單元、整數實行單元、跳轉實行單元、載入實行單元、儲存實行單元及其他已知實行單元。
較低階資料快取記憶體及資料轉譯緩衝器(D-TLB)150耦接至實行單元140。資料快取記憶體儲存最近使用/對其進行操作的元素,諸如資料運算元,該等資料運 算元潛在地以記憶體一致性狀態保持。D-TLB儲存新近虛擬/線性位址至實體位址的轉譯。作為特定實例,處理器可包括頁表結構以將實體記憶體斷開成多個虛擬頁。
此處,核心101及102共用對較高階或更高階(further-out)快取記憶體的存取,諸如與晶片上介面110相關聯的第二階快取記憶體。應注意,較高階或更高階指自實行單元起增加或距實行單元變得更遠的快取記憶體階。在一個實施例中,較高階快取記憶體為末階資料快取記憶體(處理器100上記憶體階層中的最末快取記憶體),諸如第二或第三階資料快取記憶體。然而,較高階快取記憶體並非如此受限,此是由於其可與指令快取記憶體相關聯或包括指令快取記憶體。追蹤快取記憶體(一類型之指令快取記憶體)替代地可在解碼器125之後耦接以儲存最近解碼之追蹤。此處,指令潛在地指巨型指令(亦即,由解碼器辨識之通用指令),其可被解碼成多個微指令(微操作)。
在所描繪組配中,處理器100亦包括晶片上介面模組110。歷史上,在下文更詳細地描述之記憶體控制器已包括於在處理器100外部的計算系統中。在此情境下,晶片上介面11與諸如以下各者之處理器100外部的裝置通訊:系統記憶體175、晶片組(常常包括記憶體控制器集線器以連接至記憶體175,及I/O控制器集線器以連接周邊裝置)、記憶體控制器集線器、北橋或其他積體電路。且在此情境下,匯流排105可包括任何已知互連,諸如多分路匯流排、點對點互連、串行互連、並行匯流排、一致性(例如,快取記憶 體一致性)匯流排、分層協定架構、差分匯流排及GTL匯流排。
記憶體175可專用於處理器100或與系統中的其他裝置共用。數種類型之記憶體175的常見實例包括DRAM、SRAM、非依電性記憶體(NV記憶體),及其他已知儲存裝置。應注意,裝置180可包括圖形加速器、耦接至記憶體控制器集線器之處理器或卡、耦接至I/O控制器集線器之資料儲存器、無線收發器、快閃裝置、音訊控制器、網路控制器或其他已知裝置。
然而,最近,由於更多邏輯及裝置整合於諸如SOC的單一晶粒上,因此此等裝置中之每一者可併入於處理器100上。舉例而言,在一個實施例中,記憶體控制器集線器與處理器100在同一封裝及/或晶粒上。此處,核心之一部分(核心上部分)110包括用於與諸如記憶體175或圖形裝置180之其他裝置介接的一或多個控制器。包括用於與此等裝置介接之互連及控制器的組配常常被稱作核心上組配(或非核心組配)。作為一實例,晶片上介面110包括用於晶片上通訊之環形互連,及用於晶片外通訊的高速度串行點對點鏈路105。又,在SOC環境中,甚至更多裝置諸如網路介面、共處理器、記憶體175、圖形處理器180及任何其他已知電腦裝置/介面可整合於單一晶粒或積體電路上以提供具有高功能性及低功率消耗的小型外觀尺寸。
在一個實施例中,處理器100能夠執行編譯程式、最佳化及/或轉譯器程式碼177以編譯、轉譯及/或最佳 化應用程式碼176以支援本文中所描述的設備及方法或與之介接。編譯程式常常包括程式或程式集合以將原始本文/程式碼轉譯成目標本文/程式碼。通常,程式/應用程式碼藉由編譯程式的編譯以多個階段及多個遍次進行,以將高階程式設計語言程式碼轉換成低階機器或組合語言程式碼。又,單一遍次編譯程式可仍用於簡單編譯。編譯程式可利用任何已知編譯技術並執行任何已知編譯程式操作,諸如詞彙分析、預處理、剖析、語義分析、程式碼產生、程式碼變換及程式碼最佳化。
較大編譯程式常常包括多個階段,但最常見地此等階段包括於兩個通用階段內:(1)前端,亦即,大體而言,語法處理、語義處理及一些變換/最佳化可發生之處,及(2)後端,亦即,大體而言,分析、變換、最佳化及程式碼產生發生之處。一些編譯程式指中間編譯程式,其說明編譯程式之前端與後端之間的描繪的模糊化。因此,對編譯程式之插入、關聯、產生或其他操作的提及可發生於前述階段或遍次中之任一者中以及編譯程式的任何其他已知階段或遍次中。作為例示性實例,編譯程式在一或多個編譯階段中潛在地插入操作、呼叫、函式等等,諸如在編譯之前端階段中插入呼叫/操作,且接著在變換階段期間將呼叫/操作變換成較低階程式碼。應注意,在動態編譯期間,編譯程式之程式碼或動態最佳化程式碼可插入此等操作/呼叫,以及在運行階段期間最佳化程式碼以供執行。作為特定例示性實例,二元程式碼(已編譯程式碼)在運行階段期間 可經動態最佳化。此處,程式碼可包括動態最佳化程式碼、二元程式碼或其組合。
類似於編譯程式,諸如二元轉譯程式之轉譯程式靜態或動態地轉譯程式碼以最佳化及/或轉譯程式碼。因此,對程式碼(code)、應用程式碼、程式碼(program code)或其他軟體環境之執行的提及可指:(1)動態或靜態地執行編譯程式之程式、最佳化程式碼最佳化程式或轉譯程式以編譯程式碼、維持軟體結構、執行其他操作、最佳化程式碼,或轉譯程式碼;(2)執行包括操作/呼叫之主要程式碼,諸如已經最佳化/編譯的應用程式碼;(3)執行與主要程式碼相關聯的諸如庫之其他程式碼以維護軟體結構、執行其他軟體相關的操作或最佳化程式碼;或(4)其組合。
一個互連組織包括PCIe架構。PCIe之主要目標為使得來自不同供應商之組件及裝置能夠在開放式架構中互操作,從而跨越多個市場區隔;用戶端(桌上型電腦及行動裝置)、伺服器(標準及企業)以及嵌入式及通訊裝置。PCI高速為針對廣泛之多種將來計算及通訊平台定義的高效能之通用I/O互連。諸如其使用模型、載入儲存架構及軟體介面的一些PCI屬性已經由其修訂版得以保持,而先前並行匯流排實施已由高度可調式之充分串行介面來替換。PCI高速之最近版本利用點對點互連、基於開關之技術及封包化協定的進展來遞送新層級的效能及特徵。功率管理、服務品質(QoS)、熱插/熱拔支援、資料完整性以及錯誤處置為由PCI高速支援之高階特徵中的一些。
隨著諸如SoC之處理器的複雜性依據核心計數及晶粒上新組件的整合而變大,因此非核心設計及整合的複雜性及努力亦變大。雖然設計者搜尋模塊化及組件區塊的重新使用,但非核心整合之一個組件涉及將各種功能組件連接至晶粒上一致性組織。對於此設計態樣,設計者通常在功能組件與一致性組織之間執行特用介面設計,其可涉及針對每一組件之連接至組織的常規設計區塊。
實施例提供一種模塊化且可調式晶粒上互連解決方案,該解決方案增加重新使用並減小設計複雜性及努力。根據各種實施例,諸如核心、整合式輸入輸出(IIO)代理程式及/或記憶體的功能組件可藉由將所有一致性組織功能性抽象至本文中被稱作一致性組織智慧財產(IP)邏輯之單一IP區塊而耦接至一致性組織。實施例亦可界定功能組件與一致性組織IP區塊之間的一組標準介面。以此方式,任意大小網路拓撲可經設計具有組件之任意混合。此外,實施例啟用在一致性組織IP區塊之邏輯層級與實體層級兩者處的重新使用。再者,實施例可提供多個組配設定以調諧至給出產品及特定消費者需求的IP。以此方式,一致性組織功能性可經抽象以啟用至將來一致性組織技術的就緒轉變。
由於晶粒上一致性互連可被抽象遠離功能組件,因此模組化IP區塊導致具有至多種功能組件的標準化介面,從而邏輯且實體地分割互連功能性。使用實施例,與針對每一功能組件提供的常規介面,一致性互連介面可 為標準化組件介面。再者,在一實施例中,與針對每一功能組件的常規實體設計相比較,互連邏輯之實體設計使得各種層級之重新使用能夠包括橫越組件的硬IP區塊。
使用一實施例,互連相關功能性的驗證可在給出標準介面及共用邏輯情況下進行一次,而非執行針對每一組件的分離驗證。又,模塊化使得設計拓撲並將新組件添加至設計變得容易。再者,互連技術可以自功能組件抽象的方式演進,使得任何基於互連之技術改變局域化至一致性組織IP邏輯區塊。因此,一致性組織IP區塊之模塊化及介面的標準化可減小總體一致性互連設計及驗證努力。
實例互連組織及協定可包括周邊組件互連(PCI)高速(PCIe)架構、因特爾快速路徑互連(QPI)架構、行動業界處理器介面(MIPI)外加其他。所支援處理器之範圍可經由在節點控制器之間使用多個領域或其他互連來達成。
互連組織之架構可包括分層協定架構的定義。在一個實施例中,可提供協定層(一致性、非一致性且視需要其他基於記憶體的協定)、路由層、鏈路層及實體層。此外,互連可包括關於功率管理之增強、測設及除錯設計(DFT)、疵點處置、暫存器、安全性等。在晶粒上互連的一些實施例中,實體層可能不存在。
互連組織之實體層在一個實施例中可對資訊在實體媒體(電或光學媒體等)上的快速傳送負責。實體鏈路為兩個鏈路實體之間的點對點鏈路。鏈路層可自上部層抽象實體層,且提供可靠地傳送資料(以及請求)並管理兩個直接 連接實體之間的流動控制的能力。其亦對將實體通道虛擬化成多個虛擬通道及訊息分類負責。協定層可依賴於鏈路層以在交遞協定訊息至實體層以供越過實體鏈路傳送之前將協定訊息映射至適當訊息分類及虛擬通道。鏈路層可支援多個訊息,諸如請求、窺探、回應、回寫、非一致性資料等。
在一些實施中,鏈路層可利用針對流動控制的信用方案。亦可支援非信用流。關於信用流,在初始化期間,向發送者給出一設定數目個信用以發送封包或微片至接收器。取決於正使用之虛擬網路的類型,只要封包或微片被發送至接收器,發送器便使其信用計數器遞減一個信用,其表示封包或微片。只要緩衝器在接收器處被釋放,信用便針對該緩衝器類型被傳回至發送者。當發送者之針對給出通道的信用已被耗盡時,在一個實施例中,其停止在該通道中發送任何微片。基本上,信用在接收器已耗盡資訊且釋放適當緩衝器之後被傳回。
在一個實施例中,路由層可提供靈活且分散式方式來將封包自源路由至目的地。在一些平台類型(例如,單一處理器或雙處理器系統)中,此層可能並非顯式的,而是可為鏈路層之部分;在此狀況下,此層為可選的。其依賴於虛擬網路及由鏈路層提供作為判定如何路由封包之功能之部分的訊息類別抽象。路由函數在一個實施例中經由實施特定路由表來界定。此類定義允許多種使用模型。
在一個實施例中,協定層可實施通訊協定、排序 規則及一致性維護、I/O、中斷及其他較高階通訊。請注意,協定層在一個實施中可提供訊息以協商用於組件及系統的功率狀態。作為潛在添加,實體層亦可獨立或組合地設定個別鏈路的功率狀態。
諸如以下各者之多個代理程式可連接至互連架構:本籍代理程式(對向記憶體的請求排序)、快取記憶體代理程式(發佈對一致性記憶體之請求並對窺探作出回應)、組配代理程式(處置組配交易)、中斷代理程式(處理中斷)、舊版代理程式(處置舊版交易)、非一致性代理程式(處置非一致性交易)及其他。請注意,各種代理程式可能不包括任何一致性組織功能性,且因此亦並非鏈路層。換言之,使用根據一個實施例的一致性組織IP邏輯,鏈路層及/或實體層功能性可自功能組件抽象出。
現參看圖2,所展示為根據一個實施例的包括一致性組織IP邏輯之系統之一部分的方塊圖。如圖2中所展示,系統200之一部分包括一致性組織IP邏輯210,其可包括此單一IP區塊中的所有一致性網路架構功能性。以此方式,耦接至此一致性組織之個別功能組件不需要包括用於與一致性組織介接的邏輯。
如圖2中所說明,一致性組織IP邏輯210耦接至組件介面220,其又耦接至一或多個一致性組件。儘管本發明之範疇並非在此方面受限,但可經由此一致性介面耦接的一致性功能組件包括核心、快取代理程式及其他一致性代理程式。另外,應理解,雖然僅單一組件介面220展示於圖 2之實施例中,但對於一致性組織IP邏輯有可能的是經由分離組件介面耦接至多個一致性組件。
仍參看圖2,一致性組織IP邏輯210進一步耦接至一致性互連230。在一實施例中,可由任何給出互連拓撲(諸如點對點互連、網狀互連、環形互連、環形網狀互連或匯流排互連(或其組合))實施的此一致性互連可耦接至一致性組織IP邏輯的其他例示。此外,一致性組織IP邏輯210可經由測試介面240耦接至測試電路(整合於同一IC上或外部裝置中)。再者,一致性組織IP邏輯210可經由基礎設施介面250耦接至額外基礎設施,SOC的其他部分,諸如計時、重置、功率、暫存器存取、效能監視等。應理解,雖然藉由圖2之實施例中的此特定實施而展示,但一致性組織IP邏輯區塊可在其他實施例中互連至額外或不同介面。
現參看圖3,展示根據一實施例的多個組織IP邏輯在SoC內之網狀互連實施的高階方塊圖。如圖3中可看出,配置300可為SoC之全部或一部分,或者包括多個組織IP邏輯310的其他IC。更確切而言,多個組織IP邏輯3101至3106是存在於圖3的實施例中。當然,應理解,具現化組織IP邏輯區塊的數目在不同實施例中可發生變化。進一步有可能的是藉由提供多個組件耦接至單一組織IP邏輯區塊的實施來減小具現化組織IP邏輯區塊的數目,例如,減小佔據面積及/或功率消耗。此等具現化中的每一者可具有相同設計。
在圖3之實施例中,請注意,單一功能組件耦接 至每一組織IP邏輯310。自圖3左上部分以順時針樣式開始,組織IP邏輯3101耦接至一致性代理程式320。在一實施例中,一致性代理程式320可為根據快速路徑互連(QPI)/開舍技術介面(Keizer Technology Interface;KTI)協定的代理程式,以與諸如另一SoC之另一處理器或多處理器系統中的其他多核心處理器一致性地介接。組織IP邏輯3102耦接至整合式I/O代理程式330。組織IP邏輯3103耦接至記憶體控制器340,該記憶體控制器又可與諸如動態隨機存取記憶體(DRAM)之晶片外記憶體或其他此類系統記憶體介接。
又,組織IP邏輯3104至3106各自耦接至對應核心/快取代理程式3501至3502。應注意,給出之一致性組織IP邏輯區塊與對應組件之間的互連可係經由組件介面。此外,每一一致性組織IP邏輯區塊可經由一致性互連耦接至一或多個其他組織IP邏輯區塊(此處每一者2個)。藉由組件經由一致性組織IP邏輯310之多個具現化的模組化及可調式互連,一致性組織IP邏輯之一致性互連功能性對於功能組件可保持完全透明,使得其不察覺互連之細節,使得互連耦接自身對於功能組件亦為透明的。實情為,與功能組件的通訊可經由標準化組件介面。此標準化組件介面及一致性互連的抽象化使得任何任意IP區塊(甚至來自第三方供應商)能夠被無縫地連接至一致性組織IP邏輯區塊。當然,在一些實施例中,最小黏附邏輯可經提供以實現至給出SoC設計內的第三方IP邏輯之介面。請注意,第三方可為不同於設計及/或製造SoC之實體的實體。
一般而言,標準化介面可將基本封包傳達至功能組件之封包化邏輯並傳達來自該封包化邏輯的封包,其可包括添加及捨棄邏輯以分別添加或捨棄至/自一致性介面的封包。雖然藉由圖3中之此特定實施來展示,但應理解,許多變化及替代方案有可能。舉例而言,替代如圖3中一般的基於網之互連,可使用環、環面或其他互連拓撲。
現參看圖4,展示根據一實施例的一致性組織IP邏輯區塊之其他細節的方塊圖。如圖4中所展示,一致性組織IP邏輯410自身由除各種控制邏輯外亦包括各種佇列、緩衝器及其他結構的構成組件形成。在各種實施例中,一致性組織IP邏輯410可經組配以基於給定集合之一致性協定規則對組織推行一致性及排序。此外,一致性組織IP邏輯410執行封包之端對端路由,且亦可處置除其他互連功能外的所有關聯功能性,諸如網路公平性、死鎖避免、流量調變。
以此方式,實施例提供在先期軟體開發(pre-silicon development)階段藉由已存在之功能組件或高階模型的「隨插即用」的能力。因此,可實現用於驗證之動態演進模型,在該模型中,功能組件中的一或多者已經充分設計,同時仍保持充分功能互連。
如看出,可存在多個外出及進入佇列及緩衝器4100至4101。應理解,在各種實施中,此等佇列及緩衝器之數目及大小可(例如)動態地基於系統條件來控制。再者,在一些實施例中,此等佇列及緩衝器之經啟用大小可根據組 配控制項固定,以針對特定系統實施提供所要大小。在一實施例中,此等佇列及緩衝器4121至4122處於外出及進入控制邏輯4120的控制下。在一實施例中,進入佇列及緩衝器4122(其為可選的)可經組配以將自網路至組件(及經由外出佇列及緩衝器4121自組件至網路)之封包排入佇列等候。
仍參看圖4,一致性組織IP邏輯410進一步包括可經組配以執行路由及緩衝控制之路由器緩衝及控制邏輯414。路由器緩衝及控制邏輯414可經組配以傳遞正流過至最終目的地之封包。一致性組織IP邏輯410進一步包括反匱乏引擎416及反死鎖引擎418,其經組配以分別執行反匱乏及反死鎖功能性。反匱乏邏輯416可經組配以處置針對將封包注入至互連中以及將封包沈降至組件中的公平性。反死鎖邏輯418可經組配以藉由提供反死鎖功能性來確保無死鎖路由。
如圖4中進一步展示,一致性組織IP邏輯410進一步包括流量節流控制邏輯420,其可經組配以(例如)基於系統之各種不同經監測參數來節流流量。流量節流邏輯420可經組配以調變自組件之流量注入速率以防止熱點。一致性組織IP邏輯410進一步包括測試設計/除錯設計(DFT/DFD)邏輯422,其可經組配以執行各種測試及其他功能性。DFT/DFD邏輯422可經組配以提供具有標準化介面以用於容易的測試及除錯之測試及除錯基礎設施。再者,一致性組織IP邏輯410亦包括效能監測及額外邏輯424,其可經組配以執行關於一致性組織IP邏輯區塊及更一般化地一致性 互連之效能監測活動。
在一實施例中,邏輯424內之額外邏輯可包括組配邏輯,該組配邏輯包括組配控制邏輯及非依電性組配儲存器。在某些實施例中,組配資訊可經由非一致性介面470接收,以用於傳達組配訊息。在一實施例中,此等訊息可包括待儲存於非依電性儲存器中的組配資訊。組配資訊之實例包括路由器緩衝器大小及潛時組配值,反匱乏臨限值,針對某些佇列、緩衝器等之各種停用及啟用控制項,互連組配控制項(諸如,環停止的數目),路由組配資訊,流量節流控制資訊(諸如流量臨限值)外加其他此配資訊。
應注意,此組配資訊可儲存於給出一致性組織IP邏輯之非依電性儲存器內,且由對應組配控制邏輯來使用以組配組織以供操作。舉例而言,流量節流邏輯420可基於一或多個流量臨限值節流流量。在一實施例中,此等臨限值可在組配訊息中獲得,並儲存於一致性組織IP邏輯410的組配儲存器中。亦請注意,一致性組織IP邏輯區塊內之上述控制邏輯可以硬體、軟體、韌體及其任何組合來實施。
如圖4中進一步展示,一致性組織IP邏輯410可經由組件介面430耦接至給出一致性組件,其如所見一般經由離埠介面及入埠介面形成。除此介面外,一致性組織IP邏輯410可進一步與以下各者介接:晶粒上互連440(其可為任何適當類型的互連拓撲)、測試介面450、功率管理介面460、非一致性介面470、時脈介面480及效能監測介面490。當然,應理解,許多不同類型之介面可存在於不同實施中。
在各種實施例中,一致性組織IP邏輯410可提供許多可組配性旋鈕以調諧設計參數,諸如佇列大小、旁路等,以滿足產品特定要求。以此方式,簡單設計邏輯區塊可伺服相異產品需求,諸如針對某些處理器系列的高頻寬及/或低潛時。
現參看圖5,展示根據另一實施例的一致性組織IP邏輯區塊的方塊圖。如圖5中所展示,一致性組織IP邏輯510為可直接介面連接至多個一致性組件即組件5201及5202的雙頭邏輯。在一實施例中,每一組件520可為給出之核心/快取代理程式。當然,應理解,在其他實施中,一致性組件可不同。如可看出,一致性組織IP邏輯510由對應組件介面5151及5152耦接至組件520。此外,可經由晶粒上互連540、測試介面550、功率管理介面560、非一致性介面570、時脈介面580及效能監測介面590使得介面至SoC的其他組件或其他IC。雖然雙頭端實施展示於圖5中,但應理解,在又其他實施中,一致性組織IP介面邏輯區塊可各自經由專用組件介面與兩個以上一致性組件通訊。
現參看圖6,展示根據一實施例之方法的流程圖。更確切而言,圖6之方法可實施於如本文所描述的一致性組織邏輯內。一般而言,方法600可用以自系統中的各種一致性代理程式接收、處理並轉遞離埠封包。應注意,此等各種一致性代理程式除最小封包化邏輯以封包化資訊從而傳達至對應一致性組織IP邏輯區塊外並不具有任何基於互連的邏輯(不包括鏈路及實體層功能性)。應理解,封包格 式可通用,且可簡單地包括基本標頭以識別源及目的地(且視需要其他路由資訊,諸如中間路由器ID、不足處置提示及位址資訊)及待傳達至目的地的有效負載資訊。儘管本發明之範疇在此方面並不受限,但在一實施例中,封包可由具有相對最小3個位元組的標頭及剩餘部分形成之有效負載的10個位元組形成。
參看圖6,方法600藉由經由一致性介面自一致性代理程式接收封包來開始(區塊610)。應注意,此一致性代理程式可為任何類型之代理程式,諸如核心、專用功能單元、KTI代理程式、快取代理程式等。在任何狀況下,代理程式可為互連不可知的在於,此代理程式並不包括任何基於互連之邏輯,除上述最小封包化邏輯外。可提供所接收封包用於在外出佇列/緩衝器中進行緩衝(區塊620)。請注意,緩衝器可儲存整個有效負載,而佇列儲存最少資訊以啟用排程及路由。一致性組織IP邏輯內之各種邏輯可判定封包目的地及路由(區塊630)。如上文所論述,所接收封包可包括可判定目的地所自的目的地識別符。此外,基於一致性組織IP邏輯區塊內之路由邏輯,可判定至目的地的最佳路由。
接著,封包可基於包括以下各者中之一或多者的多種因數來經排程用於調度:年齡順序、信用可用性,及其他阻斷條件(區塊640)。接著,仲裁可藉由連接至另一一致性代理程式之同級一致性代理程式介面及通過封包(若存在)執行來調度時槽(區塊650)。最終,在區塊660處,封 包可經由所選擇介面朝向目的地發送。請注意,此目的地可為直接耦接至同一一致性組織IP邏輯的另一一致性代理程式,使得存在至目的地的直接通訊。在其他狀況下,目的地可經更遠端地定位,使得通訊可通過多個躍點,包括多個一致性組織IP邏輯區塊及/或其他代理程式以達到其目的地。此外,請注意,封包可根據可存在於本端一致性組織IP邏輯區塊以及系統內之其他此類區塊內的反匱乏、反死鎖及節流條件中的一或多者來發送。儘管在6之實施例中以較高階展示,但應理解,許多變化及替代性方式有可能。
現參看圖7,展示根據另一實施例之方法的流程圖。更確切而言,圖7之方法670可實施於一致性組織IP邏輯內。一般而言,方法670可用以處置指向直接耦接至一致性組織IP邏輯之代理程式的入埠封包的接收及處理。如可看出,方法670藉由自一致性互連接收封包而開始(區塊675)。接著,封包可被緩衝至一致性組織IP邏輯之路由器中(區塊680)。其後,可判定封包目的地及路由(區塊690)。其後,在區塊695處,封包可經由一致性介面被發送至所耦接之一致性代理(區塊695)。如上文所論述,此通訊可係根據存在於本端一致性組織IP邏輯區塊中的反匱乏、反死鎖及節流條件。儘管在圖7之實施例中以此高階展示,但應理解本發明之範疇並不限於此方面。
現參看圖8,展示根據本發明之一個實施例的SoC之方塊圖。如圖8中可看出,SoC 700為多核心SoC,其進一步包括整合式記憶體控制器以及其他組件。更確切而 言,SoC 700由包括以下兩者的基於網之互連拓撲形成:水平互連組織7020至702n及垂直互連網狀結構7040至704n,例如,水平環及垂直環。
存在各種一致性代理程式,其包括KTI代理程式720、PCIe代理程式730、PCIe/直接媒體介面(DMI)/直接記憶體存取代理程式740,以及另一PCIe代理程式750。此等代理程式中的每一者可根據適當協定與一或多個晶片外裝置通訊。請注意,代理程式中之每一者亦耦接至一致性組織IP邏輯7100至710n的其自身對應具現化(在圖8中展示僅一個代表性邏輯)。應理解,此等組織IP邏輯區塊中之每一者可經相同地組配。
仍參看圖8,SoC 700進一步包括多個核心7600至760n。如可看出,每一核心與對應共用快取記憶體(例如末階快取記憶體(LLC)7650至765n)相關聯。在一實施例中,此LLC可以基於截塊之方式實施,使得儘管經中心定位,但每一核心具有專用截塊。此外,一致性組織IP邏輯7700至770n(僅一個代表性邏輯展示於圖8中)與每一核心相關聯。
又圖8中所展示為整合式記憶體控制器7800至7801,記憶體控制器中的每一者亦具有其自身的對應一致性組織IP邏輯7900至7901。應理解,雖然在圖8之實施例中展示為14個核心晶粒,但較多或較少核心及其他一致性代理程式可存在於特定實施例中。
使用根據一實施例之晶粒上一致性互連可使得 極高階之IP整合能夠在減小之設計循環情況下至處理器或其他SoC中。此較短設計循環可在整合中減小之努力及複雜性情況下經由如本文中所描述的模組化、可調式且可再用之一致性組織IP邏輯區塊來部分實現。
以下實例係關於另外實施例。
在一個實例中,一種設備包含:一第一組件,其用以執行一致性操作;以及一一致性組織邏輯,其經由一第一組件介面耦接至該第一組件,該一致性組織邏輯執行針對該第一組件與待耦接至該一致性組織邏輯之一第二組件之間的一致性通訊之充分一致性組織功能性,該第一組件包括一封裝化邏輯以與該一致性組織邏輯傳達封包而無執行一致性組織功能性的一致性互連介面邏輯。
在一實例中,一致性組織邏輯包含:多個佇列;多個緩衝器;以及一控制邏輯,其基於組配資訊而啟用該等多個佇列之不足全部佇列及該等多個緩衝器之不足全部緩衝器。一致性組織邏輯可進一步包括:一反匱乏邏輯,其用於防止資源的匱乏;一反死鎖邏輯,其用以防止死鎖;以及一路由器緩衝器,及用以控制該路由器緩衝器的一控制邏輯。
在一實例中,該封裝化邏輯提供第一封包至該第一組件介面並自該第一組件介面接收第二封包,該第一組件介面包括一離埠介面及一入埠介面。
在一實例中,該一致性組織邏輯耦接至一晶粒上互連、一測試介面、一功率管理介面、一非一致性介面、 一時脈介面及一效能監視器介面。一第一一致性組織邏輯及一第二一致性組織邏輯可經由該晶粒上互連耦接,其中該晶粒上互連包含一第一環以在一第一方向上通訊,且一第二環以在一第二方向上通訊。該一致性組織邏輯可進一步包含一組配邏輯以基於儲存於該設備之一組配儲存器中的組配設定而組配該一致性組織邏輯的一或多個參數,該組配設定經由該非一致性介面接收。
在一實例中,該設備包含各自執行該充分一致性組織功能性的多個一致性組織邏輯,該等多個一致性網狀結構邏輯中的每一者耦接至至少一一致性組件。
在一實例中,該第二組件可經組態以以執行一致性操作,其中該一致性組織邏輯經由一第二組件介面耦接至該第二組件。
在一實例中,該設備包含一SoC,且該第一組件包含對於該SoC製造商之一第三方的一IP邏輯。
在一實例中,設備可為使用各種手段實施的處理器。在一實例中,處理器可被併入於使用者裝備之觸控啟用裝置中。
在另一實例中,一種系統包含一顯示器及一記憶體,並包括以上實例中之一或多者的處理器。
在另一實例中,一種方法包含:在一系統之一一致性組織邏輯中接收自一第一一致性代理經由耦接於該第一一致性代理與該一致性組織邏輯之間的一一致性組織去往該系統之一第二一致性代理的一封包,該第一一致性代 理、該第二一致性代理及該一致性組織邏輯在一單一晶粒上組配;以及在該一致性組織邏輯中執行所有一致性組織功能性,其中該一致性組織功能性對於該第一一致性代理及該第二一致性代理為透明的。
在一實例中,方法進一步包含在該一致性組織邏輯中判定該封包的一目的地及路由。
在一實例中,方法進一步包含藉由一同級間一致性代理介面及一或多個通過封包進行仲裁歷時一調度時槽,以發送該封包至該第二一致性代理。
在一實例中,方法進一步包含基於年齡順序及信用可用性中的至少一者而排程該封包以供調度。
在一實例中,方法進一步包含根據該一致性組織之反匱乏、死鎖及節流條件中的一或多者經由一所選擇介面朝向該第二一致性代理發送該封包。
在另一實例中,一種包括指令之電腦可讀媒體執行以上實例之任一者的方法。
在另一實例中,一種設備包含用於執行以上實例中之任一實例的方法之構件。
在另一實例中,一種SoC包含:一第一一致性代理,其用以執行一致性操作;一第二一致性代理,其用以執行一致性操作;一第一一致性組織邏輯,其經由一第一一致性介面耦接至該第一一致性代理;以及一第二一致性組織邏輯,其經由一第二一致性介面耦接至該第二一致性代理,該第一一致性組織邏輯及該第二一致性組織邏輯經 由一一致性組織耦接且包含一單一邏輯之多個例示以執行充分一致性組織功能性,且其中該第一一致性代理及該第二一致性代理在無一致性組織邏輯情況下執行一致性網狀結構功能性。
在一實例中,該第一一致性代理為對於該SoC之一設計者之一第三方的一IP邏輯。
在一實例中,SoC進一步包含一第三一致性代理以執行一致性操作,該第三一致性代理經由一第三一致性介面耦接至該第一一致性組織邏輯。
在一實例中,該第一一致性組織邏輯及該第二一致性組織邏輯各自包含一鏈路層邏輯,其中該第一一致性代理及該第二一致性代理五鏈路層邏輯。
在一實例中,該第一一致性代理包含一封裝化邏輯以將第一封包添加至該第一組件介面並自該第一組件介面捨棄第二封包。
在一實例中,SoC進一步包含耦接至該第一一致性組織邏輯之一非一致性介面,其中該第一一致性組織邏輯包含一組配控制邏輯以經由該非一致性介面接收一組配訊息,並將多個組配值儲存於該第一一致性組織邏輯的一組配儲存器中。
在一實例中,第一一致性組織邏輯包含一流量調節邏輯以根據至少一調節臨限值來調節流量,該至少一調節臨限值自該等多個組配值獲得。
在一實例中,SoC可包括於可攜式計算系統中。
應理解,上文實例之各種組合係可能的。
實施例可用於許多不同類型之系統中。舉例而言,在一個實施例中,通訊裝置可經配置以執行本文中所描述之各種方法及技術。當然,本發明之範疇並不限於通訊裝置,且實情為其他實施例可係針對用於處理指令的其他類型之設備,或包括回應於在計算裝置上執行而導致裝置進行本文中所描述方法及技術中之一或多者的指令之一或多個機器可讀媒體。
實施例可以程式碼實施,且可儲存於上面已儲存有指令的非暫時性儲存媒體,該等指令可用以程式化系統以執行指令。儲存媒體可包括(但不限於)任何類型之磁碟,包括軟碟、光碟、固態硬碟(SSD)、光碟唯讀記憶體(CD-ROM)、可重寫光碟(CD-RW)及磁光碟;諸如唯讀記憶體(ROM)之半導體裝置;隨機存取記憶體(RAM),諸如動態隨機存取記憶體(DRAM)、靜態隨機存取記憶體(SRAM)、可抹除可程式化唯讀記憶體(EPROM)、快閃記憶體、電可抹除可程式化唯讀記憶體(EEPROM);磁性或光學卡;或適於儲存電子指令的任何其他類型之媒體。
雖然已關於有限數目個實施例描述了本發明,但熟習此項技術者將瞭解自本發明的眾多修改及變化。意欲隨附申請專利範圍涵蓋如屬於本發明之真實精神及範疇內的所有此等修改及變化。
100‧‧‧處理器
101、102‧‧‧核心
101a、101b‧‧‧硬體執行緒/硬體執行緒時槽/架構狀態暫存器
102a、102b‧‧‧架構狀態暫存器
105‧‧‧匯流排/高速度串行點對點鏈路
110‧‧‧晶片上介面/晶片上介面模組
120、121‧‧‧分支目標緩衝器/指令轉譯緩衝器(I-TLB)
125、126‧‧‧解碼模組/解碼邏輯/解碼器
130、131‧‧‧單元
135、136‧‧‧重排序/引退單元
140、141‧‧‧排程器及實行單元區塊
150、151‧‧‧較低階資料快取記憶體及資料轉譯緩衝器(D-TLB)
175‧‧‧記憶體
176‧‧‧應用程式碼
177‧‧‧轉譯器程式碼
180‧‧‧圖形裝置

Claims (22)

  1. 一種設備,其包含:一第一組件,其用以執行一致性操作;以及一一致性組織(fabric)邏輯,其經由一第一組件介面耦接至該第一組件,該一致性組織邏輯用以執行針對在該第一組件與待耦接至該一致性組織邏輯之一第二組件之間的一致性通訊之充分一致性組織功能性,該第一組件包括與該一致性組織邏輯傳達封包的一封裝化邏輯,而無與將用以執行一致性組織功能性的一致性互連介面邏輯傳達封包。
  2. 如請求項1之設備,其中該一致性組織邏輯包含:複數個佇列;複數個緩衝器;以及一控制邏輯,其基於組配資訊而啟用該等多個佇列之少於全部之佇列及該等多個緩衝器之少於全部之緩衝器。
  3. 如請求項2之設備,其中該一致性組織邏輯包含:一反匱乏邏輯,其用以防止資源的匱乏;一反死鎖邏輯,其用以防止死鎖;以及一路由器緩衝器,及用以控制該路由器緩衝器之一控制邏輯。
  4. 如請求項1之設備,其中該封裝化邏輯係用以提供第一封包至該第一組件介面並用以自該第一組件介面接收 第二封包,該第一組件介面包括一離埠介面及一入埠介面。
  5. 如請求項1之設備,其中該一致性組織邏輯係用以耦接至一晶粒上互連、一測試介面、一功率管理介面、一非一致性介面、一時脈介面及一效能監視器介面。
  6. 如請求項5之設備,其中一第一一致性組織邏輯與一第二一致性組織邏輯經由該晶粒上互連耦接,其中該晶粒上互連包含一第一環以在一第一方向上通訊,及一第二環以在一第二方向上通訊。
  7. 如請求項5之設備,其中該一致性組織邏輯進一步包含一組配邏輯用以基於儲存於該設備之一組配儲存器中的組配設定而組配該一致性組織邏輯的一或多個參數,該組配設定經由該非一致性介面接收。
  8. 如請求項1之設備,其中該設備包含各自執行該充分一致性組織功能性的複數個一致性組織邏輯,該等複數個一致性網狀結構邏輯中之每一者用以耦接至至少一個一致性組件。
  9. 如請求項1之設備,其進一步包含該第二組件以執行一致性操作,其中該一致性組織邏輯係經由一第二組件介面耦接至該第二組件。
  10. 如請求項1之設備,其中該設備包含一系統單晶片(SoC),且該第一組件包含對於該SoC製造商的一第三方之一智慧財產(IP)邏輯。
  11. 一種儲存有指令於其上之機器可讀媒體,該等指令若由 一機器執行時,使該機器執行包含以下步驟之一方法:在一系統之一個一致性組織邏輯中,經由耦接於該第一一致性代理與該一致性組織邏輯之間的一一致性組織接收來自一第一一致性代理指定至該系統之一第二一致性代理的一封包,該第一一致性代理、該第二一致性代理及該一致性組織邏輯組配於一單一晶粒上;以及在該一致性組織邏輯中執行所有一致性組織功能性,其中該一致性組織功能性對於該第一一致性代理及該第二一致性代理為透明的。
  12. 如請求項11之機器可讀媒體,其中該方法進一步包含在該一致性組織邏輯中判定該封包之一目的地及路由。
  13. 如請求項12之機器可讀媒體,其中該方法進一步包含藉由一同級(peer)一致性代理介面及一或多個通過封包來仲裁一調度時槽,以發送該封包至該第二一致性代理。
  14. 如請求項11之機器可讀媒體,其中該方法進一步包含基於年齡順序及信用可用性中之至少一者來排程該封包以供調度。
  15. 如請求項11之機器可讀媒體,其中該方法進一步包含根據該一致性組織組織之反匱乏、死鎖及節流條件中的一或多者經由一所選擇介面朝向該第二一致性代理發送該封包。
  16. 一種系統單晶片(SOC),其包含:一第一一致性代理,其用以執行一致性操作; 一第二一致性代理,其用以執行一致性操作;一第一一致性組織邏輯,其經由一第一一致性介面耦接至該第一一致性代理;以及一第二一致性組織邏輯,其經由一第二一致性介面耦接至該第二一致性代理,該第一一致性組織邏輯與該第二一致性組織邏輯經由一一致性組織耦接且包含一單一邏輯的多個例示以執行充分一致性組織功能性,且其中該第一一致性代理及該第二一致性代理在沒有一致性組織邏輯下執行一致性網狀結構功能性。
  17. 如請求項16之SoC,其中該第一一致性代理為對於該SoC之一設計者的一第三方之一智慧財產(IP)邏輯。
  18. 如請求項16之SoC,其進一步包含一第三一致性代理以執行一致性操作,該第三一致性代理經由一第三一致性介面耦接至該第一一致性組織邏輯。
  19. 如請求項16之SoC,其中該第一一致性組織邏輯及該第二一致性組織邏輯各自包含一鏈路層邏輯,該第一一致性代理及該第二一致性代理不包括鏈路層邏輯。
  20. 如請求項19之SoC,其中該第一一致性代理包含一封裝化邏輯以將第一封包添加至該第一組件介面並自該第一組件介面捨棄第二封包。
  21. 如請求項16之SoC,其進一步包含耦接至該第一一致性組織邏輯之一非一致性介面,其中該第一一致性組織邏輯包含一組配控制邏輯以經由該非一致性介面接收一組配訊息,並將複數個組配值儲存於該第一一致性組織 邏輯之一組配儲存器中。
  22. 如請求項21之SoC,其中該第一一致性組織邏輯包含一流量調節邏輯以根據至少一調節臨限值來調節流量,該至少一調節臨限值自該等多個組配值獲得。
TW104118348A 2014-07-14 2015-06-05 用於模組化晶粒上之一致性互連的方法、設備及系統 TWI546671B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP14382274 2014-07-14
US14/707,656 US9921989B2 (en) 2014-07-14 2015-05-08 Method, apparatus and system for modular on-die coherent interconnect for packetized communication

Publications (2)

Publication Number Publication Date
TW201608378A TW201608378A (zh) 2016-03-01
TWI546671B true TWI546671B (zh) 2016-08-21

Family

ID=51298682

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104118348A TWI546671B (zh) 2014-07-14 2015-06-05 用於模組化晶粒上之一致性互連的方法、設備及系統

Country Status (4)

Country Link
US (1) US9921989B2 (zh)
KR (1) KR101695328B1 (zh)
CN (1) CN105279131B (zh)
TW (1) TWI546671B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9996487B2 (en) * 2015-06-26 2018-06-12 Intel Corporation Coherent fabric interconnect for use in multiple topologies
KR102571154B1 (ko) * 2016-02-03 2023-08-24 삼성전자주식회사 반도체 장치, 반도체 시스템 및 반도체 장치의 동작 방법
US10289587B2 (en) * 2016-04-27 2019-05-14 Arm Limited Switching device using buffering
CN105929818B (zh) * 2016-07-05 2020-03-06 深圳市博巨兴微电子科技有限公司 一种微控制器soc内建io映射测试装置
US10365981B2 (en) * 2016-08-19 2019-07-30 Samsung Electronics Co., Ltd. Adaptive multipath fabric for balanced performance and high availability
US10025677B2 (en) * 2016-12-05 2018-07-17 Arteris, Inc. Redundancy for cache coherence systems
US20210191743A1 (en) * 2017-03-31 2021-06-24 Nec Corporation Method of controlling virtual network function, virtual network function management apparatus and virtual network providing system
US11249779B2 (en) * 2017-09-01 2022-02-15 Intel Corporation Accelerator interconnect assignments for virtual environments
US10783011B2 (en) 2017-09-21 2020-09-22 Qualcomm Incorporated Deadlock free resource management in block based computing architectures
US10579557B2 (en) * 2018-01-16 2020-03-03 Advanced Micro Devices, Inc. Near-memory hardened compute blocks for configurable computing substrates
US11815984B2 (en) 2020-02-07 2023-11-14 Intel Corporation Error handling in an interconnect
US12032500B2 (en) * 2020-09-16 2024-07-09 Intel Corporation System, apparatus and method for controlling traffic in a fabric
CN112949245B (zh) * 2021-03-30 2022-11-22 飞腾信息技术有限公司 芯片设计方法、装置、设备、可读存储介质
US11899551B1 (en) * 2022-04-26 2024-02-13 Amazon Technologies, Inc. On-chip software-based activity monitor to configure throttling at a hardware-based activity monitor

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040199727A1 (en) 2003-04-02 2004-10-07 Narad Charles E. Cache allocation
US8284766B2 (en) * 2007-12-28 2012-10-09 Intel Corporation Multi-core processor and method of communicating across a die
US9043665B2 (en) * 2011-03-09 2015-05-26 Intel Corporation Functional fabric based test wrapper for circuit testing of IP blocks
KR101687273B1 (ko) * 2011-08-22 2016-12-16 인텔 코포레이션 동적으로 선택 가능한 중복 공유된 링크 물리적 경로들을 사용하여 개방형 코어 프로토콜 기반 상호 접속 네트워크들에서 데이터 처리량 개선을 위한 방법
US20130111149A1 (en) 2011-10-26 2013-05-02 Arteris SAS Integrated circuits with cache-coherency
US8984228B2 (en) 2011-12-13 2015-03-17 Intel Corporation Providing common caching agent for core and integrated input/output (IO) module
WO2013165379A1 (en) * 2012-04-30 2013-11-07 Hewlett-Packard Development Company, L.P. Reflective memory bridge for external computing nodes
US20130318308A1 (en) 2012-05-24 2013-11-28 Sonics, Inc. Scalable cache coherence for a network on a chip
US9563560B2 (en) * 2012-09-28 2017-02-07 Qualcomm Technologies, Inc. Adaptive tuning of snoops
WO2014203036A1 (en) * 2013-06-18 2014-12-24 Freescale Semiconductor, Inc. Method and apparatus for offloading functional data from an interconnect component
WO2014209406A1 (en) 2013-06-29 2014-12-31 Intel Corporation On-chip mesh interconnect

Also Published As

Publication number Publication date
US20160012010A1 (en) 2016-01-14
TW201608378A (zh) 2016-03-01
CN105279131A (zh) 2016-01-27
KR101695328B1 (ko) 2017-01-11
CN105279131B (zh) 2019-06-25
KR20160008454A (ko) 2016-01-22
US9921989B2 (en) 2018-03-20

Similar Documents

Publication Publication Date Title
TWI546671B (zh) 用於模組化晶粒上之一致性互連的方法、設備及系統
CN109154924B (zh) 多个上行链路端口设备
CN105793829B (zh) 用于集成组件互连的装置、方法和系统
CN107077521B (zh) 片上系统配置元数据
CN107003955B (zh) 用于在根复合体中集成设备的方法、装置和系统
JP6147840B2 (ja) ルートポート及びRPIE(RootPortIntegratedEndpoint)のレジューム時間を向上させるための方法、装置及びシステム
JP6311174B2 (ja) 共有メモリ、およびノード間のi/oサービス
KR101775569B1 (ko) 가상 재시도 큐
CN108604209B (zh) 扁平化端口桥
KR20210071817A (ko) 유연한 온-다이 패브릭 인터페이스
CN118051460A (zh) 用于高速互连中低延迟的双模phy
CN107113253B (zh) 用于片上网络的空间划分的电路交换信道
KR20160004365A (ko) 크레딧 기반의 중재를 위한 서비스 레이트 재분배
CN107003838B (zh) 解码信息库
TW201602770A (zh) 用以控制鏈結介面之未使用硬體的電力消耗之方法、設備及系統
CN107111584B (zh) 到片上网络的接口的高带宽核
CN107113252B (zh) 用于片上网络的并行方向解码电路

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees