0.PCI總線作為處理器系統的局部總線,主要目的是為了連接外部設備,而不是作為處理器的系統總線連接Cache和主存儲器
PXI 規范是CompactPCI規范的擴展 , 面向儀器系統的PCI擴展
PCI Express的接口根據總線位寬不同而有所差異,包括X1、X4、X8以及X16。較短的PCI Express卡可以插入較長的PCI Express插槽中使用。
第I篇 PCI體系結構概述
第1章 PCI總線的基本知識
PCI Express總線簡稱為PCIe總線,PCI-to-PCI橋簡稱為PCI橋,PCI Express-to-PCI橋簡稱為PCIe橋,Host-to-PCI主橋簡稱為HOST主橋。值得注意的是許多書籍將HOST主橋稱為PCI主橋或者PCI總線控制器。
1)PCI總線規范定格在V3.0。PCI總線規范的許多內容都與基於IA (Intel Architecture)架構的x86處理器密切相關
2)HOST主橋的一個重要作用就是將處理器訪問的存儲器地址轉換為PCI總線地址。
3)在1顆PCI總線樹上,最多只能掛接256個PCI設備(包括PCI橋)。
4)PCI設備使用的地址可以根據需要由系統軟件動態分配
5)每一個PCI設備都有獨立的配置空間,在配置空間中含有該設備在PCI總線中使用的基地址,系統軟件可以動態配置這個基地址,從而保證每一個PCI設備使用的物理地址並不相同。PCI橋的配置空間中含有其下PCI子樹所能使用的地址范圍。
6)32位/33MHz的PCI總線可以提供132MB/s的峰值帶寬, PCIE可達幾個GB
7)HOST主橋和PCI橋都包含PCI總線仲裁器,PCI設備通過仲裁獲得PCI總線的使用權后,才能進行數據傳送
8)PCI總線的外部設備,如網卡、聲卡、USB擴展卡等, 顯卡是AGP總線(會往PCIe過渡)
x86處理器將PCI總線作為標准的局部總線連接各類外部設備,PowerPC、MIPS處理器也將PCI總線作為標准局部總線。
在ARM處理器中,使用SoC平台總線,即AMBA總線,連接片內設備。
9)PCI總線上的設備可以通過四根中斷請求信號INTA~D#向處理器提交中斷請求
1.1 PCI總線的組成結構
1)HOST主橋與主存儲器控制器在同一級總線上,PCI設備可以方便地通過HOST主橋訪問主存儲器,即進行DMA操作。
2)處理器與PCI設備間的數據交換主要由“處理器訪問PCI設備的地址空間”和“PCI設備使用DMA機制訪問主存儲器”這兩部分組成。
有幾個HOST主橋,就有幾個PCI總線域。
3)HOST主橋在處理器系統中的位置並不相同,如PowerPC處理器將HOST主橋與處理器集成在一個芯片中。
而有些處理器不進行這種集成,如x86處理器使用南北橋結構,處理器內核在一個芯片中,而HOST主橋在北橋中。
1.1.3 PCI設備
1) 在PCI總線中有三類設備,PCI主設備、PCI從設備和橋設備。
其中PCI從設備只能被動地接收來自HOST主橋,或者其他PCI設備的讀寫請求;
而PCI主設備可以通過總線仲裁獲得PCI總線的使用權,主動地向其他PCI設備或者主存儲器發起存儲器讀寫請求。
2) 一個PCI設備可以即是主設備也是從設備 (叫做PCI Agent),但是在同一個時刻,這個PCI設備或者為主設備或者為從設備。
網卡、顯卡、聲卡等設備都屬於PCI Agent設備
1.1.4 HOST處理器
HOST主橋中,設置了許多寄存器,HOST處理器通過操作這些寄存器管理這些PCI設備。
如在x86處理器的HOST主橋中設置了0xCF8和0xCFC這兩個I/O端口訪問PCI設備的配置空間
1.2 信號定義
1) PCI 是共享總線, 通過一系列信號與PCI總線相連,這些信號由地址/數據信號、控制信號、仲裁信號、中斷信號等多種信號組成。
也是同步總線,每一個設備都具有一個CLK信號,其發送設備與接收設備使用這個CLK信號進行同步數據傳遞。