PCI定義
PCI總線特點
PCI即PeripheralComponentInterconnect,中文意思是“外圍器件互聯(lián)”,是由PCISIG(PCISpecialInterestGroup)推出的一種局部并行總線標準。PCI總線是由ISA(IndustyStandardArchitecture)總線發(fā)展而來的,ISA并行總線有8位和16位兩種模式,時鐘頻率為8MHz,工作頻率為33MHz/66MHz。是一種同步的獨立于處理器的32位或64位局部總線。從結構上看,PCI是在CPU的供應商和原來的系統(tǒng)總線之間插入的一級總線,具體由一個橋接電路實現對這一層的管理,并實現上下之間的接口以協(xié)調數據的傳送。從1992年創(chuàng)立規(guī)范到如今,PCI總線已成為了計算機的一種標準總線。已成為局部總線的新標準,廣泛用于當前高檔微機、工作站,以及便攜式微機。主要用于連接顯示卡、網卡、聲卡。PCI總線是32位同步復用總線。其地址和數據線引腳是AD31~AD0。PCI的工作頻率為33MHz。
PCI總線結構
PCI總線是一種樹型結構,并且獨立于CPU總線,可以和CPU總線并行操作。PCI總線上可以掛接PCI設備和PCI橋片,PCI總線上只允許有一個PCI主設備,其他的均為PCI從設備,而且讀寫操作只能在主從設備之間進行,從設備之間的數據交換需要通過主設備中轉。[1]PCI總線結構如下圖所示。
在處理器系統(tǒng)中,含有PCI總線和PCI總線樹這兩個概念。這兩個概念并不相同,在一顆PCI總線樹中可能具有多條PCI總線,而具有血緣關系的PCI總線組成一顆PCI總線樹。PCI總線由HOST主橋或者PCI橋管理,用來連接各類設備,如聲卡、網卡和IDE接口卡等。在一個處理器系統(tǒng)中,可以通過PCI橋擴展PCI總線,并形成具有血緣關系的多級PCI總線,從而形成PCI總線樹型結構。在處理器系統(tǒng)中有幾個HOST主橋,就有幾顆這樣的PCI總線樹,而每一顆PCI總線樹都與一個PCI總線域對應。
與HOST主橋直接連接的PCI總線通常被命名為PCI總線0??紤]到在一個處理器系統(tǒng)中可能有多個主橋。
PCI總線取代了早先的ISA總線。當然與在PCI總線后面出現專門用于顯卡的AGP總線,與現在的PCIExpress總線相比,功能沒有那么強大,但是PCI能從1992用到現在,說明他有許多優(yōu)點,比如即插即用(PlugandPlay)、中斷共享等。在這里我們對PCI總線做一個深入的介紹。
從數據寬度上看,PCI總線有32bit、64bit之分;從總線速度上分,有33MHz、66MHz兩種。目前流行的是32bit@33MHz,而64bit系統(tǒng)正在普及中。改良的PCI系統(tǒng),PCI-X,最高可以達到64bit@133MHz,這樣就可以得到超過1GB/s的數據傳輸速率。如果沒有特殊說明,以下的討論以32bit@33MHz為例。
不同于ISA總線,PCI總線的地址總線與數據總線是分時復用的。這樣做的好處是,一方面可以節(jié)省接插件的管腳數,另一方面便于實現突發(fā)數據傳輸。在做數據傳輸時,由一個PCI設備做發(fā)起者(主控,Initiator或Master),而另一個PCI設備做目標(從設備,Target或Slave)??偩€上的所有時序的產生與控制,都由Master來發(fā)起。PCI總線在同一時刻只能供一對設備完成傳輸,這就要求有一個仲裁機構(Arbiter),來決定在誰有權力拿到總線的主控權。
當PCI總線進行操作時,發(fā)起者(Master)先置REQ#,當得到仲裁器(Arbiter)的許可時(GNT#),會將FRAME#置低,并在AD總線上放置Slave地址,同時C/BE#放置命令信號,說明接下來的傳輸類型。所有PCI總線上設備都需對此地址譯碼,被選中的設備要置DEVSEL#以聲明自己被選中。然后當IRDY#與TRDY#都置低時,可以傳輸數據。當Master數據傳輸結束前,將FRAME#置高以標明只剩最后一組數據要傳輸,并在傳完數據后放開IRDY#以釋放總線控制權。
這里我們可以看出,PCI總線的傳輸是很高效的,發(fā)出一組地址后,理想狀態(tài)下可以連續(xù)發(fā)數據,峰值速率為132MB/s。實際上,目前流行的33M@32bit北橋芯片一般可以做到100MB/s的連續(xù)傳輸。
PCI總線特點
(1)傳輸速率高最大數據傳輸率為132MB/s,當數據寬度升級到64位,數據傳輸率可達264MB/s。這是其他總線難以比擬的。它大大緩解了數據I/O瓶頸,使高性能CPU的功能得以充分發(fā)揮,適應高速設備數據傳輸的需要。
(2)多總線共存采用PCI總線可在一個系統(tǒng)中讓多種總線共存,容納不同速度的設備一起工作。通過HOST-PCI橋接組件芯片,使CPU總線和PCI總線橋接;通過PCI-ISA/EISA橋接組件芯片,將PCI總線與ISA/EISA總線橋接,構成一個分層次的多總線系統(tǒng)。高速設備從ISA/EISA總線卸下來,移到PCI總線上,低速設備仍可掛在ISA/EISA總線上,繼承原有資源,擴大了系統(tǒng)的兼容性。
(3)獨立于CPUPCI總線不依附于某一具體處理器,即PCI總線支持多種處理器及將來發(fā)展的新處理器,在更改處理器品種時,更換相應的橋接組件即可。
(4)自動識別與配置外設用戶使用方便。
(5)并行操作能力。
PCI總線的主要性能
(1)總線時鐘頻率33.3MHz/66.6MHz。
(2)總線寬度32位/64位。
(3)最大數據傳輸率132MB/s(264MB/s)。
(4)支持64位尋址。
(5)適應5V和3.3V電源環(huán)境。
即插即用的實現
所謂即插即用,是指當板卡插入系統(tǒng)時,系統(tǒng)會自動對板卡所需資源進行分配,如基地址、中斷號等,并自動尋找相應的驅動程序。而不象舊的ISA板卡,需要進行復雜的手動配置。
實際的實現遠比說起來要復雜。在PCI板卡中,有一組寄存器,叫"配置空間"(ConfigurationSpace),用來存放基地址與內存地址,以及中斷等信息。
以內存地址為例。當上電時,板卡從ROM里讀取固定的值放到寄存器中,對應內存的地方放置的是需要分配的內存字節(jié)數等信息。操作系統(tǒng)要跟據這個信息分配內存,并在分配成功后把相應的寄存器中填入內存的起始地址。這樣就不必手工設置開關來分配內存或基地址了。對于中斷的分配也與此類似。
中斷共享的實現
ISA卡的一個重要局限在于中斷是獨占的,而我們知道計算機的中斷號只有16個,系統(tǒng)又用掉了一些,這樣當有多塊ISA卡要用中斷時就會有問題了。
PCI總線的中斷共享由硬件與軟件兩部分組成。
硬件上,采用電平觸發(fā)的辦法:中斷信號在系統(tǒng)一側用電阻接高,而要產生中斷的板卡上利用三極管的集電極將信號拉低。這樣不管有幾塊板產生中斷,中斷信號都是低;而只有當所有板卡的中斷都得到處理后,中斷信號才會恢復高電平。
軟件上,采用中斷鏈的方法:假設系統(tǒng)啟動時,發(fā)現板卡A用了中斷7,就會將中斷7對應的內存區(qū)指向A卡對應的中斷服務程序入口ISR_A;然后系統(tǒng)發(fā)現板卡B也用中斷7,這時就會將中斷7對應的內存區(qū)指向ISR_B,同時將ISR_B的結束指向ISR_A。以此類推,就會形成一個中斷鏈。而當有中斷發(fā)生時,系統(tǒng)跳轉到中斷7對應的內存,也就是ISR_B。ISR_B就要檢查是不是B卡的中斷,如果是,要處理,并將板卡上的拉低電路放開;如果不是,則呼叫ISR_A。這樣就完成了中斷的共享。
通過以上討論,我們不難看出,PCI總線有著極大的的優(yōu)勢。而近年來的市場情況也證實了這一點。
總線設備
在PCI總線中有三類設備,PCI主設備、PCI從設備和橋設備。其中PCI從設備只能被動地接收來自HOST主橋,或者其他PCI設備的讀寫請求;而PCI主設備可以通過總線仲裁獲得PCI總線的使用權,主動地向其他PCI設備或者主存儲器發(fā)起存儲器讀寫請求。而橋設備的主要作用是管理下游的PCI總線,并轉發(fā)上下游總線之間的總線事務。
一個PCI設備可以即是主設備也是從設備,但是在同一個時刻,這個PCI設備或者為主設備或者為從設備。PCI總線規(guī)范將PCI主從設備統(tǒng)稱為PCIAgent設備。在處理器系統(tǒng)中常見的PCI網卡、顯卡、聲卡等設備都屬于PCIAgent設備。
在PCI總線中,HOST主橋是一個特殊的PCI設備,該設備可以獲取PCI總線的控制權訪問PCI設備,也可以被PCI設備訪問。但是HOST主橋并不是PCI設備。PCI規(guī)范也沒有規(guī)定如何設計HOST主橋。
在PCI總線中,還有一類特殊的設備,即橋設備。橋設備包括PCI橋、PCI-to-(E)ISA橋和PCI-to-Cardbus橋。PCI橋的存在使PCI總線極具擴展性,處理器系統(tǒng)可以使用PCI橋進一步擴展PCI總線。
PCI橋的出現使得采用PCI總線進行大規(guī)模系統(tǒng)互連成為可能。但是在目前已經實現的大規(guī)模處理器系統(tǒng)中,并沒有使用PCI總線進行處理器系統(tǒng)與處理器系統(tǒng)之間的大規(guī)模互連。因為PCI總線是一個以HOST主橋為根的樹型結構,使用主從架構,因而不易實現多處理器系統(tǒng)間的對等互連。
即便如此PCI橋仍然是PCI總線規(guī)范的精華所在,掌握PCI橋是深入理解PCI體系結構的基礎。PCI橋可以連接兩條PCI總線,上游PCI總線和下游PCI總線,這兩個PCI總線屬于同一個PCI總線域,使用PCI橋擴展的所有PCI總線都同屬于一個PCI總線域。
其中對PCI設備配置空間的訪問可以從上游總線轉發(fā)到下游總線,而數據傳送可以雙方向進行。在PCI總線中,還存在一種非透明PCI橋,該橋片不是PCI總線規(guī)范定義的標準橋片,但是適用于某些特殊應用。
主要性能
?。?)傳輸速率高最大數據傳輸率為132MB/s,當數據寬度升級到64位,數據傳輸率可達264MB/s。這是其他總線難以比擬的。它大大緩解了數據I/O瓶頸,使高性能CPU的功能得以充分發(fā)揮,適應高速設備數據傳輸的需要。
(2)多總線共存采用PCI總線可在一個系統(tǒng)中讓多種總線共存,容納不同速度的設備一起工作。通過HOST-PCI橋接組件芯片,使CPU總線和PCI總線橋接;通過PCI-ISA/EISA橋接組件芯片,將PCI總線與ISA/EISA總線橋接,構成一個分層次的多總線系統(tǒng)。高速設備從ISA/EISA總線卸下來,移到PCI總線上,低速設備仍可掛在ISA/EISA總線上,繼承原有資源,擴大了系統(tǒng)的兼容性。
(3)獨立于CPUPCI總線不依附于某一具體處理器,即PCI總線支持多種處理器及將來發(fā)展的新處理器,在更改處理器品種時,更換相應的橋接組件即可。
(4)自動識別與配置外設用戶使用方便。
(5)并行操作能力。
PCI(PeripheralComponentInterconnect)總線是一種高性能局部總線,是為了滿足外設間以及外設與主機間高速數據傳輸而提出來的。在數字圖形、圖像和語音處理,以及高速實時數據采集與處理等對數據傳輸率要求較高的應用中,采用PCI總線來進行數據傳輸,可以解決原有的標準總線數據傳輸率低帶來的瓶頸問題。
總線特點
PCI總線是一種同步的獨立于處理器的32位或64位局部總線,最高工作頻率為33MHz,峰值速度在32位時為132MB/s,64位時為264MB/s,總線規(guī)范由PCISIG發(fā)布。ISA總線相比,PCI總線和有如下顯著的特點:
?。?)高速性
PCI局部總線以33MHz的時鐘頻率操作,采用32位數據總線,數據傳輸速率可高達132MB/s,遠超過以往各種總線。而早在1995年6月推出的PCI總線規(guī)范2。l已定義了64位、66MHz的PCI總線標準。因此PCI總線完全可為未來的計算機提供更高的數據傳送率。另外,PCI總線的主設備(Master)可與微機內存直接交換數據,而不必經過微機CPU中轉,也提高了數據傳送的效率。
(2)即插即用性
目前隨著計算機技術的發(fā)展,微機中留給用戶使用的硬件資源越來越少,也越來越含糊不清。在使用ISA板卡時,有兩個問題需要解決:一是在同一臺微機上使用多個不同廠家、不同型號的板卡時,板卡之間可能會有硬件資源上的沖突;二是板卡所占用的硬件資源可能會與系統(tǒng)硬件資源(如聲卡、網卡等)相沖突。而PCI板卡的硬件資源則是由微機根據其各自的要求統(tǒng)一分配,決不會有任何的沖突問題。因此,作為PCI板卡的設計者,不必關心微機的哪些資源可用,哪些資源不可用,也不必關心板卡之間是否會有沖突。因此,即使不
考慮PCI總線的高速性,單憑其即插即用性,就比ISA總線優(yōu)越了許多。
(3)可靠性
PCI獨立于處理器的結構,形成一種獨特的中間緩沖器設計方式,將中央處理器子系統(tǒng)與外圍設備分開。這樣用戶可以隨意增添外圍設備,以擴充電腦系統(tǒng)而不必擔心在不同時鐘頻率下會導致性能的下降。與原先微機常用的ISA總線相比,PCI總線增加了奇偶校驗錯(PERR)、系統(tǒng)錯(SERR)、從設備結束(STOP)等控制信號及超時處理等可靠性措施,使數據傳輸的可靠性大為增加。
(4)復雜性
PCI總線強大的功能大大增加了硬件設計和軟件開發(fā)的實現難度。硬件上要采用大容量、高速度的CPLD或FPGA芯片來實現PCI總線復雜的功能。軟件上則要根據所用的操作系統(tǒng),用軟件工具編制支持即插即用功能酶設備驅動程序。
?。?)自動配置
PCI總線規(guī)范規(guī)定PCI插卡可以自動配置。PCI定義了3種地址空間:存儲器空間,輸入輸出空間和配置空間,每個PCI設備中都有256字節(jié)的配置空間用來存放自動配置信息,當PCI插卡插入系統(tǒng),BIOS將根據讀到的有關該卡的信息,結合系統(tǒng)的實際情況為插卡分配存儲地址、中斷和某些定時信息。
(6)共享中斷
PCI總線是采用低電平有效方式,多個中斷可以共享一條中斷線,而ISA總線是邊沿觸發(fā)方式。
?。?)擴展性好
如果需要把許多設備連接到PCI總線上,而總線驅動能力不足時,可以采用多級PCI總線,這些總線上均可以并發(fā)工作,每個總線上均可掛接若干設備。因此PCI總線結構的擴展性是非常好的。由于PCI的設計是要輔助現有的擴展總線標準,因此與ISA,EISA及MCA總線完全兼容。
?。?)多路復用
在PCI總線中為了優(yōu)化設計采用了地址線和數據線共用一組物理線路,即多路復用。PCI接插件尺寸小,又采用了多路復用技術,減少了元件和管腳個數,提高了效率。
(9)嚴格規(guī)范
PCI總線對協(xié)議、時序、電氣性能、機械性能等指標都有嚴格的規(guī)定,保證了PCI的可靠性和兼容性。由于PCI總線規(guī)范十分復雜,其接口的實現就有較高的技術難度。
內容來自百科網