PCI總線特點(diǎn)及設(shè)備
(1)傳輸速率高最大數(shù)據(jù)傳輸率為132MB/s,當(dāng)數(shù)據(jù)寬度升級(jí)到64位,數(shù)據(jù)傳輸率可達(dá)264MB/s。這是其他總線難以比擬的。它大大緩解了數(shù)據(jù)I/O瓶頸,使高性能CPU的功能得以充分發(fā)揮,適應(yīng)高速設(shè)備數(shù)據(jù)傳輸?shù)男枰?2)多總線共存采用PCI總線可在一個(gè)系統(tǒng)中讓多種總線共存,容納不同速度的設(shè)備一起工作。通過HOST-PCI橋接組件芯片,使CPU總線和PCI總線橋接;通過PCI-ISA/EISA橋接組件芯片,將PCI總線與ISA/EISA總線橋接,構(gòu)成一個(gè)分層次的多總線系統(tǒng)。高速設(shè)備從ISA/EISA總線卸下來,移到PCI總線上,低速設(shè)備仍可掛在ISA/EISA總線上,繼承原有資源,擴(kuò)大了系統(tǒng)的兼容性。(3)獨(dú)立于CPU PCI總線不依附于某一具體處理器,即PCI總線支持多種處理器及將來發(fā)展的新處理器,在更改處理器品種時(shí),更換相應(yīng)的橋接組件即可。(4)自動(dòng)識(shí)別與配置外設(shè) 用戶使用方便。(5)并行操作能力。PCI總線的主要性能(1)總線時(shí)鐘頻率33.3MHz/66.6MHz。(2)總線寬度32位/64位。(3)最大數(shù)據(jù)傳輸率132MB/s(264MB/s)。(4)支持64位尋址。(5)適應(yīng)5V和3.3V電源環(huán)境。
即插即用的實(shí)現(xiàn)所謂即插即用,是指當(dāng)板卡插入系統(tǒng)時(shí),系統(tǒng)會(huì)自動(dòng)對(duì)板卡所需資源進(jìn)行分配,如基地址、中斷號(hào)等,并自動(dòng)尋找相應(yīng)的驅(qū)動(dòng)程序。而不象舊的ISA板卡,需要進(jìn)行復(fù)雜的手動(dòng)配置。實(shí)際的實(shí)現(xiàn)遠(yuǎn)比說起來要復(fù)雜。在PCI板卡中,有一組寄存器,叫"配置空間"(Configuration Space),用來存放基地址與內(nèi)存地址,以及中斷等信息。以內(nèi)存地址為例。當(dāng)上電時(shí),板卡從ROM里讀取固定的值放到寄存器中,對(duì)應(yīng)內(nèi)存的地方放置的是需要分配的內(nèi)存字節(jié)數(shù)等信息。操作系統(tǒng)要跟據(jù)這個(gè)信息分配內(nèi)存,并在分配成功后把相應(yīng)的寄存器中填入內(nèi)存的起始地址。這樣就不必手工設(shè)置開關(guān)來分配內(nèi)存或基地址了。對(duì)于中斷的分配也與此類似。
中斷共享的實(shí)現(xiàn)ISA卡的一個(gè)重要局限在于中斷是獨(dú)占的,而我們知道計(jì)算機(jī)的中斷號(hào)只有16個(gè),系統(tǒng)又用掉了一些,這樣當(dāng)有多塊ISA卡要用中斷時(shí)就會(huì)有問題了。PCI總線的中斷共享由硬件與軟件兩部分組成。硬件上,采用電平觸發(fā)的辦法:中斷信號(hào)在系統(tǒng)一側(cè)用電阻接高,而要產(chǎn)生中斷的板卡上利用三極管的集電極將信號(hào)拉低。這樣不管有幾塊板產(chǎn)生中斷,中斷信號(hào)都是低;而只有當(dāng)所有板卡的中斷都得到處理后,中斷信號(hào)才會(huì)恢復(fù)高電平。軟件上,采用中斷鏈的方法:假設(shè)系統(tǒng)啟動(dòng)時(shí),發(fā)現(xiàn)板卡A用了中斷7,就會(huì)將中斷7對(duì)應(yīng)的內(nèi)存區(qū)指向A卡對(duì)應(yīng)的中斷服務(wù)程序入口ISR_A;然后系統(tǒng)發(fā)現(xiàn)板卡B也用中斷7,這時(shí)就會(huì)將中斷7對(duì)應(yīng)的內(nèi)存區(qū)指向ISR_B,同時(shí)將ISR_B的結(jié)束指向ISR_A。以此類推,就會(huì)形成一個(gè)中斷鏈。而當(dāng)有中斷發(fā)生時(shí),系統(tǒng)跳轉(zhuǎn)到中斷7對(duì)應(yīng)的內(nèi)存,也就是ISR_B。ISR_B就要檢查是不是B卡的中斷,如果是,要處理,并將板卡上的拉低電路放開;如果不是,則呼叫ISR_A。這樣就完成了中斷的共享。通過以上討論,我們不難看出,PCI總線有著極大的的優(yōu)勢。而近年來的市場情況也證實(shí)了這一點(diǎn)。
在PCI總線中有三類設(shè)備,PCI主設(shè)備、PCI從設(shè)備和橋設(shè)備。其中PCI從設(shè)備只能被動(dòng)地接收來自HOST主橋,或者其他PCI設(shè)備的讀寫請(qǐng)求;而PCI主設(shè)備可以通過總線仲裁獲得PCI總線的使用權(quán),主動(dòng)地向其他PCI設(shè)備或者主存儲(chǔ)器發(fā)起存儲(chǔ)器讀寫請(qǐng)求。而橋設(shè)備的主要作用是管理下游的PCI總線,并轉(zhuǎn)發(fā)上下游總線之間的總線事務(wù)。一個(gè)PCI設(shè)備可以即是主設(shè)備也是從設(shè)備,但是在同一個(gè)時(shí)刻,這個(gè)PCI設(shè)備或者為主設(shè)備或者為從設(shè)備。PCI總線規(guī)范將PCI主從設(shè)備統(tǒng)稱為PCI Agent設(shè)備。在處理器系統(tǒng)中常見的PCI網(wǎng)卡、顯卡、聲卡等設(shè)備都屬于PCI Agent設(shè)備。在PCI總線中,HOST主橋是一個(gè)特殊的PCI設(shè)備,該設(shè)備可以獲取PCI總線的控制權(quán)訪問PCI設(shè)備,也可以被PCI設(shè)備訪問。但是HOST主橋并不是PCI設(shè)備。PCI規(guī)范也沒有規(guī)定如何設(shè)計(jì)HOST主橋。在PCI總線中,還有一類特殊的設(shè)備,即橋設(shè)備。橋設(shè)備包括PCI橋、PCI-to-(E)ISA橋和PCI-to-Cardbus橋。PCI橋的存在使PCI總線極具擴(kuò)展性,處理器系統(tǒng)可以使用PCI橋進(jìn)一步擴(kuò)展PCI總線。PCI橋的出現(xiàn)使得采用PCI總線進(jìn)行大規(guī)模系統(tǒng)互連成為可能。但是在目前已經(jīng)實(shí)現(xiàn)的大規(guī)模處理器系統(tǒng)中,并沒有使用PCI總線進(jìn)行處理器系統(tǒng)與處理器系統(tǒng)之間的大規(guī)?;ミB。因?yàn)镻CI總線是一個(gè)以HOST主橋?yàn)楦臉湫徒Y(jié)構(gòu),使用主從架構(gòu),因而不易實(shí)現(xiàn)多處理器系統(tǒng)間的對(duì)等互連。即便如此PCI橋仍然是PCI總線規(guī)范的精華所在,掌握PCI橋是深入理解PCI體系結(jié)構(gòu)的基礎(chǔ)。PCI橋可以連接兩條PCI總線,上游PCI總線和下游PCI總線,這兩個(gè)PCI總線屬于同一個(gè)PCI總線域,使用PCI橋擴(kuò)展的所有PCI總線都同屬于一個(gè)PCI總線域。其中對(duì)PCI設(shè)備配置空間的訪問可以從上游總線轉(zhuǎn)發(fā)到下游總線,而數(shù)據(jù)傳送可以雙方向進(jìn)行。在PCI總線中,還存在一種非透明PCI橋,該橋片不是PCI總線規(guī)范定義的標(biāo)準(zhǔn)橋片,但是適用于某些特殊應(yīng)用。