當前位置:編程學習大全網 - 編程語言 - PCI總線是什麽意思總線代表什麽意思

PCI總線是什麽意思總線代表什麽意思

分類: 電腦/網絡 >> 硬件

解析:

PCI總線

PCI技術規格簡介

從1992年創立規範到如今,PCI總線已成為了計算機的壹種標準總線。由PCI總線構成的標準系統結構如圖壹所示。

PCI總線取代了早先的ISA總線。當然與在PCI總線後面出現專門用於顯卡的AGP總線,與現在PCI Express總線,但是PCI能從1992用到現在,說明他有許多優點,比如即插即用(Plug and Play)、中斷***享等。在這裏我們對PCI總線做壹個深入的介紹。

從數據寬度上看,PCI總線有32bit、64bit之分;從總線速度上分,有33MHz、66MHz兩種。目前流行的是32bit @ 33MHz,而64bit系統正在普及中。改良的PCI系統,PCI-X,最高可以達到64bit @ 133MHz,這樣就可以得到超過1GB/s的數據傳輸速率。如果沒有特殊說明,以下的討論以32bit @ 33MHz為例。

壹、基本概念

不同於ISA總線,PCI總線的地址總線與數據總線是分時復用的。這樣做的好處是,壹方面可以節省接插件的管腳數,另壹方面便於實現突發數據傳輸。在做數據傳輸時,由壹個PCI設備做發起者(主控,Initiator或Master),而另壹個PCI設備做目標(從設備,Target或Slave)。總線上的所有時序的產生與控制,都由Master來發起。PCI總線在同壹時刻只能供壹對設備完成傳輸,這就要求有壹個仲裁機構(Arbiter),來決定在誰有權力拿到總線的主控權。

32bit PCI系統的管腳按功能來分有以下幾類:

系統控制: CLK,PCI時鐘,上升沿有效

RST ,Reset信號

傳輸控制: FRAME#,標誌傳輸開始與結束

IRDY#,Master可以傳輸數據的標誌

DEVSEL#,當Slave發現自己被尋址時置低應答

TRDY#,Slave可以轉輸數據的標誌

STOP#,Slave主動結束傳輸數據的信號

IDSEL,在即插即用系統啟動時用於選中板卡的信號

地址與數據總線: AD[31::0],地址/數據分時復用總線

C/BE#[3::0],命今/字節使能信號

PAR,奇偶校驗信號

仲裁號: REQ#,Master用來請求總線使用權的信號

GNT#,Arbiter允許Master得到總線使用權的信號

錯誤報告: PERR#,數據奇偶校驗錯

SERR#,系統奇偶校驗錯

當PCI總線進行操作時,發起者(Master)先置REQ#,當得到仲裁器(Arbiter)的許可時(GNT#),會將FRAME#置低,並在AD總線上放置Slave地址,同時C/BE#放置命令信號,說明接下來的傳輸類型。所有PCI總線上設備都需對此地址譯碼,被選中的設備要置DEVSEL#以聲明自己被選中。然後當IRDY#與TRDY#都置低時,可以傳輸數據。當Master數據傳輸結束前,將FRAME#置高以標明只剩最後壹組數據要傳輸,並在傳完數據後放開IRDY#以釋放總線控制權。

這裏我們可以看出,PCI總線的傳輸是很高效的,發出壹組地址後,理想狀態下可以連續發數據,峰值速率為132MB/s。實際上,目前流行的33M@32bit北橋芯片壹般可以做到100MB/s的連續傳輸。

二、即插即用的實現

所謂即插即用,是指當板卡插入系統時,系統會自動對板卡所需資源進行分配,如基地址、中斷號等,並自動尋找相應的驅動程序。而不象舊的ISA板卡,需要進行復雜的手動配置。

實際的實現遠比說起來要復雜。在PCI板卡中,有壹組寄存器,叫"配置空間"(Configuration Space),用來存放基地址與內存地址,以及中斷等信息。

以內存地址為例。當上電時,板卡從ROM裏讀取固定的值放到寄存器中,對應內存的地方放置的是需要分配的內存字節數等信息。操作系統要跟據這個信息分配內存,並在分配成功後把相應的寄存器中填入內存的起始地址。這樣就不必手工設置開關來分配內存或基地址了。對於中斷的分配也與此類似。

三、中斷***享的實現

ISA卡的壹個重要局限在於中斷是獨占的,而我們知道計算機的中斷號只有16個,系統又用掉了壹些,這樣當有多塊ISA卡要用中斷時就會有問題了。

PCI總線的中斷***享由硬件與軟件兩部分組成。

硬件上,采用電平觸發的辦法:中斷信號在系統壹側用電阻接高,而要產生中斷的板卡上利用三極管的集電極將信號拉低。這樣不管有幾塊板產生中斷,中斷信號都是低;而只有當所有板卡的中斷都得到處理後,中斷信號才會回復高電平。

軟件上,采用中斷鏈的方法:假設系統啟動時,發現板卡A用了中斷7,就會將中斷7對應的內存區指向A卡對應的中斷服務程序入口ISR_A;然後系統發現板卡B也用中斷7,這時就會將中斷7對應的內存區指向ISR_B,同時將ISR_B的結束指向ISR_A。以此類推,就會形成壹個中斷鏈。而當有中斷發生時,系統跳轉到中斷7對應的內存,也就是ISR_B。ISR_B就要檢查是不是B卡的中斷,如果是,要處理,並將板卡上的拉低電路放開;如果不是,則呼叫ISR_A。這樣就完成了中斷的***享。

通過以上討論,我們不難看出,PCI總線有著極大的的優勢。而近年來的市場情況也證實了這壹點。

  • 上一篇:精密縮管機制造商
  • 下一篇:verilog裏面“**”代表什麽?
  • copyright 2024編程學習大全網