天天看點

PCI總線學習(一)---> PCI概述

幻燈片 2

PCI總線學習(一)---> PCI概述

幻燈片 3

PCI總線學習(一)---> PCI概述

幻燈片 4

PCI總線學習(一)---> PCI概述

北橋與cpu之間通過前端總線(FSB)連接配接,北橋與南橋通過root PCI總線互連。是以北橋扮演着host/PCI bridge角色。而南橋為PCI總線通向ISA總線(Industrial Standard Architecture,工業标準結構總線)的一個bridge,連接配接了PCI root bus和ISA bus,南橋一般包含中斷控制器,IDE控制器,USB host控制器和DMA控制器。北橋和南橋組成了晶片組。左邊是顯示卡專用接口部分,由于PCI總線帶寬不能滿足于顯示卡的資料傳輸。于是産生了AGP端口,現在已經被PCIE接口替代。

幻燈片 5

PCI總線學習(一)---> PCI概述

      處理器無關。PCI裝置是與PCI規範有關的,而于處理器無關,處理器的更新不影響PCI裝置。即處理器設計改變,則處理器于北橋之間的通信方式可能改變,但北橋和裝置之間通過PCI總線通信方式可以不變。

      一條PCI bus理論上可以挂載32個裝置,因為裝置号是5位的,但是實際中由于總線承載能力有限,最多支援十個裝置負載,每個裝置最多可包含8個function,即8個邏輯裝置,這樣每條PCI總線最多可支援80個functions。

      支援256條PCI總線,PCI總線号為8位。PCI總線和總線之間由PCI-to-PCI bridge互連。Root PCI總線号為0。

      低功耗:表現為避免AD信号,C/BE信号和parity信号懸空,因為懸空超過一定的時間将會引發内部震蕩,消耗電流。

      Burst transfer:一次資料傳輸中包含一個address phase和多個data phase。由bus master決定burst傳輸的長度。Bus master不會在傳輸開始時告訴target burst傳輸的長度,而是當傳輸最後一個data時通知target。

      總線速度:spec2.1開始支援66MHz總線時鐘,32bit資料寬度下可以達到264MB/s的傳輸率。

      支援64bit擴充

      通路時間最小60ns。

      并行總線操作。PCI總線,前端總線,擴充總線可以同時工作。

      Bus master,傳輸的發起者,bus master可以對同一條總線上的target裝置進行通路,也可以通過bridge對其他PCI總線上的裝置或者擴充總線上的裝置或者主存進行通路

      Hidden總線仲裁。當一個bus master正在進行傳輸時,進行總線仲裁工作決定下一個傳輸總線的所屬者,稱為隐藏總線仲裁,   省時。

      Transaction完整性檢查:對位址,指令,資料進行校驗。

      三個位址空間:memory,I/O和配置位址空間。Memory位址空間有4GB,用來通路主存,PCI IO位址空間有4GB,X86 IO空間隻有64KB,用來通路外設。每個邏輯裝置對應64Dword,256 bytes的配置空間。

幻燈片 6

PCI總線學習(一)---> PCI概述

PCI bus number共8 bits,device number 5bits,function number3bits,doubleword 6 bits,最低2bits為0,一共是24btis,可以通路的位址空間為16M bytes

256 bus*32 device*8function*256B =16M bytes       每個function對應256 bytes配置空間。

幻燈片 7

PCI總線學習(一)---> PCI概述

Burst transfer:一次資料傳輸中包含一個address phase和多個data phase。由bus master決定burst傳輸的長度。Bus master不會在傳輸開始時告訴target burst傳輸的長度,而是當傳輸最後一個data時通知target。

幻燈片 8

PCI clock:spec中規定,所有的PCI裝置必須支援0M-33MHz範圍内的PCI操作,為了低功耗和靜态調式能力。內建在闆子上的部件可能會設計為工作在固定的時鐘頻率,add-in card上的裝置必須支援從0-33MHZ可變的工作頻率。因為card可能工作在不同的平台。

Address phase:1個PCI clock

Start transaction:master assertFRAME#表明要開始一次transaction。

Claim the transaction:target assertsTRDY#信号表示target已經ready,即需要的data已經準備好。接着它會asserts DEVSEL# 信号來claimtransaction。

turn around cycle:當驅動總線的角色要發生轉變時,中間會有一個turnaround cycle。

Transaction completion:Master deasserts FRAME#信号,表示它準備完成最後一個dataphase。

return of bus to idle state:IRDY# 和FRAME#信号同時為deasserted狀态,表示總線空閑。

資料的傳輸都是在時鐘上升沿發生的。

繼續閱讀