Rapid IO---成就高速互連之美
在過(guò)去的30多年時(shí)間內,處理器的主頻和性能呈現指數上升的趨勢,而與之相對應的處理器總線(xiàn)傳送能力的增長(cháng)卻相對緩慢的多,這就導致了由時(shí)鐘頻率表征的CPU的性能和由總線(xiàn)頻率表征的CPU可用的總線(xiàn)帶寬之間的差距不斷在變大,互連總線(xiàn)成為高速運算和處理系統的瓶頸?,F代的高性能計算系統和網(wǎng)絡(luò )存儲系統需要更高速率的數據傳送。高帶寬、低延遲,高可靠性成為衡量一個(gè)總線(xiàn)技術(shù)的基本要求。
本文引用地址:http://dyxdggzs.com/article/258683.htm
一、 傳統總線(xiàn)的問(wèn)題:
傳統總線(xiàn)多采用并線(xiàn)總線(xiàn)的工作方式,這類(lèi)總線(xiàn)一般分為三組:數據線(xiàn),地址線(xiàn)和控制線(xiàn)。實(shí)現此類(lèi)總線(xiàn)互連的器件所需引腳數較多,例如對于64位數據寬的總線(xiàn),一般由64根數據線(xiàn),32-40根地址線(xiàn)以及30根左右的控制線(xiàn),另外由于半導體制造工藝的限制還要加上一定數量的電源引線(xiàn)和地線(xiàn),總共會(huì )有約200根左右的引線(xiàn),這給器件封裝、測試、焊接都帶來(lái)了一些問(wèn)題,如果要將這種總線(xiàn)用于系統之間的通過(guò)背板的互連,由此帶來(lái)的困難就可想而知。
為了提高總線(xiàn)的傳輸能力,傳統總線(xiàn)多采用增加數據總線(xiàn)的寬度或是增加總線(xiàn)的頻率的方式來(lái)實(shí)現。如PCI總線(xiàn)支持25M、33M、50M、66M的工作頻率,PCI-X總線(xiàn)是在PCI總線(xiàn)結構的基礎上進(jìn)得到的一種總線(xiàn)結構,在硬件和軟件上兼容PCI總線(xiàn),PCI-X總線(xiàn)可以支持32bit、64bit的總線(xiàn),其工作頻率為66M、133M,對于64bit的PCI-X,如果其總線(xiàn)工作頻率為133MHz,其峰值傳送帶寬可達到133×64bit=8.512Gbps。目前PCI-X也有一些版本定義了總線(xiàn)頻率為266MHz或者533MHz的總線(xiàn),另外也有一些總線(xiàn)定義了數據寬度為128bit 或是256bit的總線(xiàn),但很少有人會(huì )選用這樣的總線(xiàn),因為增加總線(xiàn)頻率和數據帶寬雖然一定程度上滿(mǎn)足了人們對高速數據傳送的需求,但同時(shí)也帶來(lái)了一些新的問(wèn)題。更寬的總線(xiàn)導致器件引腳數的增加,從而增加封裝尺寸,當然帶來(lái)成本上的增加。
另一個(gè)問(wèn)題是當總線(xiàn)的工作頻率超過(guò)133MHz時(shí),很難在一條總線(xiàn)上支持超過(guò)兩個(gè)外部設備,在總線(xiàn)上增加器件相當于增加容性負載,而容性負載的增加意味著(zhù)裝載或排空電荷使總線(xiàn)達到所需的額定電平的時(shí)間增長(cháng),信號的上升和下降時(shí)間的增長(cháng)會(huì )限制總線(xiàn)的工作頻率。對于并線(xiàn)總線(xiàn)的另一個(gè)問(wèn)題是時(shí)鐘與信號的偏移容限的問(wèn)題,對于這樣一組并行信號線(xiàn)的集合,信號的采樣是取決于時(shí)鐘信號的上升沿或是下降沿,這樣對于信號的跳變和時(shí)鐘的跳變時(shí)刻的時(shí)間差就有一個(gè)上限值,隨著(zhù)速率的升高,布線(xiàn)長(cháng)度、器件門(mén)電路自身的翻轉時(shí)間都會(huì )影響總線(xiàn)的速率。
用于處理器之間互連以及背板互連的另一個(gè)主要技術(shù)是以太網(wǎng),近些年來(lái),以太網(wǎng)在存儲、電信、通訊、無(wú)線(xiàn)、工業(yè)應用以及嵌入式應用中得到大量的應用,現有的成熟的硬件和協(xié)議棧降低了開(kāi)發(fā)的復雜性和產(chǎn)品的開(kāi)發(fā)成本。但是在局域網(wǎng)和廣域網(wǎng)中得到很好應用的以太網(wǎng)用于這種芯片級或是板極的系統互連顯示出了低效率、高延時(shí)的特性,QOS需要高層軟件的參與,造成軟件模塊化結構不清晰。尤其是當背板的傳輸速率從1Gbps增加到10Gbps時(shí),增加的處理要求已經(jīng)超出了以太網(wǎng)的能力。
二、什么是Rapid IO?
Rapid IO技術(shù)最初是由Freescale 和Mercury 共同研發(fā)的一項互連技術(shù),其研發(fā)初衷是作為處理器的前端總線(xiàn),用于處理器之間的互連,但在標準制定之初,其創(chuàng )建者就意識到了RapidIO還可以做為系統級互連的高效前端總線(xiàn)而使用。1999年完成第一個(gè)標準的制定,2003 年5月,Mercury Computer Systems公司首次推出使用Rapid IO技術(shù)的多處理器系統ImpactRT 3100, 表明Rapid IO已由一個(gè)標準制定階段進(jìn)展到產(chǎn)品階段,到目前為止,Rapid IO已經(jīng)成為電信,通迅以及嵌入式系統內的芯片與芯片之間,板與板之間的背板互連技術(shù)的生力軍。
Rapid IO 是針對嵌入式系統的獨特互連需求而提出的,那么我們首先來(lái)說(shuō)明嵌入式系統互連的一些基本需求:嵌入式系統需要的是一種標準化的互連設計,要滿(mǎn)足以下幾個(gè)基本的特點(diǎn):高效率、低系統成本,點(diǎn)對點(diǎn)或是點(diǎn)對多點(diǎn)的通信,支持DMA操作,支持消息傳遞模式交換數據,支持分散處理和多主控系統,支持多種拓樸結構;另外,高穩定性和QOS也是選擇嵌入式系統總線(xiàn)的基本原則。而這些恰是Rapid IO期望滿(mǎn)足的方向。所以Rapid IO在制定之初即確定了以下幾個(gè)基本原則:一是輕量型的傳輸協(xié)議,使協(xié)議盡量簡(jiǎn)單;二是對軟件的制約要少,層次結構清晰;三是專(zhuān)注于機箱內部芯片與芯片之間,板與板之間的互連。
Rapid IO采用三層分級的體系結構,分級結構圖如下圖所示:
由此圖可見(jiàn),Rapid IO協(xié)議由邏輯層、傳輸層和物理層構成。最明顯的一個(gè)特點(diǎn)就是Rapid IO采用了單一的公用傳輸層規范來(lái)相容、會(huì )聚不同的邏輯層和物理層,單一的邏輯層實(shí)體增強了Rapid IO的適應性。
物理層定義了串行和并行兩個(gè)實(shí)體,得到廣泛應用的只有串行方式,尤其是用在背板互連的場(chǎng)合,串行方式可以在兩個(gè)連接器之間允許80-100cm的連線(xiàn),單鏈路傳輸帶寬可達10Gbps。目前Rapid IO的標準是Version1.3,在未來(lái)的Version2.0規范中定義了更高的傳輸速率,可以得到更高的傳輸帶寬。
物理層:
Rapid IO規范中定義的最低層是物理層,最初定義的是并行總線(xiàn),之后定義了串行總線(xiàn),并線(xiàn)總線(xiàn)可以選擇8位或16位的寬度,傳輸電平采用LVDS方式,時(shí)鐘信息在一對單獨的差分線(xiàn)上傳送,不在數據流中編碼,頻率在250M-1.0G之間。相比串行總線(xiàn)而言,無(wú)多少優(yōu)點(diǎn)可言,所以只是在最初有支持這種總線(xiàn)的芯片出現,目前幾乎所有的物理層均采用了串行方式。
串行物理層定義了器件間的全雙工串行鏈路,在每個(gè)方向上支持1個(gè)串行差分對稱(chēng)為1個(gè)通道(1x),或同時(shí)支持4個(gè)并行的串行差分對稱(chēng)為4通道(4x),接口的電氣特性采用成熟的XAUI(10GbE Attachment Unit Interface)接口,編碼方式采用的是8B/10B編碼,對鏈路的管理,包括流量控制,包定界和錯誤報告等使用專(zhuān)用的8B/10B碼(即K碼),接收端從鏈路上提取時(shí)鐘信息,無(wú)需獨立的時(shí)鐘線(xiàn)。每一個(gè)通道支持三種不同的傳送波特率1.25G,2.5G,3.125G(與之相對應的數據速率分別是1.0G,2.0G,2.5Gbps)。
圖:Control symbol 包的結構
Rapid IO是一種基于可靠傳送的協(xié)議,每一個(gè)數據據包的傳送均要求對端在物理層上響應一個(gè)控制符號包,此包是一個(gè)4個(gè)字節的數據包,表明了數據包的傳送狀態(tài),數據包是否被對方接方,還是要求重新發(fā)送或是包未被接收。發(fā)送方和接收方均可以使用控制符號包來(lái)獲得對方的狀態(tài)。
圖:Rapid IO包結構及物理層組成
評論