TWI634432B - 多晶片封裝鏈結技術 - Google Patents

多晶片封裝鏈結技術 Download PDF

Info

Publication number
TWI634432B
TWI634432B TW105103036A TW105103036A TWI634432B TW I634432 B TWI634432 B TW I634432B TW 105103036 A TW105103036 A TW 105103036A TW 105103036 A TW105103036 A TW 105103036A TW I634432 B TWI634432 B TW I634432B
Authority
TW
Taiwan
Prior art keywords
data
lanes
hard
interconnect
lane
Prior art date
Application number
TW105103036A
Other languages
English (en)
Other versions
TW201705011A (zh
Inventor
馬希 汪荷
佐國 吳
文卡翠曼 耶爾
杰拉爾德S 帕斯達斯特
馬克S 彼里提拉
伊許沃 亞加沃
立群 鄭
樹威 林
亞洛普K 阿帕戴亞
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 TW201705011A publication Critical patent/TW201705011A/zh
Application granted granted Critical
Publication of TWI634432B publication Critical patent/TWI634432B/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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • 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/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Systems (AREA)

Abstract

諸如邏輯PHY之系統單晶片可被分成具有固定路由之硬IP區塊及具有靈活路由之軟IP區塊。每一硬IP區塊可提供固定數目個線道。使用p個硬IP區塊,其中每一區塊提供n個資料線道,提供h=n*p個總硬IP資料線道。在系統設計需要k個總資料線道的情況下,可能kh,使得 k/n 個硬IP區塊提供h=n*p個可利用的硬IP資料線道。在該狀況下,h-k個道可禁用。在諸如硬IP與軟IP之間的道倒轉發生的狀況下,可藉由軟IP內之多工器類可規劃切換器之使用避免蝶形路由。

Description

多晶片封裝鏈結技術 發明領域
本揭示案係關於計算系統,且特定而言(但並非排他地)係關於點對點互連。
發明背景
半導體處理及邏輯設計中之發展已容許可存在於積體電路裝置上的邏輯之量的增加。作為必然結果,電腦系統組態已自系統中之單個或多個積體電路進化至存在於單獨積體電路上的多個核心、多個硬體執行緒及多個邏輯處理器以及整合在此類處理器內的其他介面。處理器或積體電路通常包含單個實體處理器晶粒,其中處理器晶粒可包括任何數目的核心、硬體執行緒、邏輯處理器、介面、記憶體、控制器集線器等。
由於在較小封裝中適合較大處理能力之較大能力,較小計算裝置之流行性已增加。智慧型電話、平板電腦、超薄筆記型電腦及其他使用者設備呈指數級增長。然而,此等較小裝置依賴於用於資料儲存及超過形狀因素的複雜處理兩者的伺服器。因此,高效能計算市場(亦即,伺 服器空間)中的需求亦已增加。例如,在現代伺服器中,通常不僅存在具有多個核心的單個處理器,而且亦存在多個實體處理器(亦被稱為多個插座)以提高計算能力。但隨著處理能力連同計算系統中之裝置之數目一起增長,插座及其他裝置之間的通訊變得更為關鍵。
事實上,互連已由主要處置電氣通訊的較傳統多分支匯流排發展成促進快速通訊的充分發展的互連架構。不幸地,因為對未來處理器以甚至更高速率消耗之需求增加,所以對應需求經置於現有互連架構之能力上。
依據本發明之一實施例,係特地提出一種設備,其包含:p個硬計算區塊,其中每一硬計算區塊係用以提供n個資料線道且係用以具有一固定路由,且其中該等p個硬計算區塊係用以提供h=n*p個可利用的硬計算線道;以及至少一軟計算區塊,其包含可路由邏輯且提供k個資料線道,其中kh
100‧‧‧系統
105、1900、2000、2202‧‧‧處理器
106‧‧‧前側匯流排(FSB)/鏈結
110、2199‧‧‧系統記憶體
115‧‧‧控制器集線器
116‧‧‧記憶體介面
117、121‧‧‧介面/埠/輸入/輸出模組
118、131‧‧‧I/O模組
119、123、132‧‧‧串列鏈結
120‧‧‧切換器/橋接器
122、126、2396‧‧‧介面
415‧‧‧鏈結
125、2314‧‧‧I/O裝置
130、2212‧‧‧圖形加速器
200‧‧‧協定堆疊
205、650a、650b‧‧‧交易層
206‧‧‧封包標頭/酬載
210、635a、635b‧‧‧鏈結層
211‧‧‧封包序列識別符
212‧‧‧錯誤偵測碼/CRC
220‧‧‧實體層
221‧‧‧邏輯子區塊
222‧‧‧電氣子區塊
223‧‧‧訊框
300‧‧‧交易描述符
302‧‧‧總體識別符欄位
304‧‧‧屬性欄位
306‧‧‧通道識別符欄位
308‧‧‧局部交易識別符欄位
310‧‧‧來源識別符欄位
312‧‧‧優先權欄位
314‧‧‧保留欄位
316‧‧‧排序欄位
318‧‧‧非監聽欄位
400‧‧‧PCIe串列點對點組構
405、410‧‧‧裝置
406、411‧‧‧傳輸邏輯
407、412‧‧‧接收邏輯
416、417‧‧‧路徑/線路
418、419‧‧‧路徑
500、600、800、1100、1200、1800‧‧‧簡化方塊圖
505‧‧‧多晶片封裝
510、515‧‧‧晶粒
520‧‧‧MCPL
525~530、540~545‧‧‧組件
535、550、2410‧‧‧互連體
605‧‧‧第一裝置/第一組件
610‧‧‧第二裝置/第二組件
615、620‧‧‧通道
625a、625b‧‧‧電氣MCPL PHY
630a、630b‧‧‧MCPL邏輯PHY
640‧‧‧邊帶鏈結
660‧‧‧LLP模組
700、900、1000‧‧‧圖表
705‧‧‧位元
706、715、725、730、745、755‧‧‧時間週期視窗
720‧‧‧隨後時間週期視窗
735、740‧‧‧串流信號
805‧‧‧線道
810‧‧‧時脈產生邏輯
815‧‧‧時脈恢復電路
825‧‧‧電壓調整器
905‧‧‧加法電路
1105‧‧‧實體PHY
1110‧‧‧邏輯PHY
1115‧‧‧PCIe邏輯
1120‧‧‧IDI邏輯
1125‧‧‧鏈結狀態機管理邏輯
1130‧‧‧鏈結測試及除錯邏輯
1135‧‧‧多工邏輯
1140‧‧‧解多工邏輯
1150‧‧‧鏈結層封包邏輯
1155‧‧‧邊帶
1205‧‧‧邏輯PHY介面
1210~1225‧‧‧協定
1230‧‧‧多工及仲裁邏輯
1300‧‧‧圖式
1700‧‧‧鏈結狀態機圖表
1805‧‧‧第一裝置
1810‧‧‧第二裝置
1820、1825‧‧‧MCPL選通
1901、1902、2030A~2030N、2130N-2、2130N、2406、2407‧‧‧核心
1901a、1901b‧‧‧硬體執行緒/硬體執行緒槽/架構狀態暫存器/邏輯處理器
1902a、1902b‧‧‧架構狀態暫存器
1905‧‧‧匯流排/高速串列點對點鏈結
1910‧‧‧晶片上介面/晶片上介 面模組
1920‧‧‧指令轉譯緩衝器/ILTB/分支目標緩衝器/擷取單元
1925‧‧‧解碼模組/解碼邏輯/解碼器
1926‧‧‧解碼器
1930‧‧‧分配器及重新命名器區塊
1935‧‧‧重新排序/引退單元/亂序單元
1940‧‧‧執行單元/排程器及執行單元區塊
1950‧‧‧較低階資料快取記憶體及資料翻譯緩衝器/D-TLB
1951‧‧‧低階資料快取記憶體及資料TLB
1975‧‧‧系統記憶體/記憶體
1976‧‧‧應用程式碼
1977‧‧‧編譯器、最佳化及/或翻譯器碼
1980‧‧‧裝置/圖形裝置
2010‧‧‧系統代理域/系統代理
2012‧‧‧顯示引擎
2014‧‧‧PCIeTM介面
2016‧‧‧直接媒體介面(DMI)
2018‧‧‧PCIeTM橋接器
2020‧‧‧整合式記憶體控制器
2022‧‧‧同調邏輯
2030‧‧‧核心域
2040A~2040N‧‧‧末階快取記憶體(LLC)
2050‧‧‧環形互連體
2052A~2052N‧‧‧環形停止
2060‧‧‧圖形域
2065‧‧‧媒體引擎
2130‧‧‧方塊圖
2170‧‧‧前端單元
2172‧‧‧指令階快取記憶體
2174‧‧‧一階快取記憶體
2176‧‧‧中階快取記憶體
2180‧‧‧亂序(OOO)引擎
2182‧‧‧分配單元
2184‧‧‧保留站
2186A~2186N‧‧‧執行單元
2188‧‧‧重新排序緩衝器(ROB)
2190‧‧‧晶片上單元
2195‧‧‧末階快取記憶體/LLC
2200‧‧‧系統/電腦系統
2204‧‧‧1階(L1)內部快取記憶體
2206‧‧‧暫存器檔案
2209‧‧‧緊縮指令集
2210‧‧‧處理器匯流排
2214‧‧‧點對點鏈結
2216‧‧‧記憶體控制器集線器
2218‧‧‧高頻寬記憶體路徑
2220‧‧‧記憶體
2222‧‧‧控制器集線器互連體
2224‧‧‧資料儲存器
2226‧‧‧無線收發器
2228‧‧‧快閃BIOS/韌體集線器
2234‧‧‧網路控制器
2236‧‧‧音訊控制器
2238‧‧‧串列擴展埠
2240‧‧‧I/O控制器
2242‧‧‧使用者輸入及鍵盤介面
2300‧‧‧第二系統/多處理器系統
2316‧‧‧第一匯流排
2318‧‧‧匯流排橋接器
2320‧‧‧第二匯流排
2322‧‧‧鍵盤及或滑鼠
2324‧‧‧音訊I/O
2327‧‧‧通訊裝置
2328‧‧‧儲存單元
2330‧‧‧指令/碼及資料
2332、2334‧‧‧記憶體
2338‧‧‧高效能圖形電路
2339‧‧‧高效能圖形互連體
2350‧‧‧點對點互連體
2352、2354‧‧‧P-P介面
2370‧‧‧第一處理器
2372、2382‧‧‧整合式記憶體控制器單元
2376、2378‧‧‧點對點(P-P)介面/ 點對點介面電路
2380‧‧‧第二處理器
2386、2388‧‧‧P-P介面/點對點介面電路
2390‧‧‧晶片組
2392‧‧‧介面電路
2394、2398‧‧‧點對點介面電路
2400‧‧‧SOC
2408‧‧‧快取記憶體控制件
2409‧‧‧匯流排介面單元
2411‧‧‧L2快取記憶體
2415‧‧‧GPU
2420‧‧‧視訊編碼解碼器
2425‧‧‧視訊介面
2430‧‧‧用戶身份模組(SIM)
2435‧‧‧啟動ROM
2440‧‧‧SDRAM控制器
2445‧‧‧快閃記憶體控制器
2450‧‧‧周邊控制件
2460‧‧‧DRAM
2465‧‧‧快閃記憶體
2470‧‧‧藍牙模組
2475‧‧‧3G數據機
2480‧‧‧GPS
2485‧‧‧WiFi
2510、2520‧‧‧箭頭
2600、2700‧‧‧方法
2610~2690、2710~2790、2810~2880、3110~3190‧‧‧方 塊
3000‧‧‧眼睛
3010‧‧‧Vref選擇
3020-1、3020-2‧‧‧相位端點
3030‧‧‧V max
3032‧‧‧V min
3034‧‧‧V 0
3040‧‧‧
3042‧‧‧
3050-1~3050-4‧‧‧反曲點
3100‧‧‧眼睛定心方法
3200‧‧‧邏輯PHY
3210‧‧‧實體PHY
3230‧‧‧鏈結PHY介面
3310‧‧‧上層/上層邏輯
3320‧‧‧軟IP
3330-1~3330-3‧‧‧硬IP區塊
3410-1~3410-3‧‧‧封裝
圖1例示包括互連架構的計算系統之一實施例。
圖2例示包括分層堆疊的互連架構之一實施例。
圖3例示將在互連架構內產生或接收的請求或封包之一實施例。
圖4例示用於互連架構之發射器及接收器對之一實施例。
圖5例示多晶片封裝之一實施例。
圖6為多晶片封裝鏈結(MCPL)之簡化方塊圖。
圖7為示例性MCPL上的示例性發信之表示。
圖8為例示示例性MCPL中之資料線道的簡化方塊圖。
圖9為例示MCPL之一實施例中的示例性串音取消技術的簡化方塊圖。
圖10為例示MCPL之一實施例中的示例性串音取消組件的簡化電路圖。
圖11為MCPL之簡化方塊圖。
圖12為使用邏輯PHY介面(LPIF)與多個協定之上層邏輯介接的MCPL的簡化方塊圖。
圖13為與鏈結之恢復有關的示例性MCPL上之示例性發信之表示。
圖14A至圖14C為示例性MCPL之線道上的資料之示例性位元對映。
圖15為示例性鏈結狀態機之一部分之表示。
圖16為與鏈結之示例性定心相關聯的流程之表示。
圖17為示例性鏈結狀態機之表示。
圖18為用以進入低功率狀態的發信之表示。
圖19例示用於包括多核心處理器的計算系統的方塊圖之一實施例。
圖20例示用於包括多核心處理器的計算系統的方塊圖之另一實施例。
圖21例示用於處理器的方塊圖之一實施例。
圖22例示用於包括處理器的計算系統的方塊圖之另一實施例。
圖23例示包括多個處理器的計算系統的方塊之一實施例。
圖24例示實行為系統單晶片(SoC)的示例性系統。
圖25例示一實施例中之發信之實例。
圖26為用於在無顯式STREAM線道的情況下編碼資料之方法的示例性流程圖。
圖27為用於在無顯式STREAM線道的情況下編碼資料之方法的示例性流程圖。
圖28為用於執行參考電壓之定心之方法的示例性流程圖。
圖29A及圖29B為串音型樣之實例。
圖30為眼睛定心之示例性例示。
圖31為用於眼睛定心之方法的示例性流程圖。
圖32為包括硬IP及軟IP的系統的示例性方塊圖。
圖33為硬IP區塊與軟IP區塊之間的介面的示例性方塊圖。
圖34為具有用於處置線道反轉之多工器類可規劃切換器(switch)的系統之實例。
各圖式中之相似參考符號及指定指示相似元件。
較佳實施例之詳細說明
在以下描述中,闡述眾多特定細節,諸如特定類型之處理器及系統組態、特定硬體結構、特定架構及微架構細節、特定暫存器組態、特定指令類型、特定系統組件、特定量測/高度、特定處理器管線級段及操作等之實例,以便提供對本發明的詳盡理解。然而,熟習此項技術者將顯而易知此等特定細節不一定用於實踐本發明。在其它情況下,熟知組件或方法,諸如特定及替代性處理器架構、所描述演算法之特定邏輯電路/碼、特定韌體代碼、特定互連操作、特定邏輯組態、特定製造技術及材料、特定編譯器實行方案、演算法以碼之特定表示、特定減低功率消耗及閘控技術/邏輯及電腦系統之其他特定操作細節未詳細描述以便避免不必要地使本發明模糊。
儘管可參考特定積體電路,諸如計算平台或微處理器中之能量節省及能量效率來描述以下實施例,但其他實施例適用於其他類型的積體電路及邏輯裝置。本文所描述之實施例的類似技術及教示可應用於亦可受益於更好之能量效率及能量節省的其他類型之電路或半導體裝置。例如,所揭示實施例不限於桌上型電腦系統或UltrabooksTM。該等實施例亦可用於其他裝置中,諸如手持型裝置、平板電腦、其他薄型筆記型電腦、系統單晶片(SOC)裝置及嵌入式應用程式。手持式裝置之一些實例包括行動電話、網際網路協定裝置、數位相機、個人數位助理(PDA)及手持式PC。嵌入式應用程式通常包括微控制器、數位信號處理器 (DSP)、系統單晶片、網路電腦(NetPC)、機上盒(set-top box)、網路集線器、廣域網路(WAN)切換器或可執行以下教導之功能及操作的任何其他系統。此外,本文所述之設備、方法及系統不限於實體計算裝置,而亦可涉及針對能量節省及效率之軟體最佳化。如在以下描述中將變得易於顯而易見,本文所描述之方法、設備及系統之實施例(無論參考硬體、韌體、軟體,抑或上述各者之組合)對於藉由效能考慮事項所平衡的『綠色技術』未來為重要的。
隨著計算系統進步,其中之組件正變得更複雜。結果,在組件之間耦接及通訊之互連架構亦在複雜性方面增加,以確保頻寬要求針對最佳組件操作得以滿足。此外,不同的市場區隔需要互連架構之不同態樣來適合市場需求。例如,伺服器需要較高效能,而行動生態系統有時能夠犧牲整體效能以供功率節約。然而,大多數組構之單一目的為藉由最大功率節約提供最高可能的效能。以下,論述數個互連體,此情況將潛在地受益於本文所描述之本發明之態樣。
一互連組構架構包括高速周邊組件互連(PCI)(PCIe)架構。PCIe之主要目標將允許來自不同供應商的組件及裝置在開放式架構中互相操作,橫跨多個市場區隔;客戶端(桌上型客戶端及行動客戶端)、伺服器(標準及企業)以及嵌入式裝置及通訊裝置。高速PCI為針對多種未來計算及通訊平台定義的高效能通用I/O互連體。諸如PCI之使用模型、載入儲存架構及軟體介面的一些PCI屬性已經 由該PCI之修訂獲維持,而先前平行匯流排實行方案已由高度可縮放的全串列介面替換。高速PCI之更近版本利用點對點互連體、以切換器為基礎之技術及封包化協定之發展來表達新效能水平及特徵。功率管理、服務品質(QoS)、熱插頭/熱調換支援、資料完整性及錯誤處置在由高速PCI支援的一些先進特徵之中。
參考圖1,例示由互連組件之集合的點對點鏈結組成的組構之一實施例。系統100包括處理器105及系統記憶體110,該處理器及該系統記憶體耦接至控制器集線器115。處理器105可包括任何處理元件,諸如微處理器、主機處理器、嵌入式處理器、共處理器或其他處理器。處理器105經由前側匯流排(FSB)106耦接至控制器集線器115。在一實施例中,FSB 106為如以下所描述之串列點對點互連體。在另一實施例中,鏈結106包括符合不同互連標準的串列微分互連架構。
系統記憶體110包括任何記憶體裝置,諸如隨機存取記憶體(RAM)、非依電性(NV)記憶體或系統100中之裝置可存取的其他記憶體。系統記憶體110經由記憶體介面116耦接至控制器集線器115。記憶體介面之實例包括雙倍資料速率(DDR)記憶體介面、雙通道DDR記憶體介面及動態RAM(DRAM)記憶體介面。
在一實施例中,控制器集線器115為高速周邊組件互連(PCIe或PCIE)互連階層中之根集線器、根聯合體或根控制器。控制器集線器115之實例包括晶片組、記憶體控 制器集線器(MCH)、北橋、互連控制器集線器(ICH)、南橋及根控制器/集線器。通常,晶片組一詞涉及兩個實體上分開的控制器集線器,亦即,耦接至互連控制器集線器(ICH)的記憶體控制器集線器(MCH)。請注意,當前系統通常包括與處理器105整合的MCH,而控制器115用以以如以下所描述之類似方式與I/O裝置通訊。在一些實施例中,同級間路由選擇性地經由根聯合體115支援。
在此,控制器集線器115經由串列鏈結119耦接至切換器/橋接器120。亦可被稱為介面/埠117及121的輸入/輸出模組117及121包括/實行分層協定堆疊,以提供控制器集線器115與切換器120之間的通訊。在一實施例中,多個裝置能夠耦接至切換器120。例如,如圖1所示,I/O裝置125經由串列鏈結123耦接至切換器/橋接器120。
切換器/橋接器120將封包/訊息自裝置125向上游(亦即,朝向根聯合體沿階層向上)路由至控制器集線器115,且自處理器105或系統記憶體110向下游(亦即,遠離根控制器沿階層向下)路由至裝置125。在一實施例中,切換器120被稱為多個虛擬PCI對PCI橋接器裝置之邏輯總成。裝置125包括將要耦接至電子系統的任何內部或外部裝置或組件,諸如I/O裝置、網路介面控制器(NIC)、添加式卡、音訊處理器、網路處理器、硬碟機、儲存裝置、CD/DVD ROM、監視器、印表機、滑鼠、鍵盤、路由器、可攜式儲存裝置、火線(Firewire)裝置、通用串列匯流排(USB)裝置、掃描器及其他輸入/輸出裝置。通常,在PCIe中,諸如裝置 的術語被稱為端點。雖然未具體示出,但裝置125可包括PCIe至PCI/PCI-X橋接器,以支撐件傳統或其他版本的PCI裝置。PCIe中之端點裝置通常經分類為傳統端點、PCIe端點或根聯合體整合式端點。
圖形加速器130亦經由串列鏈結132耦接至控制器集線器115。在一實施例中,圖形加速器130耦接至MCH,該MCH耦接至ICH。切換器120及因此I/O裝置125隨後耦接至ICH。I/O模組131及118亦用以實行分層協定堆疊以在圖形加速器130與控制器集線器115之間通訊。類似於以上MCH論述,圖形控制器或圖形加速器130自身可整合於處理器105中。
轉至圖2,例示分層協定堆疊之一實施例。分層協定堆疊200包括任何形式之分層通訊堆疊,諸如快速路徑互連(QPI)堆疊、PCie堆疊、下一代高效能計算互連堆疊或其他分層堆疊。雖然以下關於圖1至圖4之論述涉及PCIe堆疊,但相同概念可應用於其他互連堆疊。在一實施例中,協定堆疊200為包括交易層205、鏈結層210及實體層220的PCIe協定堆疊。諸如圖1中之介面117、118、121、122、126及131之介面可表示為通訊協定堆疊200。作為通訊協定堆疊之表示亦可被稱為實行/包括協定堆疊的模組或介面。
高速PCI使用封包來在組件之間通訊資訊。封包可形成於交易層205及資料鏈結層210中以將資訊自傳輸組件攜載至接收組件。當所傳輸封包流過其他層時,該等封包以在該等層處處置封包所必需的額外資訊加以擴展。在 接收側處,倒轉過程發生,且封包變得自該等封包之實體層220表示變換成資料鏈結層210表示,且最終(對於交易層封包)變換成可由接收裝置之交易層205處理的形式。
交易層
在一實施例中,交易層205用以提供裝置之處理核心與互連架構(諸如資料鏈結層210與實體層220)之間的介面。就此而言,交易層205之主要責任為封包(亦即,交易層封包或TLP)之組合及分解。翻譯層205通常管理用於TLP之以信用為基礎之控制。PCIe實行分裂交易,亦即,請求及回應藉由時間分離的交易,從而允許用以攜載其他訊務之鏈結,同時目標裝置收集用於回應之資料。
另外,PCIe利用以信用為基礎之流程控制。在此方案中,裝置公佈用於交易層205中之接收緩衝器中每一者之信用之初始量。鏈結之相對末端處的外部裝置諸如圖1中之控制器集線器115計數由每一TLP消耗的信用之數目。若交易不超過信用限制,則交易可經傳輸。在接收回應時,使信用之量復原。信用方案之優點在於信用返回之潛時不影響效能,前提條件為未遭遇信用限制。
在一實施例中,四個交易位址空間可包括組態位址空間、記憶體位址空間、輸入/輸出位址空間及訊息位址空間。記憶體空間交易包括用以將資料傳送至記憶體對映位置/自記憶體對映位置傳送資料的讀取請求及寫入請求中一或多者。在一實施例中,記憶體空間交易能夠使用兩個不同位址格式,例如諸如32位元位址之短位址格式或諸 如64位元位址之長位址格式。組態空間交易用以存取PCIe裝置之組態空間。至組態空間的交易包括讀取請求及寫入請求。訊息空間交易(或簡單地訊息)亦可經定義來支援PCIe代理之間的帶內通訊。
因此,在一實施例中,交易層205組合封包標頭/酬載206。用於當前封包標頭/酬載之格式可見於PCIe規範網站處的PCIe規範中。
快速參考圖3,例示PCIe交易描述符之一實施例。在一實施例中,交易描述符300為用於攜載交易資訊之機構。就此而言,交易描述符300支援系統中之交易之識別。其他潛在用途包括追蹤預設交易排序之修改及交易與通道之相關聯。
交易描述符300包括總體識別符欄位302、屬性欄位304及通道識別符欄位306。在所例示實例中,描繪總體識別符欄位302,該總體識別符欄位包含局部交易識別符欄位308及來源識別符欄位310。在一實施例中,總體交易識別符302對於所有未處理請求為唯一的。
根據一實行方案,局部交易識別符欄位308為由請求代理產生的欄位,且該局部交易識別符欄位對於針對該請求代理需要完成的所有未處理請求為唯一的。此外,在此實例中,來源識別符310唯一地識別PCIe階層內之請求者代理。因此,與來源ID 310一起,局部交易識別符308欄位提供階層域內之交易之總體識別。
屬性欄位304指定交易之特性及關係。就此而 言,屬性欄位304潛在地用來提供額外資訊,該額外資訊允許交易之預設處置之修改。在一實施例中,屬性欄位304包括優先權欄位312、保留欄位314、排序欄位316及非監聽(no-snoop)欄位318。在此,優先權子欄位312可藉由啟動器修改以將優先權指派給交易。保留屬性欄位314處於保留狀態以用於未來或供應商定義之用法。使用優先權或安全屬性的可能用法模型可使用保留屬性欄位加以實行。
在此實例中,排序屬性欄位316用來供應攜載可修改預設排序規則的排序類型的選擇性資訊。根據一示例性實行方案,「0」之排序屬性表示預設排序規則將應用,其中「1」之排序屬性表示靈活排序(relaxed ordering),其中寫入可在同一方向上傳遞寫入,且讀取完成可在同一方向上傳遞寫入。監聽屬性欄位318經利用來判定交易是否經監聽。如所示,通道ID欄位306識別通道,交易與該通道相關聯。
鏈結層
亦被稱為資料鏈結層210的鏈結層210充當交易層205與實體層220之間的中間級段。在一實施例中,資料鏈結層210之責任係為鏈結上之兩個組件之間交換交易層封包(TLP)提供可靠機構。資料鏈結層210之一側接受由交易層205組合的TLP,施加封包序列識別符211(亦即識別編號或封包編號),計算且施加錯誤偵測碼(亦即CRC 212),且將修改後TLP提交至實體層220以用於跨於實體傳輸至外部裝置。
實體層
在一實施例中,實體層220包括邏輯子區塊221及電氣子區塊222以實體上傳輸封包至外部裝置。在此,邏輯子區塊221負責實體層221之「數位」功能。就此而言,邏輯子區塊可包括用以準備輸出資訊以用於由實體子區塊222傳輸的傳輸區段,及用以在將所接收資訊傳遞至鏈結層210之前識別且準備所接收資訊的接收器區段。
實體區塊222包括發射器及接收器。發射器由邏輯子區塊221供應符號,發射器將該等符號串聯化且傳輸至外部裝置。接收器供應有來自外部裝置的串聯化符號且將所接收符號變換成位元串流。位元串流經解串聯化(de-serialized)且供應至邏輯子區塊221。在一實施例中,使用8b/10b傳輸碼,其中傳輸/接收十位元符號。在此,特殊符號用以使用訊框223定框封包。另外,在一實例中,接收器亦提供自輸入串列串流恢復的符號時脈。
如以上所述,雖然關於PCIe協定堆疊之一特定實施例論述交易層205、鏈結層210及實體層220,但分層協定堆疊不如此受限。事實上,可包括/實行任何分層協定。作為一實例,表示為分層協定的埠/介面可包括:(1)用以組合封包的第一層,亦即交易層;用以定序封包的第二層,亦即鏈結層;以及用以傳輸封包的第三層,亦即實體層。作為一特定實例,利用共用標準介面(CSI)分層協定。
接下來參考圖4,例示PCIe串列點對點組構400之一實施例。雖然例示PCIe串列點對點鏈結之一實施例, 但串列點對點鏈結不如此受限,因為該串列點對點鏈結包括用於傳輸串列資料之任何傳輸路徑。在所示實施例中,基本PCIe鏈結包括兩個低壓差動驅動信號對:傳輸對406/411及接收對412/407。因此,裝置405包括用以將資料傳輸至裝置410的傳輸邏輯406及用以自裝置410接收資料的接收邏輯407。換言之,兩個傳輸路徑亦即路徑416及417以及兩個接收路徑亦即路徑418及419包括於PCIe鏈結中。
傳輸路徑涉及用於傳輸資料之任何路徑,諸如傳輸線路、銅線路、光學線路、無線通訊通道、紅外通訊鏈結或其他通訊路徑。兩個裝置諸如裝置405及裝置410之間的連接被稱為鏈結,諸如鏈結415。一鏈結可支援一線道──每一線道表示差動信號對(用於傳輸之一對、用於接收之一對)之集合。為比例縮放頻寬,鏈結可聚合由xN表示的多個線道,其中N為任何支援的鏈結寬度,諸如1、2、4、8、12、16、32、64或更寬。
差動對涉及用以傳輸差動信號的兩個傳輸路徑,諸如線路416及417。作為一實例,當線路416自低壓位準雙態觸變至高壓位準,亦即上升邊緣時,線417自高邏輯位準驅動至低邏輯位準,亦即下降邊緣。差動信號潛在地表明較佳電氣特性,諸如較佳信號完整性(亦即交叉耦合)、電壓過衝/欠沖、振鈴等。此考慮到較佳定時視窗,從而允許較快傳輸頻率。
圖5為例示示例性多晶片封裝505的簡化方塊圖500,該示例性多晶片封裝包括使用示例性多晶片封裝鏈結 (MCPL)520通訊地連接的二或更多個晶片或晶粒(例如,510、515)。雖然圖5例示使用示例性MCPL 520互連的兩個(或更多)晶粒之實例,但應暸解,本文關於MCPL之實行方案所描述之原理及特徵可應用於連接晶粒(例如,510)及其他組件的任何互連體或鏈結,包括連接二或更多個晶粒(例如,510、515)、將晶粒(或晶片)連接至另一晶粒外組件、將晶粒連接至另一封裝外裝置或晶粒(例如,505)、將晶粒連接至BGA封裝、中介層上之插線(POINT)之實行方案,以及潛在地其他實例。
通常,多晶片封裝(例如,505)可為電子封裝,其中多個積體電路(IC)、半導體晶粒或其他離散組件(例如,510、515)經封裝至一致基板(例如,矽或其他半導體基板)上,從而促進作為單組件(例如,如較大IC)的組合組合組件之使用。在一些情況下,較大組件(例如,晶粒510、515)自身可為IC系統,諸如系統單晶片(SoC)、多處理器晶片或包括裝置上例如單個晶粒(例如,510、515)上之多個組件(例如,525-530及540-545)的其他組件。多晶片封裝505可為自潛在地多個離散組件及系統構建複雜及變化的系統提供靈活性。例如,晶粒510、515中每一者可經製造或以其他方式藉由兩個不同實體提供,其中封裝505之矽基板仍由第三實體提供,以及許多其他實例。此外,多晶片封裝505內之晶粒及其他組件自身可包括為裝置(例如,分別為裝置510、515)內之組件(例如,525-530及540-545)之間的通訊提供基礎建設的互連或其他通訊組構(例如,535、550)。 各種組件及互連體(例如,535、550)可潛在地支援或使用多個不同協定。此外,晶粒(例如,510、515)之間的通訊可潛在地包括晶粒上之各種組件經由多個不同協定的交易。用以提供多晶片封裝上之晶片(或晶粒)之間的通訊的設計機構可具挑戰性,其中傳統解決方案基於試圖互連的組件(及所要交易)之特定組合而使用高度專門化的、昂貴的及封裝特定的解決方案。
本說明書內所描述之實例、系統、演算法、設備、邏輯及特徵可解決以上識別之問題中至少一些,潛在地包括本文未明確提及之許多其他問題。例如,在一些實行方案中,高頻寬、低功率、低潛時介面可經提供來將主機裝置(例如,CPU)或其他裝置連接至安放在與主機相同的封裝中的伴隨晶片。此多晶片封裝鏈結(MCPL)可支援多個封裝選項、多個I/O協定以及可靠性、可用性及可服務性(RAS)特徵。此外,實體層(PHY)可包括實體電氣層及邏輯層,且可支援較長通道長度,包括高達(且在一些狀況下超過)近似45mm的通道長度。在一些實行方案中,示例性MCPL可以高資料速率操作,該等高資料速率包括超過8-10Gb/s的資料速率。
在MCPL之一示例性實行方案中,PHY電氣層可改良傳統的多通道互連解決方案(例如,多通道DRAM I/O),從而例如藉由許多特徵延伸資料速率及通道組態,該等特徵包括(例如)調節後中軌端接、低功率活動串音取消、電路冗餘、每位元工作週期校正及去偏斜、線路編碼及發 射器均衡,以及潛在地其他實例。
在MCPL之一示例性實行方案中,可實行PHY邏輯層,該PHY邏輯層可進一步輔助(例如,電氣層特徵)延伸資料速率及通道組態,同時亦允許互連體跨於電氣層路由多個協定。此類實行方案可提供且定義模組式共用實體層,該模組式共用實體層為協定不可知的,且經架構以與潛在地任何現有或未來互連協定一起工作。
轉至圖6,展示表示系統之至少一部分的簡化方塊圖600,該系統包括多晶片封裝鏈結(MCPL)之示例性實行方案。MCPL可使用連接第一裝置605(例如,包括一或多個子組件的第一晶粒)與第二裝置610(例如,包括一或多個其他子組件的第二晶粒)的實體電氣連接(例如實行為線道的導線)加以實行。在圖解600之高階表示中所示之特定實例中,所有發信(通道615、620中)可為單向的,且可為資料信號提供線道以具有上游資料傳送及下游資料傳送兩者。雖然圖6之方塊圖600涉及作為上游組件的第一組件605及作為下游組件的第二組件610,以及在發送資料中用作下游通道615的MCPL之實體道道及對於接收資料(自組件610)用作上游通道620的道道,但應暸解,裝置605、610之間的MCPL可由每一裝置用以在裝置之間發送且接收資料。
在一示例性實行方案中,MCPL可提供實體層(PHY),該實體層包括電氣MCPL PHY 625a、625b(或共同地為625)及實行MCPL邏輯PHY 630a、630b(或共同地為630)的可執邏輯。電氣或實體PHY 625可提供資料藉以在裝置 605、610之間通訊的實體連接。信號調節組件及邏輯可關於實體PHY 625加以實行,以便建立鏈結之高資料速率及通道組態能力,該鏈結在一些應用程式中可涉及以近似45mm或更大之長度的緊密叢集之實體連接。邏輯PHY 630可包括用於促進計時、鏈結狀態管理(例如,用於鏈結層635a、635b)及用於經由MCPL通訊之潛在地多個不同協定之間的協定多工之邏輯。
在一示例性實行方案中,實體PHY 625對於每一通道(例如,615、620)可包括資料線道之集合,可經由該等資料線道發送帶內資料。在此特定實例中,50個資料線道提供於上游通道615及下游通道620中每一者中,然而可使用任何其他數目的線道,如由佈置及功率約束、所要應用、裝置約束等所容許。每一通道可進一步包括用於通道之選通或時脈、信號之一或多個專用線道、用於通道之有效信號之一或多個專用線道、用於串流信號之一或多個專用線道及用於鏈結狀態機管理或邊帶信號之一或多個專用線道。實體PHY可進一步包括邊帶鏈結640,該邊帶鏈結在一些實例中可為用以協調狀態變遷及MCPL連接裝置605、610之其他屬性的雙向較低頻率控制信號鏈結,以及其他實例。
如以上所述,可使用MCPL之實行方案支援多個協定。實際上,多個獨立的交易層650a、650b可提供在每一裝置605、610處。例如,每一裝置605、610可支援且利用二或更多個協定,諸如PCI、PCIe、QPI、Intel晶粒內互連(IDI)及其他。IDI為晶粒上用以在核心、末階快取記憶體 (LLC)、記憶體、圖形及IO控制器之間通訊的同調協定。亦可支援其他協定,包括乙太網路協定、無限頻帶(Infiniband)協定及其他基於PCIe組構之協定。邏輯PHY及實體PHY之組合亦可用作晶粒對晶粒互連體,以將一晶粒上之串化器/解串化器(SerDes)PHY(PCIe、乙太網路、無限頻帶或其他高速串化器/解串化器)連接至實行於其他晶粒上的該串化器/解串化器之上層。
邏輯PHY 630可支援MCPL上之此等多個協定之間的多工。例如,專用串流線道可用以斷言編碼後串流信號,該編碼後串流信號識別哪一協定將適用於在通道之資料線道上實質上並行地發送的資料。此外,邏輯PHY 630可用以協商各種協定可支援或請求的各種類型之鏈結狀態變遷。在一些情況下,經由通道之專用LSM_SB線道發送的LSM_SB信號可連同邊帶鏈結640一起用以在裝置605、610之間通訊且協商鏈結狀態變遷。此外,可部分使用邏輯PHY 630替換或控治鏈結訓練、錯誤偵測、偏斜偵測、去偏斜及傳統互連體之其他功能性。例如,經由每一通道中之一或多個專用有效信號線道發送的有效信號可用於信號鏈結活動、偵測偏斜、鏈結錯誤,且實現其他特徵,以及其他實例。在圖6之特定實例中,每通道提供多個有效線道。例如,通道內之資料線道可經捆綁或叢類(實體上及/或邏輯上),且可為每一叢集提供有效線道。此外,多個選通道可經提供,在一些狀況下,亦用以為通道中之多個資料線道叢集中之每一叢集提供專用選通信號,以及其他實例。
如以上所述,邏輯PHY 630可用以協商且管理在藉由MCPL連接的裝置之間發送的鏈結控制信號。在一些實行方案中,邏輯PHY 630可包括鏈結層封包(LLP)產生邏輯660,該鏈結層封包產生邏輯可用以經由MCPL(亦即,在頻帶內)發送鏈結層控制訊息。此類訊息可經由通道之資料線道發送,其中串流線道識別資料為鏈結層至鏈結層通信報,諸如鏈結層控制資料,以及其他實例。使用LLP模組660允許的鏈結層訊息可分別幫助鏈結層狀態變遷之協商及執行、功率管理、迴路返回、禁用、重新定心、攪拌以及裝置605、610之鏈結層635a、635b之間的其他鏈結層特徵。
轉至圖7,展示表示使用示例性MCPL之特定通道中之線道(例如,615、620)之集合進行的示例性發信的圖表700。在圖7之實例中,為通道中之五十(50)個總資料線道提供二十五(25)個資料線道之兩個叢集。為在例示特定實例中方便起見,展示線道之一部分,而省略(例如,作為冗餘信號)其他線道(例如,DATA[4-46]及第二選通信號線道(STRB))。當實體層處於活動狀態中(例如,未斷電或處於低功率模式(例如,L1狀態)中)時,選通線道(STRB)可具有同步時脈信號。在一些實行方案中,可在選通之上升邊緣及下降邊緣兩者上發送資料。每一邊緣(或半時脈週期)可定界單位間隔(UI)。因此,在此實例中,可在每一線道上發送位元(例如,705),從而允許每一8UI發送一位元組。位元組時間週期710可經定義為8UI,或用於在資料線道(例如,DATA[0-49])中單個資料線道上發送位元組之時間。
在一些實行方案中,經由一或多個專用有效信號通道(例如,VALID0、VALID1)發送的有效信號可充當用於接收裝置之前導指示器,以識別當斷言(高)時,資料在諸如位元組時間週期710之隨後時間週期期間係經由資料線道(例如,DATA[0-49])自發送裝置或來源發送至接收裝置或接收點。替代地,當有效信號為低時,來源向接收點指示接收點將在隨後時間週期期間不經由資料線道發送資料。因此,當接收點邏輯PHY偵測有效信號未經斷言(例如,在線道VALID0及VALID1上)時,接收點可不考慮在隨後時間週期期間於資料線道(例如,DATA[0-49])上偵測的任何資料。例如,當來源事實上不發送任何資料時,串音雜訊或其他位元可出現在資料線道中一或多者上。藉助於先前時間週期(例如,先前位元組時間週期)期間的低或非斷言有效信號,接收點可決定資料線道將在隨後時間週期期間不予考慮。
經由MCPL之線道中每一者發送的資料可嚴格地對準至選通信號。時間週期可基於諸如位元組時間週期之選通加以定義,且此等週期中每一者可對應於所定義時窗,在該所定義時窗中,信號將經由資料線道(例如,DATA[0-49])、有效線道(例如,VALID1、VALID2)及串流線道(例如,STREAM)發送。因此,此等信號之對準可允許如下識別:先前時間週期視窗中之有效信號適用於隨後時間週期視窗中之資料及串流信號適用於相同時間週期視窗中之資料。串流信號可為編碼後信號(例如,用於位元組時 間週期視窗之資料之1位元組),該編碼後信號經編碼以識別適用於在相同時間週期視窗期間發送的資料之協定。
為例示,在圖7之特定實例中,定義位元組時間週期視窗。在於資料線道DATA[0-49]上注入任何資料之前,在時間週期視窗 n (715)處斷言有效。在隨後時間週期視窗 n + 1 (720)處,資料經由資料線道中至少一些發送。在此狀況下,資料在 n + 1 (720)期間經由所有五十個資料線道發送。因為有效對於先前時間週期視窗 n (715)之持續時間經斷言,所以接收點裝置可驗證在時間週期視窗 n + 1 (720)期間經由資料線道DATA[0-49]接收的資料。另外,在時間週期視窗 n (715)期間的有效信號之前導性質允許接收裝置準備輸入資料。繼續圖7之實例,有效信號在時間週期視窗 n + 1 (720)之持續時間期間保持斷言(在VALID1及VALID2上),從而使接收點裝置期望在時間週期視窗 n + 2 (725)期間經由資料線道DATA[0-49]發送的資料。若有效信號在時間週期視窗 n + 2 (725)期間保持斷言,則接收點裝置可進一步期望接收(且處理)在緊後時間週期視窗 n + 3 (730)期間發送的額外資料。在圖7之實例中,然而,有效信號在時間週期視窗 n + 2 (725)之持續時間期間經去斷言,從而向接收點裝置指示將在時間週期視窗 n + 3 (730)期間不發送資料且在資料線道DATA[0-49]上偵測的任何位元在時間週期視窗 n + 3 (730)期間應不予考慮。
如以上所述,每通道可維持多個有效線道及選通道。此在連接兩個裝置的相對長的實體線道之叢集之中可 幫助維持電路簡單性及同步化,以及其他優點。在一些實行方案中,資料線道之集合可經分成資料線道之叢集。例如,在圖7之實例中,資料線道DATA[0-49]可經分成兩個二十五線道叢集,且每一叢集可具有專用有效及選通道。例如,有效線道VALID1可與資料線道DATA[0-24]相關聯,且有效線道VALID2可與資料線道DATA[25-49]相關聯。用於每一叢集之有效及選通道之每一「複製」上的信號可為相同的。VALID及STREAM線道在叢集之間亦可為不同的,從而允許該等線道作為組構中之獨立埠或作為減少寬度的埠操作,以用於功率節約。
如以上所介紹,串流線道STREAM上之資料可用以向邏輯PHY指示何協定將適用於正經由資料線道資料線道DATA[0-49]發送的對應資料。在圖7之實例中,串流信號在與資料線道DATA[0-49]上之資料相同的時間週期視窗期間經由STREAM發送,以指示資料線道上之資料之協定。在替代性實行方案中,串流信號可在先前時間週期視窗期間諸如使用對應有效信號加以發送,以及其他潛在修改。然而,繼續圖7之實例,串流信號735在時間週期視窗 n + 1 (720)期間經發送,該串流信號經編碼以指示將適用於在時間週期視窗 n + 1 (720)期間經由資料線道DATA[0-49]發送的位元的協定(例如,PCIe、PCI、IDI、QPI等)。類似地,另一串流信號740可在後續時間週期視窗 n + 2 (725)期間經發送,以指示適用於在時間週期視窗 n + 2 (725)期間經由資料線道DATA[0-49]發送的位元的協定,等等。在一些狀況下, 諸如圖7之實例(其中兩個串流信號735、740具有相同編碼,二進位FF),順序時間週期視窗(例如, n + 1 (720)及 n + 2 (725))中之資料可屬於相同協定。然而,在其他狀況下,順序時間週期視窗(例如, n + 1 (720)及 n + 2 (725))中之資料可來自不同協定將適用的不同交易,且串流信號(例如,735、740)可據此經編碼以識別適用於資料線道(例如,DATA[0-49])上之資料之順序位元組的不同協定,以及其他實例。
在一些實行方案中,可針對MCPL定義低功率或閒置狀態。例如,當MCPL上之裝置兩者中無一者正發送資料時,MCPL之實體層(電氣及邏輯)可轉至閒置或低功率狀態。例如,在圖7之實例中,在時間週期視窗 n - 2 (745)處,MCPL處於靜止或閒置狀態中,且禁用選通以節約功率。MCPL可自低功率或閒置模式變遷出,從而在時間週期視窗時間週期視窗 n - 1 (例如,706)處喚醒選通。選通可完成傳輸前文(例如,以幫助喚醒且同步化通道之線道中每一者,以及接收點裝置),從而在其他非選通道上之任何其他發信之前開始選通信號。在此時間週期視窗 n - 1 (706)之後,有效信號可在時間週期視窗 n (715)處經斷言,以通知接收點資料在隨後時間週期視窗 n + 1 (720)中即將來臨,如以上所論述。
在偵測有效線道、資料線道及/或MCPL通道之其他線道上之閒置條件之後,MCPL可重新進入低功率或閒置狀態(例如,L1狀態)。例如,自時間週期視窗 n + 3 (730)開 始且向前,無發信可經偵測。來源或接收者裝置上之邏輯可引發變遷回至低功率狀態中,從而再次(例如,時間週期視窗 n + 5 (755))導致選通成為功率節約模式中之閒置,以及其他實例及原理(包括本文稍後所論述之該等實例及原理)。
實體PHY之電氣特性可包括以下各者中一或多者:單端發信、半速率轉送計時、互連通道之匹配以及發射器(來源)及接收器(接收點)之晶片上傳輸延遲、最佳化靜電放電(ESD)保護、襯墊電容,以及其他特徵。此外,MCPL可經實行以達成相較於傳統封裝I/O解決方案的較高資料速率(例如,近似16Gb/s)及能量效率特性。
圖8例示表示示例性MCPL之一部分的簡化方塊圖800之一部分。圖8之圖表800包括示例性線道805(例如,資料線道、有效線道或串流線道)及時脈產生邏輯810之表示。如圖8之實例中所示,在一些實行方案中,時脈產生邏輯810可經實行為時脈樹以將所產生時脈信號散佈至實行示例性MCPL之每一線道(諸如資料線道805)的每一區塊。此外,可提供時脈恢復電路815。在一些實行方案中,可為多個線道之叢集提供單個時脈恢復電路,而非為時脈信號所散佈的每一線道提供分離的時脈恢復電路,如在至少一些傳統互連I/O架構中常見的。實際上,如應用於圖6及圖7中之示例性組態,可為二十五資料線道之每一叢集提供分離的選通道及伴隨時脈恢復電路。
繼續圖8之實例,在一些實行方案中,至少資料線道、串流線道及有效線道可經中軌端接至大於零(接地) 的調整電壓。在一些實行方案中,中軌電壓可經調整至Vcc/2。在一些實行方案中,每線道之叢集可提供單個電壓調整器825。例如,當應用於圖6及圖7之實例時,可為二十五資料線道之第一叢集提供第一電壓調整器,且可為二十五資料線道之剩餘叢集提供第二電壓調整器,以及其他潛在實例。在一些情況下,示例性電壓調整器825可經實行為線性調整器、切換電容器電路,以及其他實例。在一些實行方案中,線性調整器可具有類比回饋迴路或數位回饋迴路,以及其他實例。
在一些實行方案中,亦可為示例性MCPL提供串音取消電路。在一些情況下,長MCPL導線之緊密性質可在線道之間引入串音干擾。串音取消邏輯可經實行以解決此等及其他問題。例如,在圖9至圖10中所例示之一實例中,串音可以諸如圖表900及圖表1000中所例示之示例性低功率主動電路顯著地減少。例如,在圖9之實例中,加權高通濾波「侵略者」信號可經增添至「受害者」信號(亦即,遭受來自侵略者之串音干擾的信號)。每一信號可被視為來自鏈結中之每一其他信號的串音之受害者,且自身可為對其他信號的侵略者,就此而言,該侵略者為串音干擾之來源。由於鏈結上之串音之派生性質,此信號可經產生且使受害者線道之串音減少超過50%。在圖9之實例中,低通濾波侵略者信號可經由高通RC濾波器(例如,經由及R1實行)產生,該高通RC濾波器產生將使用加法電路905(例如,RX感測-放大器)增添的濾波信號。
類似於圖9之實例中所描述之該實行方案的實行方案可對於諸如MCLP之應用為尤其便利的解決方案,因為電路之實行方案可以相對低的管理負擔實現,如例示圖9之實例中所示且所描述的電路之示例性電晶體階示意圖的圖10之圖表中所例示。應暸解,圖9及圖10中之表示為簡化表示,但實際實行方案將包括圖9及圖10中所例示之電路之多個複製,以適應鏈結之線道之中及之間的串音干擾之網路。作為一實例,在三線道鏈結(例如,線道0-2)中,可基於線道之幾何形狀及佈置來自線道0至線道1、自線道0至線道2、自線道1至線道0、自線道1至線道2、自線道2至線道0、自線道2至線道1等地提供類似於圖9及圖10之實例中所描述之該電路的電路,以及其他實例。
額外特徵可實行於示例性MCPL之實體PHY階層處。例如,在一些情況下,接收器偏移可引入顯著錯誤且限制I/O電壓邊際。電路冗餘可用以改良接收器靈敏度。在一些實行方案中,電路冗餘可經最佳化以解決MCPL中所使用的資料取樣器之標準偏差偏移。例如,可提供經設計為三(3)標準偏差偏移規格的示例性資料取樣器。在圖6及圖7之實例中,例如,在兩個(2)資料取樣器將用於每一接收器(例如,用於每一線道)的情況下,一百個(100)取樣器將用於五十(50)線道MCPL。在此實例中,接收器(RX)線道中一者使三標準偏差偏移規格失效之概率為24%。晶片參考電壓產生器可經提供以設定偏移上限且,若發現其他資料取樣器中另一者超過該界限,則移動至接收器上之下一資 料取樣器。然而,在每接收器使用四個(4)資料取樣器(亦即,在此實例中而非兩個)的情況下,接收器將僅在四個取樣器中三者失效的情況下失效。對於五十線道MCPL,如在圖6及圖7之實例中,增添此額外電路冗餘可使故障率自24%顯著地降低至小於0.01%。
在進一步其他實例中,在極高資料速率下,每位元工作週期校正(DCC)及去偏斜可用以擴充每叢集DCC基線且去偏斜以改良鏈結邊際。在一些實行方案中,可利用低功率數位實行方案,該低功率數位實行方案感測且校正I/O線道將失效的離群值,而非針對所有狀態校正,如在傳統解決方案中。例如,可執行線道之總體調諧以識別叢集內之問題線道。此等問題線道隨後可針對每線道調諧加以定目標以達成由MCPL支援的高資料速率。
額外特徵亦可在MCPL之一些實例中選擇性地實行以增強實體鏈結之效能特性。例如,可提供線路編碼。雖然諸如以上所描述之中軌端接可允許DC資料匯流排反轉(DBI)將被省略,但AC DBI仍可用以降低動態功率。更複雜編碼亦可用以消除1及0之最壞狀態差異,以降低例如中軌調整器之驅動要求,並且限制I/O切換雜訊,以及其他示例性效益。此外,亦可選擇性地實行發射器均衡化。例如,在極高資料速率下,插入損耗對於非封裝通道可為顯著問題。二分接頭加權發射器均衡化(例如,在初始電力開啟序列期間執行)在一些狀況下可足以減輕此等問題中一些,以及其他。
轉至圖11,展示例示示例性MCPL之示例性邏輯PHY的簡化方塊圖1100。實體PHY 1105可連接至晶粒,該晶粒包括邏輯PHY 1110及支援MCPL之鏈結層的額外邏輯。在此實例中,晶粒可進一步包括用以支援MCPL上之多個不同協定的邏輯。例如,在圖11之實例中,可提供PCIe邏輯1115以及IDI邏輯1120,使得晶粒可經由連接兩個晶粒的相同MCPL使用PCIe或IDI通訊,以及潛在地許多其他實例,包括經由MCPL支援超過兩個協定或不同於PCIe及IDI之協定的實例。晶粒之間支援的各種協定可提供不同階層之服務及特徵。
邏輯PHY 1110可包括用於關於晶粒之上層邏輯之請求(例如,經由PCIe或IDI接收)協商鏈結狀態變遷之鏈結狀態機管理邏輯1125。在一些實行方案中,邏輯PHY 1110可進一步包括鏈結測試及除錯邏輯(例如,1130)。如以上所述,示例性MCPL可支援控制信號,該等控制信號在晶粒之間經由MCPL發送以促進MCPL之協定不可知、高效能、及功率效率特徵(以及其他示例性特徵)。例如,邏輯PHY 1110可支援關於經由專用資料線道進行的資料之發送及接收的有效信號、串流信號及LSM邊帶信號之產生及發送,以及接收及處理,諸如以上實例中所描述。
在一些實行方案中,多工(例如,1135)及解多工(例如,1140)邏輯可包括於邏輯PHY 1110中或為邏輯PHY 1110以其他方式可存取的。例如,多工邏輯(例如,1135)可用以識別將向外發送至MCPL上的資料(例如,體現為封 包、訊息等)。多工邏輯1135可識別控治資料的協定且產生經編碼以識別該協定的串流信號。例如,在一示例性實行方案中,串流信號可經編碼為兩個十六進制符號之位元組(例如,IDI:FFh;PCIe:F0h;LLP:AAh;邊帶:55h等),且可在由所識別協定控制的資料之相同視窗(例如,位元組時間週期視窗)期間經發送。類似地,解多工邏輯1140可用以解譯輸入串流信號以解碼串流信號且識別適用於與資料線道上之串流信號並行地接收之資料的協定。解多工邏輯1140隨後可應用(或確保)協定特定之鏈結層處置,且使資料藉由對應協定邏輯(例如,PCIe邏輯1115或IDI邏輯1120)處置。
邏輯PHY 1110可進一步包括鏈結層封包邏輯1150,該鏈結層封包邏輯可用以處置各種鏈結控制功能,包括功率管理任務、迴路返回、禁用、重新定心、攪拌等。LLP邏輯1150可促進經由MCLP的鏈結層至鏈結層訊息,以及其他功能。對應於LLP發信的資料亦可藉由在專用串流信號線道上發送的串流信號識別,該串流信號經編碼以識別資料線道LLP資料。多工邏輯及解多工邏輯(例如,1135、1140)亦可用以產生且解譯對應於LLP訊務的串流信號,並且使此類訊務藉由適當晶粒邏輯(例如,LLP邏輯1150)處置。同樣地,如MCLP之一些實行方案可包括專用邊帶(例如,邊帶1155及支援邏輯),諸如異步及/或較低頻率邊帶通道,以及其他實例。
邏輯PHY邏輯1110可進一步包括鏈結狀態機管 理邏輯,該鏈結狀態機管理邏輯可產生且接收(且使用)經由專用LSM邊帶線道傳訊的鏈結狀態管理。例如,LSM邊帶線道可用以執行交握以推進鏈結訓練狀態,退出功率管理狀態(例如,L1狀態),以及其他潛在實例。LSM邊帶信號可為異步信號,因為該LSM邊帶信號未與鏈結之資料、有效及串流信號對準,但相反對應於發信狀態變遷且對準藉由鏈結連接的兩個晶粒或晶片之間的鏈結狀態機,以及其他實例。在一些實例中,提供專用LSM邊帶線道可允許類比前端(AFE)之傳統靜噪及接收偵測電路將被消除,以及其他示例性效益。
轉至圖12,展示例示用以實行MCPL的邏輯之另一表示的簡化方塊圖1200。例如,邏輯PHY 1110具有定義之邏輯PHY介面(LPIF)1205,多個不同協定(例如,PCIe、IDI、QPI等)1210、1215、1220、1225中任一者及發信模式(例如,邊帶)可經由該定義之邏輯PHY介面與示例性MCPL之實體層介接。在一些實行方案中,多工及仲裁邏輯1230亦可經提供為與邏輯PHY 1110分離的層。在一實例中,LPIF 1205可經提供為此MuxArb層1230之任一側上的介面。邏輯PHY 1110可經由另一介面與實體PHY(例如,MCPL PHY之類比前端(AFE)1105)介接。
LPIF可自上層(例如,1210、1215、1220、1225)抽象化PHY(邏輯及電氣/類比),使得可在對於上層LPIF透明的情況下實行完全不同的PHY。此可幫助促進設計之模組性及重新使用,因為當下層發信技術PHY經更新時,上 層可保持完整,以及其他實例。此外,LPIF可定義允許多工/解多工、LSM管理、錯誤偵測及處置以及邏輯PHY之其他功能性的許多信號。例如,表1概述可針對示例性LPIF定義的信號之至少一部分:
如表1中所述,在一些實行方案中,對準機構可經由AlignReq/AlignAck交握提供。例如,當實體層進入恢復時,一些協定可丟失封包定框。封包之對準可經校正,例如,以保證藉由鏈結層進行的正確定框識別。另外,根據如圖13中所示之一圖式1300,當實體層進入恢復時,該實體層可斷言StallReq信號,使得當新對準封包準備經傳送時,鏈結層斷言Stall信號。實體層邏輯可對Stall及Valid兩者取樣,以決定封包是否對準。例如,實體層可繼續驅動trdy以耗盡鏈結層封包,直至Stall及Valid經取樣斷言,以及其他潛在實行方案,包括使用Valid來幫助封包對準的其他替代性實行方案。
可針對MCPL上之信號定義各種故障容許度。例如,可針對有效、串流、LSM邊帶、低頻率邊帶、鏈結層封包及其他類型之信號定義故障容許度。用於經由MCPL之專用資料線道發送的封包、訊息及其他資料之故障容許度可基於控治資料的特定協定。在一些實行方案中,錯誤偵測及處置機構可經提供,諸如循環冗餘核對(CRC)、重試緩衝,以及其他潛在實例。作為實例,對於經由MCPL發送的PCIe封包,32位元CRC可經利用於PCIe交易層封包(TLP)(在保證遞送(例如,經由重播機構)的情況下),且16位元CRC可經利用於PCIe鏈結層封包(該等PCIe鏈結層封包可經架構為有損的(例如,重播未經應用))。此外,對於 PCIe定框訊標,可針對訊標識別符定義特定漢明距離(例如,四(4)之漢明距離);奇偶校驗及4位元CRC亦可經利用,以及其他實例。對於IDI封包,相反,16位元CRC可經利用。
在一些實行方案中,可針對鏈結層封包(LLP)定義故障容許度,該等故障容許度包括要求有效信號自低變遷至高(亦即,0-至-1)(例如,以幫助保證位元及符號鎖)。此外,在一實例中,特定數目之連序、相同LLP可經定義以經發送,且可期望對每一請求之回應,其中請求者在回應逾時之後重試,以及可用作決定MCPL上之LLP資料之故障之基礎的其他所定義特性。在進一步實例中,可例如經由跨於整個時間週期視窗延伸有效信號或符號(例如,藉由對於八個UI保持有效信號為高)為有效信號提供故障容許度。另外,可藉由維持用於編碼串流信號之值之漢明距離來防止串流信號中之錯誤或故障,以及其他實例。
邏輯PHY之實行方案可包括錯誤偵測、錯誤報告及錯誤處置邏輯。在一些實行方案中,示例性MCPL之邏輯PHY可包括用以偵測PHY層解框(de-framing)錯誤(例如,在有效及串流線道上)、邊帶錯誤(例如,與LSM狀態變遷有關)、LLP中之錯誤(例如,對於LSM狀態變遷關鍵的錯誤)之邏輯,以及其他實例。一些錯誤偵測/解決方案可經委託給上層邏輯,諸如適於偵測PCIe特定之錯誤的PCIe邏輯,以及其他實例。
在解框錯誤之狀況下,在一些實行方案中,可經由錯誤處置邏輯提供一或多個機構。可基於所涉及協定來 處置解框錯誤。例如,在一些實行方案中,鏈結層可經通知錯誤以觸發重試。解框亦可引起邏輯PHY解框之重新對準。此外,可執行邏輯PHY之重新定心,且可重新獲取符號/視窗鎖,以及其他技術。在一些實例中,定心可包括PHY將接收器時脈移動至最佳點以偵測輸入資料。在此上下文中,「最佳」可涉及其中該定心具有用於雜訊及時脈顫動之最大邊際。重新定心可包括在PHY自低功率狀態喚醒時執行的例如簡化定心功能,以及其他實例。
其他類型之錯誤可涉及其他錯誤處置技術。例如,可經由對應狀態(例如,LSM之對應狀態)之逾時機構擷取邊帶中所偵測之錯誤。錯誤可經記錄,且鏈結狀態機隨後可變遷至重設。LSM可保持於重設中,直至自軟體接收重新開始命令為止。在另一實例中,可使用逾時機構處置諸如鏈結控制封包錯誤之LLP錯誤,該逾時機構在對LLP序列之應答未經接收的情況下可重新開始LLP序列。
圖14A至圖14C例示用於各種類型之資料的示例性MCPL之資料線道上的示例性位元對映之表示。例如,示例性MCPL可包括五十個資料線道。圖14A例示諸如IDI之第一協定中的示例性16位元組槽之第一位元對映,該第一位元對映可經由8UI符號或視窗內之資料線道發送。例如,在所定義8UI視窗內,可發送三個16位元組槽,包括標頭槽。資料之兩個位元組在此實例中保留,且此等剩餘兩個位元組可利用CRC位元(例如,在線道DATA[48]及DATA[49]中)。
在另一實例中,圖14B例示用於經由示例性 MCPL之五十個資料線道發送的PCIe封包資料之第二示例性位元對映。在圖14B之實例中,16位元組封包(例如,交易層(TLP)或資料鏈結層(DLLP)PCIe封包)可經由MCPL發送。在8UI視窗中,三個封包可經發送,其中頻寬之剩餘兩個位元組在視窗內保留未使用。定框訊標可包括於此等符號中且用以定位每一封包之開始及結束。在PCIe之一實例中,在圖14B之實例中所利用之定框可與在8GT/s下針對PCIe實行的該等訊標相同。
在圖14C中所例示之另一實例中,展示經由示例性MCPL發送的鏈結對鏈結封包(例如,LLP封包)之示例性位元對映。根據示例性實行方案內之故障容許度及錯誤偵測,LLP可各自為4個位元組,且每一LLP(例如,LLP0、LLP1、LLP2等)可經發送四個連序次。例如,不能接收四個連序相同LLP可指示錯誤。另外,正如其他資料類型的情況,不能接收先前時間視窗中之VALID或符號亦可指示錯誤。在一些情況下,LLP可具有固定槽。另外,在此實例中,位元組時間週期中之未使用或「備用」位元可導致邏輯0經由五十個線道中兩者(例如,DATA[48-49])傳輸,以及其他實例。
轉至圖15,展示簡化鏈結狀態機變遷圖1500以及在狀態變遷之間所利用的邊帶交握。例如,Reset.Idle狀態(例如,其中執行鎖相迴路(PLL)鎖校準)可經由邊帶交握變遷至Reset.Cal狀態(例如,其中進一步校準鏈結)。Reset.Cal可經由邊帶交握變遷至Reset.ClockDCC狀態(例如,其中可 執行工作週期校正(DCC)及延遲鎖定迴路(DLL)鎖)。額外交握可經執行以自Reset.ClockDCC變遷至Reset.Quiet狀態(例如,用以去斷言有效信號)。為幫助MCPL之線道上之發信之對準,線道可經由Center.Pattern狀態定心。
在一些實行方案中,如圖16之實例所示,在Center.Pattern狀態期間,發射器可產生訓練型樣或其他資料。接收器可例如藉由設定相位內插器位置及vref位置且設定比較器來調節該接收器之接收器電路以接收此類訓練型樣。接收器可連續地比較所接收型樣與預期型樣,且將結果儲存於暫存器中。在型樣之一設定完成之後,接收器可使相位內插器設定增值,使vref保持相同。測試型樣產生及比較過程可繼續,且隨著程序經由所有相位內插器值且經由所有vref值重複地逐步進行,新比較結果可儲存於暫存器中。當型樣產生及比較過程全部完成時,可進入Center.Quiet狀態。在經由Center.Pattern及Center Quiet鏈結狀態的線道之定心之後,可促進邊帶交握(例如,使用經由鏈結之專用LSM邊帶線道的LSM邊帶信號),以變遷至Link.Init狀態以初始化MCPL且允許MCPL上之資料之發送。
暫時返回至圖15之論述,如以上所述,邊帶交握可用以促進多晶片封裝中之晶粒或晶片之間的鏈結狀態機變遷。例如,MCPL之LSM邊帶線道上之信號可用以同步化跨於晶粒的狀態機變遷。例如,當滿足退出狀態(例如,Reset.Idle)之條件時,滿足該等條件的側在該側之離埠LSM_SB線道上可斷言LSM邊帶信號,且等待其他遠端晶粒 到達相同條件並斷言該側之LSM_SB線道上之LSM邊帶信號。當兩個LSM_SB信號經斷言時,每一個別晶粒之鏈結狀態機可變遷至下一狀態(例如,Reset.Cal狀態)。可定義最小重疊時間,在變遷狀態之前,兩個LSM_SB信號在該最小重疊時間期間應保持斷言。此外,在LSM_SB經去斷言以允許準確迴轉偵測之後,可定義最小靜止時間。在一些實行方案中,每一鏈結狀態機變遷可以此類LSM_SB交握為條件且藉由該等LSM_SB交握促進。
圖17為例示可包括於示例性MCPL中的額外鏈結狀態及鏈結狀態變遷中至少一些的更詳細鏈結狀態機圖表1700。在一些實行方案中,示例性鏈結狀態機可包括,在其他狀態及圖17中所例示之狀態變遷之中、「有向迴路返回」變遷可經提供以將MCPL之線道置於數位迴路返回中。例如,MCPL之接收器線道可在時脈恢復電路之後迴路返回至發射器線道。在一些情況下,亦可提供「LB_Recenter」狀態,該狀態可用以對準資料符號。另外,如圖15中所示,MCPL可支援多個鏈結狀態,包括活動L0狀態及低功率狀態,諸如L1閒置狀態及L2睡眠狀態,以及潛在地其他實例。
圖18為例示活動狀態(例如,L0)與低功率或閒置狀態(例如,L1)之間的變遷中之示例性流程的簡化方塊圖1800。在此特定實例中,第一裝置1805及第二裝置1810使用MCPL通訊地耦接。當處於活動狀態中時,資料經由MCPL之線道(例如,DATA、VALID、STREAM等)傳輸。鏈結層封包(LLP)可經由線道(例如,資料線道,其中串流 信號指示資料為LLP資料)通訊,以幫助促進鏈結狀態變遷。例如,LLP可在第一裝置1805與第二裝置1810之間發送以協商自L0進入L1中。例如,由MCPL支援的上層協定可通訊需要進入L1(或另一狀態)中,且上層協定可使LLP經由MCPL發送以促進鏈結層交握以使實體層進入L1。例如,圖18展示包括自第二(上游)裝置1810發送至第一(下游)裝置1805的「進入L1」請求LLP的所發送LLP之至少一部分。在一些實行方案中,及上位準協定,下游埠不引發進入至L1中。接收第一裝置1805可作為回應發送「改變至L1」請求LLP,第二裝置1810可經由「改變至L1」應答(ACK)LLP應答,以及其他實例。在偵測交握之完成之後,邏輯PHY可使邊帶信號在專用邊帶鏈結上經斷言,以應答ACK經接收且裝置(例如,1805)準備好且期望進入L1中。例如,第一裝置1805可斷言發送至第二裝置1810的邊帶信號1815以證實鏈結層交握中之最終ACK之接收。另外,第二裝置1810亦可回應於邊帶信號1815而斷言邊帶信號,以通知第一裝置1805該第一裝置之邊帶ACK 1805。在鏈結層控制及邊帶交握完成的情況下,MCPL PHY可變遷至L1狀態中,從而使MCPL之所有線道置於閒置功率節約模式中,包括裝置1805、1810個別MCPL選通1820、1825。在第一裝置1805及第二裝置1810中一者之上位準層邏輯回應於偵測資料將經由MCPL發送至另一裝置而請求重新進入例如L0中時,可退出L1。
如以上所述,在一些實行方案中,MCPL可促進 潛在地支援多個不同協定的兩個裝置之間的通訊,且MCPL可根據MCPL之線道上的多個協定中潛在地任一者來促進通訊。然而,促進多個協定可使進入及重新進入至少一些鏈結狀態中變得複雜。例如,雖然一些傳統互連體具有在狀態變遷中採用主機之角色的單個上層協定,但具有多個不同協定的MCPL之實行方案有效地涉及多個主機。作為一實例,如圖18中所示,PCIe及IDI中每一者可經由MCPL之實行方案在兩個裝置1805、1810之間經支援。例如,將實體層置於閒置或低功率狀態中可以首先自所支援協定(例如,PCIe及IDI兩者)中每一者獲得的許可為條件。
在一些情況下,進入L1(或另一狀態)中可由針對MCPL之實行方案支援的多個支援協定中僅一者請求。雖然可存在其他協定將同樣地請求進入相同狀態中(例如,基於識別MCPL上之類似條件(例如,幾乎無訊務))的可能性,但邏輯PHY可等待,直至在實際上促進狀態變遷之前自每一上層協定接收許可或指令為止。邏輯PHY可追蹤哪些上層協定已請求狀態變化(例如,執行對應交握)且在識別協定中每一者已請求特定狀態變化時觸發狀態變遷,該特定狀態變化諸如自L0至L1的變遷或將影響或干擾其他協定之通訊的另一變遷。在一些實行方案中,協定就其對系統中之其他協定的至少部分依賴而言可為盲目的。此外,在一些情況下,協定可期望對請求之回應(例如,來自PHY)以進入特定狀態,諸如所請求狀態變遷之確認或拒絕。因此,在此類情況下,當等待來自其他支援協定的許可以用於進入閒 置鏈結狀態中時,邏輯PHY可產生對請求之合成回應,以進入閒置狀態以「欺騙」請求上層協定相信已進入特定狀態(當實際上線道仍活動時,至少直至其他協定亦請求進入閒置狀態中)。連同其他潛在優點,此可簡化在多個協定之間協調進入低功率狀態中,以及其他實例。
請注意,以上所描述之設備、方法及系統可實行於如先前提及的任何電子裝置或系統中。作為特定例示,以下諸圖提供用於利用如本文所述之本發明的示範性系統。當更詳細地描述以下系統時,揭示、描述且自以上論述再次探訪若干不同互連體。且如容易明白的,以上所描述之進步可應用於該等互連體、組構或架構中任一者。
參考圖19,描繪包括多核心處理器的計算系統之方塊圖之一實施例。處理器1900包括任何處理器或處理裝置,諸如微處理器、嵌入式處理器、數位信號處理器(DSP)、網路處理器、手持式處理器、應用處理器、共處理器、系統單晶片(SOC)或用來執行碼之其他裝置。在一實施例中,處理器1900包括至少兩個核心──核心1901及1902,該等核心可包括非對稱核心或對稱核心(所例示之實施例)。然而,處理器1900可包括任何數目的處理元件,該等處理元件可為對稱或非對稱的。
在一實施例中,處理元件指代用來支援軟體執行緒之硬體或邏輯。硬體處理元件之實例包括:執行緒單元、執行緒槽、執行緒、處理單元、情境、情境單元、邏輯處理器、硬體執行緒、核心及/或能夠保持處理器之狀態(諸如 執行狀態或架構狀態)的任何其他元件。換言之,在一實施例中,處理元件指代能夠獨立地與碼(諸如軟體執行緒、作業系統、應用程式或其他碼)相關聯的任何硬體。實體處理器(或處理器插座)通常指代積體電路,該積體電路潛在地包括任何數目的其他處理元件,諸如核心或硬體執行緒。
核心通常指代位於積體電路上之能夠維持獨立架構狀態的邏輯,其中每一獨立地維持之架構狀態與至少一些專用執行資源相關聯。與核心形成對比,硬體執行緒通常指代位於積體電路上之能夠維持獨立架構狀態的任何邏輯,其中獨立地維持之架構狀態共用對執行資源之存取。如可見,當某些資源為共用的且其他資源專用於架構狀態時,硬體執行緒之術語與核心之術語之間的行重疊。但通常,作業系統將核心及硬體執行緒視為個別的邏輯處理器,其中作業系統能夠在每一邏輯處理器上單獨排程操作。
如圖19中所例示,實體處理器1900包括兩個核心──核心1901及1902。在此,核心1901及1902被視為對稱核心,亦即,具有相同的組態、功能單元及/或邏輯之核心。在另一實施例中,核心1901包括亂序處理器核心,而核心1902包括循序處理器核心。然而,核心1901及1902可單獨選自任何類型之核心,諸如本機核心、軟體管理式核心、適於執行本機指令集架構(ISA)之核心、適於執行經翻譯的指令集架構(ISA)之核心、共同設計的核心或其他已知核心。在異質核心環境(亦即,非對稱核心)中,可利用諸如 二進制轉譯之某一形式之翻譯來排程或執行一個核心或兩個核心上的碼。更進一步論述,以下進一步詳細地描述核心1901中所例示之功能單元,因為核心1902中之單元以所描繪實施例中之類似方式操作。
如所描繪,核心1901包括兩個硬體執行緒1901a及1901b,該等硬體執行緒亦可稱為硬體執行緒槽1901a及1901b。因此,諸如作業系統之軟體實體在一實施例中潛在地將處理器1900視為四個分離的處理器,亦即,能夠並行地執行四個軟體執行緒之四個邏輯處理器或處理元件。如上文所提及,第一執行緒與架構狀態暫存器1901a相關聯,第二執行緒與架構狀態暫存器1901b相關聯,第三執行緒可與架構狀態暫存器1902a相關聯,且第四執行緒可與架構狀態暫存器1902b相關聯。在此,架構狀態暫存器(1901a、1901b、1902a及1902b)中每一者可被稱為如以上所描述之處理元件、執行緒槽或執行緒單元。如所例示,架構狀態暫存器1901b中重複架構狀態暫存器1901a,因此個別架構狀態/情境能夠針對邏輯處理器1901a及邏輯處理器1901b加以儲存。在核心1901中,亦可針對執行緒1901a及1901b重複其他較小資源,諸如分配器及重新命名器區塊1930中之指令指標及重新命名邏輯。可經由分割來共用一些資源,諸如重新排序/引退單元1935中之重新排序緩衝器、ILTB 1920、載入/儲存緩衝器及佇列。潛在地全面共用其他資源,諸如通用內部暫存器、頁表基礎暫存器、低階資料快取記憶體及資料TLB 1915、執行單元1940及亂序單元1935 之部分。
處理器1900通常包括其他資源,該等資源可全面共用、經由分割來共用,或由處理元件專用/專用於處理元件。在圖19中,例示具有處理器之例示性邏輯單元/資源之純示範性處理器之一實施例。請注意,處理器可包括或省略此等功能單元中任一者,並且包括未描繪之任何其他已知功能單元、邏輯或韌體。如所例示,核心1901包括簡化的代表性亂序(OOO)處理器核心。但不同實施例中可利用循序處理器。OOO核心包括用來預測將要執行/採用之分支的分支目標緩衝器1920及用來儲存用於指令之位址轉譯項目的指令翻譯緩衝器(I-TLB)1920。
核心1901進一步包括耦接至擷取單元1920之解碼模組1925,該解碼模組用來解碼所擷取元件。在一實施例中,擷取邏輯包括分別與執行緒槽1901a、1901b相關聯的個別定序器。通常,核心1901與第一ISA相關聯,該第一ISA定義/指定可在處理器1900上執行之指令。通常,作為第一ISA之部分的機器碼指令包括參考/指定將要執行之指令或操作的指令(被稱為操作碼)之一部分。解碼邏輯1925包括自此等指令之操作碼辨識此等指令且在管線上傳遞解碼後指令以便如第一ISA所定義來處理之電路。例如,如以下更詳細地論述,在一實施例中,解碼器1925包括經設計或適於辨識諸如交易指令之特定指令的邏輯。由於解碼器1925進行的辨識,架構或核心1901採取特定的預定義動作來執行與適當指令相關聯的任務。重要的是請注意,本文 所描述之任務、區塊、操作及方法中任一者可回應於單個或多個指令來執行,該等指令中一些可為新的或舊的指令。請注意,在一實施例中,解碼器1926辨識相同ISA(或該ISA之子集)。或者,在異質核心環境中,解碼器1926辨識第二ISA(第一ISA之子集或相異ISA)。
在一實例中,分配器及重新命名器區塊1930包括用來保留資源(諸如用來儲存指令處理結果的暫存器檔案)之分配器。然而,執行緒1901a及1901b潛在地能夠亂序執行,其中分配器及重新命名器區塊1930亦保留其他資源,諸如用來追蹤指令結果的重新排序緩衝器。單元1930亦可包括用來向處理器1900內部的其他暫存器重新命名程式/指令參考暫存器的暫存器重新命名器。重新排序/引退單元1935包括用來支援亂序執行及被亂序執行之指令的稍後循序引退之組件,諸如以上所提及之重新排序緩衝器、載入緩衝器及儲存緩衝器。
在一實施例中,排程器及執行單元區塊1940包括用來在執行單元上排程指令/操作之排程器單元。例如,在具有可利用的浮點執行單元之執行單元之埠上排程浮點指令。亦可包括與執行單元相關聯的暫存器檔案來儲存資訊指令處理結果。示範性執行單元包括浮點執行單元、整數執行單元、跳躍執行單元、載入執行單元、儲存執行單元及其他已知執行單元。
較低階資料快取記憶體及資料翻譯緩衝器(D-TLB)1950耦接至執行單元1940。資料快取記憶體用來儲 存最近使用的/被操作的元件,諸如資料運算元,其可能保持於記憶體同調狀態中。D-TLB用來儲存最近的虛擬/線性至實體位址翻譯。作為一特定實例,處理器可包括用來將實體記憶體分為多個虛擬頁的頁表結構。
在此,核心1901及1902共用對較高階或較遠快取記憶體的存取,該較高階或較遠快取記憶體諸如與晶片上介面1910相關聯的二階快取記憶體。請注意,較高階或較遠的指代增加的或離執行單元更遠的快取記憶體階。在一實施例中,較高階快取記憶體為末階資料快取記憶體──處理器1900上的記憶體階層中之最後快取記憶體,諸如二階或三階資料快取記憶體。然而,較高階快取記憶體不如此受限制,因為其可與指令快取記憶體相關聯或包括指令快取記憶體。取而代之,可在解碼器1925之後耦接追蹤快取記憶體(一種指令快取記憶體類型)來儲存最近解碼之追蹤。在此,指令潛在地指代巨集指令(亦即由解碼器辨識的一般指令),該巨集指令可解碼為若干微指令(微操作)。
在所描繪組態中,處理器1900亦包括晶片上介面模組1910。歷史上,已將以下更詳細地描述的記憶體控制器包括於處理器1900外部的計算系統中。在此情況下,晶片上介面1910用來與處理器1900外部的裝置通訊,該等裝置諸如系統記憶體1975、晶片組(通常包括用來連接至記憶體1975之記憶體控制器集線器及用來連接周邊裝置之I/O控制器集線器)、記憶體控制器集線器、北橋或其他積體電路。且在此情況下,匯流排1905可包括任何已知互連體, 諸如多分支匯流排、點對點互連體、串列互連體、並列匯流排、同調(例如快取記憶體同調)匯流排、分層協定架構、差動匯流排及GTL匯流排。
記憶體1975可專用於處理器1900或由系統中之其他裝置共用。記憶體1975之常見類型實例包括DRAM、SRAM、非依電性記憶體(NV記憶體)及其他已知儲存裝置。請注意,裝置1980可包括圖形加速器、耦接至記憶體控制器集線器之處理器或卡、耦接至I/O控制器集線器之資料儲存器、無線收發器、快閃裝置、音訊控制器、網路控制器或其他已知裝置。
然而,最近,因為更多的邏輯及裝置整合於諸如SOC之單個晶粒上,所以此等裝置中每一者可併入處理器1900上。例如,在一實施例中,記憶體控制器集線器位於具有處理器1900之相同封裝及/或晶粒上。在此,核心之一部分(核心上部分)1910包括一或多個控制器,該等一或多個控制器用於與諸如記憶體1975或圖形裝置1980之其他裝置介接。包括用於與此類裝置介接之互連體及控制器的組態通常被稱為核心上(或非核心組態)。作為一實例,晶片上介面1910包括用於晶片上通訊之環形互連體及用於晶片外通訊之高速串列點對點鏈結1905。然而,在SOC環境中,甚至更多的裝置(諸如網路介面、共處理器、記憶體1975、圖形處理器1980及任何其他已知電腦裝置/介面)可整合於單個晶粒或積體電路上,來提供具有高功能性及低功率消耗之小形狀因素。
在一實施例中,處理器1900能夠執行編譯器、最佳化及/或翻譯器碼1977以編譯、翻譯且/或最佳化應用程式碼1976,來支援本文所描述之設備及方法或與該等設備及方法介接。編譯器通常包括用來將源文字/碼翻譯成目標文字/碼的程式或程式集。通常,使用編譯器進行的程式/應用程式碼之編譯係在多個級段及遍中進行,以將高階程式設計語言碼變換成低階機器或組合語言碼。然而,仍可將單遍編譯器利用於簡單編譯。編譯器可利用任何已知編譯技術且執行任何已知編譯器操作,諸如詞法分析、預處理、剖析、語義分析、碼產生、碼變換及碼最佳化。
較大編譯器通常包括多個級段,但通常此等級段包括於以下兩個一般級段內:(1)前端,亦即,通常其中語法處理、語義處理及一些變換/最佳化可發生,及(2)後端,亦即,通常其中分析、變換、最佳化及碼產生發生。一些編譯器指代中間物,該中間物例示編譯器之前端與後端之間的描繪之模糊。因此,對編譯器之插入、關聯、產生或其他操作之引用可發生在任何以上提及的級段或遍以及編譯器之任何其他已知級段或遍中。作為一例示性實例,編譯器潛在地將操作、呼叫、功能等插入編譯之一或多個級段中,諸如將呼叫/操作插入編譯之前端級段中及隨後在變換級段期間將呼叫/操作變換成低階碼。請注意,在動態編譯期間,編譯器碼或動態最佳化碼可插入此類操作/呼叫,並且最佳化該碼以用於在運行時間期間執行。作為一特定例示性實例,可在運行時間期間動態地最佳化二進位碼(已 編譯碼)。在此,程式碼可包括動態最佳化碼、二進位碼或兩者之組合。
類似於編譯器,諸如二進制翻譯器的翻譯器靜態地或動態地翻譯碼,以最佳化且/或翻譯碼。因此,對碼、應用程式碼、程式碼或其他軟體環境之執行之引用可指代:(1)用以動態地或靜態地編譯程式碼,用以維持軟體結構,用以執行其他操作,用以最佳化碼或用以翻譯碼的編譯器程式、最佳化碼最佳化器或翻譯器之執行;(2)包括操作/呼叫的主程式碼之執行,該主程式碼諸如已經最佳化/編譯的應用程式碼;(3)用以維持軟體結構、用以執行其他軟體有關的操作或用以最佳化碼的與主程式碼相關聯的其他程式碼(諸如程式館)之執行;或(4)上述各者之組合。
現參考圖20,所展示為多核心處理器之一實施例的方塊圖。如圖20之實施例中所示,處理器2000包括多個域。具體而言,核心域2030包括多個核心2030A-2030N,圖形域2060包括具有媒體引擎2065之一或多個圖形引擎,及系統代理域2010。
在各種實施例中,系統代理域2010處置功率控制事件及功率管理,使得域2030及2060之個別單元(例如核心及/或圖形引擎)可獨立地控制,以根據發生在給定單元中的活動(或不活動性)來以適當功率模式/位準(例如,活動、加速、休眼、冬眠、深度休眠或其他先進組態功率介面類狀態)動態地操作。域2030及2060中每一者可以不同電壓及/或功率操作,且此外域內之個別單元各自潛在地以獨立頻 率及電壓操作。請注意,雖然僅用三個域展示,但應理解本發明之範疇在此方面不受限制,且其他實施例中可存在額外域。
如所示,除了各種執行單元及額外處理元件之外,每一核心2030進一步包括低階快取記憶體。在此,各種核心彼此耦接且耦接至共用快取記憶體,該共用快取記憶體由末階快取記憶體(LLC)2040A-2040N之多個單元或切片形成;此等LLC通常包括儲存器及快取記憶體控制器功能性且在該等核心之間,並且潛在地亦在圖形引擎之間共用。
如所見,環形互連體2050將核心耦接在一起,且經由多個環形停止(ring stop)2052A-2052N提供核心域2030、圖形域2060與系統代理電路2010之間的互連,該等多個環形停止各自在核心與LLC片之間的耦接處。如圖20中所見,互連體2050用來攜載各種資訊,包括位址資訊、資料資訊、應答資訊及監聽/無效資訊。雖然例示環形互連體,但可利用任何已知晶粒上互連體或組構。作為一例示性實例,可以類似方式利用以上所論述之組構中一些(例如另一晶粒上互連體、晶片上系統組構(OSF)、先進微控制器匯流排架構(AMBA)互連體、多維網狀組構或其他已知互連架構)。
如進一步所描繪,系統代理域2010包括顯示引擎2012,該顯示引擎用以提供對相關聯顯示器之控制及至相關聯顯示器的介面。系統代理域2010可包括其他單元,諸 如:整合式記憶體控制器2020,其提供至系統記憶體(例如,以多個DIMM實行的DRAM)的介面;同調邏輯2022,其用以執行記憶體同調操作。可存在多個介面來允許處理器與其他電路之間的互連。例如,在一實施例中,提供至少一直接媒體介面(DMI)2016介面以及一或多個PCIeTM介面2014。顯示引擎及此等介面通常經由PCIeTM橋接器2018耦接至記憶體。更進一步,為提供諸如額外處理器或其他電路的其他代理之間的通訊,可提供一或多個其他介面。
現參考圖21,所展示為代表性核心的方塊圖2130;具體而言諸如來自圖20的核心2030之核心之後端的邏輯區塊。通常,圖21中所示之結構包括亂序處理器,該亂序處理器具有前端單元2170,該前端單元用來擷取輸入指令,執行各種處理(例如快取、解碼、分支預測等)及將指令/操作傳遞至亂序(OOO)引擎2180。OOO引擎2180對解碼後指令執行進一步處理。
具體而言,在圖21之實施例中,亂序引擎2180包括分配單元2182以自前端單元2170接收可呈一或多個微指令或微操作形式之解碼後指令,且將該等解碼後指令分配給諸如暫存器等之適當資源。接著,指令經提供至保留站2184,該保留站保留資源且排程該等資源以用於在多個執行單元2186A-2186N中一者上執行。各種類型之執行單元可存在,包括例如算術邏輯單元(ALU)、載入及儲存單元、向量處理單元(VPU)、浮點執行單元等。來自此等不同執行單元的結果經提供至重新排序緩衝器(ROB)2188,該重新排 序緩衝器取得無序結果且返回該等無序結果以校正程式指令。
仍參考圖21,請注意,前端單元2170及亂序引擎2180兩者耦接至記憶體階層之不同階。具體而言,所展示為指令階快取記憶體2172,該指令階快取記憶體轉而耦接至中階快取記憶體2176,該中階快取記憶體轉而耦接至末階快取記憶體2195。在一實施例中,末階快取記憶體2195實行於晶片上(有時被稱為非核心)單元2190中。作為一實例,單元2190類似於圖20之系統代理2010。如以上所論述,非核心2190與系統記憶體2199通訊,該系統記憶體在所例示實施例中經由ED RAM實行。亦請注意,亂序引擎2180內之各種執行單元2186與一階快取記憶體2174通訊,該一階快取記憶體亦與中階快取記憶體2176通訊。亦請注意,額外核心2130N-2-2130N可耦接至LLC 2195。儘管在圖21之實施例中以此高階示出,但是將理解可存在各種變化及額外組件。
轉至圖22,例示示範性電腦系統的方塊圖,該示範性電腦系統以處理器形成,該處理器包括用以執行指令之執行單元,其中互連體中一或多者實行根據本發明之一實施例之一或多個特徵。根據本發明,諸如在本文所描述之實施例中,系統2200包括諸如處理器2202之組件,來使用執行單元,該等執行單元包括用以執行用於處理資料的演算法之邏輯。系統2200表示基於PENTIUM IIITM、PENTIUM 4TM、XeonTM、Itanium、XScaleTM及/或 StrongARMTM微處理器之處理系統,但亦可使用其他系統(包括,具有其他微處理器之PC、工程工作站、機上盒(set-top box)等)。在一實施例中,範例系統2200執行可自Microsoft公司(Redmond,Washington)獲得的WINDOWSTM作業系統之一版本,但亦可使用其他作業系統(例如,UNIX及Linux)、嵌入式軟體及/或圖形使用者介面。因此,本發明之實施例不限於硬體電路與軟體之任何特定組合。
實施例不限於電腦系統。本發明之替代性實施例可用於其他裝置中,該等其他裝置諸如手持式裝置及嵌入式應用。手持式裝置之一些實例包括行動電話、網際網路協定裝置、數位相機、個人數位助理(PDA)及手持式PC。嵌入式應用可包括微控制器、數位信號處理器(DSP)、系統單晶片、網路電腦(NetPC)、機上盒、網路集線器、廣域網路(WAN)、切換器,或可執行根據至少一實施例之一或多個指令的任何其他系統。
在此所例示實施例中,處理器2202包括用以實行用以執行至少一指令的演算法的一或多個執行單元2208。可在單處理器桌上型或伺服器系統之情況下描述一實施例,但替代性實施例可包括於多處理器系統中。系統2200係『集線器』系統架構之一實例。電腦系統2200包括處理資料信號的處理器2202。作為一例示性實例,處理器2202包括複雜指令集電腦(CISC)微處理器、精簡指令集計算(RISC)微處理器、極長指令字(VLIW)微處理器、實行指令集之組合的處理器,或任何其他處理器裝置,諸如數位信 號處理器。處理器2202耦接至處理器匯流排2210以在處理器2202與系統2200中之其他組件之間傳輸資料信號。系統2200之元件(例如,圖形加速器2212、記憶體控制器集線器2216、記憶體2220、I/O控制器集線器2230、無線收發器2226、快閃BIOS 2228、網路控制器2234、音訊控制器2236、串列擴展埠2238、I/O控制器2240等)執行熟悉該項技術者所熟知的該等元件之習知功能。
在一實施例中,處理器2202包括1階(L1)內部快取記憶體2204。取決於架構,處理器2202可具有單個內部快取記憶體或多個層級之內部快取記憶體。取決於特定實行方案及需要,其他實施例亦可包括內部快取記憶體與外部快取記憶體兩者之組合。暫存器檔案2206用以將不同類型之資料儲存於各種暫存器中,該等暫存器包括整數暫存器、浮點暫存器、向量暫存器、成組暫存器、影子暫存器、核對點暫存器、狀態暫存器及指令指標暫存器。
包括用以執行整數與浮點操作的邏輯之執行單元2208亦駐留在處理器2202中。在一實施例中,處理器2202包括用以儲存微碼的微碼(ucode)ROM,該微碼在經執行時用以執行用於某些巨集指令的演算法或處置複雜情形。在此,微碼為潛在地可更新的,以處置用於處理器2202之邏輯錯誤/修正。對於一實施例,執行單元2208包括用以處置緊縮指令集2209之邏輯。藉由在通用處理器2202之指令集中包括緊縮指令集2209,連同執行指令的相關聯電路,可使用通用處理器2202中之緊縮資料來執行許多多媒體應用 所使用的操作。因此,藉由使用處理器之資料匯流排之全部寬度來對緊縮資料執行操作,可加速且更有效地執行許多多媒體應用。此潛在地消除對跨越處理器之資料匯流排傳送較小的資料單元來以一次一個資料元件的方式執行一或多個操作之需要。
執行單元2208之替代性實施例亦可用於微控制器、嵌入式處理器、圖形裝置、DSP及其他類型之邏輯電路中。系統2200包括記憶體2220。記憶體2220包括動態隨機存取記憶體(DRAM)裝置、靜態隨機存取記憶體(SRAM)裝置、快閃記憶體裝置或其他記憶體裝置。記憶體2220儲存由資料信號表示之指令及/或資料,該等指令及/或資料將由處理器2202執行。
請注意,本發明之先前提及的特徵或態樣中任一者可利用於圖22中所例示之一或多個互連體上。例如,用於耦接處理器2202之內部單元的晶粒上互連(ODI)(未示出)實行以上所描述之本發明之一或多個態樣。或本發明與處理器匯流排2210(例如,其他已知高效能計算互連體)、至記憶體2220的高頻寬記憶體路徑2218、至圖形加速器2212的點對點鏈結2214(例如,周邊組件互連快速(PCIe)順應組構)、控制器集線器互連體2222、I/O或用於耦接其他所例示組件的其他互連體(例如,USB、PCI、PCIe)相關聯。此類組件之一些實例包括音訊控制器2236、韌體集線器(快閃BIOS)2228、無線收發器2226、資料儲存器2224、含有使用者輸入及鍵盤介面2242的舊式I/O控制器2210、諸如通用串 列匯流排(USB)之串列擴展埠2238,及網路控制器2234。資料儲存裝置2224可包含硬碟機、軟碟機、CD-ROM裝置、快閃記憶體裝置或其他大容量儲存裝置。
現參考圖23,所展示為根據本發明之一實施例之第二系統2300的方塊圖。如圖23中所示,多處理器系統2300係點對點互連系統,且包括經由點對點互連體2350耦接的第一處理器2370及第二處理器2380。處理器2370及2380中每一者可為處理器1200之某一版本。在一實施例中,2352及2354為諸如高效能架構的串列點對點同調互連組構之部分。因此,本發明可實行於QPI架構內。
雖然展示了僅兩個處理器2370、2380,但應理解,本發明之範疇不如此受限。在其他實施例中,給定處理器中可存在一或多個額外處理器。
所展示處理器2370及2380分別包括整合式記憶體控制器單元2372及2382。處理器2370亦包括點對點(P-P)介面2376及2378,作為該處理器之匯流排控制器單元的部分;類似地,第二處理器2380包括P-P介面2386及2388。處理器2370、2380可使用P-P介面電路2378、2388經由點對點(P-P)介面2350交換資訊。如圖23中所示,IMC 2372及2382將處理器耦接至個別記憶體,亦即,記憶體2332及記憶體2334,該等記憶體可為局部地附接至個別處理器的主記憶體之部分。
處理器2370、2380各自使用點對點介面電路2376、2394、2386、2398經由個別P-P介面2352、2354與晶 片組2390交換資訊。晶片組2390亦沿高效能圖形互連體2339經由介面電路2392與高效能圖形電路2338交換資訊。
在任一處理器中或兩個處理器外部,可包括共用快取記憶體(未示出);而該共用快取記憶體經由P-P互連與該等處理器連接,使得當處理器被置於低功率模式中時,可將任一處理器或兩個處理器之局域快取記憶體資訊儲存在該共用快取記憶體中。
晶片組2390可經由介面2396耦接至第一匯流排2316。在一實施例中,第一匯流排2316可為周邊組件互連(PCI)匯流排,或諸如高速PCI匯流排或另一第三代I/O互連匯流排之匯流排,但本發明之範疇不如此受限。
如圖23中所示,各種I/O裝置2314以及匯流排橋接器2318耦接至第一匯流排2316,該匯流排橋接器將第一匯流排2316耦接至第二匯流排2320。在一實施例中,第二匯流排2320包括低接腳計數(LPC)匯流排。各種裝置耦接至第二匯流排2320,該等裝置包括例如鍵盤及/或滑鼠2322、通訊裝置2327及儲存單元2328,諸如碟機或其他大容量儲存裝置,該儲存單元在一實施例中通常包括指令/碼及資料2330。此外,展示耦接至第二匯流排2320的音訊I/O 2324。請注意,其他架構係可能的,其中所包括的組件及互連架構不同。例如,代替圖23之點對點架構,系統可實行多分支匯流排或其他此種架構。
接下來轉至圖24,描繪根據本發明之系統單晶片(SOC)設計之一實施例。作為一特定例示性實例,SOC 2400 包括於使用者設備(UE)中。在一實施例中,UE指代將由終端使用者用來通訊的任何裝置,諸如手持式電話、智慧型電話、平板電腦、超薄筆記型電腦、具有寬頻帶配接器之筆記型電腦或任何其他類似通訊裝置。通常,UE連接至基地台或節點,其潛在地在本質上對應於GSM網路中之行動台(MS)。
在此,SOC 2400包括2個核心──核心2406及2407。類似於以上論述,核心2406及2407可符合指令集架構,諸如基於Intel® Architecture CoreTM之處理器、Advanced Micro Devices,Inc.(AMD)處理器、基於MIPS之處理器、基於ARM之處理器設計或其客戶以及其執照或採用者。核心2406及2407耦接至與匯流排介面單元2409及L2快取記憶體2411相關聯的快取記憶體控制件2408,來與系統2400之其他部分通訊。互連體2410包括潛在地實行本文所描述之一或多個態樣之晶片上互連體,諸如IOSF、AMBA或以上所論述之任何其他互連體。
介面2410提供通訊通道至其他組件,諸如:用來與SIM卡介接之用戶身份模組(SIM)2430、用來保存由核心2406及2407執行來初始化並啟動SOC 2400的啟動碼之啟動ROM 2435、用來與外部記憶體(例如DRAM 2460)介接之SDRAM控制器2440、用來與非依電性記憶體(例如快閃記憶體2465)介接之快閃記憶體控制器2445、用來與周邊裝置介接之周邊控制件2450(例如串列周邊介面)、用來顯示並接收輸入(例如觸控允用輸入)之視訊編碼解碼器2420及視訊 介面2425、用來執行圖形相關計算之GPU 2415等。此等介面中任一者可併入本文所描述之本發明之態樣。
另外,系統例示出用於通訊之周邊裝置,諸如藍牙模組2470、3G數據機2475、GPS 2485及WiFi 2485。請注意,UE包括用於通訊之無線電。因此,並不需要所有此等周邊通訊模組。然而,在UE中將包括用於外部通訊之某種形式的無線電。
圖25至圖27揭示無專用STREAM線道的情況下的資料編碼之實例。在本文所描述之介面之實施例中,「STREAM」線道可經提供來區別Intel®晶粒內互連(IDI)訊務與Intel®晶片上系統組構(IOSF)訊務,其中兩者提供於鏈結層中。PHY層上之鏈結控制封包(LCP)亦可需要加旗標。在一實施例中,每20個資料線道之每一叢集提供一串流線道。
然而,在某些實施例中,可在無專用STREAM線道的情況下提供介面。例如,為提供等效功能性,在閒置週期期間於資料線道內提供STREAM線道資料。因為每20個資料線道可提供一串流線道,所以串流線道之消除節約區域之近似5%。
在一實施例中,在預資料時間期間,可使20個資料線道自中軌變為高以表示一種類之資料,且使該20個資料線道變為低以表示第二種類之資料(例如,Intel®晶片上系統組構(IOSF))。為表示額外資料種類,諸如例如鏈結控制封包(LCP),可將線道分成二或更多個群組,且單個位元 可經編碼至每一群組中。LCP亦可例如藉由中止flit訊務及將「VALID」線道自中軌調處至0或1編碼至後資料時間中。
存在可進行此舉的多種方式。在圖25中,箭頭2510標記示例性預資料符號時間,而箭頭2520標記示例性後資料符號時間。在圖25之實例中,除資料線道(該等資料線道可各自以n個線道之群組來提供(其中在一實例中n=20))之外,可提供「STROBE」線道,且每一群組可包括「VALID」線道。「STREAM」線道亦藉由實例之方式加以揭示以例示在無本說明之教示的情況下可為必要的發信。使用圖26及圖27之方法,可消除STREAM線道,從而在一實施例中提供近似5%的空間節約。
在預資料週期期間,資料線道保持閒置,例如,在三重資料方案中停留在中軌處。然而,該等資料線道可經驅動至0或1而無電氣完整性損失。因此,閒置資料線道對於編碼串流資料為有用的,而無分離的串流線道。
在一實施例中,僅為必要的是在預資料週期中區別IOSF與IDI。因此,所有線道可經驅動為高或低,以表示兩個可能性中一者。然而,本說明書並未如此受限。亦可能提供k個位元之串流資料,以藉由將資料串流分成k個群組及將值驅動至每一群組上來表示2 k 個種類之封包。群組可為大小均勻的,但此並非需要的。若不需要任何線道,則該等線道可在中軌狀態中保持閒置。
亦可能使用僅k個線道而非分成群組。然而,群組之使用提供冗餘,此在可靠性在種類上極為珍視的實施 例中可為有益的。
亦可提供後資料以用於編碼LCP封包。此為有用的,因為在鏈結層提供僅兩種類封包(諸如IOSF及IDI)的狀況下,當LCP經單獨編碼時,資料線道可接收一致的值。編碼LCP後資料係可能的,因為在某些實施例中,LCP始終取得優於flit的優先權。當一代理需要在PHY上發送LCP時,該代理可藉由在鏈結層上提供背壓力來結束flit訊務。
類似於如以上所描述可提供多個鏈結層種類的方式,在後資料週期之符號時間期間,不同類型之LCP可經編碼至線道上。例如,線道0及1上的「00」可為對進入硬體重新定心之請求。當以比預期更高的速率遭遇循環冗餘核對(CRC)錯誤時,此可發生,使得代理中一者決定鏈結需要經重新訓練使得時脈可經適當地「定心」。在一實例中,「01」可為此請求之ACK。此等僅經由非限制性實例之方式提供,且應注意,許多不同LCP請求及回應在此方案中可經有用地編碼。另外,如以上,編碼多個線道上的相同值可幫助減少錯誤。在一實施例中,使線道保持在中軌處指示無LCP正經發送。
另外,在某些實施例中,可為必要的是在後資料週期之後的靜止時間中發送LCP。為進行此舉,例如,在LCP經發送之前,VALID線道可牽拉至0。VALID線道可在靜止週期期間的其他時間保留在中軌處。
在某些實施例中,所有叢集之STROBE、VALID及STREAMID可彼此同等地經驅動。在其他實施例中,上 述各者可經單獨地驅動以提供增強的能力,諸如重新定心僅單個叢集,而其他叢集繼續接收正常訊務。
圖26為例示提供嵌入式串流線道資料之方法2600的流程圖。在圖26之實例中,使用預數據編碼。
在方塊2610中,串流線道編碼器編碼串流線道識別符或種類識別符以識別即將發生的資料之種類。
在方塊2620中,仍在圖25中所例示之預資料時間期間,線道驅動器將編碼後種類識別符驅動至資料線道上。在某些實施例中,其中需要多個位元之串流線道識別符,此可包括將資料線道分成適當數目之群組。例如,若存在20個線道,且需要四個位元來表示多達16個種類之資料,則可將資料線道分成各自五個線道的四個群組。在每一群組中,所有五個線道將經驅動至相同狀態。在存在將不接收值的額外線道之狀況下,該等額外線道可保留在中軌處。
在方塊2630中,預資料週期過期。資料線道現必須經釋放以用於由實質資料使用。
在方塊2640中,線道驅動器將實質資料驅動至資料線道上。
在方塊2690中,方法完成。
圖27為例示提供額外後資料串流資訊(諸如LCP信號)之方法2700的流程圖。
在方塊2710中,串流線道編碼器編碼串流線道識別符或種類識別符以識別即將發生的資料之種類。
在方塊2720中,仍在圖25中所例示之預資料時間期間,線道驅動器將編碼後種類識別符驅動至資料線道上。在某些實施例中,其中需要多個位元之串流線道識別符,此可包括將資料線道分成適當數目之群組。例如,若存在20個線道,且需要四個位元來表示多達16個種類之資料,則可將資料線道分成各自五個線道的四個群組。在每一群組中,所有五個線道將經驅動至相同狀態。在存在將不接收值的額外線道之狀況下,該等額外線道可保留在中軌處。
在方塊2730中,預資料週期過期。資料線道現必須經釋放以用於由實質資料使用。
在方塊2740中,線道驅動器將實質資料驅動至資料線道上。
在方塊2750中,資料週期結束。資料線道現可利用於再次用作串流識別符。
在方塊2760中,代理A例如決定該代理需要提供LCP。因此,代理A中止發送flit。
在方塊2770中,串流編碼器編碼LCP。例如,可為「RECENTER」提供碼且可為代理B(圖3)提供另一碼以提供此請求之「ACK」。額外LCP碼亦為可利用的。
在方塊2780中,線道驅動器將LCP碼驅動至資料線道上。兩個代理隨後執行所請求動作。
在方塊2790中,方法完成。
圖28至圖30例示如圖17中所例示之定心狀態之 一實施例。在此實施例中,當使介面自電源切斷狀態升高時,鏈結在其可以全速起作用之前必須經「訓練」。訓練係必要的,因為值可隨時間推移且在不同條件諸如溫度之間「漂移」。尤其在如PCIe的高速鏈結的情況下,必須具有在時域(水平地)及電壓域(垂直地)兩者中適當地定心的信號,以避免可由參數漂移引入的位元錯誤。
訓練可包括「定心」或「重新定心」時脈信號,以確保信號在時域及電壓域兩者中適當地定心。以任何給定的速度,時脈具有資料線道之樣本將產生正確值的視窗。在視窗外取樣可產生位元錯誤。時脈愈快,視窗愈小。在增添複雜化的情況下,存在用於垂直Vref定心及水平相位定心之分離視窗。因此,訓練之重要態樣在一實例中且尤其在具有窄視窗之高速互連體中正調整時脈之Vref及相位兩者,使得在視窗之中心處或附近取樣資料以最小化位元錯誤。
在一實例中,訓練包括為介面體送諸如PRBS之已知值,及隨後取樣回位元型樣。在樣本之後,可使時脈在電壓域(Vref)中垂直地或在時域(相位)中水平地移位。介面偵測位元錯誤何時開始發生,因此構造可具有大體上菱形形狀的二維「眼睛」。簡單而言,眼睛內之值導致無(或可以接受地少數)位元錯誤,而眼睛外之值導致不受歡迎數目之位元錯誤。
定心可包括硬體及軟體兩者之組合。軟體定心在某些實施例中可自基本輸入輸出系統(BIOS)晶片運行。在 一實例中,為基本或初始定心操作提供硬體,此可提供粗略定心解決方案。軟體隨後可用以補充並細化初始定心。軟體定心提供額外靈活性,且在一些狀況下與硬體定相比提供更大的邏輯可程式性。此可解決問題,該等問題諸如例如當事實上甚至更近的中心為經由額外遍可利用的時,硬體定心發現該硬體定心相信的事物為針對眼睛之「近中心」。
在一實例中,硬體包括用於相位調整之32個量化延遲設定,但可提供任何數目。V ref 設定可經類似地量化。
在第一(僅硬體)級段中,定心可包含在標稱電壓V(諸如原始值)或最後計算值下進行的跨於每一線道的量化相位設定之拂掠。在每一拂掠之後,錯誤偵測器列舉(若存在)在每一遍中遭遇的錯誤之數目。
錯誤偵測在此實施例中為發射器(Tx)適應之實例,亦即,Tx值基於背後通道上的Tx可利用的遠端接收器(Rx)度量加以調整。通常在上游晶粒上之核心上運行的軟體可使用邊帶(參見圖6)存取區域晶粒及遠端晶粒,該邊帶充當背後通線道。在HPI中,此適應在兩個方向上同時發生,因為背後通道並未處於與鏈結層相同的導線上。
在一實施例中,每一拂掠經聚合。因此,並非關於任一線道上的錯誤之數目,而關於跨於所有線道的錯誤之數目來對拂掠評分。此意味,在一些狀況下,對於個別線道最佳的設定可對於總體上的互連體並非最佳的。此相位拂掠可在初始啟動時於硬體中執行,且可用以執行粗略 定心,其中選擇近似中心相位。在一實施例中,以全速執行相位拂掠,使得之值適合於全速操作。在其他實施例中,可首先以部分速度諸如以半速執行初始硬體拂掠,且稍後以全速細化該初始硬體拂掠。
在相位拂掠完成之後,使介面變為全速(若必要),且可自BIOS載入軟體指令以繼續細化軟體中之定心。在此第二級段(在一實例中於軟體中執行)中,跨於量化設定類似地拂掠電壓(V ref )值。可在±σ之電壓處執行每一拂掠。換言之,每一線道在相位設定於處的情況下執行V ref 拂掠,以決定在該相位處的最佳V ref 值。偏移σ隨後例如以1遞增,且在之任一側(例如,±σ)上經拂掠。若眼睛尚未完全定義,則σ可再次遞增,且過程可經重複,直至眼睛完全定義(參見圖30)為止,此狀況在一實施例中發生於V max V min (其中V max 為在選定的處具有可接受錯誤率的最大相位,且V min 為在選定的處具有可接受錯誤率的最小相位)時。
正如相位拂掠的情況,每一電壓拂掠導致零或更多錯誤,且在每一V ref 值處的結果跨於所有線道經聚合。在一實施例中,以操作速度(在一實例中為8Ghz)執行V ref 拂掠,以確保結果對於操作速度有效。
在第三級段中,軟體可基於在前兩個級段中識別的值構造包括中心點的二維「眼睛」。眼睛可為菱形或其他適合形狀。決定用於眼睛之最佳中心可為非普通的,因為眼睛打開可為非對稱的、圍繞主要反曲點非單調的及稍微 時變的。因此,可在軟體中執行眼睛定心。在一實例中,定心包括找到之值,及二者之間的中點,以及V max V min ,及兩者之間的中點。自中點,軟體可計算所建議的中心
軟體隨後可沿菱形之邊緣選擇四個反曲點,且在該等反曲點以及菱形之四個頂點處運行測試型樣,該四個頂點位於V max V min 處。若眼睛已經構造且適當地定心,則此等八個點應全部剛好處於眼睛內,且因此應具有可接受的錯誤率。若八個點中任一者導致不可接受的錯誤率,則眼睛可需要經調節以改良效能。例如,若反曲點未通過,則眼睛之邊界可需要在一個軸或兩個軸上內向調整一個量子。新值隨後需要經類似地測試以確保該新值通過。當點因此經調整時,亦可據此調整中心
在以上級段中任一者中所描述之錯誤偵測可藉由提供串音型樣(如圖29A及圖29B中所例示)來增強。在此實例中可看出,一個線道之測試包含選擇該待測線道作為「受害者」線道。可在該道上驅動測試型樣,包括例如PRBS。相鄰線道以及相距多達l個線道(在此實例中,l=4)的線道為「侵略者」線道。此等線道接收串音型樣,該串音型樣在此狀況下為測試型樣之邏輯反轉,因此近似「最壞情況」情形。剩餘線道為中性的。此測試型樣在對眼睛定心中為尤其有用的,因為在該級段中重要的是探測邊緣狀況且確保該等邊緣狀況合理地處於眼睛內。
圖28提供如在此說明書中所描述之定心的流程 圖。
在方塊2810中,互連體喚醒,諸如在機器已關閉之後到來以用於啟動。
在方塊2820中,互連體執行如以上所描述之初始電壓定心。此可包括在硬體中執行電壓拂掠,及選擇導致最少整體位元錯誤的設定。
在方塊2840中,一旦粗略的電壓定心在硬體中完成,可使介面變為其全速(若電壓定心以降低之速度諸如以半速執行)。
在方塊2850中,例如在軟體中執行相位定心。在某些實例中,軟體亦可細化如本文所描述之電壓定心。相位定心在一實施例中包含針對每一電壓V 0±σ拂掠相位,如以上所描述。換言之,選擇電壓,且在該電壓處拂掠相位。
在方塊2870中,在軟體中構造眼睛。
在方塊2880中,執行眼睛定心。如以上所描述,在一實施例中,此涉及選擇四個頂點及四個反曲點,及對每一點進行應力測試以決定該每一點是否通過。若點未通過,則該頂點或反曲點可經內向調整且再次測試。亦可據此調整眼睛中心
圖29A及圖29B例示示例性受害者/侵略者測試型樣,如以上所描述。在此實例中,直至超過或低於四個線道,以侵略者型樣填充受害者線道(正測試)。剩餘線道為中性的。在一實施例中,侵略者型樣為受害者線道上的PRBS測試型樣之精確逐位反轉。
圖30為眼睛3000之實例之例示。在此例示中,眼睛3000為適當菱形以便於例示某些重要特徵。然而,眼睛3000之特徵不必且通常將並非規則的或單調的。由眼睛3000定義的菱形可向左、向右、向上或向下偏斜,且邊緣不必由完全共線的線組成。一旦眼睛3000已經受定心,此可尤其為真實的。
在此實例中,藉由跨於多個相位量子拂掠每一V ref 選擇3010以識別用於該V ref 選擇之兩個相位端點3020來最初定義眼睛3000。拂掠可始於V 0 3034,且在以上及以下量化步驟中繼續進行,直至V max 3030及V min 3032經識別為止。在此實例中, 3042及 3040兩者出現在V 0線上,但事實上一者或兩者可出現在某一其他線上,且不必出現在相同線上。
反曲點3050亦經選擇。在此實例中,V 0V max 包含奇數個量子,使得反曲點3050-1及3050-2可經選擇於兩者之間的「真實」中心點處。然而,V 0V min 包含偶數個量子,使得反曲點3050-3及3050-4必須偏離中心而選擇。此等可藉由地板函數、頂函數來選擇,或一者可選擇於分界之任一側上,此取決於設計選擇。
初始中心亦經選擇。再次,因為值經量化,所以此可並非幾何中心,而可在任一方向上偏離中心一或多個量子。在定心期間,將V max 3030、V min 3032、 3042、 3040,及反曲點3050用作測試點。作為測試之結果,此等點中任一者可經向上或向下、向左或向右調整一 或多個量子,因此使眼睛3000之形狀更不規則。因為測試點經調整,所以中心亦可在必要時據此加以調整。一旦定心完成,所有線道經設定至之相位及電壓值以確保最佳操作。
圖31為根據本說明書之一或多個實例之眼睛定心方法3100的流程圖。方法3100之某些實施例可於軟體中執行,但方法亦可在硬體中或在硬體及軟體之組合中執行。
在方塊3110中,軟體選擇測試點,例如圖30之V max 3030、V min 3032、 3042、 3040及反曲點3050。
在方塊3120中,軟體使用圖29A及圖29B中所描述之受害者/侵略者線道來在每一測試點處於每一線道上運行應力測試。
在決策方塊3130中,若所有點通過,則在方塊3150中,可以眼睛中心之相位及電壓設定所有線道。
在方塊3140中,若所有未通過,則可向內調整未通過的點。控制隨後傳遞至方塊3120以測試新點。此迭代地繼續,直至所有點已通過,且在方塊3150中,資料線道已經適當地組配為止。
在方塊3190中,方法完成。
在某些實例中,被稱為「重新定心」的操作在必要時亦可發生。當例如不受歡迎的數目個錯誤在操作期間發生時,可要求重新定心。在一實例中,不可接受的錯誤率大於以近似1012個位元的一個循環冗餘核對(CRC)錯誤。當此發生時,flit停止,且phit接管互連體以在硬體中(因 為機器處於操作中,所以軟體可能不可利用,因此BIOS不可經負載)執行相位拂掠。
定心可花費若干微秒,此對於高速互連體中之週期性定心為不可接受地緩慢的。因此,在一實施例中,僅當介面鏈結層中之錯誤追蹤器偵測在時間跨距中接收的CRC錯誤之數目大於臨限值時,重新定心發生。例如,一次每1012個位元一CRC錯誤可為可接受的。但多於該情況可為真實錯誤之指示。因此,接收代理可發送邊帶訊息,通知傳輸代理重新定心為必要的。當該情況發生時,發送代理應答該訊息,且兩個代理進入重新定心。
邊帶上之訊息可為鏈結控制封包(LCP),該鏈結控制封包為在介面邊帶上發送的特殊封包類。邊帶可以比鏈結層較慢的速度數量級操作。例如,介面邊帶可以100MHz至400MHz操作。
一些介面設計可選擇使用資料線道上之發信來進行低頻率或連續CDR追蹤,該發信由以PRBS23攪拌的flit/封包組成。在靜止週期期間,當資料線道上不存在足夠封包時,PHY插入虛擬LCP,因此可維持追蹤。
現轉至圖32至圖34中,在某些實施例中,可為有益的是,藉由首先設計較低層次區塊及隨後將較低層次區塊聚合至功能元件中來在數個級段中設計系統。智慧財產權(IP)區塊(或「計算區塊」)可指代邏輯、電路或晶片佈置之可再用單元。SoC例如可包括多個IP區塊,包括相同IP區塊之多個實例。在一些情況下,IP區塊可支援在一些狀況 下藉由包括於IP區塊中的一個或多個裝置促進的多個功能。可藉由定義IP區塊之集合以實行系統來設計系統。例如,一團隊可設計低階功能區塊,且使該區塊為其他團隊可利用的,以用作稍後設計之偶入組件。在此類型之多層設計過程中,有益的是提供如「硬IP區塊」或「硬IP」(意味著IP區塊具有可在較高階設計期間不改變的固定路由)之某些功能。硬IP區塊可包括例如對路由中之變化敏感的類比組件。對於某些類比組件,再路由可引起阻抗或電容變化,此可影響某些靈敏的類比組件之功能性。因此,負責設計硬IP區塊的開發團隊可最佳化該等參數且確保該等組件中每一者在可接受的參數內操作。一旦該路由固定,該路由不應由下游設計者改變。
其他IP區塊可經提供為「軟IP」。軟IP可包括例如對路由之變化不太敏感的數位組件。因此,軟IP區塊可具有固定邏輯函數,但可根據特定設計之設計要求加以佈置。例如,PHY層可具有實行於硬IP中的實體PHY及實行於軟IP中的邏輯PHY。
雖然在硬IP中提供某些類型之功能區塊為有利的,但硬IP之限制在於該區塊根據設計且根據定義並非靈活的。因此,在一實例中,SOC設計者可要求50個資料線道。此設計者可與每單元提供20個資料線道的硬IP區塊一起工作。因為硬IP區塊之路由在設計時間時為固定的,所以SoC設計者必須使用整數數目個硬IP區塊。具體而言,使用p個硬IP區塊,其中每一區塊提供n個資料線道,提供總 計h=n*p個硬IP資料線道。在系統設計需要k個總資料線道的情況下,可能遭遇kh。例如,在k=50且n=20的情況下,對於h=n*p=60個可利用的硬IP資料線道,需要p= k/n =3個硬IP區塊。只結果可為可接受的,只要h k即可,或換言之,只要p個硬IP區塊提供至少足夠的資料線道即可。在最終SOC之佈置期間,最佳化軟體將不使額外10個資料線道連接至任何功率供應或邏輯閘,使得僅與具有額外資料線道相關聯的成本為矽晶圓上的一些量之額外空間。因為硬IP區塊與整個晶圓相比傾向於為小的,所以浪費空間並非過多的。為促進硬IP區塊之使用,每一資料線道可具有獨立地致動,使得可忽視未使用的資料線道。亦請注意,亦可使用來自叢集的線道之其他組合,此取決於情境(例如,未使用的線道可散佈於叢集之中間以降低串音)。
圖32揭示示例性晶粒的方塊圖,其例示邏輯PHY 3200可實行於軟IP(SIP)中,而實體PHY 3210可實行於硬IP(HIP)中。內部標準介面(OPIS,封裝上介面(OPI)PHY介面規範)在此實例中經定義來促進劃分。亦提供鏈結PHY介面(LPI)3230。
此分割允許組態態樣諸如線道倒轉至軟IP的移動。HIP(其詳述於虛線框中)經架構為叢集,此允許靈活性(例如,埠寬度)而不犧牲效能(例如速度)。
圖33為根據本說明書之一或多個實例之硬IP及軟IP之佈局的例示性實例。在圖33中,上層3310提供較高階邏輯,且可以任何適合形式加以實行。軟IP 3320提供邏 輯PHY。亦提供若干硬IP區塊3330。具體而言,硬IP區塊3330-1、3330-2及3330-3各自具有20個資料線道(n=20),且具有必要的支援線道。在此實行方案中,PHY具有50個總線道(k=50)。因此,對於硬IP中之60個總可利用的線道(h=60),使用三個硬IP區塊3330。因為硬IP區塊固定,所以包括10個額外線道。在此實例中,每一硬IP區塊3330可提供用於每一資料道之分離允許。因此,禁用硬IP區塊3330-3上之線道10-19。在佈置期間,該等線道將不接收路由,不接收功率,不接收時脈且不接收其他信號。線道10-19僅藉由實例之方式展示為禁用。在其他實施例中,任何10個線道可以類似方式禁用,此取決於設計要求。
圖34例示在使用硬IP區塊及軟IP區塊的情況下可出現的問題,亦即線道倒轉。此可以提供發射器及接收器兩者的示例性PHY封裝來例示。在此實例中,發射器及接收器可各自提供於分離SOC晶粒上,且隨後整合至單個封裝上。每一晶粒可包括例如提供於硬IP中的實體PHY及提供於軟IP中的邏輯PHY。因為硬IP、軟IP及/或晶粒可由相同供應商內的不同群組或由不同供應商提供,所以在一些狀況下,一群組之資料線道可自另一群組之資料線道倒轉。在SOC設計者之狀況下,設計者可無法提前知道OEM將如何實行設計,及線道將是否經倒轉。
因此,可在各種介面處遭遇線道倒轉。在一狀況下,線道倒轉可發生在硬IP與軟IP之間。在其他狀況下,線道倒轉可發生在相同封裝上之兩個晶粒之間。
為處置此線道倒轉,「蝶形」可用以彼此路由資料線道。然而,因為此等資料道必須彼此橫越,所以至少2個額外層為路由蝶形(晶粒上或封裝上)所必需的。此引入額外設計複雜性。
圖34包括三個封裝3410。僅藉由實例之方式,每一封裝3410包括硬IP 3330、軟IP 3320及上層邏輯3310。如先前,硬IP 3330提供實體PHY,軟IP 3320提供邏輯PHY功能,且上層3310提供額外上層邏輯。
例如,在封裝3410-1中,晶粒1(Tx)為PHY發射器,且晶粒2(Rx)為PHY接收器。如本實例中所例示,晶粒1之資料線道為自晶粒2之資料道倒轉的線道。因此,若使用蝶形,則可需要額外層使得連接可彼此橫越。此將複雜性增添至設計。
在封裝3410-2中,在晶粒1之硬IP 3330與軟IP 3320之間存在線道倒轉。在此狀況下,必須在晶粒1上製作蝶形連接。再次,蝶形將需要晶粒1上之額外層,使得可使線道適當地相配。如先前,此導致額外的設計複雜性。
然而,在封裝3410-3之實例中,線道倒轉可經修復,且線道適當地對準而不需要蝶形連接及與蝶形連接相關聯的額外複雜性。具體而言,在封裝3410-3中,軟IP 3320包括多工器類的可規劃切換器3480。切換器3480可並非具有用以在輸入之間選擇的選擇信號之傳統多工器,但可在內部結構上類似於多工器,其中在此實例中,差異在於輸入之數目等於輸出之數目。
切換器3480之可規劃態樣包括切換包括至少兩個模式,亦即用以路由筆直穿過之線道的一模式及用以路由倒轉次序之線道的另一模式。亦可根據需要提供其他程式設計選項。為此,資料線道可具有虛擬熔絲性質。在啟動時,熔絲拉拔器裝置可決定線道在封裝3410-3是否經倒轉。若線道將經倒轉,則可規劃切換器3480將經熔融以便執行線道倒轉。若線道將不經倒轉,則熔絲拉拔器熔融多工器3420以便不使線道倒轉。在定向在設計時間時已知的情況下,封裝3410-3之設計者可程式設計熔絲拉拔器以提供正確定向。
有利地,此架構說明如下事實:軟IP 3320之設計者可無法提前知線道之定向。例如,封裝3410-3可經提供至原始設備製造商(OEM),該原始設備製造商可根據其自有的設計要求定向封裝3410-3。在該狀況下,OEM可知曉定向,且可手動地設定熔絲拉拔器以正確地定向切換器3480。在另一實例中,在啟動時,封裝3410-3可執行訓練序列以決定資料線道經筆直穿過或交叉地路由。基於訓練序列之結果,軟體隨後可程式設計熔絲拉拔器以將適當定向提供至切換器3480。
雖然已就有限數目之實施例描述本發明,但是熟習此項技術者將瞭解基於該等實施例之許多修改及變化。隨附申請專利範圍意欲涵蓋如落入本說明書之真實精神及範疇內的所有此類修改及變化。
設計可經歷自產生至模擬至製造之各種級段。表 示設計之資料可以數種方式來表示設計。首先,如在模擬中為有用的,硬體可使用硬體描述語言或另一功能描述語言來表示。另外,具有邏輯及/或電晶體閘之電路層級模型可在設計處理程序之一些階段產生。此外,大多數設計在一些階段達到表示各種裝置在硬體模型中之實體佈局之資料的層級。在使用習知半導體製造技術之狀況下,表示硬體模型之資料可為指定各種特徵在用於遮罩之不同遮罩層上是否存在的資料,該等遮罩用以產生積體電路。在設計之任何表示中,資料可儲存於任何形式之機器可讀媒體中。記憶體或者磁性或光學儲存器(諸如,碟片)可為儲存經由光波或電波傳輸之資訊的機器可讀媒體,該光波或電波經調變或以其他方式產生以傳輸此資訊。當指示或攜載碼或設計之電載波經傳輸,達到執行電信號之複製、緩衝或重新傳輸的程度時,新的複本得以製作。因此,通訊提供者或網路提供者可在有形的機器可讀媒體上至少暫時儲存體現本說明書之實施例之技術的物件,諸如編碼至載波中的資訊。
如本文所使用之模組指代硬體、軟體及/或韌體之任何組合。作為一實例,模組包括與非暫時性媒體相關聯之硬體,諸如微控制器,該非暫時性媒體用以儲存經調適來藉由微控制器執行之碼。因此,在一實施例中,對模組之引用指代硬體,其經特定組配來辨識及/或執行將要在非暫時性媒體上保留之碼。此外,在另一實施例中,模組之使用指代包括碼之非暫時性媒體,該碼經特定調適來藉 由微控制器執行以執行預定操作。且如可推斷,在又一實施例中,模組一詞(在此實例中)可指代微控制器與非暫時性媒體之組合。通常,單獨例示的模組邊界通常變化且潛在地重疊。例如,第一模組及第二模組可共用硬體、軟體、韌體或各者之組合,同時潛在地保留一些獨立的硬體、軟體或韌體。在一實施例中,邏輯一詞之使用包括硬體,諸如電晶體、暫存器,或諸如可規劃邏輯裝置之其他硬體。
在一實施例中,短語『經組配來』之使用指代佈置、放在一起、製造、要約出售、進口及/或設計用以執行所指定或所決定任務之設備、硬體、邏輯或元件。在此實例中,並未操作之設備或其元件仍『經組配來』在其經設計、耦接及/或互連以執行所指定任務的情況下執行該所指定任務。作為純例示性實例,邏輯閘可在操作期間提供0或1。但『經組配來』將啟用信號提供至時脈之邏輯閘不包括可提供1或0之每一潛在邏輯閘。實情為,邏輯閘為以某方式耦接之邏輯閘,該方式為在操作期間,1或0輸出將啟用時脈。請再次注意,「經組配來」一詞之使用不需要操作,但實情為著重於設備、硬體及/或元件之潛伏狀態,其中當設備、硬體及/或元件正在操作時,設備、硬體及/或元件之潛伏狀態經設計以執行特定任務。
此外,在一實施例中,短語『用以』、『能夠』及或『可操作以』之使用指代某設備、邏輯、硬體及/或元件以允許以指定方式使用該設備、邏輯、硬體及/或元件之方式來設計。請注意如以上,在一實施例中,「用以」、「能夠」 或「可操作以」之使用指代設備、邏輯、硬體及/或元件之潛伏狀態,其中設備、邏輯、硬體及/或元件不操作但以允許以指定方式使用設備的方式來設計。
如本文所使用,值包括數目、狀態、邏輯狀態或二進位邏輯狀態之任何已知表示。通常,邏輯位準、邏輯值或多個邏輯值之使用亦被稱為1及0,此簡單地表示二進位邏輯狀態。例如,1指代高邏輯位準且0指代低邏輯位準。在一實施例中,諸如電晶體或快閃格之儲存格可能能夠保留單一邏輯值或多個邏輯值。然而,電腦系統中之值的其他表示已得以使用。例如,十進位數10亦可表示為二進位值1010及十六進位字母A。因此,值包括能夠保留於電腦系統中之資訊的任何表示。
此外,狀態可藉由值或值之多個部分表示。作為一實例,諸如邏輯1之第一值可表示預設或初始狀態,而諸如邏輯0之第二值可表示非預設狀態。另外,在一實施例中,重設及設定等詞分別指代預設及更新值或狀態。例如,預設值潛在地包括高邏輯值,亦即,重設,而更新值潛在地包括低邏輯值,亦即,設定。請注意,值之任何組合可用以表示任何數目個狀態。
以上所闡述之方法、硬體、軟體、韌體或碼之實施例可經由儲存於機器可存取、機器可讀、電腦可存取或電腦可讀媒體上之指令或碼來實行,該等指令或碼可藉由處理元件執行。非暫時性機器可存取/可讀媒體包括以可藉由諸如電腦或電子系統之機器讀取之形式提供(亦即,儲存 及/或傳輸)資訊的任何機構。例如,非暫時性機器可存取媒體包括隨機存取記憶體(RAM),諸如靜態RAM(SRAM)或動態RAM(DRAM);ROM;磁性或光學儲存媒體;快閃記憶體裝置;電儲存裝置;光學儲存裝置;聲學儲存裝置;或用於保留自暫時性(所傳播)信號(例如,載波、紅外信號、數位信號)所接收之資訊的其他形式之儲存裝置;等,其將與可自其接收資訊的非暫時性媒體區分。
用來程式設計邏輯以執行本發明之實施例的指令可儲存於系統中的記憶體內,該記憶體諸如DRAM、快取記憶體、快閃記憶體或其他儲存器。此外,指令可經由網路或藉由其他電腦可讀媒體來散佈。因此,機器可讀媒體可包括用於以機器(如,電腦)可讀之形式儲存或傳輸資訊之任何機構,而不限於軟碟、光碟片、緊密光碟片-唯讀記憶體(CD-ROM)及磁光碟片、唯讀記憶體(ROM)、隨機存取記憶體(RAM)、可抹除可規劃唯讀記憶體(EPROM)、電氣可抹除可規劃唯讀記憶體(EEPROM)、磁性或光學卡、快閃記憶體或用於經由電、光、聲學或其他形式之傳播信號(如,載波、紅外信號、數位信號等)在網際網路上傳輸資訊之有形的機器可讀儲存器。因此,電腦可讀媒體包括適合於以可藉由機器(例如,電腦)讀取之形式儲存或傳輸電子指令或資訊的任何類型之有形的機器可讀媒體。
以下實例係關於根據本說明書之實施例。一或多個實施例可提供用以提供硬智慧財產權(IP)次總成之設備、系統、機器可讀儲存器、機器可讀媒體、基於硬體及/ 或軟體之邏輯及方法,該硬智慧財產權次總成包含p個硬IP區塊,其中每一硬IP區塊將提供n個資料線道且將具有固定路由,且其中p個硬IP區塊將提供h=n*p個可利用的硬IP線道;且軟IP總成具有包含可路由邏輯之至少一軟IP區塊且提供k個資料線道,其中kh
在一或多個實施例中,資料道具有分離允許,且k-h個線道將被禁用。
在一或多個實施例中,軟IP區塊進一步包含可規劃切換器以根據切換模式選擇性地對映資料線道。
在一或多個實施例中,切換模式包含線道將以數值次序對映的至少一直接線道對映模式及線道將以倒轉數值次序對映的一交叉對映模式。
在一或多個實施例中,切換模式係經由熔絲拉拔可規劃的。
在一或多個實施例中,切換模式係經由訓練序列可規劃的。
在一或多個實施例中,熔絲係經由唯讀記憶體可規劃的。
在一或多個實施例中,每一線道將接收非相關偽隨機位元序列以用於定心。
在一或多個實施例中,硬IP區塊中至少一些將接收分離VALID信號。
在一或多個實施例中,硬IP區塊中至少一些將接收分離STREAM_ID。
在一或多個實施例中,一種互連系統包含:第一代理;第二代理;以及互連體,其用以將第一代理通訊地耦接至第二代理,該互連體包含:硬智慧財產權(IP)次總成,其包含p個硬IP區塊,其中每一硬IP區塊將提供n個資料線道且將具有個定路由,且其中p個硬IP區塊將提供h=n*p個可利用的硬IP線道;以及軟IP總成,其具有包含可路由邏輯之至少一軟IP區塊且提供k個資料線道,其中kh
在一或多個實施例中,揭示一種提供互連體之方法,該方法包含:置放硬智慧財產權(IP)次總成,該硬智慧財產權(IP)次總成包含p個硬IP區塊,其中每一硬IP區塊將提供n個資料線道且將具有固定路由,且其中p個硬IP區塊將提供h=n*p個可利用的硬IP線道;以及置放軟IP總成,該軟IP總成具有包含可路由邏輯之至少一軟IP區塊且提供k個資料線道,其中kh
在一或多個實施例中,方法進一步包含禁用h-k個線道。
在一或多個實施例中,方法進一步包含根據切換模式選擇性地對映資料線道。
在一或多個實施例中,根據切換模式選擇性地對映資料線道包含以數值次序之直接線道對映模式。
在一或多個實施例中,根據切換模式選擇性地對映資料線道包含以倒轉數值次序之交叉對映線道。
在一或多個實施例中,方法進一步包含為每一線 道提供偽隨機位元序列以用於定心。
在一或多個實施例中,一種互連設備包含:時脈產生器,其用以產生時脈信號;相移器,其用以藉由測試階段相移時脈信號;錯誤率偵測器,其用以量測測試階段之錯誤率;以及操作階段選擇器,其用以至少部分基於測試階段之錯誤率來選擇時脈信號之操作階段。
在一或多個實施例中,一種互連設備包含:串流線道編碼器,其用以編碼資料封包之種類識別符;以及線道驅動器,其用以在資料封包之非資料時間期間將種類識別符驅動至n個資料線道中至少一者上。
遍及本說明書對「一實施例」或「實施例」之引用意味,結合實施例所描述之特定特徵、結構或特性包括於本發明之至少一實施例中。因此,短語「在一實施例中」或「在實施例中」在遍及本說明書之各處的出現未必均指代同一實施例。此外,特定特徵、結構或特性可在一或多個實施例中以任何適合方式組合。
在前述說明書中,已參考特定示範性實施例提供了詳細描述。然而,將明顯的是,可在不脫離如所附申請專利範圍中所闡述的本發明之較廣泛精神及範疇的情況下對說明書中進行各種修改及變化。因此,以例示性意義而非限制性意義來看待說明書及圖式。此外,實施例及其他示範性語言之前述使用未必指代同一實施例或同一實例,而可指代不同且相異的實施例,以及潛在地同一實施例。

Claims (24)

  1. 一種用於互連之設備,其包含:一互連體,其包含p個硬邏輯區塊,其中每一硬邏輯區塊要提供n個資料線道且要具有一固定路由,且其中該等p個硬邏輯區塊要提供h=n*p個可利用的硬資料線道,該等資料線道具有獨立地每線道致動;以及一軟計算區塊,其包含可路由邏輯,其用以將該互連體通訊地耦接至一主機平台且用以為該互連體提供k個資料線道,其中k<h;其中,h-k個線道要經由該每線道致動所禁用。
  2. 如請求項1之設備,其中該軟計算區塊進一步包含一可規劃切換器,其用以根據一切換模式來選擇性地對映資料線道。
  3. 如請求項2之設備,其中該切換模式包含至少一直接線道對映模式及一交叉對映模式,在該直接線道對映模式中,線道要被以數值次序對映,在該交叉對映模式中,線道係要被以倒轉數值次序對映。
  4. 如請求項2之設備,其中該切換模式係經由一熔絲拉拔而可規劃的。
  5. 如請求項2之設備,其中該切換模式係經由一訓練序列而可規劃的。
  6. 如請求項2之設備,其中該切換模式係經由唯讀記憶體而可規劃的。
  7. 如請求項1之設備,其中每一線道要接收一非相關偽隨機位元序列以用於定心。
  8. 如請求項1之設備,其中至少一些該等硬邏輯區塊要接收一獨立地VALID信號。
  9. 如請求項1之設備,其中至少一些該等硬邏輯區塊要接收一獨立地STREAM_ID信號。
  10. 如請求項1之設備,其中該等h-k個禁用線道要被散佈於該等k個資料線道之間。
  11. 一種互連系統,其包含:一第一代理;一第二代理;以及一互連體,其用以將該第一代理通訊地耦接至該第二代理,該互連體包含:p個硬邏輯區塊,其中每一硬邏輯區塊要提供n個資料線道且要具有一固定路由,且其中該等p個硬邏輯區塊要提供h=n*p個可利用的硬資料線道,該資料線道具有獨立地每線道致動;以及一軟計算區塊,其包含可路由邏輯,其用以將該互連體通訊地耦接至一主機平台且用以為該互連體提供k個資料線道,其中k<h;其中,h-k個線道要經由該每線道致動所禁用。
  12. 如請求項11之互連系統,其中該軟計算區塊進一步包含一可規劃切換器,其用以根據一切換模式來選擇性地 對映資料線道。
  13. 如請求項12之互連系統,其中該切換模式包含至少一直接線道對映模式及一交叉對映模式,在該直接線道對映模式中,線道要被以數值次序對映,在該交叉對映模式中,線道要被以倒轉數值次序對映。
  14. 如請求項12之互連系統,其中該切換模式係經由一熔絲拉拔而可規劃的。
  15. 如請求項12之互連系統,其中該切換模式係經由一訓練序列而可規劃的。
  16. 如請求項12之互連系統,其中該切換模式係經由唯讀記憶體而可規劃的。
  17. 如請求項11之互連系統,其中每一線道要接收一非相關偽隨機位元序列以用於定心。
  18. 如請求項11之互連系統,其中至少一些該等硬邏輯區塊要接收一獨立地VALID信號。
  19. 如請求項11之互連系統,其中至少一些該等硬邏輯區塊要接收一分離STREAM_ID信號。
  20. 如請求項11之互連系統,其中該等h-k個禁用線道要被散佈於該k個資料線道之間。
  21. 一種提供一互連體之方法,該方法包含:配置p個硬邏輯區塊,其中每一硬邏輯區塊要提供n個資料線道且要具有一固定路由,且其中該等p個硬邏輯區塊要提供h=n*p個可利用的硬資料線道,該資料線道具有獨立地每線道致動;以及 配置一軟計算區塊,其包含可路由邏輯,其用以將該互連體通訊地耦接至一主機平台且用以為該互連體提供k個資料線道,其中k<h;其中,h-k個線道要經由該每線道致動所禁用。
  22. 如請求項21之方法,其進一步包含根據一切換模式來選擇性地對映資料線道。
  23. 如請求項21之方法,其進一步包含為每一線道提供一偽隨機位元序列以用於定心。
  24. 如請求項21之方法,其進一步包含散佈該等h-k個禁用線道於該k個資料線道之間。
TW105103036A 2015-03-26 2016-01-30 多晶片封裝鏈結技術 TWI634432B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/669,975 US9946676B2 (en) 2015-03-26 2015-03-26 Multichip package link
US14/669,975 2015-03-26

Publications (2)

Publication Number Publication Date
TW201705011A TW201705011A (zh) 2017-02-01
TWI634432B true TWI634432B (zh) 2018-09-01

Family

ID=56975459

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105103036A TWI634432B (zh) 2015-03-26 2016-01-30 多晶片封裝鏈結技術

Country Status (5)

Country Link
US (1) US9946676B2 (zh)
EP (3) EP3796181A1 (zh)
CN (3) CN112486875A (zh)
TW (1) TWI634432B (zh)
WO (1) WO2016153660A1 (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9755997B2 (en) * 2012-01-13 2017-09-05 Intel Corporation Efficient peer-to-peer communication support in SoC fabrics
KR101828756B1 (ko) * 2012-10-22 2018-02-12 인텔 코포레이션 고성능 인터커넥트 코히어런스 프로토콜
MX2016015354A (es) * 2014-06-04 2017-04-13 Nexpack Ltd Sistema de supercentro de operaciones y metodo del mismo.
US9946676B2 (en) 2015-03-26 2018-04-17 Intel Corporation Multichip package link
WO2017052575A1 (en) * 2015-09-25 2017-03-30 Intel Corporation Extending multichip package link off package
US10709926B2 (en) 2015-10-06 2020-07-14 Woodway Usa, Inc. Treadmill
US10331846B2 (en) * 2015-12-30 2019-06-25 Arteris, Inc. Dynamic link serialization in network-on-chip
US10373657B2 (en) * 2016-08-10 2019-08-06 Micron Technology, Inc. Semiconductor layered device with data bus
US10846258B2 (en) * 2016-09-30 2020-11-24 Intel Corporation Voltage modulated control lane
US11016920B2 (en) * 2016-12-30 2021-05-25 Intel Corporation Adaptive calibration technique for cross talk cancellation
CN109309615B (zh) * 2017-07-27 2020-07-07 华为技术有限公司 传输数据的方法和设备
KR102482896B1 (ko) 2017-12-28 2022-12-30 삼성전자주식회사 이종 휘발성 메모리 칩들을 포함하는 메모리 장치 및 이를 포함하는 전자 장치
CN110224846B (zh) * 2018-03-01 2022-01-25 中兴通讯股份有限公司 基于灵活以太网的业务保护方法、服务器及存储介质
CN112368956B (zh) * 2018-07-11 2022-07-22 华为技术有限公司 产生信号的装置、方法和系统
TWI720345B (zh) * 2018-09-20 2021-03-01 威盛電子股份有限公司 多核心系統的內連線結構
US10831535B2 (en) 2019-01-01 2020-11-10 International Business Machines Corporation Reducing minimum operating voltage through heterogeneous codes
CN109857690B (zh) 2019-01-03 2023-04-28 华为技术有限公司 驱动器的应用系统、驱动器和数据传输方法
CN110162854B (zh) * 2019-05-09 2023-05-26 重庆大学 一种高速自适应判决反馈均衡器
US11815976B2 (en) * 2019-05-22 2023-11-14 Qualcomm Incorporated Bandwidth based power management for peripheral component interconnect express devices
US20220318473A1 (en) * 2019-08-07 2022-10-06 The University Of Hong Kong System and method for determining wiring network in multi-core processor, and related multi-core processor
US11733290B2 (en) * 2020-03-31 2023-08-22 Advantest Corporation Flexible sideband support systems and methods
CN111666235B (zh) * 2020-05-26 2022-02-08 中国人民解放军国防科技大学 用于高速互连网络接口芯片的pio通信装置,芯片,设备及方法
US11317242B1 (en) 2021-01-04 2022-04-26 Bank Of America Corporation System and method for detecting a distance threshold between a target device and a mobile device has been exceeded
TWI784500B (zh) 2021-04-28 2022-11-21 威鋒電子股份有限公司 電子裝置及其安全韌體更新方法
US11592889B2 (en) 2021-05-12 2023-02-28 Apple Inc. Die-to-die dynamic clock and power gating
US20210319841A1 (en) * 2021-06-24 2021-10-14 Intel Corporation Systems And Methods For Detecting And Configuring Lanes In A Circuit System

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050121789A1 (en) * 2003-12-04 2005-06-09 Madurawe Raminda U. Programmable structured arrays
US20060242339A1 (en) * 2005-04-20 2006-10-26 Inostor Corporation Reconfigurable computing array without chassis
US20070239922A1 (en) * 2005-12-09 2007-10-11 Horigan John W Technique for link reconfiguration
US20090206876A1 (en) * 2008-02-15 2009-08-20 Broadcom Corporation Programmable core for implementing logic change
US7627806B1 (en) * 2006-03-01 2009-12-01 Altera Corporation Integrated hard-wired or partly hard-wired CRC generation and/or checking architecture for a physical coding sublayer in a programmable logic device
CN103858393A (zh) * 2011-10-17 2014-06-11 吉林克斯公司 网络包的并行处理
CN104303166A (zh) * 2012-10-22 2015-01-21 英特尔公司 高性能互连链路层

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002531883A (ja) 1998-11-09 2002-09-24 サーラスロジック、アイ・エヌ・シー 磁気ハードディスクドライブ用混合信号単一チップ集積システム電子装置
US7003066B1 (en) 2001-12-03 2006-02-21 Lattice Semiconductor Corporation Digital phase locked loop with phase selector having minimized number of phase interpolators
US7184708B1 (en) 2003-07-30 2007-02-27 Intel Corporation Interference mitigation by adjustment of interconnect transmission characteristics
JP4845969B2 (ja) * 2005-12-02 2011-12-28 エンテグリース,インコーポレイテッド ポンプ制御装置を結合する入出力システム、方法、および装置
US7752364B2 (en) 2006-12-06 2010-07-06 Mosaid Technologies Incorporated Apparatus and method for communicating with semiconductor devices of a serial interconnection
US7756123B1 (en) * 2006-12-21 2010-07-13 Nvidia Corporation Apparatus, system, and method for swizzling of a PCIe link
US7991098B2 (en) * 2007-10-31 2011-08-02 Micron Technology, Inc. Method and apparatus for training the reference voltage level and data sample timing in a receiver
US8478554B1 (en) * 2009-02-09 2013-07-02 Marvell International Ltd. Reducing eye monitor data samplers in a receiver
US20100277201A1 (en) * 2009-05-01 2010-11-04 Curt Wortman Embedded digital ip strip chip
US8619605B2 (en) * 2009-05-13 2013-12-31 Avaya Inc. Method and apparatus for maintaining port state tables in a forwarding plane of a network element
US8451969B2 (en) * 2011-03-15 2013-05-28 Intel Corporation Apparatus, system, and method for timing recovery
US20140003564A1 (en) * 2012-06-27 2014-01-02 Broadcom Corporation Multichip synchronization system
US8686754B2 (en) 2012-07-05 2014-04-01 Stmicroelectronics International N.V. Configurable lane architecture in source synchronous systems
US8832343B2 (en) * 2012-07-17 2014-09-09 International Business Machines Corporation Double density I2C system
US8816717B2 (en) * 2012-10-17 2014-08-26 International Business Machines Corporation Reactive material for integrated circuit tamper detection and response
US9479456B2 (en) * 2012-11-02 2016-10-25 Altera Corporation Programmable logic device with integrated network-on-chip
US9318408B2 (en) * 2013-03-12 2016-04-19 Monolithic 3D Inc. Semiconductor device and structure
US9153539B2 (en) * 2013-03-15 2015-10-06 Nvidia Corporation Ground-referenced single-ended signaling connected graphics processing unit multi-chip module
CN103257946A (zh) * 2013-05-24 2013-08-21 浪潮电子信息产业股份有限公司 一种紧耦合多控存储系统控制器之间的高速互联方法
US9690741B2 (en) * 2013-07-15 2017-06-27 Altera Corporation Configuration via high speed serial link
US9946676B2 (en) 2015-03-26 2018-04-17 Intel Corporation Multichip package link

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050121789A1 (en) * 2003-12-04 2005-06-09 Madurawe Raminda U. Programmable structured arrays
US20060242339A1 (en) * 2005-04-20 2006-10-26 Inostor Corporation Reconfigurable computing array without chassis
US20070239922A1 (en) * 2005-12-09 2007-10-11 Horigan John W Technique for link reconfiguration
US7627806B1 (en) * 2006-03-01 2009-12-01 Altera Corporation Integrated hard-wired or partly hard-wired CRC generation and/or checking architecture for a physical coding sublayer in a programmable logic device
US20090206876A1 (en) * 2008-02-15 2009-08-20 Broadcom Corporation Programmable core for implementing logic change
CN103858393A (zh) * 2011-10-17 2014-06-11 吉林克斯公司 网络包的并行处理
CN104303166A (zh) * 2012-10-22 2015-01-21 英特尔公司 高性能互连链路层

Also Published As

Publication number Publication date
CN107430569B (zh) 2021-06-29
EP3274857B1 (en) 2021-03-24
EP3274857A1 (en) 2018-01-31
US9946676B2 (en) 2018-04-17
TW201705011A (zh) 2017-02-01
EP3846042A1 (en) 2021-07-07
CN112486875A (zh) 2021-03-12
US20160283429A1 (en) 2016-09-29
CN107430569A (zh) 2017-12-01
EP3274857A4 (en) 2018-11-21
CN112231255A (zh) 2021-01-15
EP3796181A1 (en) 2021-03-24
WO2016153660A1 (en) 2016-09-29

Similar Documents

Publication Publication Date Title
TWI634432B (zh) 多晶片封裝鏈結技術
US11003610B2 (en) Multichip package link
US11971841B2 (en) Link layer-PHY interface adapter
CN109661658B (zh) 链路物理层接口适配器
CN107408032B (zh) 互连中的伪随机比特序列
KR101815178B1 (ko) 고성능 인터커넥트 물리 계층
US11762802B2 (en) Streaming fabric interface
US20210004347A1 (en) Approximate data bus inversion technique for latency sensitive applications
JP6745289B2 (ja) マルチチップパッケージリンク
JP2020201967A (ja) マルチチップパッケージリンク