ISA總線和PCI總線的比較
ISA總線:
PCI總線
PCI技術規(guī)格簡介
從1992年創(chuàng)立規(guī)范到如今,PCI總線已成為了計算機的一種標準總線。由PCI總線構成的標準系統(tǒng)結構如圖一所示。
PCI總線取代了早先的ISA總線。當然與在PCI總線后面出現(xiàn)專門用于顯卡的AGP總線,與現(xiàn)在PCI
從數(shù)據(jù)寬度上看,PCI總線有32bit、64bit之分;從總線速度上分,有33MHz、66MHz兩種。目前流行的是32bit
一、基本概念
不同于ISA總線,PCI總線的地址總線與數(shù)據(jù)總線是分時復用的。這樣做的好處是,一方面可以節(jié)省接插件的管腳數(shù),另一方面便于實現(xiàn)突發(fā)數(shù)據(jù)傳輸。在做數(shù)據(jù)傳輸時,由一個PCI設備做發(fā)起者(主控,Initiator或Master),而另一個PCI設備做目標(從設備,Target或Slave)??偩€上的所有時序的產(chǎn)生與控制,都由Master來發(fā)起。PCI總線在同一時刻只能供一對設備完成傳輸,這就要求有一個仲裁機構(Arbiter),來決定在誰有權力拿到總線的主控權。
32bit
系統(tǒng)控制:
RST
傳輸控制:
IRDY#,Master可以傳輸數(shù)據(jù)的標志
DEVSEL#,當Slave發(fā)現(xiàn)自己被尋址時置低應答
TRDY#,Slave可以轉輸數(shù)據(jù)的標志
STOP#,Slave主動結束傳輸數(shù)據(jù)的信號
IDSEL,在即插即用系統(tǒng)啟動時用于選中板卡的信號
地址與數(shù)據(jù)總線:
C/BE#[3::0],命今/字節(jié)使能信號
PAR,奇偶校驗信號
仲裁號:
GNT#,Arbiter允許Master得到總線使用權的信號
錯誤報告:
SERR#,系統(tǒng)奇偶校驗錯
當PCI總線進行操作時,發(fā)起者(Master)先置REQ#,當?shù)玫街俨闷?Arbiter)的許可時(GNT#),會將FRAME#置低,并在AD總線上放置Slave地址,同時C/BE#放置命令信號,說明接下來的傳輸類型。所有PCI總線上設備都需對此地址譯碼,被選中的設備要置DEVSEL#以聲明自己被選中。然后當IRDY#與TRDY#都置低時,可以傳輸數(shù)據(jù)。當Master數(shù)據(jù)傳輸結束前,將FRAME#置高以標明只剩最后一組數(shù)據(jù)要傳輸,并在傳完數(shù)據(jù)后放開IRDY#以釋放總線控制權。
這里我們可以看出,PCI總線的傳輸是很高效的,發(fā)出一組地址后,理想狀態(tài)下可以連續(xù)發(fā)數(shù)據(jù),峰值速率為132MB/s。實際上,目前流行的33M@32bit北橋芯片一般可以做到100MB/s的連續(xù)傳輸。
二、即插即用的實現(xiàn)
所謂即插即用,是指當板卡插入系統(tǒng)時,系統(tǒng)會自動對板卡所需資源進行分配,如基地址、中斷號等,并自動尋找相應的驅動程序。而不象舊的ISA板卡,需要進行復雜的手動配置。
實際的實現(xiàn)遠比說起來要復雜。在PCI板卡中,有一組寄存器,叫"配置空間"(Configuration
以內存地址為例。當上電時,板卡從ROM里讀取固定的值放到寄存器中,對應內存的地方放置的是需要分配的內存字節(jié)數(shù)等信息。操作系統(tǒng)要跟據(jù)這個信息分配內存,并在分配成功后把相應的寄存器中填入內存的起始地址。這樣就不必手工設置開關來分配內存或基地址了。對于中斷的分配也與此類似.北京寶控科技有限公司
三、中斷共享的實現(xiàn)
ISA卡的一個重要局限在于中斷是獨占的,而我們知道計算機的中斷號只有16個,系統(tǒng)又用掉了一些,這樣當有多塊ISA卡要用中斷時就會有問題了.
PCI總線的中斷共享由硬件與軟件兩部分組成。
硬件上,采用電平觸發(fā)的辦法:中斷信號在系統(tǒng)一側用電阻接高,而要產(chǎn)生中斷的板卡上利用三極管的集電極將信號拉低。這樣不管有幾塊板產(chǎn)生中斷,中斷信號都是低;而只有當所有板卡的中斷都得到處理后,中斷信號才會回復高電平。
軟件上,采用中斷鏈的方法:假設系統(tǒng)啟動時,發(fā)現(xiàn)板卡A用了中斷7,就會將中斷7對應的內存區(qū)指向A卡對應的中斷服務程序入口ISR_A;然后系統(tǒng)發(fā)現(xiàn)板卡B也用中斷7,這時就會將中斷7對應的內存區(qū)指向ISR_B,同時將ISR_B的結束指向ISR_A。以此類推,就會形成一個中斷鏈。而當有中斷發(fā)生時,系統(tǒng)跳轉到中斷7對應的內存,也就是ISR_B。ISR_B就要檢查是不是B卡的中斷,如果是,要處理,并將板卡上的拉低電路放開;如果不是,則呼叫ISR_A。這樣就完成了中斷的共享。
通過以上討論,我們不難看出,PCI總線有著極大的的優(yōu)勢。而近年來的市場情況也證實了這一點。
添加:
1991
PCI
(1)
(2)
(3)
(4)
(5)
(6)
(7)
評論