TWI771286B - 電子設備、電子系統及用於通訊之方法 - Google Patents
電子設備、電子系統及用於通訊之方法 Download PDFInfo
- Publication number
- TWI771286B TWI771286B TW106103961A TW106103961A TWI771286B TW I771286 B TWI771286 B TW I771286B TW 106103961 A TW106103961 A TW 106103961A TW 106103961 A TW106103961 A TW 106103961A TW I771286 B TWI771286 B TW I771286B
- Authority
- TW
- Taiwan
- Prior art keywords
- ordered set
- retimer
- register
- link
- fields
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1642—Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4286—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a handshaking protocol, e.g. RS232C link
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Information Transfer Systems (AREA)
- Communication Control (AREA)
- Radar Systems Or Details Thereof (AREA)
Abstract
從一特定暫存器存取資料,第一裝置係經由包括至少一個重定時器裝置的一鏈路連結至一第二裝置。該特定暫存器對應於要帶內發送的請求與該重定時器交易,及該資料對應於與該重定時器之一特定交易。於該第一裝置產生至少一個有序集合以包含以該資料編碼的一子集之位元,於該處帶有該經編碼之位元子集的該有序集合欲在該鏈路上發送,及該子集之位元係於該特定交易中由該重定時器處理。
Description
發明領域
本文揭示係有關於計算系統,及特別(但非排它地)係有關於點對點互連。
發明背景
半導體處理及邏輯設計的進步已經允許在積體電路裝置上可存在的邏輯量增加。結果,電腦系統組態已經從系統中單一個或多個積體電路演進至積體電路裝置上存在多個核心、多個硬體執行緒、及多個邏輯處理器,以及整合於此等處理器內部的其它介面。處理器或積體電路典型地包含單一實體處理器晶粒,於該處該處理器晶粒可包括任何數目的核心、硬體執行緒、邏輯處理器、介面、記憶體、控制器集線器等。
由於在較小型封裝內嵌入更大處理威力而能力增強的結果,小型計算裝置普及度增加。智慧型電話、平板、超薄型筆電、及其它用戶裝備成指數成長。然而,此等小型裝置的超過形狀因數的資料儲存及複雜處理
兩者仰賴伺服器。結果,高效能計算市場(亦即伺服器空間)的需求也增加。舉例言之,於近代伺服器中,典型地不僅只有具多個核心的單一處理器,同時也有多個實體處理器(又稱多個插座)以增加計算能力。但隨著計算能力連同計算系統中之裝置數目的成長,插座與其它裝置間之通訊變成更具關鍵性。
實際上,互連結構已從主要處理電氣通訊的較為傳統的多點匯流排成長至輔助快速通訊的全熔斷互連架構。不幸,作為未來處理器以甚至更高速率消耗的需求,對應需求係放在現有互連架構的能力上。
依據本發明之一實施例,係特地提出一種設備,其包含:記憶體,其用以儲存一第一裝置之一特定暫存器;及至少部分地以硬體實施的實體層邏輯,該實體層邏輯用以:從該特定暫存器存取資料,其中該第一裝置係經由一鏈路連結至一第二裝置,該鏈路包含至少一個重定時器,該特定暫存器對應於要在與該重定時器於帶內交易中發送的請求,並且該資料對應於與該重定時器之一特定交易;及產生至少一個有序集合以包含以該資料編碼的一子集之位元,其中該有序集合係要在該鏈路上發送,並且,該子集之位元係於該特定交易中由該重定時器處理。
100:系統
105、1200、1302、1470、1480:處理器
106:前端匯流排(FSB)、鏈路
110、1275:系統記憶體
115:控制器集線器
116:記憶體介面
117、118、121、126、131:輸入/輸出模組、介面/埠
119、132:串列鏈路
120:交換器/橋接器
123、415:鏈路
125:I/O裝置
130:圖形控制器、圖形加速器
150:擴延裝置
200:協定堆疊
205:交易層
206:封包標頭/酬載
210:資料鏈路層
211:封包順序識別符
212:CRC
220:實體層
221:邏輯子區塊
222:電氣子區塊
223:框
300:交易描述符
302:通用識別符欄位
304:屬性欄位
306:通道識別符欄位
308:本地交易識別符欄位
310:來源識別符欄位
312:順位欄位
314:保留欄位
316:定序欄位
318:探查屬性欄位
405、410:裝置
406、411:發射邏輯
407、412:接收邏輯
416-419:路徑、線路
500a-c、600a-b:方塊圖
505、605:上游組件
510、610:下游組件
515、520、615a-b、815、820、915:重定時器
620a-c:子鏈路
805、905:下游埠
810、910:上游埠
825、830、835、840:暫存器
920a-b、925a-b、930a-b、935a-b:有序集合(OS)
1000:方塊圖
1100a-c:流程圖
1105-1155:方塊
1201、1202、1506、1507:核心
1201a-b、1202a-b:硬體執行緒插槽、架構狀態暫存器、邏輯處理器、硬體執行緒
1205:匯流排
1210:晶片上介面模組
1215:低層級資料-快取及資料-TLB(D-TLB)
1220、1221:BTB及I-TLB
1225、1226:解碼器
1230、1231:分配器及重新命名區塊
1235:重新定序/報廢單元、亂序單元
1240:排程器及執行單元
1276:應用程式代碼
1277:編譯器、優化、及/或轉譯器代碼
1280:圖形裝置、圖形處理器
1300:電腦系統
1304:層級1(L1)內部快取記憶體
1306:暫存器檔案
1308:執行單元
1309:壓縮指令集
1310:處理器匯流排
1312:圖形加速器
1314、1318、1322:路徑
1316:記憶體控制器集線器(MCH)
1320、1432、1434:記憶體
1324:資料儲存裝置、I/O控制器集線器
1326:無線收發器
1328:快閃BIOS
1334:網路控制器
1336:音訊控制器
1338:串列擴充埠
1340:I/O控制器
1342:用戶輸入及鍵盤介面
1400:多處理器系統
1414:I/O裝置
1416、1420:匯流排
1418:匯流排橋接器
1422:鍵盤/滑鼠
1424:音訊I/O
1427:通訊裝置
1428:儲存單元
1430:指令/代碼及資料
1438:高效能圖形電路
1439:高效能圖形互連結構
1450:點對點(P-P)互連結構
1452、1454:互連結構部分
1476、1478、1486、1488、1494、1498:P-P介面電路
1490:晶片組
1492:介面電路
1496:介面
1500:單晶片系統(SOC)
1508:L2快取控制
1509:匯流排介面單元
1510:互連結構
1511:L2快取記憶體
1515:GPU
1520:視訊編解碼器
1525:視訊介面
1530:用戶身分模組(SIM)
1535:啟動ROM
1540:SDRAM控制器
1545:快閃控制器
1550:周邊控制
1555:電源控制
1560:DRAM
1560:快閃記憶體
1570:藍牙模組
1575:3G數據機
1580:GPS
1585:WiFi
圖1例示包括互連架構的一計算系統之一實施例。
圖2例示包括層狀堆疊的一互連架構之一實施例。
圖3例示在互連架構內部欲產生的或欲接收的一請求或一封包之一實施例。
圖4例示針對一互連架構的發射器與接收器對之一實施例。
圖5A-5C例示用於測定於一鏈路的一或多個子鏈路中之錯誤的一測試模式之具體實施例的簡化方塊圖。
圖6A-6B例示包括一或多個擴延裝置之鏈路實例的簡化方塊圖。
圖7例示具有加強式實體層邏輯的一重定時器之具體實施例的簡化方塊圖。
圖8為一簡化方塊圖,例示使用加強式訓練序列以存取一或多個重定時器之暫存器的實例。
圖9為一簡化方塊圖,例示使用加強式訓練序列以存取一或多個重定時器之暫存器的實例。
圖10例示加強式訓練序列之一實例的簡化方塊圖。
圖11A-11C為流程圖,例示有關利用一重定時器的暫存器之技術實例。
圖12例示用於包括一多核心處理器的一計算系統之方塊圖實施例。
圖13例示用於包括一處理器的一計算系
統之方塊圖的另一實施例。
圖14例示用於包括多個處理器的一計算系統之區塊的一實施例。
圖15例示實施為單晶片系統(SoC)的一系統實例。
較佳實施例之詳細說明
於後文詳細說明中,陳述無數特定細節,諸如特定類型處理器及系統組態、特定硬體結構、特定架構及微架構細節、特定暫存器組態、特定指令類型、特定系統組件、特定度量/高度、特定處理器管線階段及操作等的實例,以供徹底瞭解本發明。然而,熟諳技藝人士顯然易知無需採用此等特定細節以實施本發明。於其它情況下,眾所周知之組件或方法,諸如特定及替代處理器架構、用於所描述演算法的特定邏輯電路/代碼、特定韌體代碼、特定互連操作、特定邏輯組態、特定製造技術及材料、特定編譯器實施例、演算法以代碼之特定表示、特定省電及閘控技術/邏輯、及電腦系統的其它特定操作細節未曾以細節描述,以免不必要地遮掩了本發明。
雖然如下實施例可參考於特定積體電路中,諸如於計算平台或微處理器中之節能及能效描述,但其它實施例適用於其它類型的積體電路及邏輯裝置。本文描述的實施例之相似技術及教示可應用至也可從更佳能效及節能獲益的其它類型之電路或半導體裝置。舉例言之,
所揭示實施例非僅限於桌上型電腦系統或超筆電TM(UltrabooksTM)。且亦可使用於其它裝置,諸如手持式裝置、平板、其它薄型筆電、單晶片系統(SOC)裝置、及嵌入式應用。手持式裝置之若干實例包括細胞式電話、網際網路協定裝置、數位相機、個人數位助理器(PDA)、及手持式PC。嵌入式應用典型地包括微控制器、數位信號處理器(DSP)、單晶片系統、網路電腦(NetPC)、機上盒、網路集線器、廣域網路(WAN)交換器、或可進行後文教示之功能及操作的任何其它系統。再者,本文描述的設備、方法、及系統非僅限於實體計算裝置,反而也可關於用於節能及能效的軟體優化。如於後文描述中將更為彰顯,本文描述的方法、設備、及系統之實施例(無論述及硬體、韌體、軟體、或其組合與否)乃「綠色技術」未來與效能考量平衡上至關重要。
隨著計算系統的進展,其中的組件變得更複雜。結果,用以在組件間耦合及通訊的互連架構之複雜度也增加,以確保滿足頻寬要求用於最佳組件操作。又復,不同市場區塊要求互連架構的不同面向以配合市場的需要。舉例言之,伺服器要求較高效能,而行動生態系統偶爾能犧牲總體效能用於節電。又,大部分組織結構的單一目的係提供帶有最大節電的最高可能效能。以下討論潛在地可能自本文描述的本發明之面向獲益的多個互連。
一個互連組織架構包括周邊組件互連(PCI)快速(PCIe)架構。PCIe的主要目標係使得來自不同
賣方的組件及裝置能在跨據多個市場區塊、客戶(桌上型電腦及行動裝置)、伺服器(標準及企業)、及嵌入式及通訊裝置的開放架構中交互操作。PCI快速為界定用於寬廣多種未來計算及通訊平台的高效能通用I/O互連。有些PCI屬性,諸如其使用模型、載入-儲存架構、及軟體介面,通過其修訂被維持,而先前並列匯流排實施例已由高度可縮放的全串列介面所替代。較為晚近的PCI快速版本利用點對點互連、以交換為基礎的技術、及封包化協定中之進步以傳遞新層級之效能及特徵。電源管理、服務品質(QoS)、熱插拔/熱調換支援、資料完整性、及錯誤處理屬於由PCI快速支援的若干進階特徵。
參考圖1,例示互連一集合之組件的點對點鏈路所組成的一組織結構之實施例。系統100包括處理器105及耦合至控制器集線器115的系統記憶體110。處理器105包括任何處理元件,諸如微處理器、主機處理器、嵌入式處理器、共處理器、或其它處理器。處理器105係透過前端匯流排(FSB)106耦合至控制器集線器115。於一個實施例中,FSB 106為如下描述的串列點對點互連結構。於另一實施例中,鏈路106為符合不同互連標準的串列差分互連架構。
系統記憶體110包括由系統100中之裝置所可存取的任何記憶體裝置,諸如隨機存取記憶體(RAM)、非依電性(NV)記憶體、或其它記憶體。系統記憶體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。
交換器/橋接器120將來自裝置125的封包/訊息安排路徑向上游,亦即沿階層向上朝向根複合體,至控制器集線器115,及自處理器105或系統記憶體110向下游,亦即沿階層向下遠離根控制器至裝置125。於一個實施例中,交換器120係稱作多個虛擬PCI對PCI橋接器
裝置的邏輯總成。裝置125包括欲耦合至電子系統的任何內部或外部裝置或組件,諸如I/O裝置、網路介面控制器(NIC)、插卡、音訊處理器、網路處理器、硬碟機、儲存裝置、CD/DVD ROM、監視器、列印器、滑鼠、鍵盤、路由器、可攜式儲存裝置、火線裝置、通用串列匯流排(USB)裝置、掃描器、及其它輸入/輸出裝置。經常於PCIe白話中,諸如裝置被稱作端點。雖然並未特別顯示,但裝置125可包括PCIe至PCI/PCI-X橋接器以支援舊式或其它版本的PCI裝置。PCIe中之端點裝置常被歸類為舊式、PCIe、或根複合體整合式端點。
圖形加速器130也透過串列鏈路132耦合至控制器集線器115。於一個實施例中,圖形加速器130耦合至MCH,其係耦合至ICH。交換器120及據此I/O裝置125則耦合至ICH。I/O模組131及118也實施層狀協定堆疊以在圖形加速器130與控制器集線器115間通訊。類似如上討論的MCH,圖形控制器或圖形加速器130本身可整合於處理器105。又復,系統的一或多個鏈路(例如,123)可包括一或多個擴延裝置(例如,150),諸如重定時器、中繼器等。
轉向圖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、及非探查欄位318。此處,順位子欄位312可藉啟動器修改以給交易指定順位。保留屬性欄位314被保留供未來使用,或賣方界定的使用。使用順位或安全性屬性的可能使用模型可使用保留屬性欄位實施。
於此實例中,定序屬性欄位316係使用來供給選擇性的資訊,傳遞可修改內定定序規則的定序類型。依據一個具體實施例,「0」之定序屬性代表欲施加的內定定序規則,其中「1」之定序屬性代表鬆弛定序,其中寫入可發送於同向的寫入,及讀取完成可發送於同向的寫入。探查屬性欄位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供給符碼,發射器將符碼串列化及發射至外部裝置。接收器自外部裝置被供給串列化符碼,及將已接收的信號變換成位元串流。位元串流經解串流化及供給邏輯子區塊221。於一個實施例中,採用8b/10b發射符碼,於該處發射/接收10-位元符碼。此處,特殊符碼被使用來以框223將封包鑲框。此外,於一個實例中,接收器也提供自輸入串流回收的一符碼時鐘。
如前述,雖然交易層205、鏈路層210、
及實體層220係參考PCIe協定堆疊之特定實施例,層狀協定堆疊並非受此所限。實際上,可涵括/實施任何層狀協定。舉個實例,表示為層狀協定的埠/介面包括:(1)用以彙編封包的第一層,亦即交易層;用以接續封包的第二層,亦即資料鏈路層;及用以發射封包的第三層,亦即實體層。至於特定實例,利用共通標準介面(CSI)層狀協定。
其次參考圖4,例示PCIe串列點對點組織結構之一實施例。雖然例示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自高邏輯位準驅動至低邏輯位準,亦即下降緣。差分信號潛在顯示較佳的電氣特性,諸如較佳信號完整性,亦即交叉耦合、電壓過衝/下衝、振鈴等。如此允許獲得較佳時間窗,因而有更快速的發射頻率。
於若干實施例中,鏈路諸如依從PCIe鏈路可包括一或多個重定時器或其它擴充裝置,諸如中繼器。重定時器裝置(或簡稱「重定時器」)可包括接收及重新發射(重定時)數位I/O信號的作用態電子裝置。重定時器可使用來延長可使用於數位I/O匯流排的通道長度。重定時器可以是協定知曉、軟體透明,及能執行鏈路等效程序,諸如PCIe之鏈路等效程序。
圖5A-5C為簡化方塊圖500a-c,例示互連兩個系統組件或裝置,諸如上游組件505及下游組件510的實施例。上游組件505及下游組件510可直接連結,於有些情況下,兩個組件505、510間之鏈路上未配置重定時器、再驅動裝置、或中繼器,諸如圖5A之實例中之顯示。於其它情況下,重定時器(例如,515)可提供以延長連結上游組件505及下游組件510的鏈路,諸如圖5B中例示。於又其它實施例中,二或多個重定時器(例如,515、520)可串聯設置以進一步延長連結上游組件505及下游組件510的鏈路。舉例言之,特定互連技術或協定可
載明最大通道長度,及可設置一或多個重定時器(例如,515、520)以延長連結二裝置505、510的通道之實體長度。例如,於其它具體實施例中,在上游組件505與下游組件510間設置重定時器515、520,可允許鏈路具有針對沒有此等重定時器例如,515、520之鏈路載明的最大長度之三倍最大長度。
結合一或多個重定時器之鏈路可以,可媲美由採用相似協定但不含重定時器的鏈路所實現的資料率之資料率而形成二或多個分開的電氣子鏈路。舉例言之,包括單一重定時器的鏈路可形成有兩個分開子鏈路的鏈路,各自於8.0 GT/s或以上操作。圖6A-6B例示涵括一或多個重定時器的鏈路實例之簡化方塊圖600a-b。舉例言之,於圖6A中,連結第一組件605(例如,上游組件)至第二組件610(例如,下游組件)的鏈路可包括單一重定時器615a。第一子鏈路620a可連結第一組件605至重定時器615a,及第二子鏈路620b可連結重定時器615a至第二組件。如於圖6B中顯示,可利用多個重定時器615a、615b以延長鏈路。三個子鏈路620a-c可經由兩個重定時器615a、615b界定,第一子鏈路615a連結第一組件至第一重定時器615a,第二子鏈路連結第一重定時器615a至第二重定時器615b,及第三子鏈路615c連結第二重定時器615b至第二組件。
如於圖6A-6B之實例中顯示,於若干實施例中,重定時器可包括兩個假埠,及假埠可動態地決定其
個別下游/上游定向。各個重定時器615a、615b可具有上游路徑及下游路徑。又復,重定時器615a、615b可支援包括正向模式及執行模式的操作模式。於有些情況下,重定時器615a、615b可解碼子鏈路上接收的資料,及重新編碼在其它子鏈路上的正向下游資料。於有些情況下,重定時器可修改其接收資料中之若干值,諸如處理及前傳有序集合資料。此外,重定時器潛在地支援任何寬度選項作為其最大寬度,諸如由規格諸如PCIe界定的寬度選項集合。
隨著串列互連(例如,PCIe、UPI、USB、等)資料率的增加,重定時器漸增使用來延長通道長度。重定時器可在再生及重新發射位元串流之前擷取所接收的位元串流。於有些情況下,重定時器可以是協定知曉且具有完整實體層及參與鏈路協商(LTSSM),包括發射器/接收器等效化,諸如圖7顯示。此種重定時器功能藉由潛在規格允許的最大值而輔助各個重定時器增加通道長度。多個重定時器可串級用於甚至更長的通道長度。
如圖7中進一步例示,於若干實施例中,重定時器可能缺乏鏈路層、交易層、及軟體層。據此,雖然重定時器可包括各種暫存器,包括可使用來加強鏈路組態的暫存器,諸如電源狀態管理、調整電路以獲得更佳效能/功率、報告錯誤的能力等,但此等重定時器暫存器可以是使用架構化帶內機制所無法存取。取而代之,傳統辦法界定系統-或重定時器-特定邊帶機制以存取及利用重定
時器暫存器。「暫存器」可指用以控制重定時器之表現或獲得狀態資訊等其它實例的任何機制。然而,此等邊帶解決方案的應用性可能極為有限,且為現有形狀因數(例如,CEM、電纜)所不可相容,後者不具有共通的架構化邊帶存取機制。結果,加上邊帶機制可表示顯著平台改變及投資以便因應新形狀因數。又,缺乏架構化暫存器存取機制可能排除互連架構,不能用於界定用於重定時器的暫存器之架構化集合(例如,沒有理由建構一集合之暫存器而無適當存取機制)。結果,許多平台採用針對其使用的各個重定時器賣方為特定的專用邊帶存取機制。
一實施例可提供如上至少部分實例議題的解決方案等。例如,於一個實例中,帶內機制可經界定,只使用實體層來存取重定時器中之組態暫存器,諸如於圖7中顯示的簡化方塊圖表示者。帶內重定時器暫存器存取可被使用來於現有平台形狀因數建構及進行帶內存取,且適用於潛在地任何串列互連技術。
於一個具體實施例中,帶內重定時器暫存器存取可藉由實體層所產生的加強式訓練序列(TS)輔助,以允許通訊欲被嵌入此等訓練序列(TS)中以供由重定時器處理。為了輔助與重定時器之此種加強式資料通訊,一或多個暫存器可額外地設在存取全堆疊的該等(上游或下游)組件中之一者內。許多串列互連利用定期發送的訓練序列,即便於作用態(亦即非鏈接訓練鏈路狀態(例如,L0))亦復如此,諸如於PCIe及USB中之SKP有序集
合、UPI中之L0c等其它實例。互連協定中界定的訓練序列之特定一者內部保留的或未使用的欄位或位元可被指定用於選擇性地編碼訓練序列內部資訊(例如,位址、指令、資料等)以供由重定時器消耗及使用。據此,現有訓練序列可經槓桿作用來提供帶內重定時器暫存器存取。於互連協定中界定的訓練序列不存在之情況下,可界定新穎訓練序列以根據合宜頻率發送,以供使用在發訊一重定時器將資料讀取或寫入至鏈路中的重定時器暫存器。
於若干實施例中,實體層訓練序列可能缺乏保護(例如,錯誤偵測、重試等),該等保護為較高層資料流所習見且為可自/至一鏈路的一或多個重定時器之暫存器讀取或寫入資料的訊息所期望者。於一個實施例中,訓練序列之位元可被指定為用在與重定時器通訊的酬載。此種酬載可進一步包括錯誤偵測碼,諸如循環冗餘檢查(CRC)值。據此,重定時器可以自錯誤偵測碼檢測位元錯誤(於帶內重定時器暫存器讀/寫訊息中)。於一個實施例中,容後詳述,替代具有重試,使用加強式訓練序列(例如,有序集合(OS)),可在組件與重定時器間定義交握協定,於該處組件發送指令,及目標重定時器送返回應以完成交握。
至於具體實施例,有序集合資料序列(例如,經PCIe界定的有序集合)可經加強以攜載相關帶內資料及輔助存取重定時器暫存器。類似原理可施加至其它互連協定中界定的其它訓練序列。如於圖8中顯示,第一組
件之下游埠805可藉由兩個重定時器815、820擴延的鏈路耦合至第二組件的上游埠810。於此實例中,下游埠805可設有重定時器組態暫存器位址/資料暫存器825,以使用加強式SKP OS欄位保有欲於組態存取指令中被發送至兩個重定時器中之一者的資料。SKP OS中之一或多個位元可包括指令代碼、資料、或位址供在重定時器(例如,815、820)組態暫存器(例如,830、835)使用來自/至暫存器830、835讀取或寫入資料。於隨後加強式SKP OS之情況下,重定時器可藉其本身編碼回應資料而回應於藉於加強式SKP OS之情況下編碼資料發送的組態存取指令。由重定時器(例如,815、820)編碼的資料可於下游埠萃取,及紀錄於重定時器組態資料回送暫存器(例如,840)。維持於下游裝置的暫存器(例如,825、840)可藉系統軟體及/或系統的其它組件寫入及讀取,允許(間接)存取重定時器暫存器:一個暫存器(例如,825)傳遞位址/資料/指令給重定時器,及第二暫存器(例如,840)儲存來自重定時器的回應。於其它實施例中,此等暫存器(例如,825、840)可維持於上游埠810,替代或除外暫存器被維持於下游埠805等其它實例。
繼續圖8之實例,與用於提供帶內存取給重定時器暫存器的機制相關聯地,重定時器可具有架構化暫存器,其以明確界定的位元及特性可予定址。於此實例中,加強式SKP OS被界定/修改為經實體層產生的週期性樣式,以將指令/資訊自「重定時器組態暫存器位址/資料」
(例如,825)攜載至重定時器,及將回應自重定時器攜載回以載入至「重定時器組態資料回送」(例如,840),有部分位元被分配用於CRC用於資料的保護。舉例言之,於PCIe中此點可包括加強現有SKP有序集合,如於圖10中顯示(例如,帶有新CSR存取及CSR回送(經CRC保護之位元))。又,可界定流程用以確保指令/資訊保證傳遞至重定時器及對應回應的回傳遞。於其它特徵實例中,若需某種服務,則實體層機制可經加強以便也包括來自重定時器的通知(除了回應之外)。
圖9顯示簡化方塊圖,例示涉及加強式有序集合使用來帶內通訊指令至重定時器915以存取重定時器915的暫存器之交握實例。下游埠905可發送以在加強式有序集合(OS)之經指定的重定時器暫存器存取位元內部資料編碼的加強式OS之第一例920a。OS 920a在重定時器915被接收及再度產生用於發射(作為920b)至上游埠910。於有些情況下,在OS 920b之重定時器暫存器存取位元內部經編碼的資料可由上游埠910忽略。在一段時間之後,上游埠910可產生加強式OS之一例925a用以透過重定時器915發射至下游埠905。當自上游埠發送時,OS 925a內部被指定的重定時器暫存器存取位元可任其空白(或可以若干其它值編碼)。於此實例中,重定時器915可對涵括於OS案例920a之重定時器暫存器存取位元中的指令不產生回應。例如,CRC錯誤或其它議題可導致未由重定時器產生回應。據此,重定時器915可單純地再生
OS 925a為如自上游埠910接收者,及前傳已再生的OS(帶有重定時器暫存器存取位元維持空白)至下游埠(於925b)。於此種情況下,下游埠可解譯非反應性OS 925b為指示位元錯誤或其它錯誤,阻止重定時器915妥適地回應涵括於OS 920a之經編碼的重定時器欄位中之交易。據此,於一個實例中,下游可重試重定時器暫存器指令直到接收到回應為止。於有些情況下,在下游埠905的重定時器暫存器請求暫存器(例如,重定時器組態暫存器位址/資料暫存器)可將請求排入佇列等候,當前一個請求為被回應佇列時,由重定時器發送各個請求。於若干替代實施例中,新請求可被發送至重定時器(例如,使用隨後緊接的加強式OS案例),各個請求由請求識別符指定(其可於由重定時器915產生的對應回應中識別)。
繼續圖9之實例,當下游埠905在其請求920a之後接收加強式OS之非回應案例(例如,925b)時,其可使用下一個經排程的界外加強式OS案例(例如,930a)以重新編碼來自其重定時器暫存器請求暫存器的資料,及於加強式OS的下個案例(例如,930a)中有效地於920a重新發送請求。於此實例中,重定時器可接收加強式OS 930a,及解碼OS 930a之重定時器暫存器存取位元中之該等位元以產生回應資料欲於下一個上游至下游OS(例如,935a)中發送。雖言如此,重定時器915可再生所接收的OS 930a用於發射至上游埠(作為930b),原因在於OS可能包括與重定時器暫存器不相關的額外資訊用於
由上游埠及其對應組件處理。上游埠可發送其次排程的加強式OS案例935a。當接收到下一個下游埠邊界OS時,重定時器915可藉於加強式OS的重定時器暫存器存取/回應位元內部編碼其回應資料而再生OS,及發送已編碼OS案例935b至下游埠905。已編碼OS案例935b可完成請求下游埠905與重定時器915間之交握。然後,下游埠繼續移動至重定時器915之任何接續請求,及於下游埠905將回應資料寫入至重定時器回應暫存器(例如,重定時器組態資料回送暫存器)。然後,系統軟體或其它組件可存取該重定時器回應暫存器,以有效地存取重定時器之一或多個暫存器。
於經修改的PCIe SKP OS之一特定實例中,諸如於圖10中例示,可提供CSR存取及CSR存取回送位元之21位元。於一個實例中,系統軟體可將指令、重定時器號碼、及位址寫入至組件之一埠(例如,下游埠(DSP))中之「重定時器暫存器位址/資料」暫存器。於有些情況下,資訊可以多個步驟(亦即,多個OS)發送至重定時器。舉例言之,涉及16位元的組態位址空間之32位元的組態寫入,可發送三個OS:一個用於發送位址,及兩個用於發送資料。加強式SKP有序集合可被發送,對應帶有適當CRC的「重定時器暫存器位址/資料」中之欄位。埠(例如,DSP)繼續發送暫存器中者。於替代辦法中,指令可被發送固定次數,其後「重定時器暫存器位址/資料」內容可被自動捨棄,或甚至在自重定時器接收成功回應之
後捨棄。自加強式SKP OS接收指令時,若重定時器為預期的接收者且CRC為正確,則重定時器可暫存其所接收的指令,及排程對應回應。用於寫入回應,可有某些回應欄位發送所接收資料的簽章用於額外保護。用於讀取,資料欄位可攜載被請求的資訊。若所接收的指令有錯誤,則可送返錯誤回應。若於「重定時器組態資料回送」暫存器中發送CRC,則接收埠(例如,DSP)可將其獲得的回應暫存於得自重定時器的加強式SKP OS中。軟體(或埠硬體)可監視此暫存器,且可等待某個額外數目的加強式SKP OS,跨多個加強式SKP OS的資料欄位中有相同資料用於額外錯誤保護。
圖11A-11C為流程圖1100a-c,例示有關使用擴延裝置諸如重定時器實施的鏈路之技術實例。舉例言之,於圖11A中,可於第一裝置(例如,組件的下游埠中)自重定時器存取暫存器存取1105資料。可產生1110一有序集合帶有一集合之位元經編碼以通訊涉及重定時器之暫存器的一請求。重定時器可使用來延長第一裝置與第二裝置間之鏈路。該子集之位元可分配於經界定的有序集合內部(或另一頻繁發射的訓練序列)用於自第一裝置攜載資料/位址/指令至重定時器,以允許存取重定時器之暫存器。可接收1115一接續有序集合,其也包括經以對應重定時器之暫存器的資料編碼之一子集之位元。於接續有序集合中之該位元子集可回應於對應前一有序集合的請求的資料編碼。於欲藉系統軟體或其它系統組件存取的該第一
裝置的暫存器中,第一裝置可編碼來自編碼得自接續有序集合的資料。
於圖11B之實例中,在延長連接第一裝置及第二裝置的一鏈路之重定時器,第一有序集合可接收自第一裝置。第一有序集合可包括一子集之位元指定用來通訊有關重定時器之暫存器的資訊。於第一有序集合中之位元子集可經解碼,基於涵括於該位元子集之資訊,於重定時器進行1125涉及重定時器暫存器的動作。第二有序集合可在重定時器接收1130自第二裝置。以回應於第一有序集合中之位元子集中編碼的資訊且對應所進行的動作之資料,藉由編碼1135於第二有序集合中之指定位元子集,重定時器可修改第二有序集合。重定時器可發送1140經修改的第二有序集合至第一裝置。
於圖11C之實例中,系統軟體(或其它系統組件)可將請求資料寫入1150至於第一裝置的第一重定時器存取暫存器。第一裝置可透過包括該重定時器的鏈路連接至第二裝置。第一重定時器存取暫存器可對應欲被發送至重定時器的請求,以除了特定有序集合之外,存取位元集合中之重定時器之暫存器。重定時器可回應於該請求,產生回應來發送至第一裝置,回應編碼於特定有序集合除外的位元集合。然後,來自該回應的資料可被寫至第一裝置的另一暫存器。系統軟體可讀取1155來自其它暫存器的回應資料(例如,特別連結重定時器及/或大致上連結鏈路的組態)等其它實例。
注意如上描述的設備、方法、及系統可於如前文所述任何電子裝置或系統中實施。至於特定例示,下圖提供利用如本文描述的發明之系統實例。因後文以進一步細節描述系統,故自前文討論揭示、描述、及重提多種不同互連。如顯然易知,前述進展可應用至該等互連結構、組織結構、或架構中之任一者。
參考圖12,描繪包括多核心處理器的計算系統之方塊圖的一實施例。處理器1200包括任何處理器或處理裝置,諸如微處理器、嵌入式處理器、數位信號處理器(DSP)、手持式處理器、應用處理器、共處理器、單晶片系統(SOC)、或用於執行代碼的其它裝置。於一個實施例中,處理器1200包括至少二核心-核心1201及1202,其可包括非對稱核心或對稱核心(例示實施例)。然而,處理器1200可包括任何數目的處理元件,其可以是對稱或非對稱。
於一個實施例中,處理元件係指支援軟體執行緒的硬體或邏輯。硬體處理元件之實例包括:執行緒單元、執行緒插槽、執行緒、處理單元、脈絡、脈絡單元、邏輯處理器、硬體執行緒、核心、及/或任何其它元件,其能保有處理器的狀態,諸如執行狀態或架構狀態。換言之,於一個實施例中,處理元件係指能獨立地與代碼,諸如軟體執行緒、作業系統、應用程式、或其它代碼相關聯的硬體。實體處理器(或處理器插座)典型地係指積體電路,其潛在地包括任何數目的其它處理元件,諸如核
心或硬體執行緒。
核心經常係指位在能維持獨立架構狀態的積體電路上的邏輯,其中各個獨立維持的架構狀態係與至少若干專用執行資源相關聯。與核心相反地,硬體執行緒典型地係指位在能維持獨立架構狀態的積體電路上的任何邏輯,其中該等獨立維持的架構狀態分享存取執行資源。如圖可知,當某些資源為分享,而其它資源為架構狀態所專用時,硬體執行緒之命名與核心間之線路重疊。又經常,核心及硬體執行緒由作業系統視為個別邏輯處理器,於該處作業系統能在各個邏輯處理器上排程操作。
如於圖12中例示,實體處理器1200包括二核心-核心1201及1202。此處,核心1201及1202被視為對稱核心,亦即有相同組態、功能單元、及/或邏輯的核心。於另一實施例中,核心1201包括亂序處理器核心,而核心1202括有序處理器核心。然而,核心1201及1202可個別地選自任何核心類型,諸如本機核心、軟體管理核心、適用於執行本機指令集架構(ISA)的核心、適用於執行經轉譯的指令集架構(ISA)的核心、共設計核心、或其它已知核心。於非同質核心環境(亦即非對稱核心)中,可運用某個形式的轉譯,諸如二進制轉譯來在一個或兩個核心上排程或執行代碼。又進一步討論,核心1201中例示的功能單元容後詳述,核心1202中之單元係於描繪之實施例中以類似方式操作。
如圖描繪,核心1201包括兩個硬體執行
緒1201a及1201b。因此,於一個實施例中,軟體實體諸如作業系統可能將處理器1200視為四個分開處理器,亦即,能同時執行四個軟體執行緒的四個邏輯處理器或處理元件。如前文暗示,第一執行緒係與架構狀態暫存器1201a相關聯,第二執行緒係與架構狀態暫存器1201b相關聯,第三執行緒可與架構狀態暫存器1202a相關聯,及第四執行緒可與架構狀態暫存器1202b相關聯。此處,架構狀態暫存器(1201a、1201b、1202a、1202b)中之各者可稱作處理元件、執行緒插槽、或執行緒單元,如前文描述。如圖例示,架構狀態暫存器1201a於架構狀態暫存器1201b中複製,使得個別架構狀態/脈絡可針對邏輯處理器1201a及邏輯處理器1201b儲存。於核心1201中,其它較小型資源諸如,指令指標器及分配器及重新命名區塊1230中之命名邏輯也可針對執行緒1201a及1201b複製。有些資源諸如,重新定序/報廢單元1235中之重新定序緩衝器、ILTB 1220、載入/儲存緩衝器、及佇列可透過劃分而共享。其它資源諸如,通用內部暫存器、頁面表基暫存器、低層級資料-快取及資料-TLB 1215、執行單元1240及部分亂序單元1235可能完全共享。
處理器1200常包括其它資源,其可完全共享,透過劃分而共享、或由/對處理元件專用。於圖12中,例示具有處理器的例示性邏輯單元/資源的純粹例示性處理器之一實施例。注意處理器可包括或刪除此等功能單元中之任一者,以及包括任何其它未經描繪的已知之功
能單元、邏輯、或韌體。如圖例示,核心1201包括簡化代表性亂序(OOO)處理器核心。但有序處理器可運用於不同實施例。OOO核心包括分支目標緩衝器1220以預測欲執行/採取的分支,及指令轉譯緩衝器(I-LTB)1220以儲存用於指令的位址轉譯實體。
核心1201進一步包括耦合至提取單元1220的解碼模組1225以解碼被提取的元件。於一個實施例中,提取邏輯包括分別與執行緒插槽1201a、1201b相關聯的個別定序器。通常核心1201係與第一ISA相關聯,其界定/載明可在處理器1200上執行的指令。通常屬於第一ISA之一部分的機器代碼指令包括指令的一部分(稱作操作代碼),其指稱/載明欲被執行的指令或操作。解碼邏輯1225包括自其操作代碼辨識此等指令,及於管線中發送已解碼指令,以供如由第一ISA界定處理。舉例言之,容後詳述,於一個實施例中,解碼器1225包括經設計或適用於辨識特定指令,諸如交易指令的邏輯。由於藉解碼器1225辨識結果,架構或核心1201採取特定經界定的動作,以進行與適當指令相關聯的工作。要緊地須注意,本文描述的工作、方塊、操作、及方法中之任一者可回應於單一或多個指令進行;其中部分可以是新指令或舊指令。注意於一個實施例中,解碼器1226辨識相同ISA(或其子集)。另外,於非同質核心環境中,解碼器1226辨識第二ISA(第一ISA之一子集或分開ISA)。
於一個實例中,分配器及重新命名區塊
1230包括分配器以節約資源,諸如暫存器檔案以儲存指令處理結果。然而,執行緒1201a及1201b潛在可能亂序執行,於該處分配器及重新命名區塊1230也節約其它資源,諸如整序緩衝器以追蹤指令結果。單元1230也包括暫存器重新命名器,以重新命名程式/指令參考暫存器至處理器1200內部的其它暫存器。重新定序/報廢單元1235包括組件,諸如前述重新定序緩衝器、載入緩衝器、及儲存緩衝器,以支援亂序執行及後來亂序執行的指令之有序報廢。
於一個實施例中,排程器及執行單元區塊1240包括排程單元以在執行單元上排程指令/操作。舉例言之,浮點指令係在具有可用浮點執行單元的一執行單元埠上排程。執行單元相關聯的暫存器檔案也經涵括以儲存資訊指令處理結果。執行單元實例包括浮點執行單元、整數執行單元、跨接執行單元、載入執行單元、儲存執行單元、及其它已知執行單元。
較低層級資料快取及資料轉譯緩衝器(D-TLB)1250耦合至執行單元1240。資料快取記憶體係用以儲存晚近在元件上的使用/操作,諸如資料運算元,其潛在地維持於記憶體同調狀態。D-TLB係用以儲存晚近虛擬/線性至實體位址轉譯。至於一特定實例,處理器可包括頁面表結構,以將實體記憶體打破成多個虛擬頁面。
此處,核心1201及1202共享存取較高層
級或更外側快取,諸如與晶片上介面1210相關聯的第二層級快取。注意較高層級或更外側係指增加的或更遠離執行單元的快取層級。於一個實施例中,較高層級快取為最末層級資料快取-處理器1200上記憶體階層中之最末快取-諸如第二或第三層級資料快取。然而,較高層級快取並非受此所限,原因在於其可與指令快取相關聯或包括指令快取。取而代之,蹤跡快取-一型指令快取-可耦合於解碼器1225之後以儲存晚近經解碼的蹤跡。此處,指令可能指巨集指令(亦即,由解碼器辨識的一般指令),其可解碼成多個微指令(微操作)。
於該描繪組態中,處理器1200也包括晶片上介面模組1210。歷史上,記憶體控制器已涵括於處理器1200外部計算系統,容後詳述。於此種情況下,晶片上介面1210係用以與處理器1200外部裝置通訊,諸如系統記憶體1275、晶片組(常包括記憶體控制器集線器以連結至記憶體1275,及I/O控制器集線器以連結周邊裝置)、記憶體控制器集線器、北橋、或其它積體電路。及於此種情況下,匯流排1205可包括任何已知之互連結構,諸如,多點匯流排、點對點互連、串列互連、並聯匯流排、同調(例如,快取同調)匯流排、層狀協定架構、差分匯流排、及GTL匯流排。
記憶體1275可以是處理器1200專用,或與系統中之其它裝置共享。記憶體1275類型之常見實例包括DRAM、SRAM、非依電性記憶體(NV記憶體)、及
其它已知儲存裝置。注意裝置1280可包括耦合至記憶體控制器集線器的圖形加速器、處理器或卡、耦合至I/O控制器集線器的資料儲存裝置、無線收發器、快閃記憶體、音訊控制器、網路控制器、或其它已知裝置。
然而晚近,隨著更多邏輯及裝置整合至單一晶粒上,諸如SOC,此等裝置中之各者可結合於處理器1200上。舉例言之,於一個實施例中,記憶體控制器集線器係在與處理器1200的相同封裝及/或晶粒上。此處,部分核心(核心上部分)1210包括一或多個控制器用於介接其它裝置,諸如記憶體1275或圖形裝置1280。包括互連結構及用於介接此等裝置的控制器之組態常被稱作為核心上(或非核心組態)。舉個實例,晶片上介面1210包括用於晶片上通訊的環互連結構及用於非在晶片上通訊的高速串列點對點鏈路1205。又,於SOC環境中,甚至更多裝置,諸如網路介面、共處理器、記憶體1275、圖形處理器1280、及任何其它已知電腦裝置/介面可整合至單一晶粒或積體電路上,以給小形狀因數提供以高功能及低功耗。
於一個實施例中,處理器1200能執行編譯器、優化、及/或轉譯器代碼1277,以編譯、轉譯、及/或優化應用程式代碼1276,以支援本文描述的設備及方法或與其介接。編譯器時常包括一程式或一集合之程式以將來源文字/代碼轉譯成目標文字/代碼。通常,使用編譯器的程式/應用代碼之編譯係以多相位進行及發送,以將
高階程式語言代碼轉換成低階機器或組合語言代碼。又,單通編譯器仍可運用於簡單編譯。編譯器可利用任何已知之編譯技術及進行任何已知編譯器操作,諸如,詞彙分析、前處理、剖析、語意分析、代碼產生、代碼變換、及代碼優化。
更大型編譯器時常包括多個相位,但最時常此等相位係涵括於兩個通用相位內:(1)前端,亦即,大致上於該處可進行語法處理、語意處理、及若干變換/優化,及(2)後端,亦即,大致上於該處進行分析、變換、優化、及代碼產生。有些編譯器係指中間,其例示編譯器之前端與後端間之輪廓模糊。結果,述及編譯器的插入、關聯、產生、或其它操作可於前述相位或通過中之任一者,以及編譯器的任何其它已知相位或通過進行。舉個具體實施例,編譯器潛在地將操作、呼叫、功能等插入一或多個編譯相位,諸如,呼叫/操作插入前端編譯相位,及然後,於變換相位期間將呼叫/操作變換成低階代碼。注意於動態編譯期間,編譯器代碼或動態優化代碼可插入此等操作/呼叫,以及優化代碼用於運轉期間的執行。至於特定具體實施例,於運轉期間可動態優化二進制代碼(已編譯的代碼)。此處,程式代碼可包括動態優化代碼、二進制代碼、或其組合。
類似編譯器,轉譯器諸如二進制轉譯器,靜態地或動態地轉譯代碼以優化及/或轉譯代碼。因此,述及代碼、應用程式代碼、程式代碼、或其它軟體環境的
執行可指:(1)動態地或靜態地,編譯器程式、優化代碼優化器、或轉譯器的執行用以編譯程式代碼,維持軟體結構,進行其它操作,優化代碼,或轉譯代碼;(2)主程式代碼包括操作/呼叫,諸如已被優化的/編譯的應用程式代碼之執行;(3)與主程式代碼相關聯的其它程式代碼諸如存庫之執行用以維持軟體結構,進行其它軟體相關操作,或優化代碼;或(4)其組合。
轉向參考圖13,帶有包括執行單元以執行指令的一處理器形成的電腦系統實例之方塊圖,於該處例示依據本發明之一個實施例實施一或多個特徵之互連結構中之一或多者。依據本發明,系統1300包括一組件諸如處理器1302,以採用涵括邏輯的執行單元以進行處理資料之演算法,諸如於本文描述的實施例中。系統1300為基於奔騰(PENTIUM)IIITM、奔騰4TM、至強TM(XeonTM)、安騰(Itanium)、叉縮放TM(XScaleTM)、及/或鐵腕TM(StrongARMTM)微處理器之處理系統的代表例,但也可使用其它系統(包括具有其它微處理器的PC、工程工作站、機上盒等)。於一個實施例中,樣本系統1300執行得自華盛頓州里德蒙的微軟公司(Microsoft Corporation)的視窗(WINDOWSTM)作業系統版本,但也可使用其它作業系統(例如,UNIX及Linux)、嵌入式軟體、及/或圖形使用者介面。如此,本發明之實施例並不限於硬體電路及軟體的任何特定組合。
實施例非僅限於電腦系統。本發明之替代
實施例可使用於其它裝置,諸如手持式裝置及嵌入式應用。手持式裝置之若干實施例包括細胞式電話、網際網路協定裝置、數位相機、個人數位助理器(PDA)、及手持式PC。嵌入式應用可包括微控制器、數位信號處理器(DSP)、單晶片系統、網路電腦(NetPC)、機上盒、網路集線器、廣域網路(WAN)交換器、或依據至少一個實施例可進行一或多個指令的任何其它系統。
於此具體實施例中,處理器1302包括一或多個執行單元1308用以實施欲進行至少一個指令的演算法。一個實施例可於單一處理器桌上型電腦或伺服器系統之脈絡中描述,但替代實施例可涵括於多處理器系統中。系統1300為「集線器」系統架構之實例。電腦系統1300包括處理器1302以處理資料信號。至於一個具體實施例,處理器1302包括複雜指令集電腦(CISC)微處理器、精簡指令集電腦(RISC)微處理器、極長指令字(VLIW)微處理器、實施指令集之組合的處理器、或任何其它處理器裝置,諸如數位信號處理器。處理器1302耦合至處理器匯流排1310,其於處理器1302與系統1300中之其它組件間發射資料信號。系統1300之元件(例如,圖形加速器1312、記憶體控制器集線器1316、記憶體1320、I/O控制器集線器1324、無線收發器1326、快閃BIOS 1328、網路控制器1334、音訊控制器1336、串列擴充埠1338、I/O控制器1340等)進行熟諳技藝人士眾所周知之習知功能。
於一個實施例中,處理器1302包括層級1(L1)內部快取記憶體1304。取決於架構,處理器1302可具有單一內部快取記憶體或多層級的內部快取記憶體。其它實施例包括,取決於特定實施例及需要,內部及外部快取記憶體兩者的組合。暫存器檔案1306用以於各種暫存器中儲存不同型資料,包括整數暫存器、浮點暫存器、向量暫存器、排組暫存器、陰影暫存器、檢查點暫存器、狀態暫存器、及指令指標暫存器。
執行單元1308包括進行整數及浮點操作的邏輯之執行也係駐在於處理器1302中。於一個實施例中,處理器1302包括微代碼(ucode)ROM以儲存微代碼,微代碼當執行時,用以進行某些巨集指令的演算法或處理複雜的情境。此處,微代碼可能可更新以處理處理器1302的邏輯缺陷/修復。至於一個實施例,執行單元1308包括處理壓縮指令集1309之邏輯。藉由涵括壓縮指令集1309於通用處理器1302的指令集中,連同執行指令的相關聯電路,由許多多媒體應用使用的操作可使用於通用處理器1302中之壓縮資料進行。如此,藉使用使用處理器的資料匯流排之全寬進行壓縮資料上的操作,更有效地加速及執行許多多媒體應用。如此潛在地免除了需要跨處理器的資料匯流排移轉較小單位的資料以進行一或多個操作,一次一個資料元件。
執行單元1308之替代實施例也可使用於微控制器、嵌入式處理器、圖形裝置、DSP、及其它類型
的邏輯電路。系統1300包括記憶體1320。記憶體1320包括動態隨機存取記憶體(DRAM)裝置、靜態隨機存取記憶體(SRAM)裝置、快閃記憶體裝置、或其它記憶體裝置。記憶體1320儲存欲由處理器1302執行的指令及/或由資料信號表示的資料。
注意前述本發明之特徵或面向中之任一者可利用在圖13中例示的一或多個互連結構。舉例言之,用於耦合處理器1302之內部單元的晶粒上互連結構(ODI)(未顯示於圖中)實施前文描述的本發明之一或多個面向。或本發明係與處理器匯流排1310(例如,其它已知之高效能計算互連結構)、至記憶體1320的高頻寬記憶體路徑1318、至圖形加速器1312的點對點鏈路(例如,周邊組件互連快速(PCIe)依從性組織結構)、控制器集線器互連1322、I/O、或用於耦合其它例示組件的其它互連結構(例如,USB、PCI、PCIe)相關聯。此等組件之若干實例包括音訊控制器1336、韌體集線器(快閃BIOS)1328、無線收發器1326、資料儲存裝置1324、含用戶輸入及鍵盤介面1342的舊式I/O控制器1310、串列擴充埠1338諸如通用串列匯流排(USB)、及網路控制器1334。資料儲存裝置1324可包含硬碟驅動裝置、軟碟驅動裝置、CD-ROM裝置、快閃記憶體裝置、或其它大容量儲存裝置。
現在參考圖14,顯示依據本發明之一實施例第二系統1400之方塊圖。如於圖14中顯示,多處理
器系統1400為點對點互連系統,及包括透過點對點互連1450耦合的第一處理器1470及第二處理器1480。處理器1470及1480中之各者可以是處理器的某個版本。於一個實施例中,1452及1454為串列點對點同調互連組織結構的一部分,諸如高效能架構。結果,本發明可於QPI架構內部實施。
雖然顯示只有兩個處理器1470、1480,但須瞭解本發明之範圍並非受此所限。於其它實施例中,一或多個額外處理器可存在於一給定處理器。
處理器1470及1480顯示為分別包括整合式記憶體控制器單元1472及1482。處理器1470也包括點對點(P-P)介面1476及1478作為其匯流排控制器單元之部件;同理,第二處理器1480包括P-P介面1486及1488。處理器1470、1480可使用P-P介面電路1478、1488透過點對點(P-P)介面1450交換資訊。如於圖14中顯示,IMC 1472及1482耦合該等處理器至個別記憶體,亦即記憶體1432及記憶體1434,其可為本地附接至個別處理器之主記憶體之部分。
處理器1470、1480可使用點對點介面電路1476、1494、1486、1498透過個別P-P介面1452、1454與一晶片組1490各自交換資訊。晶片組1490也可透過介面電路1492沿一高效能介面1439與高效能圖形電路1438交換資訊。
一分享快取記憶體(圖中未顯示)可含括於
任一處理器內或二處理器外部,但仍透過P-P互連結構而連結該等處理器,使得若一處理器係置於低功率模式,則任一或二處理器的本地快取資訊可儲存於該分享快取記憶體。
晶片組1490可透過一介面1496而耦接至一第一匯流排1416。於一個實施例中,該第一匯流排1416可為一週邊組件互連(PCI)匯流排,或一匯流排諸如PCI快速匯流排或另一第三代I/O互連匯流排,但本發明之範圍並非受此所限。
如圖14中顯示,各種I/O裝置1414可耦接至第一匯流排1416,連同一匯流排橋接器1418其耦合第一匯流排1416至一第二匯流排1420。於一個實施例中,第二匯流排1420包括一低針腳數目(LPC)匯流排。於一個實施例中,各種裝置可耦接至一第二匯流排1420,包括例如鍵盤及/或滑鼠1422、通訊裝置1427、及一儲存單元1428,諸如碟片驅動裝置或其它大容量儲存裝置其時常包括指令/碼及資料1430。又,音訊I/O 1424顯示為耦接至第二匯流排1420。注意其它架構為可能,於該處涵括的組件及互連架構各異。舉例言之,替代圖14之點對點架構,一系統可實施多點匯流排或其它此種架構。
其次轉向圖15,描繪依據本發明之單晶片系統(SOC)設計的一實施例。至於特定具體實施例,SOC 1500涵括於用戶裝備(UE)。於一個實施例中,UE
指稱欲由終端用戶用來通訊的任何裝置,諸如手持式電話、智慧型電話、平板、超薄筆電、附寬頻配接器的筆電、或任何其它相似的通訊裝置。經常UE連結至基地台或節點,其潛在地本質上對應GSM網路中之行動站台(MS)。
此處SOC 1500包括兩個核心-1706及1507。類似如上討論,核心1506及1507可符合指令集架構,諸如以英特爾®(Intel®)架構核心TM為基礎的處理器、超微公司(AMD)處理器、以MIPS為基礎的處理器、以ARM為基礎的處理器、或其客戶,以及其被授權者或其採用者。核心1506及1507耦合至與匯流排介面單元1509及L2快取1511相關聯的快取控制1508以與SOC 1500之其它部分通訊。互連結構1510包括晶片上互連結構,諸如IOSF、AMBA、或如上討論的其它互連結構,其潛在地實施本文描述的一或多個面向。
介面1510提供通訊通道給其它組件,諸如用戶身分模組(SIM)1530以介接SIM卡;啟動rom 1535以保有啟動代碼用於由核心1506及1507執行以起始及啟動SOC 1500;SDRAM控制器1540以介接外部記憶體(例如,DRAM 1560);快閃控制器1545以介接非依電性記憶體(例如,快閃記憶體1565);周邊控制1550(例如,串列周邊介面)以介接周邊裝置;視訊編解碼器1520及視訊介面1525以顯示及接收輸入(例如,觸控致能輸
入);GPU 1515以進行圖形相關計算等。此等介面中之任一者可結合本文描述的本發明之面向。
此外,系統例示用於通訊之周邊裝置,諸如藍牙模組1570、3G數據機1575、GPS 1585、及WiFi 1585。注意如上陳述,UE包括通訊用之無線電。結果,並不全部要求此等周邊通訊模組。然而,於UE中將涵括某種形式的外部通訊用之無線電。
雖然已經就有限數目之實施例描述本發明,但熟諳技藝人士將瞭解可做出無數修改及變化。預期隨附之申請專利範圍涵蓋落入於本發明之精髓及範圍內之全部此等修改及變化。
設計可通過各種階段,自創作至模擬至製造。表示一設計的資料可以多種方式表示該設計。首先,如於模擬中有用的,硬體可使用硬體描述語言或其它功能描述語言表示。此外,帶有邏輯及/或電晶體閘極的電路層級模型可於設計過程的某個階段產生。又復,在某個階段,大部分設計達到表示各種裝置於硬體模型中之實體位置之資料層級。以使用習知半導體製造技術為例,表示硬體模型的資料可以是載明用來製造積體電路的遮罩之不同遮罩層上的各種特徵是否存在與否的資料。於設計之任何表示型態中,資料可以機器可讀取媒體形式儲存。記憶體或磁性或光學儲存裝置諸如碟片可以是機器可讀取媒體,用以儲存透過經調變的或以其它方式產生的用來發射此等資訊的光波或電波所發射的資訊。當發射指示或載有該代
碼或設計的電氣載波時,至進行電氣信號的複製、緩衝、或轉發的程度,製作新拷貝複本。如此,通訊提供者或網路提供者可在具體有形的機器可讀取媒體上至少暫時地儲存實施本發明之實施例技術的物件,諸如編碼成載波的資訊。
如於本文中使用,模組係指硬體、軟體、及/或韌體之任何組合。舉個實例,一模組包括與非暫態媒體相關聯的硬體諸如微控制器來儲存適用於由微控制器執行的代碼。因此,於一個實施例中,述及一模組係指特別經組配以辨識及/或執行欲保有於非暫態媒體上的代碼之硬體。又復,於另一實施例中,一模組的使用係指包括代碼的非暫態媒體,該代碼特別適合由微控制器執行以進行預定操作。及如可推論,於又另一個實施例中,術語模組(於此實例中)可指稱微控制器與非暫態媒體的組合。經常例示為分開的模組邊界常見改變及潛在重疊。舉例言之,第一及第二模組可共享硬體、軟體、韌體、或其組合,而可能保有某些獨立硬體、軟體、或韌體。於一個實施例中,術語邏輯的使用包括硬體,諸如電晶體、暫存器、或其它硬體諸如可程式化邏輯裝置。
於一個實施例中,片語「經組配以」的使用係指排列、放置在一起、製造、銷貨要約、進口及/或設計一設備、硬體、邏輯、或元件以進行指定的或預定的任務。於此實例中,未操作的一設備或其元件若係經設計、耦合、及/或互連以進行一指定任務,則仍然「經組配
以」進行該指定的任務。至於純粹例示性實例,操作期間邏輯閘可提供0或1。但「經組配以」提供一致能信號至時鐘的邏輯閘並不包括可提供0或1的每個潛在邏輯閘。取而代之,邏輯閘為以某種方式耦合因而於操作期間1或0輸出將致能該時鐘者。再度注意術語「經組配以」的使用不要求操作,但取而代之,聚焦於一設備、硬體、及/或元件的潛伏狀態,於該處於潛伏狀態中,設備、硬體、及/或元件係設計來當設備、硬體、及/或元件操作時進行特別任務。
又復,於一個實施例中,片語「用以」、「能夠/用以」、及或「可操作以」的使用係指有些設備、邏輯、硬體、及/或元件經設計成使得設備、邏輯、硬體、及/或元件能以特定方式使用。注意如前述,於一個實施例中,用以、能夠用以、或可操作以係指設備、邏輯、硬體、及/或元件的潛伏狀態,於該處設備、邏輯、硬體、及/或元件並不操作,但經設計成使得設備能以特定方式使用。
如於本文中使用,一值包括數字、狀態、邏輯狀態、或二進制邏輯狀態之任何已知表示型態。經常,邏輯位準、邏輯值、或邏輯數值的使用也係指1及0,其單純表示二進制邏輯狀態。舉例言之,1係指高邏輯位準,及0係指低邏輯位準。於一個實施例中,儲存胞元,諸如電晶體或快閃胞元,可能保有單一邏輯值或多個邏輯值。然而,已使用於電腦系統中其它數值表示型態。
舉例言之,十進制數字10也表示1010的二進制值及十六進制字母A。因此,一值包括能被維持於電腦系統中之資訊的任何表示型態。
又復,狀態可藉數值或部分數值表示。舉個實例,第一值諸如邏輯1可代表內定狀態或初始狀態,而第二值諸如邏輯0可代表非內定狀態。此外,於一個實例中,術語復置及設定分別地係指內定及已更新值或狀態。舉例言之,內定值潛在地包括高邏輯值,亦即復置,而已更新值潛在地包括低邏輯值,亦即設定。注意任何數值組合可運用來表示任何數目的狀態。
如上列舉的方法、硬體、軟體、韌體、或代碼之實施例可透過儲存於可由處理元件執行的機器可存取、機器可讀取、電腦可存取、或電腦可讀取媒體上的指令或代碼實施。非暫態機器可存取/可讀取媒體包括提供(亦即,儲存及/或發射)呈機器諸如電腦或電子系統可讀取形式的資訊。舉例言之,非暫態機器可存取媒體包括隨機存取記憶體(RAM)、諸如靜態RAM(SRAM)或動態RAM(DRAM);ROM;磁性或光學儲存媒體;快閃記憶體裝置;電氣儲存裝置;光學儲存裝置;聲學儲存裝置;用於保有接收自暫態(經傳播的)信號(例如,載波、紅外線信號、數位信號)的資訊之其它形式之儲存裝置;等,其將與可自其中接收資訊的非暫態媒體區別。
用以規劃邏輯來進行本發明之實施例的指令可儲存於系統的記憶體內部,諸如DRAM、快取記憶
體、快閃記憶體、或其它儲存裝置。又復,指令可透過網路或藉由其它電腦可讀取媒體區別。如此,機器可讀取媒體可包括用於以可由機器(例如,電腦)讀取的形式儲存或發射資訊的任何機構,但非限制性,軟碟、光碟、光碟-唯讀記憶體(CD-ROM)、及磁光碟、唯讀記憶體(ROM)、隨機存取記憶體(RAM)、可抹除可規劃唯讀記憶體(EPROM)、電氣可抹除可規劃唯讀記憶體(EEPROM)、磁卡或光卡、快閃記憶體、或在網際網路上透過電氣、光學、聲學或其它形式的傳播信號(例如,載波、紅外線信號、數位信號)使用於資訊的發射之具體有形機器可讀取儲存裝置。據此電腦可讀取媒體包括適合用於以由機器(例如,電腦)可讀取形式儲存或發射電子指令或資訊之任何類型之具體有形機器可讀取媒體。
下列實例係有關於根據本說明書之實施例。實例1可提出一系統、一機器可讀取儲存裝置、一機器可讀取媒體、以硬體-及/或軟體-為基礎之邏輯、一方法、及具有記憶體以儲存一第一裝置之一特定暫存器的一設備、及至少部分地於硬體中實施的實體層邏輯。該實體層邏輯係可執行或以其它方式可使用來自該特定暫存器存取資料,其中該第一裝置係透過一鏈路連結至一第二裝置,該鏈路包含至少一個重定時器,該特定暫存器對應於欲在與該重定時器帶內交易中發送的請求,及該資料對應於與該重定時器之一特定交易;及產生至少一個有序集合以包含以該資料編碼的一子集之位元,其中該有序集合係
欲在該鏈路上發送,及該子集之位元係於該特定交易中由該重定時器處理。
實例2可包括實例1之主旨,其中該特定交易包括一請求以自該重定時器之一暫存器讀取資料及該請求係自該資料產生。
實例3可包括實例1-2中任一者之主旨,其中該特定交易包括一請求以將資料寫入至該重定時器之一暫存器及該請求係自該資料產生。
實例4可包括實例1-3中任一者之主旨,其中該鏈路包括複數重定時器,該重定時器包括該等複數重定時器中之特定一者,及該子集之位元係進一步經編碼以識別該特定交易係針對該特定重定時器。
實例5可包括實例1-4中任一者之主旨,其中該子集之位元包括如根據一特定協定界定的該有序集合的保留位元。
實例6可包括實例5之主旨,其中該特定協定包括一以周邊組件互連快速(PCIe)為基礎的協定及該有序集合係依從該以PCIe為基礎的協定。
實例7可包括實例5-6中任一者之主旨,其中該有序集合包括一PCIe SKP有序集合。
實例8可包括實例1-7中任一者之主旨,其中該有序集合包括一第一有序集合及該實體層邏輯係進一步用以接收由該第二裝置產生的一第二有序集合,其中
該第二有序集合包括由該重定時器回應於該第一有序集合之該經編碼的位元之子集編碼的一子集之位元。
實例9可包括實例8之主旨,其中該實體層邏輯係用以識別該第二有序集合為於一交握中該第一有序集合之一確認。
實例10可包括實例8-9中任一者之主旨,其中該第二有序集合之該子集之位元係以對應於該特定交易中由該重定時器之一回應的資料編碼。
實例11可包括實例10之主旨,其中該特定交易涉及該重定時器之一暫存器的一讀取或寫入。
實例12可包括實例10-11中任一者之主旨,其中該特定暫存器包括一第一暫存器,該記憶體進一步儲存一第二暫存器,及該第二暫存器儲存於該等帶內交易中接收自該重定時器的回應。
實例13可包括實例12之主旨,其中系統軟體寫入至該第一暫存器及讀取自該第二暫存器。
實例14可包括實例1-13中任一者之主旨,其中該子集之位元包括由該重定時器使用於識別該子集之位元中之一位元錯誤的一或多個錯誤檢測位元。
實例15可包括實例14之主旨,其中該等錯誤檢測位元包括一循環冗餘檢查(CRC)值。
實例16可包括實例1-15中任一者之主旨,其中該實體層邏輯係用以使用該有序集合於與該重定時器之一暫存器不相關的該鏈路之訓練。
實例17可提出一系統、一機器可讀取儲存裝置、一機器可讀取媒體、以硬體-及/或軟體-為基礎之邏輯、一方法、及帶有一重定時器的一設備包括一組態暫存器及實體層邏輯用以自包括以該資料編碼的一子集之位元之一第一裝置接收一第一有序集合用以識別對應至該組態暫存器的一指令;解碼該子集之位元;及基於該指令在該組態暫存器上進行一操作,其中該重定時器延長連接該第一裝置至一第二裝置的一通道。
實例18可包括實例17之主旨,其中該實體層邏輯係進一步用以產生對應該操作之效能的結果資料;自該第二裝置接收一第二有序集合;以該結果資料編碼於該第二有序集合中之一子集之位元;及發送帶有該經編碼之位元之子集的該第二有序集合至該第一裝置。
實例19可包括實例17-18中任一者之主旨,其中該重定時器缺乏鏈路層及交易層邏輯。
實例20可提出一系統、一機器可讀取儲存裝置、一機器可讀取媒體、以硬體-及/或軟體-為基礎之邏輯可執行以將資料寫入至一第一裝置的一第一暫存器,其中該第一裝置係透過一鏈路連結至一第二裝置,該鏈路包括至少一個重定時器,該第一暫存器對應於該重定時器之一組態暫存器,該資料對應於一交易以存取該組態暫存器,於一有序集合之一第一例中之一指定子集之位元係以該資料編碼,及具有該經編碼之子集之位元的該有序集合之該第一例係透過該重定時器被發送至該第二裝置,
及自該第一裝置的一第二暫存器讀取資料,其中該資料包括於該有序集合之一第二例中之一子集之位元中由該重定時器編碼的資料。
實例21可提出具有一重定時器、一第一裝置、及藉包括該重定時器之一鏈路而連結至該第一裝置之一第二裝置的一系統。該第二裝置可包括至少部分地於硬體中實施的實體層邏輯,該實體層邏輯用以產生至少一個有序集合來包括經編碼以指示針對該重定時器之一請求的一子集之位元其中該有序集合係用以於該鏈路上發送及該有序集合之另一子集之位元係用以由該第一裝置使用於該鏈路之訓練。
實例22可包括實例21之主旨,其中該第二裝置進一步包括記憶體以儲存一暫存器用以提供資料以嵌入該有序集合中。
實例23可包括實例22之主旨,其中該實體層邏輯係進一步用以接收由該第一裝置產生的一第二有序集合,其中該第二有序集合包括由該重定時器回應於該第一有序集合之該經編碼的位元之子集編碼的一子集之位元。
實例24可包括實例23之主旨,其中該暫存器包括一第一暫存器及該記憶體進一步包括一第二暫存器以紀錄該重定時器的該回應。
實例25可包括實例24之主旨,進一步包括系統軟體以寫入至該第一暫存器及讀取自該第二暫存器。
全文說明書中述及「一個實施例」或「一實施例」表示連結該實施例描述的特定特徵、結構、或特性係涵括於本發明之至少一個實施例中。因此,全文說明書中各處片語「於一個實施例中」或「於一實施例中」的出現並非必然全部係指相同實施例。又復,該等特定特徵、結構、或特性可以任何合宜方式組合於一或多個實施例中。
於前文說明書中,已經參考特定具體實施例給定詳細說明。然而,顯然易知不背離如於隨附之申請專利範圍中陳述的本發明之廣義精髓及範圍,可於其中做出各種修改及變化。據此,說明書及附圖須視為例示性意義而非限制性意義。又復,前述實施例及其它語言實例的使用並非必要全部皆係指相同實施例或相同實例,反而可指不同的分開實施例,以及潛在地相同實施例。
200:協定堆疊
205:交易層
206:封包標頭/酬載
210:資料鏈路層
211:封包順序識別符
212:循環冗餘檢查(CRC)
220:實體層
221:邏輯子區塊
222:電氣子區塊
223:框
Claims (38)
- 一種電子設備,其包含:一重定時器,其包含:一暫存器;一上游埠,其用以:接收來自在一鏈路上之一第一裝置之一第一有序集合,其中該第一有序集合之事例包含用以識別一命令及該重定時器之一識別符之一個或多個欄位;電路系統,其用以:從該等一個或多個欄位判定該第一有序集合包含該命令,其中該命令包含用以存取該重定時器之該暫存器之一命令;及產生包含來自該暫存器之一暫存器值之酬載資料;其中該上游埠係進一步用以發送一第二有序集合至該第一裝置,其中該第二有序集合之事例包含該酬載資料。
- 如請求項1之電子設備,其中該上游埠包含用以接收該第一有序集合之一接收器,及進一步包含用以發送該第二有序集合之一發射器。
- 如請求項1之電子設備,其中該重定時器進一步包含用以連結至在該鏈路上之一第二裝置之一下游埠,其中該鏈路係用以連結該第一裝置至該第二裝置,並且該重定時器係在該鏈路上之該第一裝置與該第二裝置之 間。
- 如請求項3之電子設備,其中該下游埠係用以:在該上游埠之該第一有序集合之接收之後接收另一有序集合,並且該第二有序集合係回應於接收該另一有序集合而產生。
- 如請求項4之電子設備,其中該重定時器進一步包含重定時器電路系統,其用以重新產生在該上游埠上所接收之資料以用於在該下游埠上傳輸,及重新產生在該下游埠上所接收之資料以用於在該上游埠上傳輸,其中該上游埠重新產生該另一有序集合以加入該酬載資料並藉此產生該第二有序集合。
- 如請求項4之電子設備,其中該第一有序集合、該第二有序集合、及其他有序集合之每一者包含一特定定義規格有序集合之一各別的事例。
- 如請求項1之電子設備,其中該暫存器包含該重定時器之組態資訊。
- 如請求項1之電子設備,其中該鏈路包含複數個重定時器,該重定時器為該等複數個重定時器中之一特定者,並且該等一個或多個欄位包含多個位元,用以識別該命令係導向該等複數個重定時器中之何者。
- 如請求項1之電子設備,其中該等一個或多個欄位包含根據一特定協定所定義之該有序集合之經保留之欄位。
- 如請求項9之電子設備,其中該特定協定包含基於一周邊組件互連快速架構(PCIe)之協定並且該有序集合係順應該基於PICe之協定。
- 如請求項10之電子設備,其中該有序集合包含一PCIe SKP有序集合。
- 如請求項1之電子設備,其中其中該第一有序集合包含一循環冗餘檢查(CRC)值。
- 如請求項12之電子設備,其中該重定時器係進一步用以檢測該CRC值。
- 如請求項12之電子設備,其中該重定時器係進一步計算用於該第二有序集合之一第二CRC值,並且該第二有序集合係被產生以包括該第二CRC值。
- 如請求項1之電子設備,其中該第二有序集合係被產生以進一步包含用以包括該重定時器之該識別符之一個或多個欄位。
- 一種電子設備,其包含:一第一裝置,其中該第一裝置包含:用以經由一鏈路連結至一第二裝置之一埠,其中該鏈路包含配置在該鏈路上之該第一裝置及該第二裝置之間之一重定時器;及鏈路訓練邏輯,其包含硬體電路系統,其中該鏈路訓練邏輯係用以產生一有序集合之一第一事例,其要包含用以識別該重定時器及用於存取至該重定時器之一暫存器之一命令之一個或多個欄位, 其中該埠包含:一發射器,其用以發送在該鏈路上之該有序集合;及一接收器,其用以接收該有序集合之一第二事例,其中該有序集合之該第二事例包含以來自該重定時器之該暫存器之一暫存器值來編碼之一個或多個欄位。
- 如請求項16之電子設備,其中該有序集合之該第二事例起源於該第二裝置且該暫存器值係由該重定時器而被加入至該等一個或多個欄位。
- 如請求項16之電子設備,其中該電子設備包含一伺服器系統裝置。
- 如請求項16之電子設備,其中該重定時器之該暫存器包含該重定時器之組態資訊。
- 如請求項16之電子設備,其中該等一個或多個欄位包含根據一特定協定所定義之該有序集合之經保留之欄位。
- 如請求項20之電子設備,其中該特定協定包含基於一周邊組件互連快速架構(PCIe)之協定並且該有序集合係順應該基於PICe之協定。
- 如請求項21之電子設備,其中該有序集合包含一PCIe SKP有序集合。
- 一種用於通訊之方法,其包含:在一重定時器裝置處,接收來自在一鏈路上之一第一裝置之一有序集合之一第一事例,其中該有序集合包含 用以識別一命令及該重定時器裝置之一識別符之一個或多個欄位,該鏈路將該第一裝置與一第二裝置連結,並且該重定時器裝置被設置在該鏈路上之該第一裝置及該第二裝置之間;在該重定時器裝置處,由該等一個或多個欄位來判定該有序集合包含該命令,其中該命令包含用以存取該重定時器裝置之一暫存器之一命令;將該有序集合之該第一事例從該重定時器裝置轉傳至該鏈路上之該第二裝置;產生包含來自該暫存器之一暫存器值之酬載資料;接收來自該鏈路上之該第二裝置之該有序集合之一第二事例;以及將帶有該酬載資料之該有序集合之該第二事例從該重定時器裝置轉傳至該第一裝置以作為對該命令之一回應。
- 如請求項23之方法,其中該暫存器包含該重定時器裝置之組態資訊。
- 如請求項23之方法,其中該等一個或多個欄位包含根據一特定協定所定義之該有序集合之經保留之欄位。
- 如請求項25之方法,其中該特定協定包含基於一周邊組件互連快速架構(PCIe)之協定並且該有序集合係順應該基於PICe之協定。
- 如請求項26之方法,其中該有序集合包 含一PCIe SKP有序集合。
- 一種電子系統,其包含:一第一裝置;一重定時器;及一第二裝置,其藉一鏈路連結至該第一裝置,其中該重定時器係在該鏈路上之該第一裝置與該第二裝置之間並且係用以延伸該鏈路之實體長度,其中該重定時器包含:一暫存器;一上游埠,其用以:接收來自在該鏈路上之該第一裝置之一有序集合之一第一事例,其中該有序集合之該第一事例包含一個或多個欄位,該等一個或多個欄位係用以指示該重定時器之一識別符及識別該有序集合之該第一事例包含用以存取該重定時器之該暫存器之一命令;及暫存器管理邏輯,其用以:由該等一個或多個欄位來判定該有序集合包含用以存取該重定時器之暫存器之該命令;產生包含來自該暫存器之一暫存器值之酬載資料;其中該上游埠係進一步發送該有序集合之一第二事例至該鏈路上之該第一裝置,其中該有序集合之該第二事例包含該酬載資料以作為針對該命令之一回應。
- 如請求項28之電子系統,其中該第一裝 置包含一資料處理裝備及用以儲存接收於該有序集合之該第二事例之該暫存器值中之暫存器資訊之記憶體。
- 如請求項28之電子系統,其中該第一裝置包含一伺服器插座。
- 如請求項28之電子系統,其中該第一裝置與該第二裝置中之一個或多個包含一卡片裝置。
- 如請求項28之電子系統,其中該第一裝置包含:一埠,其用以經由該鏈路來連結至該第二裝置;及鏈路訓練邏輯,其包含硬體電路系統,其中該鏈路訓練邏輯係用以產生該有序集合之該第一事例,其要包含用來識別該重定時器及該命令之該等一個或多個欄位。
- 如請求項32之電子系統,其中該第一裝置進一步包含用以儲存重定時器暫存器資訊之記憶體,該重定時器暫存器資訊包含於該有序集合之該第二事例所接收之該暫存器值。
- 如請求項28之電子系統,其中該第一裝置包含:一埠,其用以經由該鏈路來連結至該第二裝置;及鏈路訓練邏輯,其包含硬體電路系統,其中該鏈路訓練邏輯係用以產生要包含該一個或多個欄位之該有序集合之事例。
- 如請求項28之電子系統,其中該暫存器包含該重定時器之組態資訊。
- 如請求項28之電子系統,其中該一個或多個欄位包含根據一特定協定所定義之該有序集合之經保留之欄位。
- 如請求項36之電子系統,其中該特定協定包含基於一周邊組件互連快速架構(PCIe)之協定並且該有序集合係順應該基於PICe之協定。
- 如請求項37之電子系統,其中該有序集合包含一PCIe SKP有序集合。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662310932P | 2016-03-21 | 2016-03-21 | |
US62/310,932 | 2016-03-21 | ||
US15/198,605 US20170270062A1 (en) | 2016-03-21 | 2016-06-30 | In-band retimer register access |
US15/198,605 | 2016-06-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201734823A TW201734823A (zh) | 2017-10-01 |
TWI771286B true TWI771286B (zh) | 2022-07-21 |
Family
ID=59847628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106103961A TWI771286B (zh) | 2016-03-21 | 2017-02-07 | 電子設備、電子系統及用於通訊之方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US20170270062A1 (zh) |
CN (2) | CN110262923B (zh) |
DE (1) | DE112017001430T5 (zh) |
TW (1) | TWI771286B (zh) |
WO (1) | WO2017165056A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170270062A1 (en) | 2016-03-21 | 2017-09-21 | Intel Corporation | In-band retimer register access |
US10784986B2 (en) * | 2017-02-28 | 2020-09-22 | Intel Corporation | Forward error correction mechanism for peripheral component interconnect-express (PCI-e) |
US10789201B2 (en) * | 2017-03-03 | 2020-09-29 | Intel Corporation | High performance interconnect |
US11263143B2 (en) | 2017-09-29 | 2022-03-01 | Intel Corporation | Coherent accelerator fabric controller |
US10896265B2 (en) | 2018-08-02 | 2021-01-19 | Micron Technology, Inc. | Register access |
US10771189B2 (en) | 2018-12-18 | 2020-09-08 | Intel Corporation | Forward error correction mechanism for data transmission across multi-lane links |
US11637657B2 (en) | 2019-02-15 | 2023-04-25 | Intel Corporation | Low-latency forward error correction for high-speed serial links |
US11249837B2 (en) | 2019-03-01 | 2022-02-15 | Intel Corporation | Flit-based parallel-forward error correction and parity |
US10997111B2 (en) | 2019-03-01 | 2021-05-04 | Intel Corporation | Flit-based packetization |
US11016731B2 (en) | 2019-03-29 | 2021-05-25 | Intel Corporation | Using Fuzzy-Jbit location of floating-point multiply-accumulate results |
US11397701B2 (en) * | 2019-04-30 | 2022-07-26 | Intel Corporation | Retimer mechanisms for in-band link management |
US11296994B2 (en) | 2019-05-13 | 2022-04-05 | Intel Corporation | Ordered sets for high-speed interconnects |
US11740958B2 (en) | 2019-11-27 | 2023-08-29 | Intel Corporation | Multi-protocol support on common physical layer |
CN111917515B (zh) * | 2020-07-30 | 2023-08-01 | 牛芯半导体(深圳)有限公司 | 重定时器芯片的码流切换方法及装置 |
TWI784804B (zh) * | 2021-11-19 | 2022-11-21 | 群聯電子股份有限公司 | 時脈重整電路模組、訊號傳輸系統及訊號傳輸方法 |
CN114398216B (zh) * | 2022-02-15 | 2022-11-15 | 深圳市航顺芯片技术研发有限公司 | 链路控制方法、装置、系统、设备及可读存储介质 |
US12001372B2 (en) | 2022-03-14 | 2024-06-04 | Avago Technologies International Sales Pte. Limited | Autonomous entry and exit of low latency datapath in PCIe applications |
WO2024102715A1 (en) * | 2022-11-07 | 2024-05-16 | Kandou Labs SA | In-band data package transmission |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120079162A1 (en) * | 2010-09-24 | 2012-03-29 | Nxp B.V. | Transparent repeater device for handling displayport configuration data (dpcd) |
US20150180507A1 (en) * | 2012-10-22 | 2015-06-25 | Intel Corporation | High performance interconnect link layer |
KR101593029B1 (ko) * | 2013-03-15 | 2016-02-11 | 인텔 코포레이션 | 하드웨어 구동 알고리즘에 의한 이퀄라이제이션을 향상시키기 위한 장치, 시스템, 및 방법 |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4284843A (en) * | 1979-05-10 | 1981-08-18 | General Electric Company | Repeating station for use in digital data communications link |
US5252961A (en) * | 1988-02-12 | 1993-10-12 | Fujitsu Limited | System for monitoring status of plurality of repeaters |
US5446924A (en) * | 1993-05-03 | 1995-08-29 | Motorola, Inc. | Method for assuring data integrity during a repeater transition |
US5875210A (en) * | 1993-06-24 | 1999-02-23 | National Semiconductor Corporation | Method and apparatus for repeating data |
US5640393A (en) * | 1995-06-02 | 1997-06-17 | Advanced Micro Devices, Inc. | Multiple address security architecture |
US6430225B1 (en) | 1996-07-19 | 2002-08-06 | Sony Corporation | Apparatus and method for digital data transmission |
US6097705A (en) * | 1997-01-06 | 2000-08-01 | Cabletron Systems, Inc. | Buffered repeater with independent ethernet collision domains |
US6031821A (en) * | 1997-08-19 | 2000-02-29 | Advanced Micro Devices, Inc. | Apparatus and method for generating a pause frame in a buffered distributor based on lengths of data packets distributed according to a round robin repeater arbitration |
JP3159144B2 (ja) * | 1997-09-16 | 2001-04-23 | 日本電気株式会社 | 送受信回路 |
US7539134B1 (en) * | 1999-11-16 | 2009-05-26 | Broadcom Corporation | High speed flow control methodology |
US20020031101A1 (en) * | 2000-11-01 | 2002-03-14 | Petite Thomas D. | System and methods for interconnecting remote devices in an automated monitoring system |
US6823418B2 (en) * | 2001-06-29 | 2004-11-23 | Intel Corporation | Virtual PCI device apparatus and method |
US20030070027A1 (en) * | 2001-10-09 | 2003-04-10 | Yiu-Keung Ng | System for interconnecting peripheral host computer and data storage equipment having signal repeater means |
US7219167B2 (en) * | 2003-09-25 | 2007-05-15 | Intel Corporation | Accessing configuration registers by automatically changing an index |
US7444558B2 (en) * | 2003-12-31 | 2008-10-28 | Intel Corporation | Programmable measurement mode for a serial point to point link |
US7916040B2 (en) * | 2005-12-19 | 2011-03-29 | Audiovox Corporation | Remote control for home entertainment |
WO2007074949A1 (en) * | 2005-12-26 | 2007-07-05 | Kt Corporation | Link synchronization method using received power in rf repeater |
WO2008156782A2 (en) * | 2007-06-19 | 2008-12-24 | Sand Holdings, Llc | Devices and methods for automatic reset of monitored network network equipment |
US8572300B2 (en) * | 2011-10-26 | 2013-10-29 | Taiwan Semiconductor Manufacturing Co., Ltd. | Physical coding sublayer (PCS) architecture for synchronizing data between different reference clocks |
US8972640B2 (en) * | 2012-06-27 | 2015-03-03 | Intel Corporation | Controlling a physical link of a first protocol using an extended capability structure of a second protocol |
US9647859B2 (en) * | 2013-02-22 | 2017-05-09 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for link training of a backplane physical layer device operating in simplex mode |
US20140281236A1 (en) * | 2013-03-14 | 2014-09-18 | William C. Rash | Systems and methods for implementing transactional memory |
US8863059B1 (en) * | 2013-06-28 | 2014-10-14 | Altera Corporation | Integrated circuit device configuration methods adapted to account for retiming |
DE112013007726T5 (de) * | 2013-12-26 | 2017-02-02 | Intel Corporation | Verbesserungen eines Zwischenverbindungs-Retimers |
JP6251806B2 (ja) * | 2013-12-26 | 2017-12-20 | インテル・コーポレーション | 装置、方法、プログラム、システム、およびコンピュータ可読ストレージ媒体 |
US9762496B2 (en) * | 2014-02-25 | 2017-09-12 | Qualcomm Incorporated | Slotted message access protocol for powerline communication networks |
US9940298B2 (en) * | 2014-03-17 | 2018-04-10 | Texas Instruments Incorporated | Signal conditioner discovery and control in a multi-segment data path |
US9582366B2 (en) * | 2014-11-21 | 2017-02-28 | International Business Machines Corporation | Detecting and sparing of optical PCIE cable channel attached IO drawer |
US20170270062A1 (en) | 2016-03-21 | 2017-09-21 | Intel Corporation | In-band retimer register access |
-
2016
- 2016-06-30 US US15/198,605 patent/US20170270062A1/en not_active Abandoned
-
2017
- 2017-02-07 TW TW106103961A patent/TWI771286B/zh active
- 2017-02-22 CN CN201910536434.6A patent/CN110262923B/zh active Active
- 2017-02-22 DE DE112017001430.1T patent/DE112017001430T5/de active Pending
- 2017-02-22 CN CN201780012518.9A patent/CN108701023B/zh active Active
- 2017-02-22 WO PCT/US2017/018977 patent/WO2017165056A1/en active Application Filing
-
2018
- 2018-03-30 US US15/942,160 patent/US11561910B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120079162A1 (en) * | 2010-09-24 | 2012-03-29 | Nxp B.V. | Transparent repeater device for handling displayport configuration data (dpcd) |
US20150180507A1 (en) * | 2012-10-22 | 2015-06-25 | Intel Corporation | High performance interconnect link layer |
KR101593029B1 (ko) * | 2013-03-15 | 2016-02-11 | 인텔 코포레이션 | 하드웨어 구동 알고리즘에 의한 이퀄라이제이션을 향상시키기 위한 장치, 시스템, 및 방법 |
Non-Patent Citations (2)
Title |
---|
PCI Express Base Specification Revision 3.0^&rn^2010/11/10;^&rn^https://pcisig.com/specifications/pciexpress?&&&speclib=&order=title&sort=asc^&rn^ |
PCI Express Base Specification Revision 3.0^&rn^2010/11/10;^&rn^https://pcisig.com/specifications/pciexpress?&&&speclib=&order=title&sort=asc^&rn^ * |
Also Published As
Publication number | Publication date |
---|---|
TW201734823A (zh) | 2017-10-01 |
US20180225233A1 (en) | 2018-08-09 |
US20170270062A1 (en) | 2017-09-21 |
US11561910B2 (en) | 2023-01-24 |
CN110262923B (zh) | 2023-07-21 |
CN108701023A (zh) | 2018-10-23 |
DE112017001430T5 (de) | 2018-12-13 |
CN110262923A (zh) | 2019-09-20 |
CN108701023B (zh) | 2023-10-31 |
WO2017165056A1 (en) | 2017-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI771286B (zh) | 電子設備、電子系統及用於通訊之方法 | |
US20200132760A1 (en) | Interconnect retimer enhancements | |
US10139889B2 (en) | Method, apparatus, and system for improving resume times for root ports and root port integrated endpoints | |
JP6251806B2 (ja) | 装置、方法、プログラム、システム、およびコンピュータ可読ストレージ媒体 | |
TWI516915B (zh) | 即時錯誤復原 | |
US20220414046A1 (en) | Systems, methods, and devices for dynamic high speed lane direction switching for asymmetrical interfaces | |
TWI556094B (zh) | 用以控制鏈結介面之未使用硬體的電力消耗之方法、設備及系統 | |
US10884758B2 (en) | Method, apparatus, and system for propagating PCIe hot reset across a non-transparent bridge on a PCIe add-in card | |
CN112131148A (zh) | 预测性分组头部压缩 | |
JP2019192287A (ja) | 装置、方法、プログラム、システム、およびコンピュータ可読ストレージ媒体 | |
JP2018049658A (ja) | 装置、方法、およびシステム |