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