PCI即Peripheral Component Interconnect,中文意思是“外圍器件互聯(lián)”,是由PCISIG (PCI Special Interest Group)推出的一種局部并行總線標準。PCI總線是由ISA(Industy Standard Architecture)總線發(fā)展而來的,ISA并行總線有8位和16位兩種模式,時鐘頻率為8MHz,工作頻率為33MHz/66MHz。是一種同步的獨立于處理器的32位或64位局部總線。從結構上看,PCI是在CPU的供應商和原來的系統(tǒng)總線之間插入的一級總線,具體由一個橋接電路實現(xiàn)對這一層的管理,并實現(xiàn)上下之間的接口以協(xié)調數(shù)據(jù)的傳送。從1992年創(chuàng)立規(guī)范到如今,PCI總線已成為了計算機的一種標準總線。已成為局部總線的新標準,廣泛用于當前高檔微機、工作站,以及便攜式微機。主要用于連接顯示卡、網(wǎng)卡、聲卡。PCI總線是32位同步復用總線。其地址和數(shù)據(jù)線引腳是AD31~AD0。PCI的工作頻率為33MHz。
在處理器系統(tǒng)中,含有PCI總線和PCI總線樹這兩個概念。這兩個概念并不相同,在一顆PCI總線樹中可能具有多條PCI總線,而具有血緣關系的PCI總線組成一顆PCI總線樹。PCI總線由HOST主橋或者PCI橋管理,用來連接各類設備,如聲卡、網(wǎng)卡和IDE接口卡等。在一個處理器系統(tǒng)中,可以通過PCI橋擴展PCI總線,并形成具有血緣關系的多級PCI總線,從而形成PCI總線樹型結構。在處理器系統(tǒng)中有幾個HOST主橋,就有幾顆這樣的PCI總線樹,而每一顆PCI總線樹都與一個PCI總線域對應。與HOST主橋直接連接的PCI總線通常被命名為PCI總線0。考慮到在一個處理器系統(tǒng)中可能有多個主橋。
PCI總線取代了早先的ISA總線。當然與在PCI總線后面出現(xiàn)專門用于顯卡的AGP總線,與現(xiàn)在的PCI Express總線相比,功能沒有那么強大,但是PCI能從1992用到現(xiàn)在,說明他有許多優(yōu)點,比如即插即用(Plug and Play)、中斷共享等。在這里我們對PCI總線做一個深入的介紹。從數(shù)據(jù)寬度上看,PCI總線有32bit、64bit之分;從總線速度上分,有33MHz、66MHz兩種。目前流行的是32bit @ 33MHz,而64bit系統(tǒng)正在普及中。改良的PCI系統(tǒng),PCI-X,最高可以達到64bit @ 133MHz,這樣就可以得到超過1GB/s的數(shù)據(jù)傳輸速率。如果沒有特殊說明,以下的討論以32bit @ 33MHz為例。不同于ISA總線,PCI總線的地址總線與數(shù)據(jù)總線是分時復用的。這樣做的好處是,一方面可以節(jié)省接插件的管腳數(shù),另一方面便于實現(xiàn)突發(fā)數(shù)據(jù)傳輸。在做數(shù)據(jù)傳輸時,由一個PCI設備做發(fā)起者(主控,Initiator或Master),而另一個PCI設備做目標(從設備,Target或Slave)??偩€上的所有時序的產生與控制,都由Master來發(fā)起。PCI總線在同一時刻只能供一對設備完成傳輸,這就要求有一個仲裁機構(Arbiter),來決定在誰有權力拿到總線的主控權。當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ù)傳輸。