發布日期:2022-04-18 點擊率:67
現在的主機板跟從前的不一樣了。從過去十多年來,整個PC產業都在建構PCI(PeripheralComponent Interconnect)匯流排技術,而且所有電子工程科系的學生也都學習這項技術。然而PCI規格卻已過時,因為PCI己無法滿足新一代消費性裝置以及電腦週邊產品使用的需求,因此越來越多系統設計業者也表明「需要跳過PCI,并使用準備好解決下一代傳輸頻寬需求的PCIExpress。」
事實上,PCIExpress目前被廣泛認為是一項革命性的轉移技術,其重要性是可以滿足企業用戶、消費者,以及網路使用者對頻寬持續不斷提升的需求。現今最重要的資料通訊設備平臺以及個人電腦配備都采用PCI介面,但為了支援未來持續增加的頻寬需求,則有轉換成PCIExpress介面的必要性。
PCI逐漸轉移到另一項新世代匯流排技術的現象并不令人差異,但要探討為何業界要采用一項新技術去取代一項原有的技術,則是相當有趣的話題。而PCIExpress匯流排技術因為具備眾多技術優點,所以才能脫穎而出。
PCI Express解決頻寬需求
第一個因頻寬需求增加而不適用PCI的周邊配備是高速影像卡。為了解決這個問題,業界改用影像處理加速埠(AdvancedGraphics Port, AGP)作為特殊的視訊匯流排。采用AGP技術的廠商甚至將AGP直接連接到Intel ICH5芯片組的記憶體控制器(MCH),使AGP的頻寬提升到每秒2GB。為了像AGP一樣提升頻寬,其他週邊配備也紛紛效尤,最后如音效卡與USB之類的配備,幾乎都和主機板的晶片組直接連結以獲得足夠的頻寬。也因此整個PC架構需要一個新的擴充匯流排,以支援像Gigabit乙太網路(GBE)的高頻寬週邊配備。
為了解決頻寬需求的問題,許多技術標準陸續問世卻也很快就被淘汰,例如更快、頻寬更多的PCI規格,以及某些伺服器設計所采用的PCI-X匯流排,都只是曇花一現。最后,Intel公司計劃更改主機板晶片組的標準,并說服PCISIG組織采用它的3GIO(3rd Generation I/O)標準,最后更公布將這項介面標準改名為PCIExpress。
PCI Express是一種具擴充性的的匯流排,在首項規格改版中,在2.5Ghz的訊號速度下可提供從每秒250Mb到每秒8Gb的訊號傳輸率。甚至可以透過增加時脈速度或匯流排寬度的方式獲得更高的頻寬。PCIExpress最重要的技術效益之一,在于這個介面具備與PCI軟體的回溯相容性,使目前基本輸出入系統(BIOSes)以及作業系統皆能維持相同的運作方式。
PCI Express有一項很有趣的特色,就是這個規格可用兩種方式擴充(見表1)。最初的規格要求每個傳輸方向需要每秒2.5Gb或相當于大約每秒250Mb的雙向傳輸,平均上傳與下載的頻寬幾乎是目前PCI匯流排的兩倍。另外,需要更高頻寬的裝置與插槽還可增加額外的通道,可能的選擇包括x2、x4、x8、x12、x16或x32之通道頻寬(見圖2),然而16通道(x16)預計將成為新一代繪圖匯流排介面。
這套規格的另一項效益在于可以將匯流排延伸到PC機殼之外。PCIExpress SIG組織從2003年開始,便積極擬定一套PCIExpress的線材規格。一旦這套規格完成,PCIe匯流排將可用來連接PC外部的高頻寬週邊配備。
PCI Express可達到短時間轉移
PCI Express和PC系統中的PCI架構十分相似,都是以週邊連接匯流排的型態建構于南橋晶片中。此外,PCIExpress也由北橋晶片中延伸出來,以供繪圖卡使用。圖3顯示低價PC系統之PCI Express建構方式。雖然目前很多週邊連接設備仍采用PCI介面,但為了迎合未來,更高傳輸頻寬的需求將會在短時間內轉移到PCIExpress介面。
由于具備優異的基礎架構和PCI在軟體上的回溯相容性,因此PCIExpress介面的轉移可以說是輕而易舉。此外,全球產業對PCI介面都相當熟悉,因此轉移到PCIExpress是相當合理的選擇。以下讓我們來探討典型PCIExpress傳輸的過程,以瞭解其中資料傳輸的路徑。
PCI Express可降低一半的回傳延遲率
為了完整解釋PCIExpress的效益,讓我們來看看PCIExpress在實際應用中是如何進行的。以網頁瀏覽器的應用為例,這項應用可能需要讀取從乙太網路卡中已經接收的一些資料。為了讀取資料,瀏覽器會產生讀取記憶體緩沖區的要求,而這個要求經過數個軟體層的傳播之后,最后會到達硬體抽象層(HAL)。HAL屬于Windows作業系統的一部份,可將各種邏輯位址轉譯為實體位址。一旦這項要求通過HAL,CPU將會執行實體記憶體位址的讀取動作,此時這個CPU執行緒必須等候讀取動作的完成。
一旦讀取動作的傳輸離開CPU之后,將會經過前端匯流排(FSB,如上面圖3所示)進入北橋晶片(也稱為記憶體控制器集線器(MCH)或Root Complex)。北橋晶片檢視傳輸的位址,發現目的地是南橋晶片(也稱為ICH或IO集線控制器)后,會因此將傳輸轉送到南橋晶片。南橋晶片包含一個PCIExpress交換器,會將這個讀取要求首次移入PCIExpress之中(如圖3底部所示的I/O集線控制器)。
在這裡,讀取要求進入RootComplex的排列之中(圖4)。一旦讀取要求抵達排列前端時,RootComplex會將其放置于資料交易層封包(TLP)之中,這個TLP包含一個回傳位址,讓系統能傳遞所讀取的資料、被讀取資料的位址,以及被讀取資料的長度。現在這個封包已經準備好透過連線傳送,但RootComplex應該先確認接收端的裝置有足夠的空間可暫時儲存這個封包。
PCI Express使用一種稱為「授權式(credit-based)流程控制」的方法,以掌握連線另一端可用的緩沖區空間。當一個端點裝置或交換器啟動時,會傳送一個資料連結層封包(DLLP)到連線的另一端,可顯示每一種傳輸類型有多少的緩沖區空間可以使用,然后傳送端的裝置會計算接收端還有多少剩餘空間可用。因為可能的接收緩沖區很多,這種流程控制模式在PCIExpress介面中就顯得特別重要,若采用重傳式流程控制法的話,因缺乏有系統的資料管理方式,于是當系統一搜尋到有內含空間的接收緩沖區時,大量頻寬會在資料頻繁往返間被消耗掉。
因為我們的讀取要求只有16位元的長度,因此只需要一次授權(credit)。當Root Complex具備該傳輸類型以及虛擬通道(VC)所需的足夠credit之后(請參閱PCIExpress辭匯解釋中「虛擬通道」的定義),會將讀取要求透過連線傳送(見圖4的箭頭#1所示),并在其重傳緩沖區(ReplayBuffer)儲存該封包的復本。這個重傳緩沖區會暫時保留封包復本,直到交換器確認該封包為止。雖然在PC背板上執行錯誤校正似乎不太需要,但錯誤校正可以提升伺服器可運用的時間,且將容許這個規格未來之擴充以接納外部的連接線材。
下一步是當交換器接收到讀取要求之后,會查看位址欄,并根據主機所發出的位址范圍,判斷正確的下傳埠,然后將訊息放置在該通訊埠的傳輸緩沖區中。如果還有其他訊息需要處理,交換器會先傳送具有較高優先權的訊息,然后將我們的讀取要求轉送到裝置中(見圖4的箭頭#2)。
裝置會將讀取要求放在接收緩沖區當中,這個時候具有較高優先權的虛擬通道再次有機會優先被處理。在我們現在討論的情況下,接收緩沖區是空的,因此我們的要求可以立刻被處理。該裝置會從其記憶體中擷取資料,并建立一個內含對方要求之資料的讀取完成封包(ReadCompletion Packet)。這個讀取完成封包會進入該裝置的傳輸緩沖區排列中,預備透過交換器傳回RootComplex。當傳輸緩沖區獲準傳輸時,封包會透過連線傳送,并儲存于重傳緩沖區之中。
由于裝置與交換器之間的路徑目前沒有任何指令在進行,因此交換器可以進行直接貫通傳輸(Cut-throughTransaction)的工作(見圖4之箭頭#3及箭頭#4)。進行直接貫通傳輸時,交換器在尚未接收到完整的封包時,就會開始將封包傳送到上傳埠;這種傳輸方式可以大幅降低PCIExpress系統的延遲率。在我們的范例中,由于采用單一交換器,直接貫通傳輸可以將回傳時的延遲率降低一半。
當南橋晶片接收到讀取完成封包之后,會經過北橋晶片回傳到CPU,然后CPU可以再次運作這個執行緒,而所讀取的資料也會呈現給使用者。雖然這個過程聽起來很復雜,但其中有很多步驟是PC系統內原來就具備的。目前每一部電腦都有北橋與南橋晶片,而且這些步驟與指令的執行皆以奈秒作為測量單位。
PCI Express將成未來10年PC匯流排
PCI Express嚴然是PC演化的下一個步驟。隨著最終使用者對頻寬需求不斷增加,另外電腦廠商愈來愈注重成本控制,對照之下PCIExpress提供相當有吸引力的解決方案。PCIExpress和USB、SATA標準一樣,可將數個龐大的平行匯流排轉變為單一精確的高速序列匯流排。采用序列匯流排可以減少背板中線路的數量與線材,因此也可減少EMI、成本與空間的使用。而且PCIExpress具備與現有PC架構之回溯相容性,因此不需要重新改造電腦系統即可搭配PCIExpress架構。有鑑于PCIExpress在效能上的提升以及完善的回溯相容性,PCIExpress無疑是未來十年真正的PC匯流排。
下一篇: 斷路器、隔離開關、接
上一篇: 索爾維全系列Solef?PV