PCI-X總線簡(jiǎn)介
1.5.1Split總線事務(wù)
Split總線事務(wù)是PCI-X總線一個(gè)重要特性。該總線事務(wù)替代了PCI總線的Delayed數(shù)據(jù)傳送方式,從而提高了Non-Posted總線事務(wù)的傳送效率。下文以存儲(chǔ)器讀為例,說明PCI-X設(shè)備如何使用Split總線事務(wù)。
本文引用地址:http://www.ex-cimer.com/article/201612/330452.htmPCI-X總線在進(jìn)行存儲(chǔ)器讀總線事務(wù)時(shí),總線事務(wù)的發(fā)起方(Requester)使用Split總線事務(wù)與總線事務(wù)接收端(Completer)進(jìn)行數(shù)據(jù)交換,其步驟如下。
(1)
(2)
(3)
(4)
(5)
與Delayed總線事務(wù)相比,Requester獲得的數(shù)據(jù)是Completer將數(shù)據(jù)完全準(zhǔn)備好后,由Completer主動(dòng)傳遞的,而不是通過Requester通過多次重試獲得的,因此能夠提高PCI-X總線的使用效率。PCI-X總線提出的Split總線事務(wù)被PCIe總線繼承。
1.5.2總線傳送協(xié)議
PCI-X總線改變了PCI總線使用的傳送協(xié)議。目標(biāo)設(shè)備可以將主設(shè)備發(fā)送的命令鎖存,然后在下一個(gè)時(shí)鐘周期進(jìn)行譯碼操作。與PCI總線事務(wù)相比,PCI-X總線采用的這種方式,雖然在總線時(shí)序中多使用了一個(gè)時(shí)鐘周期,但是可以有效提高PCI-X總線的運(yùn)行頻率。
因?yàn)橹髟O(shè)備通過數(shù)據(jù)線將命令發(fā)送到目標(biāo)設(shè)備需要一定的延時(shí)。如果PCI總線頻率較高,目標(biāo)設(shè)備很難在一個(gè)時(shí)鐘周期內(nèi)接收完畢總線命令,并同時(shí)完成譯碼工作。而如果目標(biāo)設(shè)備能夠?qū)⒅髟O(shè)備發(fā)出的命令先進(jìn)行鎖存,然后在下一個(gè)時(shí)鐘周期進(jìn)行譯碼則可以有效解決這個(gè)譯碼時(shí)間Margin不足的問題,從而提高PCI-X總線的頻率。PCI-X 1.0總線可以使用的最高總線頻率為133MHz,而PCI-X 2.0總線可以使用的最高總線頻率為533Mhz,遠(yuǎn)比PCI總線使用的總線頻率高。
除了信號(hào)傳送協(xié)議外,PCI-X總線在進(jìn)行DMA讀寫時(shí),可以不進(jìn)行Cache共享一致性操作,而PCI總線進(jìn)行DMA讀寫時(shí)必須進(jìn)行Cache一致性操作。在某些特殊情況下,DMA讀寫時(shí)進(jìn)行Cache共享一致性不但不能提高總線傳送效率,反而會(huì)降低。第3.3節(jié)將詳細(xì)討論與Cache一致性相關(guān)的PCI總線事務(wù)。
此外PCI-X總線還支持亂序總線事務(wù),即Relaxed Ordering,該總線事務(wù)被PCIe總線繼承。對(duì)于某些應(yīng)用,PCI-X設(shè)備使用Relaxed ordering方式,可以有效地提高數(shù)據(jù)傳送效率。但是支持Relaxed Ordering的設(shè)備,需要較多的數(shù)據(jù)緩存和硬件邏輯處理這些亂序,這為PCI-X設(shè)備的設(shè)計(jì)帶來了不小的困難。
1.5.3基于數(shù)據(jù)塊的突發(fā)傳送
在PCI總線中,一次突發(fā)傳送的大小為2個(gè)以上的雙字,一次突發(fā)傳送所攜帶的數(shù)據(jù)越多時(shí),突發(fā)傳送的總線利用率也越高。
而PCI總線的突發(fā)傳送仍然存在缺陷。在PCI總線中,數(shù)據(jù)發(fā)送端知道究竟需要發(fā)送多少字節(jié)的數(shù)據(jù),但是接收端并不清楚到底需要接收多少數(shù)據(jù)。這種不確定性,為接收端的緩沖管理帶來了較大的挑戰(zhàn)。
為此PCI-X總線使用基于數(shù)據(jù)塊的突發(fā)傳送方式,發(fā)送端以ADB(Allowable Disconnect Boundary)為單位,將數(shù)據(jù)發(fā)送給接收端,一次突發(fā)讀寫為一個(gè)以上的ADB。采用這種方式,接收端可以事先預(yù)知是否有足夠的接收緩沖,接收來自發(fā)送端的數(shù)據(jù),從而可以及時(shí)斷連當(dāng)前總線周期,以節(jié)約PCI-X總線的帶寬。在PCI-X總線中,ADB的大小為128B。
由于ADB的引入,PCI總線與Cache相關(guān)的總線事務(wù)如Memory Read Line、Memory Read Multiline和Memory Write and Invalidate,都被PCI-X總線使用與ADB相關(guān)的總線事務(wù)替代。因?yàn)橥ㄟ^ADB,PCI-X橋(HOST主橋)可以準(zhǔn)確地預(yù)知即將訪問的數(shù)據(jù)在Cache中的分布情況。
PCI-X總線還增加了一些其他特性,如在總線事務(wù)中增加傳送字節(jié)計(jì)數(shù),限制等待狀態(tài)等機(jī)制,并增強(qiáng)了奇偶校驗(yàn)的管理方式。但是PCI-X總線還沒有普及,就被PCIe總線替代。因此在PC領(lǐng)域和嵌入式領(lǐng)域很少有基于PCI-X總線的設(shè)備,PCI-X設(shè)備僅在一些高端服務(wù)器上出現(xiàn)。因此本節(jié)不對(duì)PCI-X總線做進(jìn)一步描述。事實(shí)上,PCI-X總線的許多特性都被PCIe總線繼承。
1.6小結(jié)
本章主要介紹了PCI總線的基本組成部件,PCI設(shè)備如何提交中斷請(qǐng)求,以及PCI-X總線對(duì)PCI總線的功能增強(qiáng)。本章的重點(diǎn)在于PCI總線的Posted和Non-Posted總線事務(wù),以及PCI總線如何使用Delayed傳送方式處理Non-Posted總線事務(wù),請(qǐng)讀者務(wù)必深入理解這兩種總線事務(wù)的不同。
評(píng)論