新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > PCI-X總線簡介

        PCI-X總線簡介

        作者: 時間:2016-12-15 來源:網絡 收藏
        PCI-X總線仍采用并行總線技術。PCI-X總線使用的大多數總線事務基于PCI總線,但是在實現細節上略有不同。PCI-X總線將工作頻率提高到533MHz,并首先引入了PME(Power Management Event)機制。除此之外,PCI-X總線還提出了許多新的特性。

        1.5.1Split總線事務

        Split總線事務是PCI-X總線一個重要特性。該總線事務替代了PCI總線的Delayed數據傳送方式,從而提高了Non-Posted總線事務的傳送效率。下文以存儲器讀為例,說明PCI-X設備如何使用Split總線事務。

        本文引用地址:http://www.104case.com/article/201612/330452.htm

        PCI-X總線在進行存儲器讀總線事務時,總線事務的發起方(Requester)使用Split總線事務與總線事務接收端(Completer)進行數據交換,其步驟如下。

        (1)Requester向Completer發起存儲器讀請求總線事務。

        (2)這個存儲器讀請求在到達Completer之前,可能會經過多級PCI-X橋。這些PCI-X橋使用Split Response周期結束當前總線事務,釋放上游PCI總線。之后繼續轉發這個存儲器讀請求,直到Completer認領這個存儲器讀請求總線事務。

        (3)Completer認領存儲器讀請求總線事務后,將記錄將Requester的ID號,并使用Split Response周期結束存儲器讀請求總線事務。

        (4)Completer準備好數據后,將重新申請總線,并使用存儲器讀完成總線事務主動地將數據傳送給Requester。在這個完成報文中包含Requester的ID號,因為完成報文使用ID路由而不是地址路由。

        (5)這些完成報文根據ID路由方式,最終到達Requester。Requester從完成報文中接收數據并完成整個存儲器讀請求。

        與Delayed總線事務相比,Requester獲得的數據是Completer將數據完全準備好后,由Completer主動傳遞的,而不是通過Requester通過多次重試獲得的,因此能夠提高PCI-X總線的使用效率。PCI-X總線提出的Split總線事務被PCIe總線繼承。

        1.5.2總線傳送協議

        PCI-X總線改變了PCI總線使用的傳送協議。目標設備可以將主設備發送的命令鎖存,然后在下一個時鐘周期進行譯碼操作。與PCI總線事務相比,PCI-X總線采用的這種方式,雖然在總線時序中多使用了一個時鐘周期,但是可以有效提高PCI-X總線的運行頻率。

        因為主設備通過數據線將命令發送到目標設備需要一定的延時。如果PCI總線頻率較高,目標設備很難在一個時鐘周期內接收完畢總線命令,并同時完成譯碼工作。而如果目標設備能夠將主設備發出的命令先進行鎖存,然后在下一個時鐘周期進行譯碼則可以有效解決這個譯碼時間Margin不足的問題,從而提高PCI-X總線的頻率。PCI-X 1.0總線可以使用的最高總線頻率為133MHz,而PCI-X 2.0總線可以使用的最高總線頻率為533Mhz,遠比PCI總線使用的總線頻率高。

        除了信號傳送協議外,PCI-X總線在進行DMA讀寫時,可以不進行Cache共享一致性操作,而PCI總線進行DMA讀寫時必須進行Cache一致性操作。在某些特殊情況下,DMA讀寫時進行Cache共享一致性不但不能提高總線傳送效率,反而會降低。第3.3節將詳細討論與Cache一致性相關的PCI總線事務。

        此外PCI-X總線還支持亂序總線事務,即Relaxed Ordering,該總線事務被PCIe總線繼承。對于某些應用,PCI-X設備使用Relaxed ordering方式,可以有效地提高數據傳送效率。但是支持Relaxed Ordering的設備,需要較多的數據緩存和硬件邏輯處理這些亂序,這為PCI-X設備的設計帶來了不小的困難。

        1.5.3基于數據塊的突發傳送

        在PCI總線中,一次突發傳送的大小為2個以上的雙字,一次突發傳送所攜帶的數據越多時,突發傳送的總線利用率也越高。

        而PCI總線的突發傳送仍然存在缺陷。在PCI總線中,數據發送端知道究竟需要發送多少字節的數據,但是接收端并不清楚到底需要接收多少數據。這種不確定性,為接收端的緩沖管理帶來了較大的挑戰。

        為此PCI-X總線使用基于數據塊的突發傳送方式,發送端以ADB(Allowable Disconnect Boundary)為單位,將數據發送給接收端,一次突發讀寫為一個以上的ADB。采用這種方式,接收端可以事先預知是否有足夠的接收緩沖,接收來自發送端的數據,從而可以及時斷連當前總線周期,以節約PCI-X總線的帶寬。在PCI-X總線中,ADB的大小為128B。

        由于ADB的引入,PCI總線與Cache相關的總線事務如Memory Read Line、Memory Read Multiline和Memory Write and Invalidate,都被PCI-X總線使用與ADB相關的總線事務替代。因為通過ADB,PCI-X橋(HOST主橋)可以準確地預知即將訪問的數據在Cache中的分布情況。

        PCI-X總線還增加了一些其他特性,如在總線事務中增加傳送字節計數,限制等待狀態等機制,并增強了奇偶校驗的管理方式。但是PCI-X總線還沒有普及,就被PCIe總線替代。因此在PC領域和嵌入式領域很少有基于PCI-X總線的設備,PCI-X設備僅在一些高端服務器上出現。因此本節不對PCI-X總線做進一步描述。事實上,PCI-X總線的許多特性都被PCIe總線繼承。

        1.6小結

        本章主要介紹了PCI總線的基本組成部件,PCI設備如何提交中斷請求,以及PCI-X總線對PCI總線的功能增強。本章的重點在于PCI總線的Posted和Non-Posted總線事務,以及PCI總線如何使用Delayed傳送方式處理Non-Posted總線事務,請讀者務必深入理解這兩種總線事務的不同。



        關鍵詞: PCI-X總線簡

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 平定县| 牡丹江市| 新河县| 邻水| 鹤壁市| 乐都县| 罗平县| 青浦区| 兴仁县| 家居| 洪江市| 修文县| 高尔夫| 富裕县| 建宁县| 许昌县| 封开县| 梧州市| 惠东县| 耿马| 卢氏县| 恩施市| 广元市| 蓝山县| 北碚区| 秭归县| 开化县| 奎屯市| 兴宁市| 柏乡县| 汶川县| 龙江县| 略阳县| 锡林浩特市| 庆城县| 肇东市| 泸定县| 观塘区| 缙云县| 自治县| 花莲市|