一、PCI總線與處理器系統
PCI總線作為處理器系統的局部總線,是處理器系統的重要組成部件,與處理器系統息息相關。
處理器系統中與PCI總線相關的模塊包括:HOST主橋、PCI總線、PCI橋、PCI設備。
PCI總線是由HOST主橋和PCI橋推出,HOST主橋和主存儲器控制器處于同一級總線上,PCI設備可以通過HOST主橋訪問主存儲器的方式,即常說的PCI設備的DMA操作。PCI設備的DMA操作需要與處理器系統的Cache進行一緻性操作,當PCI設備通過HOST主橋訪問主存儲器時,Cache一緻性模塊将進行地址監聽,并根據監聽的結果改變Cache的狀态,從而實現DMA操作。
1.1、HOST主橋
HOST主橋是一種特殊的橋片,不同處理器系統的位置不相同。PowerPC處理器中将HOST主橋和處理器集成在一個芯片中。Inter的X86處理器采用南北橋的結構,處理器内核在一個芯片内,HOST主橋在北橋中。
HOST主橋,主要功能是隔離處理器系統的存儲器域和處理器系統的PCI總線域,并管理PCI總線域,完成處理器與PCI設備間的數據交換。
處理器與PCI設備間的數據交換包括兩部分,一是處理器訪問PCI設備的地址空間,二是PCI設備使用DMA機制訪問主存儲器。
存儲器域——處理器系統的存儲器域
PCI總線域——處理器系統的PCI總線域
HOST主橋是聯系處理器與PCI設備的橋梁。每一個HOST主橋管理一顆PCI總線樹,樹下挂載的所有PCI設備均屬于同一PCI總線域,該樹下的PCI設備的配置空間均由HOST主橋通過配置讀寫總線周期訪問。
1.2、PCI總線
處理器系統中,常說的PCI總線和PCI總線樹概念是不同的。一顆PCI總線樹可以包含多條PCI總線,相互之間具有血緣關系的PCI總線組成一顆PCI總線樹。
上圖中,處理器系統包含兩個HOST主橋,對應了兩個PCI總線樹,X樹和Y樹,每一顆PCI總線樹對應一個PCI總線域。通常與HOST主橋直接連接的PCI總線被命名為PCI總線0,比如X0和Y0。而HOST主橋擴展出的PCI橋x1連接的PCI總線命名為PCI總線X1。其他類推即可。
PCI總線是由HOST主橋或者PCI橋管理的,用來連接外部設備,比如:聲卡、網卡、PCI闆卡等。
1.3、PCI橋和PCI設備
PCI總線中包含三種設備:PCI主設備、PCI從設備和橋設備。
PCI主設備可以通過總線仲裁獲得PCI總線的使用權,從而主動向其他PCI設備或者主存儲器發起存儲器讀寫請求。
PCI從設備隻能被動接收來自HOST主橋或者其他PCI主設備的讀寫請求。
橋設備主要作用是管理下遊的PCI總線,并轉發上下遊之間的總線事務。
PCI總線規範将PCI主從設備稱為PCI Agent設備,比如處理器系統中PCI網卡、顯卡、聲卡。PCI主從設備,指一個PCI設備既可以是主設備也可以是從設備,但同一時刻隻能為兩者中一種。
HOST主橋,可以獲取PCI總線的控制權訪問PCI設備,也可以被PCI設備訪問,但HOST主橋不屬于PCI設備。
橋設備,包括PCI橋、PCI-to-EISA橋、PCI-to-Cardbus橋。
PCI橋是的PCI總線極具擴展性,處理器系統使用PCI橋實現PCI總線的擴展。PCI橋可以連接兩條PCI總線,上遊PCI總線和下遊PCI總線,同屬于一個PCI總線域,該橋下的所有PCI總線也同屬于一個PCI總線域。對于PCI設備配置空間的訪問可以從上遊總線轉發到下遊總線,而數據傳送可以雙向進行。
PCI-to-EISA橋是将PCI總線擴展成EISA總線。
PCI-to-Cardbus橋是将PCI總線擴展成Cardbus總線。
1.4、HOST處理器
PCI總線規定,在同一時刻,一顆PCI總線樹上有且隻能有一個HOST處理器。HOST處理器可以通過HOST主橋,發起PCI總線的配置請求總線事務,并對PCI總線上的PCI設備和橋設備進行配置。通常CPU都可以通過HOST主橋訪問下挂的PCI設備,這些CPU也被稱為HOST處理器。
HOST處理器可以通過配置HOST主橋中的寄存器管理PCI設備。比如:X86處理器系統采用I/O訪問方式,其下的HOST主橋設置了0xCF8和0xCFC這兩個I/O端口訪問PCI設備的配置空間,Power PC處理器采用寄存器映像尋址方式訪問外部設備的寄存器空間,其下的HOST主橋設置了CFG_ADDR和CFG_DATA寄存器訪問PCI設備的配置空間。
1.5、PCI總線的負載
PCI總線能挂接的負載與總線頻率有關,總線頻率越高,能挂接的負載越少。
在PCI總線中,一個插槽相當于兩個負載,即接插件和插卡。33MHz的PCI總線可以挂載4-5個卡槽,即8-10個負載。
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!