如果僅就總線這個名稱來說,它其實就是將數(shù)據(jù)、信號從一個或多個源部件傳送到一個或多個目的部件的一組傳輸線,即部件間的一種公用線路。它兼容性高,有共同的標準規(guī)范,與某些部件之間的特殊、專用通信線路相對應(yīng),所以被稱為“總線”。
總線這個概念的范圍很廣,并不僅僅局限于我們常見的個人電腦中,各種高性能電腦如服務(wù)器、工作站中,以及一些特種電腦如軍用電腦、汽車電腦、工控電腦(圖1)中也均有總線。不過在本文中,我們僅涉及個人電腦相關(guān)的各種總線。
總線的類型則更加多樣,在個人電腦的發(fā)展過程中,總線標準在不斷地變化,而且除了處理器總線外,其實還存在著存儲、外部接口等多種總線的并行發(fā)展。
從PC/AT個人電腦開始,PC機逐漸成為了個人電腦市場的主力架構(gòu),同時期雖然還有蘋果的APPLE Ⅱ、IBM退出PC機聯(lián)盟后設(shè)計的PS/2電腦以及王安電腦等多種構(gòu)型,但最終成功的還是英特爾/微軟及眾多兼容機廠商組成的PC機聯(lián)盟。在1980年代到90年代,正是PC電腦向大眾普及,同時自身在摸索中發(fā)展的關(guān)鍵時期,也是總線這一概念在PC上逐漸成熟的時期。
與最早期個人電腦幾乎一個型號一種設(shè)計不同,在80286、80386處理器時期,電腦開始進入普通家庭,為了降低成本、提升兼容性,此時處理器和主板、擴展卡、外部設(shè)備已經(jīng)嘗試標準化數(shù)據(jù)傳輸,在標準的PC/AT平臺上,就出現(xiàn)了ISA(Industry Standard Architecture,工業(yè)標準體系結(jié)構(gòu))總線。它有8bit和16bit兩種模式,時鐘頻率為8MHz,總線帶寬為8bitx8MHz=64Mbps=8MB/s或16bit×8MHz=128Mbps=16MB/S。
ISA總線對于當時的電腦已經(jīng)完全夠用了,例如當時的主要存儲設(shè)備還是5.25英寸、3.5英寸軟盤(圖2),容量僅有數(shù)百KB~數(shù)MB,讀寫速度只有十幾KB/s~上百KB/s;內(nèi)存則是FP(FastPage) RAM(圖3),位寬同樣為8bit,速度也不高。比較麻煩的是,從這一時期開始,就出現(xiàn)了插槽與總線混淆的問題,因為其時最常見的插槽同樣也叫ISA(圖4),同樣有8bit和16bit之分。
隨著處理器性能和配件能力的提升,ISA總線逐漸變得力不從心,例如硬盤很快成為了個人電腦的標配,其速度遠超軟盤。同時PC/AT陣營的競爭對手也推出了一些新的總線標準,1987年IBM公司為其PS/2個人電腦平臺(圖5)推出的32位MAC(MicroChannel Architecture)總線,帶寬就達到了40MB/s。
Compaq、AST、Epson、HP等9家公司于1988年9月聯(lián)合推出EISA(Extended ISA)總線,EISA總線仍然保持ISA總線的8MHz頻率,與ISA總線完全兼容,但總線位寬提高到32位,因此帶寬為32bit×8MHz=256Mbps=32MB/s。但這種簡單的補丁很快就滿足不了要求了。1991年下半年,英特爾公司提出了PCI總線的概念,并與IBM、Compaq、AST、HP、DEC等100多家公司成立PCISIG組織,聯(lián)合推出了PCI總線。
PCI總線的位寬達到32bit和64bit,時鐘頻率為33MHz,因此帶寬為32bit×33MHz=1056Mbps=132MB/s或64bit×33MHz=2112Mbps=264MB/s。作為總線來說,PCI的提升幅度很大,但處理器和周邊配件的發(fā)展也極快,因此生命周期并不算長。然而基于這一總線的插槽卻非常長壽,近期的一些主板為了兼容升級緩慢的商業(yè)、工控板卡,仍會提供PC1插槽(圖6)。
為了滿足日益提升的需求,PCI總線又發(fā)展到PCI-X時代,與PCI總線相比,PCI-X總線的位寬未改變,而是將時鐘頻率進行了提高。PCI-X 1.0的時鐘頻率為66MHz/100MHz/133MHz,總線帶寬分別為32bit的264MB/s、400MB/s、532MB/s和64bit的528MB/s、800M B/s、1064MB/s。PCI-X 2.0的時鐘頻率進一步提升,達到266MHz/533MHz/1066MHz,總線帶寬分別為32bit的1064MB/s、2132MB/s、4264MB/s和64bit的2128MB/s、4264MB/s、8512MB/s,PCI-X與PCI總線在硬件結(jié)構(gòu)上完全兼容。
不過在實際上,PCI-X只是看起來很美,并沒有成為處理器和主板的總線標準,只是發(fā)展出了相應(yīng)的插槽連接方式,且實際兼容板卡很少見。不過其發(fā)展型非常重要,就是目前大家最常見的PCIe(PCI-Express),這是后話,我們在后面會詳細說明。
總體來說,PCI總線是一種非常成功的設(shè)計,但也帶有比較“原始”的理念。它采用樹型結(jié)構(gòu),獨立于CPU總線,可以和CPU總線并行操作。PCI總線上只允許有一個主設(shè)備,其他的均為PCI從設(shè)備,而且讀寫操作只能在主從設(shè)備之間進行,從設(shè)備之間的數(shù)據(jù)交換需要通過主設(shè)備中轉(zhuǎn)。這種結(jié)構(gòu)雖然有利于降低復(fù)雜度,但明顯降低了效率。
處理器總線
作為需要和所有配件通信的設(shè)備,處理器自身肯定也需要一種標準化的數(shù)據(jù)傳輸線路,當然也可以叫做“總線”。在80286、80386時代,處理器并不需要特別的總線,但到了486時代,因為需要和大量的兼容廠商處理器以及主板上已經(jīng)成型的芯片組配合,就出現(xiàn)了FSB (Front Side Bus,前端總線),負責(zé)與芯片組的北橋通信。
由于北橋芯片負責(zé)聯(lián)系內(nèi)存、顯卡等數(shù)據(jù)吞吐量最大的部件以及和南橋芯片連接,而處理器就是通過FSB連接到北橋芯片,進而通過它和內(nèi)存、顯卡交換數(shù)據(jù)。因此FSB就成了處理器和外界交換數(shù)據(jù)的最主要通道,其數(shù)據(jù)傳輸能力也對計算機整體性能作用很大,如果沒有足夠快的前端總線,再強的處理器也不能明顯提高計算機整體速度。
在進入21世紀前,總線繼續(xù)發(fā)展,還出現(xiàn)了IDE(Integrated Drive Electronics,集成設(shè)備電路)與AGP (Accelerated Graphic Ports,加速圖形接口)等類型,它們也有一些區(qū)別。其中IDE標準規(guī)范(圖7)基本統(tǒng)—了外部存儲設(shè)備,不管是硬盤還是光驅(qū),都基于類似的傳輸標準規(guī)范,只是會有一些針對性的改進,且有著不同的版本,如ATA33、ATA66等,所以完全可以叫做總線,只不過和ISA、PCI后期的命運類似,只應(yīng)用于部分設(shè)備,實際上只能叫做“局部總線”。
而AGP雖然也被叫做“總線”,但它只是特異化的PCI總線通道,引入了點對點連接,提升了速度,但實際上只能做到一點對一點,也就是處理器與顯卡間的單一通道。這使得消費級主板上只能有一個專用的AGP插槽(圖8),連接一塊AGP顯卡,其實是一種專用、特殊化連接,不應(yīng)叫做總線。
上世紀90年代末到本世紀初,處理器總線成為了市場的焦點。在數(shù)年的時間內(nèi),隨著架構(gòu)的升級不斷地變化,處理器總線的發(fā)展速度遠超同時出現(xiàn)和普及的PCIe、SATA等總線技術(shù),而它們共同發(fā)展,成為了今天電腦內(nèi)主要的處理器總線與區(qū)域總線。
處理器總線之爭
作為英特爾處理器兼容廠商,AMD有一定的創(chuàng)新精神,在奔騰處理器架構(gòu)不再開放后,以K5、K6系列處理器以及3DNow!指令集等吸引了一些用戶,但競爭力還是遠遠不夠,直到K7出現(xiàn)。理論上講,K7可以看做是AMD得到了DEC的Alpha服務(wù)器處理器(圖9)技術(shù)后,在其基礎(chǔ)上開發(fā)的,不過Alpha是一種面向不同應(yīng)用的RISC架構(gòu)處理器。作為面向消費系統(tǒng)的x86架構(gòu)處理器,K7內(nèi)部結(jié)構(gòu)的可借鑒之處并不多,對其表現(xiàn)影響最大的其實是來自Alpha處理器的EV6總線。
從一般用戶的角度來看,K7處理器似乎也使用了前端總線技術(shù),只是前端總線的等效頻率為200MHz。但實際上這更像是“虛擬頻率”,因為其每個指令周期能處理24個系統(tǒng)指令請求,遠多于同時期英特爾處理器的6個,此外其內(nèi)存和芯片組也是不依賴于EV6總線速度的,所以能繼續(xù)使用100MHz的SDRAM。
借助更先進的總線技術(shù)開創(chuàng)了與英特爾競爭的新時代后,很快AMD又拿出了真正的“殺手锏”,更多地借鑒了Alpha處理器技術(shù)的64位處理器——K8。其總線技術(shù)升級為HyperTransport(圖10),簡稱“HT總線”。HyperTransport 1.0的運行頻率為800MHz,數(shù)據(jù)傳輸率為12.8G B/s,HyperTransport2.0則達到最高1.4GHz,最高數(shù)據(jù)傳輸率為22.4G B/s。這一總線下的內(nèi)存和芯片組同樣也是不依賴于總線速度的,且可以很好地支持當時已經(jīng)逐漸成熟的PCle傳輸技術(shù)。
另外HyperTransport還有兩個特殊技能。首先,作為從服務(wù)器處理器上發(fā)展而來的技術(shù),它“天生”就適合連接多個處理器核心,這一點在消費級處理器開始走入雙核(圖11)乃至多核時代時,為AMD處理器提供了重大幫助。
其次,HyperTransport是一種可以組合的數(shù)據(jù)通道,比如處理器兩個核心之間和與北橋的連接都是16條16bit的HyperTransport通道,而南北橋之間則可以使用8條8bit的HyperTransport通道。內(nèi)核間靈活、高速的數(shù)據(jù)傳輸能力也為其內(nèi)置內(nèi)存控制器提供了可能,兩個或多個內(nèi)核都可以高速訪問內(nèi)存控制器。
EV6和HyperTransport總線在現(xiàn)在看來已經(jīng)不算先進,但它們的基本理念卻被AMD和英特爾繼承,目前的處理器總線基本都與內(nèi)存、芯片組和外部設(shè)備“脫鉤”,或者是可以靈活設(shè)置頻率比例的,不再像FSB時代那樣聯(lián)系緊密了。當然在多核處理器已經(jīng)成為絕對主力的今天,HyperTransport開辟的多核間高速總線連接方式也被繼承了下來,隨之而來的還有處理器內(nèi)置內(nèi)存控制器的設(shè)計。
相對來說,與K7和K8對抗的英特爾奔騰2、奔騰3、奔騰4處理器(圖12)仍然采用FSB總線,只是為了提升頻率,在奔騰4中采用QDR(4倍頻)方式,即FSB頻率達到主板提供的外頻的4倍。相對保守的總線限制了這一時期的英特爾處理器性能。
開始啟動的PCIe總線
在這段時期,目前如日中天的PCIe總線還是一種AGP的替代品,初期只是考慮到顯卡的需求,所以只有16通道、1個插槽。而其后通道、插槽逐漸增加,仍然是因為顯卡的需求,即提供SLI、Crossfire多顯卡并聯(lián)能力(圖13)。畢竟PCIe1.0/1.1版本的帶寬表現(xiàn)實在一般(圖14),PCI插槽仍然堪用,市場上也很少見其他的PCie設(shè)備。此時用于顯卡的PCIe×16插槽幾乎可以看做是AGP 8×插槽的自然提升——另一種“AGP16×”而已。
其他總線
目前在我們的電腦中常見的SATA、USB等接口及其總線標準,同樣在這個時期發(fā)端和發(fā)展,并為今天的廣泛應(yīng)用打下了基礎(chǔ)。例如在SATA接口發(fā)展到2.0版本時,其3Gbps(約合300MB/s)的帶寬就可以充分滿足機械硬盤(實際傳輸速率在250MB/s以下)的需求了,而SATA 3.0(6Gbps)現(xiàn)在看來就是提前為固態(tài)存儲打下了基礎(chǔ)。
隨著為顯卡準備的大量PCIe數(shù)據(jù)通道被更多類型的PCIe插槽、板卡以及衍生接口和相應(yīng)設(shè)備充分利用,它在主板上逐漸形成了一統(tǒng)天下的態(tài)勢,而在這種情況下,新的總線結(jié)構(gòu)也出現(xiàn)在我們面前。無論是英特爾的DMI還是AMD的Infinity Fabric,實質(zhì)都是利用或兼容PCIe的架構(gòu)。
英特爾平臺
在英特爾平臺上,進入智能酷睿,也就是目前我們熟悉的酷睿i系列時代后,同樣將內(nèi)存控制器集成到處理器內(nèi)部,就不再需要FSB總線了,而是用QPI(QuickPath Interconnect,快速通道互聯(lián))總線與外部設(shè)備(主要是內(nèi)存)以及內(nèi)部核心通信(圖15)。QPI的頻率為3.2GHz,一個時鐘周期可傳輸兩次數(shù)據(jù),實際速率為6.4GT/s(每秒傳輸64億次),有效位寬為16bit(共20bit,其中4bit用于控制、冗余、檢驗等數(shù)據(jù)),因此單向傳輸速度為16bit×6.4GT/s=102.4Gbps=12.8GB/s,因為它可以支持雙向同時傳輸,總帶寬為25.6GB/s。
不過很快,PCIe控制器也被整合到了處理器內(nèi)部,此時北橋芯片徹底消失,處理器直接與殘存的南橋芯片通信,它們之間的連接通道就是目前仍在使用的DMI。由于南橋目前整合的功能大都是相對低速的,如USB外設(shè)接口、SATA硬盤接口等,因此處理器的DMI總線頻率、帶寬的意義已經(jīng)不大了,它一般就是直接使用4條PCIe通道。要保持基本的能力,它至少應(yīng)該和PCIe的發(fā)展同步,這就是DMI和PCIe的版本基本相同的原因(圖16)。
小知識:
QPI總線會隨著處理器頻率變化,所以改動處理器頻率的時候會影響到內(nèi)存頻率,造成不穩(wěn)定,從二代智能酷睿開始普遍配置的核芯顯卡頻率也會受到處理器頻率的影響,可能造成不穩(wěn)定。這兩大硬件的限制,加上對市場的考慮,就造成了目前英特爾對超頻嚴格限制的情況。
AMD平臺
在銳龍?zhí)幚砥魃希珹MD使用了一種新的總線技術(shù)——Infinity Fabric,同樣被用于內(nèi)部多個核心之間以及核心與I/O控制器之間的溝通(圖17),而它之所以非常重要,就是因為銳龍?zhí)幚砥鞯暮诵臄?shù)量、多核心效能是非常重要的競爭優(yōu)勢。這一點在采用多芯片封裝的銳龍3000系列處理器中更為重要。
Infinity Fabric技術(shù)的具體內(nèi)容雖然嚴格保密,不過在AMD平臺上,它其實是來自處理器內(nèi)部和PCIe通道“同源”的I/O通道,加上處理器與芯片之間直接采用PCIe通道連接,所以InfinityFabric通道也極有可能是與PCIe通道的速度、標準非常相似的。
未來總線 仍然基于PCIe
從目前來看,英特爾主導(dǎo)的CXL(Compute EXpress Link)方案(圖18)很可能是下一代英特爾的處理器總線。而且因為C×L聯(lián)盟中也包括了對消費級電腦極為重要的戴爾、微軟等廠商(圖19),加上方案本身基于主要廠商都認可和支持的PCIe 5.0規(guī)范,因此它也有很大的機會進入AMD未來的處理器中。
至于未來另一種可能會有較大變化的總線就是外設(shè)接口,USB 4雖然和雷電4標準分分合合,還看不清最終的結(jié)局,但有一點是肯定的,就是它們同樣會與PCIe通道進行更深的“捆綁”。未來通過雷電3接口連接外置顯卡這樣的任務(wù)應(yīng)該不再會是特例,外設(shè)可以借此獲得近似于內(nèi)置設(shè)備的性能,甚至是直接連接到PCIe通道上。
從處理器內(nèi)部總線到與芯片組的連接,再到各個配件乃至外設(shè)產(chǎn)品,PCIe高速通道有望貫通個人電腦的所有方面。這一目標如果實現(xiàn)的話,必將帶給我們一個完全不同的電腦應(yīng)用模式,引領(lǐng)個人電腦應(yīng)用進入新天地。