PCI-X
PCI-X總線在PCI總線的基礎(chǔ)上發(fā)展而來,其在軟件和硬件層面上都是兼容PCI總線的,但是卻顯著的提高了總線的性能。也就是說PCI-X的設(shè)備可以直接插到PCI的插槽中去,PCI的設(shè)備也可以直接插到PCI-X的插槽中去。
從硬件層面上來說,PCI-X繼承了PCI總線中的Reflected-Wave Signaling,但是在信號(hào)的輸入端加入了輸入寄存器以增強(qiáng)時(shí)序性能,提高了總線的時(shí)鐘頻率。在PCI-X2.0的Spec中還提出了DDR和QDR技術(shù),進(jìn)一步提高了PCI-X總線的帶寬。
一個(gè)典型的PCI-X總線系統(tǒng)的例子如下圖所示:

下面是一個(gè)PCI-X 突發(fā)讀存儲(chǔ)操作(Burst Memory Read Bus Cycle)的例子:

在PCI總線中,以總線主機(jī)從從機(jī)設(shè)備讀操作為例,當(dāng)從機(jī)設(shè)備尚未準(zhǔn)備好結(jié)束這次操作(從機(jī)設(shè)備未就緒,且數(shù)據(jù)尚未發(fā)送完)時(shí),可以通過鎖存數(shù)據(jù)并插入等待周期,或者發(fā)起Retry操作。PCI-X總線采用了一種叫做Split Transaction的方式來處理這種情況,如下圖所示。此時(shí),發(fā)起讀操作的總線主機(jī)被稱為Requester,而接受并向總線上發(fā)送數(shù)據(jù)的從機(jī)設(shè)備被稱為Completer。
注:PCIe Spec中繼承了PCI-X的這種命名方式。

采用這種方式的PCI-X總線的總線傳輸利用率(效率)可以達(dá)到85%,而標(biāo)準(zhǔn)的PCI總線只有50%-60%。關(guān)于Split Transaction的詳細(xì)內(nèi)容,建議大家去參考PCI-X的Spec,這里不再詳細(xì)地介紹。此外,PCI-X總線還配置地址寄存器(Configuration Address Register)中加入了NS(No Snoop)和RO(Relaxed Ordering)兩位以提高總線傳輸效率。
前面的文章中介紹過,PCI總線的中斷操作是通過一系列的邊帶信號(hào)(Sideband Signals)來完成的,在PCI-X Spce中引入了消息信號(hào)中斷(MSI,Message Signaled Interrupts)的機(jī)制,以取代這些邊帶信號(hào),進(jìn)而精簡(jiǎn)系統(tǒng)設(shè)計(jì)。
注:關(guān)于MSI的詳細(xì)內(nèi)容,建議參考PCI-X Spec,此處不再詳細(xì)介紹。
在介紹PCI-X2.0中提出的源同步模型之前,首先先來簡(jiǎn)單地聊一聊非源同步模型的內(nèi)在問題。所謂非源同步,就是說,信號(hào)的發(fā)送端和接收端的時(shí)鐘分別由一個(gè)或者兩個(gè)時(shí)鐘源驅(qū)動(dòng),發(fā)送端和接受端的時(shí)鐘同頻率,但是卻很難保證其同相位(即存在時(shí)鐘的相位偏差,skew)。

如上圖所示,由于信號(hào)線眾多,在PCB設(shè)計(jì)的時(shí)候,很難保證每一條信號(hào)線的長(zhǎng)度都完全相同(更不要說還有過孔等因素)。因此,即使信號(hào)在發(fā)送時(shí)完全沿對(duì)沿的(實(shí)際上也是不可能的,對(duì)于PCI總線來說),也很難保證信號(hào)在同一時(shí)間到達(dá)接收端,此時(shí)的信號(hào)必然不再是沿對(duì)沿的了。如果不同信號(hào)線之間的傳輸延時(shí)差異較大,就很容易導(dǎo)致信號(hào)在接收端的采樣錯(cuò)誤,進(jìn)而提高數(shù)據(jù)傳輸?shù)恼`碼率。
為了解決這些問題,在PCI-X2.0的Spec中提出了源同步模型(實(shí)際上,在目前高速的FPGA邏輯設(shè)計(jì)和數(shù)字ASIC設(shè)計(jì)中采用的基本上都是源同步的模型)。如下圖所示,此時(shí)系統(tǒng)的時(shí)鐘由發(fā)送端(即Source Device)直接提供,并和數(shù)據(jù)信號(hào)一同傳輸至接收端,這就很好地解決非源同步模型中的時(shí)鐘相位差(Skew)的問題。此外,PCI-X2.0還在接收端輸入寄存器的基礎(chǔ)上支持了DDR輸入,甚至是QDR輸入,極大地提高了總線的帶寬。64-bit的133MHz PCI-X2.0 QDR總線的帶寬甚至達(dá)到了驚人的4262MB/s!基本上算是并行總線的巔峰了(DDR SDRAM不算是總線)。

然而,有意思的是,PCI-X2.0似乎生不逢時(shí),雖然它顯著地提高了PCI總線的帶寬,但依舊無法掩蓋并行總線在高速總線數(shù)據(jù)傳輸中劣勢(shì)。PCI-X2.0總線雖然性能優(yōu)異,但是卻幾乎很少得到應(yīng)用,由于其高功耗高成本,且并行總線的引腳過多,需要極其復(fù)雜的PCB設(shè)計(jì),導(dǎo)致PCI-X2.0只在極少數(shù)高端的市場(chǎng)中得到了應(yīng)用(如服務(wù)器市場(chǎng)等)。導(dǎo)致PCI-X2.0未能達(dá)到大規(guī)模應(yīng)用的另一個(gè)因素就是PCI Express(PCIe)總線時(shí)代的到來,其標(biāo)志著高速串行總線取代傳統(tǒng)的并行總線的時(shí)代的開端。
-
PCI
+關(guān)注
關(guān)注
5文章
685瀏覽量
133687 -
總線
+關(guān)注
關(guān)注
10文章
3014瀏覽量
91309
原文標(biāo)題:【博文連載】PCIe掃盲——PCI-X總線基本概念
文章出處:【微信號(hào):ChinaAET,微信公眾號(hào):電子技術(shù)應(yīng)用ChinaAET】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
一文看懂PCI總線與PXI總線有什么區(qū)別
PCI PCI-X PCI-E介紹 精選資料分享
PCI-X Initiator/Target Core pd
基于FPGA的PCI總線接口設(shè)計(jì)
PCI總線仲裁器的設(shè)計(jì)及實(shí)現(xiàn)
PCI總線原理
基于FPGA的PCI總線接口設(shè)計(jì)
PCI-X總線FPGA開發(fā)板資料說明
從PCI、PCI-X到PCI-Express之間的連接
基于PCI總線的信號(hào)定義
LSISAS3080X-R PCI-X到3.0 Gbit/s SAS主機(jī)總線適配器安裝

關(guān)于PCI總線和PCI-X總線的簡(jiǎn)要介紹
評(píng)論