隨著計算機技術(shù)的繼續(xù)發(fā)展,CPU的處理速度越來越快,EISA總線的32MB/s帶寬已經(jīng)滿足不了CPU的需求,CPU外圍總線帶寬已經(jīng)成為制約計算機處理能力繼續(xù)提高的瓶頸。1991年下半年,Intel公司首選提出PCI總線的概念,并與IBM、Compaq、AST、HP、DEC等100多家公司成立PCISIG組織,聯(lián)合推出PCI總線。PCI總線支持32位和64位兩種位寬,時鐘頻率為33MHz,總線帶寬:32bit*33MHz= 1056Mbps =132MB/s 或64bit*33MHz=2112Mbps=264MB/s。
隨著PCI總線的發(fā)展,PCI總線又發(fā)展到PCI-X時代,與PCI總線相比,PCI –X總線的位寬未改變,而是將時鐘頻率進行了提高。PCI-X 1.0的時鐘頻率有66MHZ/100MHz/ 133MHz,總線帶寬分別為:264MB/s, 400MB/s和532MB/s(32位),528MB/s, 800MB/s和1064MB/s(64位);PCI-X 2.0的時鐘頻率有266MHz/533MHz/1066MHz,總線帶寬分別為:1064MB/s, 2132MB/s和4264MB/s(32位),2128MB/s, 4264MB/s和8512MB/s(64位),PCI-X與PCI總線在硬件結(jié)構(gòu)上完全兼容。與PCI總線相比,PCI-X除掉在時鐘頻率高外,還在傳輸協(xié)議上進行了改進,PCI-X采用了“寄存器到寄存器”的新協(xié)議,在新協(xié)議模式下,發(fā)送方發(fā)出的數(shù)據(jù)信號會被預(yù)先送入一個專門的寄存器內(nèi),并在寄存器中保存一個時鐘周期,接收端只要在這個周期內(nèi)做出響應(yīng),取走數(shù)據(jù)即可。而PCI協(xié)議中卻沒有這個緩沖,數(shù)據(jù)發(fā)出去后,如果對方因某種原因沒能及時接收,數(shù)據(jù)將會被丟棄。
PCI總線管腳功能
PCI主設(shè)備最少需要49根線,從設(shè)備最少需要47根線,剩下的線可選。在介紹PCI管腳功能前,先來說明下PCI管腳信號的類型。
in:輸入信號;
out:輸出信號;
t/s:雙向三態(tài)信號(Tri-state),無效時為高組態(tài);
s/t/s:持續(xù)三態(tài)信號(Sustained Tri-state),每次由且只由一個單元擁有并驅(qū)動的低有效、雙向、三態(tài)信號。驅(qū)動一個s/t/s信號到低的單元在釋放該信號浮空之前必須要將它驅(qū)動到高電平至少一個周期。這個特點很重要,在后面我們分析PCI信號質(zhì)量案例的時候會用到;
o/d:漏極開路輸出(Open Drain);
PCI總線有三種類型設(shè)備,分別是PCI主設(shè)備、PCI從設(shè)備、PCI橋設(shè)備。PCI從設(shè)備只能被動接受來自主橋和其它PCI從設(shè)備的讀寫請求,而PIC主設(shè)備可以通過總線仲裁獲得總線使用權(quán)。PCI設(shè)備即可作為主設(shè)備也可作為從設(shè)備,在PCI總線中的主設(shè)備和從設(shè)備統(tǒng)稱為PCI Agent,如聲卡、網(wǎng)卡都輸入PCI Agent。PCI橋設(shè)備是特殊的PCI設(shè)備,用來擴展PCI總線,PCI橋存在使得系統(tǒng)大規(guī)?;ヂ?lián)稱為可能。
PCI橋使得PCI總線有極大的擴展性,一條PCI總線能連接的PCI設(shè)備是有數(shù)量限制的, 如果需要連接更多的PCI設(shè)備,就需要用PCI橋來擴展PCI總線。
PCI總線使用地址譯碼的方式進行數(shù)據(jù)傳遞,采用ID譯碼的方式進行配置信息傳遞。每一個PCI設(shè)備都有一個BAR(基地址)寄存器,系統(tǒng)通過BAR+偏移地址的方式訪問PCI設(shè)備的存儲空間。ID譯碼方式使用PCI設(shè)備的ID號,ID號=總線號+設(shè)備號+功能號。系統(tǒng)首先需要在初始化時分配PCI總線的總線號、設(shè)備號,這樣才能通過ID號訪問PCI設(shè)備的配置空間,配置PCI設(shè)備。PCI總線初始化指的是系統(tǒng)上電初始化PCI總線時分配PCI總線號、設(shè)備號、配置PCI設(shè)備Base Address寄存器等初始化操作。
PCI總線采用了一個分布式的總線結(jié)構(gòu),每個設(shè)備都有一個唯一的地址,可以在總線上進行獨立的數(shù)據(jù)傳輸操作。這種分布式的結(jié)構(gòu)大大提高了總線的效率和可靠性,并且可以支持多個設(shè)備同時訪問總線。
PCI總線特點
(1)高性能:PCI總線在電氣和物理上均具有高性能,并且可以通過增加傳輸頻率和帶寬等手段進一步提高性能。
(2)插拔式接口:PCI總線使用插拔式接口,用戶只需將設(shè)備插入PCI插槽中,即可完成硬件配置,無需對系統(tǒng)做任何設(shè)置和修改。
(3)獨立性:每個設(shè)備都有獨立的地址和數(shù)據(jù)傳輸通道,在總線上進行獨立操作,而不會影響其他設(shè)備或整個系統(tǒng)。
(4)可編程性:PCI總線支持通過軟件配置的方式改變其工作方式,例如改變傳輸速率、提高帶寬等。
(5)多功能性:PCI總線可以同時支持多種外圍設(shè)備,并且可以通過添加轉(zhuǎn)接卡等擴展硬件接口。