1|0起源之庫克的蘋果
近期的一系列“硬核”科普都源于購入了一臺M1丐版MBP,想著外接一個移動硬盤提升機器的工作能力,然后就去研究了硬盤的種類,接著研究起了各種硬盤的接口。于是又由蘋果的雷電接口延伸到了整個USB家族,之后干脆把傳輸協(xié)議也溫故知新了一番。最后的最后,心一橫,把CPU芯片組和總線的相關(guān)知識的也順帶著擴展了廣度與深度。計算機體系結(jié)構(gòu)和組成原理課誠不欺我,日常生活中隨隨便便就需要用到的知識,不枉我當(dāng)初用心學(xué)。
于是乎,這系列科普文章成就了近期的大工程。總體內(nèi)容分為三大塊:總線與數(shù)據(jù)通信,接口與數(shù)據(jù)傳輸,硬盤及其構(gòu)造原理。
以計算機為中心(CPU),各種外接設(shè)備圍繞其展開各種各樣與數(shù)據(jù)相關(guān)的工作為背景,好好整理一下有關(guān)總線、協(xié)議、接口、存儲、傳輸、充電、音視頻傳輸相關(guān)的既抽象,又具體的龐大概念體系。
(本系列內(nèi)容均整理編排自網(wǎng)絡(luò),來源注于文末。)
先來說說總線與相關(guān)標(biāo)準(zhǔn)。
而要想清楚地了解總線是什么,就必須先簡單科普一下主板和芯片組的相關(guān)知識,以下快速過一遍。
2|0主板與芯片組
2|1主板
1|0基本概念
主板,又叫主機板(mainboard)、系統(tǒng)板(systemboard)或母板(motherboard)。它通常安裝于主機箱內(nèi),是計算機最基本也最重要的部件之一。在整個計算機系統(tǒng)中,主板扮演著舉足輕重的角色,主板制造質(zhì)量的高低,決定了硬件系統(tǒng)的穩(wěn)定性。主板與CPU關(guān)系密切,每一次CPU的重大升級,必然導(dǎo)致主板的換代。主板作為計算機硬件系統(tǒng)的核心,也是主機箱內(nèi)面積最大的一塊印刷電路板。主板的主要功能是傳輸各種電子信號,部分芯片也負責(zé)初步處理一些外圍數(shù)據(jù)。
計算機主機中的各個部件都是通過主板來連接的,計算機在正常運行時對系統(tǒng)內(nèi)存、存儲設(shè)備和其他I/O設(shè)備的操控都必須通過主板來完成。計算機性能是否能夠充分發(fā)揮,硬件功能是否足夠,以及硬件兼容性如何等等,都取決于主板的設(shè)計。主板的優(yōu)劣在某種程度上決定了一臺計算機的整體性能、使用年限以及功能擴展能力。
1|0主板的結(jié)構(gòu)
主板一般為矩形電路板,上面安裝了組成計算機的主要電路系統(tǒng),一般有BIOS芯片、I/O控制芯片、鍵盤和面板控制開關(guān)接口、指示燈插接件、擴充插槽、主板及插卡的直流電源供電接插件等元件。主板采用了開放式結(jié)構(gòu),板上大都有6~15個擴展插槽,供PC機外圍設(shè)備的控制卡(適配器)插接。通過更換這些插卡,可以對計算機的相應(yīng)子系統(tǒng)進行局部升級,使廠家和用戶在配置機型方面有更大的靈活性。
核心——芯片組:北橋芯片、南橋芯片、BIOS(Basic Input/ Output System,基本輸入輸出系統(tǒng))芯片等。
擴展槽:又稱為“總線插槽”,是主機通過系統(tǒng)總線與外部設(shè)備聯(lián)系的通道,用作外設(shè)接口電路的適配卡都插在擴展槽內(nèi)。
主要接口:
- 硬盤接口:硬盤接口可分為IDE接口和SATA接口;
- 軟驅(qū)接口:連接軟驅(qū)所用,多位于IDE接口旁,比IDE接口略短一些;
- COM接口(串口):大多數(shù)主板都提供了兩個COM接口,分別為COM1和COM2,作用是連接串行鼠標(biāo)和外置Modem等設(shè)備;
- PS/2接口:功能比較單一,僅能用于連接鍵盤和鼠標(biāo)。一般情況下,鼠標(biāo)的接口為綠色、鍵盤的接口為紫色。PS/2接口的傳輸速率比COM接口稍快一些,但這么多年使用之后,絕大多數(shù)主板依然配備該接口,但支持該接口的鼠標(biāo)和鍵盤越來越少,大部分外設(shè)廠商也不再推出基于該接口的外設(shè)產(chǎn)品,更多的是推出USB接口的外設(shè)產(chǎn)品。不過值得一提的是,由于該接口使用非常廣泛,因此很多使用者即使在使用USB也更愿意通過PS/2-USB轉(zhuǎn)接器插到PS/2上使用,外加鍵盤鼠標(biāo)每一代產(chǎn)品的壽命都非常長,接口依然使用效率極高,但在不久的將來,被USB接口所完全取代的可能性極高;
- USB接口:如今最為流行的接口,最大可以支持127個外設(shè),并且可以獨立供電,其應(yīng)用非常廣泛。USB接口可以從主板上獲得500mA的電流,支持熱拔插,真正做到了即插即用。一個USB接口可同時支持高速和低速USB外設(shè)的訪問,由一條四芯電纜連接,其中兩條是正負電源,另外兩條是數(shù)據(jù)傳輸線;
- LPT接口(并口):一般用來連接打印機或掃描儀。并口的工作模式主要有三種:SPP標(biāo)準(zhǔn)工作模式(半雙工單向傳輸,傳輸速率較慢),EPP增強型工作模式(雙向半雙工數(shù)據(jù)傳輸,其傳輸速率比SPP高很多),ECP擴充型工作模式(雙向全雙工數(shù)據(jù)傳輸,傳輸速率比EPP還要高一些,但支持的設(shè)備不多)。使用LPT接口的打印機與掃描儀已經(jīng)基本很少了,多為使用USB接口的打印機與掃描儀;
- MIDI接口:聲卡的MIDI接口和游戲桿接口是共用的;
- SATA接口:SATA的全稱是Serial Advanced Technology Attachment(串行高級技術(shù)附件,一種基于行業(yè)標(biāo)準(zhǔn)的串行硬件驅(qū)動器接口),是由Intel、IBM、Dell、APT、Maxtor和Seagate公司共同提出的硬盤接口標(biāo)準(zhǔn),在IDF Fall 2001大會上,Seagate宣布了Serial ATA 1.0標(biāo)準(zhǔn),正式宣告了SATA標(biāo)準(zhǔn)的確立。SATA標(biāo)準(zhǔn)將硬盤的外部傳輸速率理論值提高到了150MB/s,比PATA標(biāo)準(zhǔn)ATA/100高出50%,比ATA/133也要高出約13%,而隨著未來后續(xù)版本的發(fā)展,SATA接口的速率還可擴展到2X和4X(300MB/s和600MB/s)。從其發(fā)展計劃來看,未來的SATA也將通過提升時鐘頻率來提高接口傳輸速率,讓硬盤也能夠超頻。
1|0工作原理
在電路板下面,是錯落有致的電路布線;在上面,則為分工明確的各個部件:插槽、芯片、電阻、電容等。當(dāng)主機加電時,電流會在瞬間通過CPU、南北橋芯片、內(nèi)存插槽、AGP插槽、PCI插槽、IDE接口以及主板邊緣的串口、并口、PS/2接口等。隨后,主板會根據(jù)BIOS(基本輸入輸出系統(tǒng))來識別硬件,并進入操作系統(tǒng)發(fā)揮出支撐系統(tǒng)平臺工作的功能。
2|2芯片組
主板芯片組(Chipset)是主板的核心組成部分,如果說中央處理器(CPU)是整個電腦系統(tǒng)的心臟,那么芯片組將是整個身體的軀干。芯片組可以看作CPU與周邊設(shè)備溝通的橋梁。在電腦界稱設(shè)計芯片組的廠家為Core Logic,Core的中文意義是核心或中心,光從字面的意義就足以看出其重要性。對于主板而言,芯片組幾乎決定了這塊主板的功能,進而影響到整個電腦系統(tǒng)性能的發(fā)揮,芯片組是主板的靈魂。芯片組性能的優(yōu)劣,決定了主板性能的好壞與級別的高低。CPU的型號與種類繁多、功能特點不一,如果芯片組不能與CPU良好地協(xié)同工作,將嚴(yán)重地影響計算機的整體性能甚至不能正常工作。
1|0南橋芯片與北橋芯片
在傳統(tǒng)的芯片組構(gòu)成中,一直沿用南橋芯片與北橋芯片搭配的方式,在主板上可以發(fā)現(xiàn)它們的具體位置。通常在主板上,CPU的插槽附近會有一個散熱器,那下面的就是北橋芯片。而南橋芯片一般離CPU較遠,常裸露在PCI插槽旁邊,塊頭比較大。
北橋芯片是系統(tǒng)控制芯片,主要負責(zé)CPU、內(nèi)存、顯卡三者之間的數(shù)據(jù)交換,在與南橋芯片組成的芯片組中起主導(dǎo)作用,掌控一些高速設(shè)備,如CPU、Host bus等。北橋提供對CPU類型和主頻的支持、系統(tǒng)高速緩存的支持、主板的系統(tǒng)總線頻率、內(nèi)存管理(內(nèi)存類型、容量和性能)、顯卡插槽規(guī)格,ISA/PCI/AGP插槽、ECC糾錯等支持。北橋芯片往往有較高的工作頻率,所以發(fā)熱量頗高。
南橋芯片主要決定主板的功能,主板上的各種接口、PS/2鼠標(biāo)控制、USB控制、PCI總線IDE以及主板上的其他芯片(如集成聲卡、集成RAID卡、集成網(wǎng)卡等),都歸南橋芯片控制。南橋芯片提供對CPU類型和主頻的支持、系統(tǒng)高速緩存的支持、主板的系統(tǒng)總線頻率、內(nèi)存管理(內(nèi)存類型、容量和性能)、顯卡插槽規(guī)格,ISA/PCI/AGP插槽、ECC糾錯等支持。
1|0技術(shù)發(fā)展
芯片組的技術(shù),這幾年來也是突飛猛進,從ISA、PCI到AGP,從ATA到SATA,Ultra DMA技術(shù),雙通道內(nèi)存技術(shù),高速前端總線等等,每一次新技術(shù)的進步,都帶來電腦性能的提高。2004年,芯片組技術(shù)迎來重大變革,最引人注目的就是PCI Express總線技術(shù),它將取代PCI和AGP,極大地提高了設(shè)備帶寬,從而帶來一場電腦技術(shù)的革命。另一方面,芯片組技術(shù)也在向著高整合性方向發(fā)展,例如AMD Athlon 64CPU內(nèi)部,已經(jīng)整合了內(nèi)存控制器,這大大降低了芯片組廠家設(shè)計產(chǎn)品的難度。而且現(xiàn)在的芯片組產(chǎn)品已經(jīng)整合了音頻、網(wǎng)絡(luò)、SATA、RAID 等功能,大大降低了用戶的成本。
3|0什么是總線?
總線(Bus)是計算機各種功能部件之間傳送信息的公共通信干線,它是由導(dǎo)線組成的傳輸線束, 按照計算機所傳輸?shù)男畔⒎N類,計算機的總線可以劃分為數(shù)據(jù)總線、地址總線和控制總線,分別用來傳輸數(shù)據(jù)、數(shù)據(jù)地址和控制信號??偩€是一種內(nèi)部結(jié)構(gòu),它是cpu、內(nèi)存、輸入、輸出設(shè)備傳遞信息的公用通道,主機的各個部件通過總線相連接,外部設(shè)備通過相應(yīng)的接口電路再與總線相連接,從而形成了計算機硬件系統(tǒng)。
3|1工作原理
如果說主板(Mother Board)是一座城市,那么總線就像是城市里的公共汽車(bus),能按照固定行車路線,傳輸來回不停運作的比特(bit)。一條線路在同一時間內(nèi)都僅能負責(zé)傳輸一個比特,因此,必須同時采用多條線路才能傳送更多數(shù)據(jù)??偩€可同時傳輸?shù)臄?shù)據(jù)數(shù)就稱為寬度(width),以比特為單位,總線寬度越大,傳輸性能就越佳??偩€的帶寬(即單位時間內(nèi)可以傳輸?shù)目倲?shù)據(jù)數(shù))為:總線帶寬 = 頻率 x 寬度(Bytes/sec)。當(dāng)總線空閑(其他器件都以高阻態(tài)形式連接在總線上)且一個器件要與目的器件通信時,發(fā)起通信的器件驅(qū)動總線,發(fā)出地址和數(shù)據(jù)。其他以高阻態(tài)形式連接在總線上的器件如果收到(或能夠收到)與自己相符的地址信息后,即接收總線上的數(shù)據(jù)。發(fā)送器件完成通信,將總線讓出(輸出變?yōu)楦咦钁B(tài))。
總線必須有明確的規(guī)范: 總線定時協(xié)議,即在總線上傳送信息時必須遵守一定的定時規(guī)則,例如同步總線定時,異步總線定時,半同步總線定時等??偩€的物理特性,包括信號、電源、地址的電氣特性,以及連線、接插件的機械特性。
3|2總線的分類
1|0按其所連接的對象,總線可分為
- 片總線,又稱器件級總線,它是中央處理器芯片內(nèi)部的總線。
- 內(nèi)總線,又稱系統(tǒng)總線或板級總線,它是計算機各功能部件之間的傳輸通路,微型計算機總線通常稱為內(nèi)總線。
- 外總線,又稱通信總線,它是計算機系統(tǒng)之間,或者是計算機主機與外圍設(shè)備之間的傳輸通路。
1|0按功能和規(guī)范,總線可分為
- 數(shù)據(jù)總線(Data Bus):在CPU與RAM之間來回傳送需要處理或是需要存儲的數(shù)據(jù)。
- 地址總線(Address Bus):用來指定在RAM(Random Access Memory)之中存儲的數(shù)據(jù)地址。
- 控制總線(Control Bus):將微處理器控制單元(Control Unit)的信號傳送到周邊設(shè)備。
- 擴展總線(Expansion Bus):外部設(shè)備和計算機主機進行數(shù)據(jù)通信的總線,例如ISA總線,PCI總線。
- 局部總線(Local Bus):取代更高速數(shù)據(jù)傳輸?shù)臄U展總線。
其中的數(shù)據(jù)總線DB(Data Bus)、地址總線AB(Address Bus)和控制總線CB(Control Bus),也統(tǒng)稱為系統(tǒng)總線,即通常意義上所說的總線。
有的系統(tǒng)中,數(shù)據(jù)總線和地址總線是復(fù)用的,即總線在某些時刻出現(xiàn)的信號表示數(shù)據(jù)而另一些時刻表示地址;而有的系統(tǒng)是分開的。51系列單片機的地址總線和數(shù)據(jù)總線是復(fù)用的,而一般PC中的總線則是分開的。
1|0數(shù)據(jù)總線DB
用于傳送數(shù)據(jù)信息。數(shù)據(jù)總線是雙向三態(tài)形式的總線,既可以把CPU的數(shù)據(jù)傳送到存儲器或I/O接口等其它部件,也可以將其它部件的數(shù)據(jù)傳送到CPU。數(shù)據(jù)總線的位數(shù)是微型計算機的一個重要指標(biāo),通常與微處理的字長相一致。例如Intel 8086微處理器字長16位,其數(shù)據(jù)總線寬度也是16位。需要指出的是,數(shù)據(jù)的含義是廣義的,它可以是真正的數(shù)據(jù),也可以是指令代碼或狀態(tài)信息,有時甚至是一個控制信息,因此,在實際工作中,數(shù)據(jù)總線上傳送的并不一定僅僅是真正意義上的數(shù)據(jù)。常見的數(shù)據(jù)總線有ISA、EISA、VESA、PCI等。
1|0地址總線AB
專門用來傳送地址。由于地址只能從CPU傳向外部存儲器或I/O端口,所以地址總線總是單向三態(tài)的,這與數(shù)據(jù)總線不同。地址總線的位數(shù)決定了CPU可直接尋址的內(nèi)存空間大小,比如8位微機的地址總線為16位,則其最大可尋址空間為216=64KB,16位微型機(x位處理器指一個時鐘周期內(nèi)微處理器能處理的位數(shù)bit,即字長大?。┑牡刂房偩€為20位,其可尋址空間為220=1MB。一般來說,若地址總線為n位,則可尋址空間為2n字節(jié)。
1|0控制總線CB
用來傳送控制信號和時序信號??刂菩盘栔?,有的是微處理器送往存儲器和I/O接口電路的,如讀/寫信號,片選信號、中斷響應(yīng)信號等;也有的是其它部件反饋給CPU的,比如:中斷申請信號、復(fù)位信號、總線請求信號、設(shè)備就緒信號等。因此,控制總線的傳送方向由具體控制信號而定,(信息)一般是雙向的??刂瓶偩€的位數(shù)要根據(jù)系統(tǒng)的實際控制需要而定,實際上控制總線的具體情況主要取決于CPU。
1|0按信息傳輸?shù)姆绞剑偩€可分為并行總線和串行總線
總線是一種共享型的數(shù)據(jù)傳送設(shè)備。雖然總線上可聯(lián)接多個設(shè)備,但任一時刻通常只能有一對設(shè)備參與數(shù)據(jù)傳輸。
- 并行總線對n位二進制信息用n條傳輸線同時傳送,其特點是傳輸速度快,但系統(tǒng)結(jié)構(gòu)較復(fù)雜,它用于計算機系統(tǒng)內(nèi)的各部件之間的連接。并行總線的數(shù)據(jù)線通常超過2根。常見的串行總線有SPI、I2C、USB及RS232等;
- 串行總線對多位二進制信息共用一條傳輸線,多位二進制數(shù)據(jù)按時間先后順序逐位通過一根數(shù)據(jù)線發(fā)送到目的器件,它的特點是結(jié)構(gòu)簡單,但其傳輸速度較慢;
1|0按時鐘信號是否獨立,可以分為同步總線和異步總線
同步總線的時鐘信號獨立于數(shù)據(jù),而異步總線的時鐘信號是從數(shù)據(jù)中提取出來的。SPI、I2C是同步串行總線,RS232采用異步串行總線。
3|3技術(shù)指標(biāo)
1|0總線的帶寬
總線的帶寬指的是單位時間內(nèi)總線上傳送的數(shù)據(jù)量,單位為MB/S,即每秒鐘傳送兆字節(jié)的最大穩(wěn)態(tài)數(shù)據(jù)傳輸率,它是總線所能達到的最高傳輸率。與總線密切相關(guān)的兩個因素是總線的位寬和總線的工作頻率,總線的帶寬 = 總線的工作頻率 * 總線的位寬 / 8 或者總線的帶寬 =(總線的位寬 / 8 )/ 總線周期。
1|0總線的位寬
總線的位寬指的是總線能同時傳送的二進制數(shù)據(jù)的位數(shù),或數(shù)據(jù)總線的位數(shù),即32位、64位等總線寬度的概念。總線的位寬越寬,每秒鐘數(shù)據(jù)傳輸率越大,總線的帶寬越寬。
1|0總線的工作頻率
總線的工作時鐘頻率以MHz為單位,工作頻率越高,總線工作速度越快,總線帶寬越寬。
3|4常見總線
總線不僅是一組信號線,從廣義上講,總線是一組傳送線路及相關(guān)標(biāo)準(zhǔn)。
1|0CPU總線——前端總線(CPU <=> 北橋芯片)
計算機總線的種類很多,前端總線的英文名字是Front Side Bus,通常用FSB表示,是將CPU連接到北橋芯片的總線。主板的北橋芯片負責(zé)聯(lián)系內(nèi)存、顯卡等數(shù)據(jù)吞吐量最大的部件,并和南橋芯片連接。CPU就是通過前端總線(FSB)連接到北橋芯片,進而通過北橋芯片和內(nèi)存、顯卡交換數(shù)據(jù)。前端總線是CPU和外界交換數(shù)據(jù)的最主要通道,因此前端總線的數(shù)據(jù)傳輸能力對計算機整體性能作用很大,如果沒足夠快的前端總線,再強的CPU也不能明顯提高計算機整體速度。數(shù)據(jù)傳輸?shù)淖畲髱捜Q于所有同時傳輸?shù)臄?shù)據(jù)的寬度和傳輸頻率,即總線帶寬 =(總線頻率 × 數(shù)據(jù)位寬)/ 8。PC機上所能達到的前端總線頻率有266MHz、333MHz、400MHz、533MHz、800MHz幾種,前端總線頻率越大,代表著CPU與北橋芯片之間的數(shù)據(jù)傳輸能力越大,更能充分發(fā)揮出CPU的功能。CPU技術(shù)發(fā)展很快,運算速度提高很快,而足夠大的前端總線可以保障有足夠的數(shù)據(jù)供給給CPU,較低的前端總線將無法供給足夠的數(shù)據(jù)給CPU,這樣就限制了CPU性能得發(fā)揮,成為系統(tǒng)瓶頸。
1|0硬盤總線
一般有SCSI、ATA、SATA等幾種。SATA是串行ATA的縮寫,為什么要使用串行ATA就要從PATA——并行ATA的缺點說起。我們知道ATA或者說普通IDE硬盤的數(shù)據(jù)線最初就是40根的排線,這40根線里面有數(shù)據(jù)線、時鐘線、控制線、地線,其中32根數(shù)據(jù)線是并行傳輸?shù)模ㄒ粋€時鐘周期可以同時傳輸4個字節(jié)的數(shù)據(jù)),因此對同步性的要求很高。這就是為什么從PATA-66(就是常說的DMA66)接口開始必須使用80根的硬盤數(shù)據(jù)線,其實增加的這40根全是屏蔽用的地線,而且只在主板一邊接地(千萬不要接反了,反了的話屏蔽作用大大降低),有了良好的屏蔽,硬盤的傳輸速度才能達到66MB/s、100MB/s和最高的133MB/s。但是在PATA-133之后,并行傳輸速度已經(jīng)到了極限,而且PATA的三大缺點暴露無遺:信號線長度無法延長、信號同步性難以保持、5V信號線耗電較大。那為什么SCSI-320接口的數(shù)據(jù)線能達到320MB/s的高速,而且線纜可以很長呢?你有沒有注意到SCSI的高速數(shù)據(jù)線是“花線”?這可不是為了好看,那“花”的部分實際上就是一組組的差分信號線兩兩扭合而成,這成本可不是普通電腦系統(tǒng)愿意承擔(dān)的。
1|0其他總線
計算機中其他的總線還有:通用串行總線USB(Universal Serial Bus)、IEEE1394、PCI等等。
3|5總線結(jié)構(gòu)的優(yōu)缺點
采用總線結(jié)構(gòu)的主要優(yōu)點:
1、面向存儲器的雙總線結(jié)構(gòu)信息傳送效率較高,這是它的主要優(yōu)點。但CPU與I/O接口都要訪問存儲器時,仍會產(chǎn)生沖突。
2、CPU與高速的局部存儲器和局部I/O接口通過高傳輸速率的局部總線連接,速度較慢的全局存儲器和全局I/O接口與較慢的全局總線連接,從而兼顧了高速設(shè)備和慢速設(shè)備,使它們之間不互相牽扯。
3、簡化了硬件的設(shè)計。便于采用模塊化結(jié)構(gòu)設(shè)計方法,面向總線的微型計算機設(shè)計只要按照這些規(guī)定制作cpu插件、存儲器插件以及I/O插件等,將它們連入總線就可工作,而不必考慮總線的詳細操作。
4、簡化了系統(tǒng)結(jié)構(gòu)。整個系統(tǒng)結(jié)構(gòu)清晰。連線少,底板連線可以印制化。
5、系統(tǒng)擴充性好。一是規(guī)模擴充,規(guī)模擴充僅僅需要多插一些同類型的插件。二是功能擴充,功能擴充僅僅需要按照總線標(biāo)準(zhǔn)設(shè)計新插件,插件插入機器的位置往往沒有嚴(yán)格的限制。
6、系統(tǒng)更新性能好。因為cpu、存儲器、I/O接口等都是按總線規(guī)約掛到總線上的,因而只要總線設(shè)計恰當(dāng),可以隨時隨著處理器的芯片以及其他有關(guān)芯片的進展設(shè)計新的插件,新的插件插到底板上對系統(tǒng)進行更新,其他插件和底板連線一般不需要改。
7、便于故障診斷和維修。用主板測試卡可以很方便找到出現(xiàn)故障的部位,以及總線類型。
采用總線結(jié)構(gòu)的缺點:
由于在CPU與主存儲器之間、CPU與I/O設(shè)備之間分別設(shè)置了總線,從而提高了微機系統(tǒng)信息傳送的速率和效率。但是由于外部設(shè)備與主存儲器之間沒有直接的通路,它們之間的信息交換必須通過CPU才能進行中轉(zhuǎn),從而降低了CPU的工作效率(或增加了CPU的占用率。一般來說,外設(shè)工作時要求CPU干預(yù)越少越好。CPU干預(yù)越少,這個設(shè)備的CPU占用率就越低,說明設(shè)備的智能化程度越高),這是面向CPU的雙總線結(jié)構(gòu)的主要缺點。同時還包括:
1、利用總線傳送具有分時性。當(dāng)有多個主設(shè)備同時申請總線的使用是必須進行總線的仲裁。
2、總線的帶寬有限,如果連接到總線上的某個硬件設(shè)備沒有資源調(diào)控機制容易造成信息的延時(這在某些即時性強的地方是致命的)。
3、連到總線上的設(shè)備必須有信息的篩選機制,要判斷該信息是否是傳給自己的。
4|0總線標(biāo)準(zhǔn)
任何一個微處理器都要與一定數(shù)量的部件和外圍設(shè)備連接,但如果將各部件和每一種外圍設(shè)備都分別用一組線路與CPU直接連接,那么連線將會錯綜復(fù)雜,甚至難以實現(xiàn)。為了簡化硬件電路設(shè)計、簡化系統(tǒng)結(jié)構(gòu),常用一組線路,配置以適當(dāng)?shù)慕涌陔娐?,與各部件和外圍設(shè)備連接,這組共用的連接線路被稱為總線。采用總線結(jié)構(gòu)便于部件和設(shè)備的擴充,尤其制定了統(tǒng)一的總線標(biāo)準(zhǔn)則容易使不同設(shè)備間實現(xiàn)互連。
4|1為什么要制定總線標(biāo)準(zhǔn)?
便于機器的擴充和新設(shè)備的添加。有了總線標(biāo)準(zhǔn),不同廠商可以按照同樣的標(biāo)準(zhǔn)和規(guī)范生產(chǎn)各種不同功能的芯片、模塊和整機,用戶可以根據(jù)功能需求去選擇不同廠家生產(chǎn)的、基于同種總線標(biāo)準(zhǔn)的模塊和設(shè)備,甚至可以按照標(biāo)準(zhǔn),自行設(shè)計功能特殊的專用模塊和設(shè)備,以組成自己所需的應(yīng)用系統(tǒng)。這樣可使芯片級、模塊級、設(shè)備級等各級別的產(chǎn)品都具有兼容性和互換性,以使整個計算機系統(tǒng)的可維護性和可擴充性得到充分保證。
4|2總線標(biāo)準(zhǔn)的技術(shù)規(guī)范
- 機械結(jié)構(gòu)規(guī)范:模塊尺寸、總線插頭、總線接插件以及安裝尺寸均有統(tǒng)一規(guī)定。
- 功能規(guī)范:總線每條信號線(引腳的名稱)、功能以及工作過程要有統(tǒng)一規(guī)定。
- 電氣規(guī)范:總線每條信號線的有效電平、動態(tài)轉(zhuǎn)換時間、負載能力等。
4|3哪種總線是標(biāo)準(zhǔn)的?
主板上的處理器<=>主存總線經(jīng)常是特定的專用總線,而用于連接各種I/O模塊的I/O總線和底板式總線則通??稍诓煌嬎銠C中互用。實際上,底板式總線和I/O總線通常是標(biāo)準(zhǔn)總線,可被許多不同公司制造的不同計算機使用。
4|4常見的總線標(biāo)準(zhǔn)
1|0內(nèi)部總線
- CAMAC,用于儀表檢測系統(tǒng)
- 工業(yè)標(biāo)準(zhǔn)架構(gòu)總線(ISA)
- 擴展ISA(EISA)
- Low Pin Count(LPC)
- 微通道(MCA)
- MBus
- 多總線(Multibus),用于工業(yè)生產(chǎn)系統(tǒng)
- NuBus,或稱IEEE 1196
- OPTi本地總線,用于早期Intel 80486主板
- 外圍部件互聯(lián)總線(PCI)
- S-100總線(S-100 bus),或稱IEEE 696,用于Altair或類似微處理器
- SBus或稱IEEE 1496
- VESA本地總線(VLB,VL-bus)
- VERSAmodule Eurocard bus(VME總線)
- STD總線(STD bus),用于八位或十六位微處理器系統(tǒng)
- Unibus
- Q-Bus
- PC/104
- PC/104 Plus
- PC/104 Express
- PCI-104
- PCIe-104
- 1-Wire
- HyperTransport
- I2C
- 串行PCI(PCIe)
- 串行外圍接口總線(SPI總線)
- 火線i.Link(IEEE 1394)
1|0外部總線
指纜線和連接器系統(tǒng),用來傳輸I/O路徑技術(shù)指定的數(shù)據(jù)和控制信號,另外還包括一個總線終結(jié)電阻或電路,這個終結(jié)電阻用來減弱電纜上的信號反射干擾。
- ATA:磁盤/磁帶周邊附件總線,也稱 PATA、IDE、EIDE、ATAPI 等等(the original ATA is parallel, but see also the recentserial ATA)。
- HIPPI(HIgh Performance Parallel Interface):高速平行接口。
- IEEE-488:也稱GPIB(General-Purpose Instrumentation Bus)或HPIB(Hewlett-Packard Instrumentation Bus)。
- PC card:前身為知名的PCMCIA,常用于筆記本電腦和其它便攜式設(shè)備,但自從引入USB以及嵌入式網(wǎng)絡(luò)后,這個總線就慢慢不再使用了。
- SCSI(Small Computer System Interface):小型電腦系統(tǒng)接口,磁盤/磁帶周邊附件總線。
- USB Universal Serial Bus, 大量外部設(shè)備均采用此總線
- Serial Attached SCSI and other serial SCSI buses
- Serial ATA
- Controller Area Network(“CAN總線”)
- EIA-485
- FireWire
- Thunderbolt
1|0ISA
ISA(IndustrialStandardArchitecture)總線是IBM公司1984年為推出PC/AT機而建立的系統(tǒng)總線標(biāo)準(zhǔn)。所以也叫AT總線。
1|0主要特點
(1)支持64K的I/O地址空間,16M主存地址空間的尋址,支持15級硬中斷、7級DMA通道。
(2)是一種簡單的多主控總線。除了CPU外,DMA控制器、DRAM刷新控制器和帶處理器的智能接口控制卡都可成為總線主控設(shè)備。
(3)支持8種總線事務(wù)類型:存儲器讀、存儲器寫、I/O讀、I/O寫、中斷響應(yīng)、DMA響應(yīng)、存儲器刷新、總線仲裁。
它的時鐘頻率為8MHz,共有98根信號線。數(shù)據(jù)線和地址線分離,數(shù)據(jù)線寬度為16位,可以進行8位或16位數(shù)據(jù)的傳送,所以最大數(shù)據(jù)傳輸率為16MB/s。
1|0EISA
EISA(Extended Industrial Standerd Architecture)總線是一種在ISA總線基礎(chǔ)上擴充的開放總線標(biāo)準(zhǔn),支持多總線主控和突發(fā)傳輸方式。時鐘頻率為8.33MHz。共有198根信號線,在原ISA總線的98根線的基礎(chǔ)上擴充了100根線,與原ISA總線完全兼容。具有分立的數(shù)據(jù)線和地址線。數(shù)據(jù)線寬度為32位,具有8位、16位、32位數(shù)據(jù)傳輸能力,所以最大數(shù)據(jù)傳輸率為33MB/s。地址線的寬度為32位,所以尋址能力達232。即:CPU或DMA控制器等這些主控設(shè)備能夠?qū)?G范圍的主存地址空間進行訪問。
1|0PCI
PCI(Peripheral Component Interconnect)總線是一種高性能的32位局部總線。它由Intel公司于1991年底提出,后來又聯(lián)合IBM、DEC等100多家PC業(yè)界主要廠家,于1992年成立PCI集團,稱為PCISIG,進行統(tǒng)籌和推廣PCI標(biāo)準(zhǔn)的工作。
PCI總線主要用于高速外設(shè)的I/O接口和主機相連,采用自身33MHz的總線頻率,數(shù)據(jù)線寬度為32位,可擴充到64位,所以數(shù)據(jù)傳輸率可達132MB/s~264MB/s。
速度快、支持無限突發(fā)傳輸方式 、支持并發(fā)工作(PCI橋提供數(shù)據(jù)緩沖,并使總線獨立于CPU) ,可在主板上和其他系統(tǒng)總線(如:ISA、EISA或MCA)相連接,系統(tǒng)中的高速設(shè)備掛接在PCI總線上,而低速設(shè)備仍然通過ISA、EISA等這些低速I/O總線支持。支持基于微處理器的配置,可用在單處理器系統(tǒng)中,也可用于多處理器系統(tǒng)。
4|5總線發(fā)展史(興趣拓展)
1|0最早的系統(tǒng)總線——ISA
ISA是一種尺寸巨大的插槽,一般情況下都會采用黑色配色,比我們現(xiàn)在熟知的PCIe長很多
作為最早的PC總線,ISA誕生于1981年,那時候它作為IBM的基于8-bit Intel 8088處理器的PC/XT電腦的系統(tǒng)總線首次出現(xiàn)。由于PC/XT曾經(jīng)在相當(dāng)長一段時間內(nèi)都是PC領(lǐng)域的統(tǒng)治者,所以系統(tǒng)總線最開始被稱為PC總線或PC/XT總線。之后在1984年,IBM推出的基于16-bit Intel 80286處理器的PC/AT電腦當(dāng)中,系統(tǒng)總線也相應(yīng)地擴展為16bit,并被稱呼為PC/AT總線。而為了開發(fā)與IBM PC兼容的外圍設(shè)備,行業(yè)內(nèi)便逐漸確立了以IBM PC總線標(biāo)準(zhǔn)為基礎(chǔ)的ISA(Industry Standard Architecture,工業(yè)標(biāo)準(zhǔn)架構(gòu))總線。
ISA是8/16bit的系統(tǒng)總線,最大傳輸速率僅為8MB/S,但在當(dāng)時是足夠滿足速度需求的。ISA允許多個CPU共享系統(tǒng)資源,且具有良好的設(shè)備兼容性,這讓它成了當(dāng)時最流行的系統(tǒng)總線。ISA接口也就因此而成為了主板上的標(biāo)準(zhǔn)配置,無論聲卡、顯卡、解壓卡還是別的什么設(shè)備,當(dāng)時我們所要用到的幾乎所有外接板卡都需要ISA接口。
不過,ISA的弱點也是顯而易見的,作為最初的數(shù)據(jù)總線,ISA的傳輸速率很快便成了周邊設(shè)備性能提升的瓶頸,它還有CPU占用率高以及占用硬件中斷資源等其他問題,所以漸漸的也就無法再滿足高速發(fā)展的外圍設(shè)備的需求了,因此業(yè)界開始了對ISA總線的放棄以及對替代品的尋找。這位繼任者,便是幾乎陪伴了一代人的PCI。
1|0最長壽的總線——PCI
由于ISA/EISA總線速度緩慢,一度出現(xiàn)CPU的速度甚至還高過總線的速度,造成硬盤、顯示卡以及其它的外圍設(shè)備只能通過慢速并且狹窄的瓶頸來發(fā)送和接受數(shù)據(jù),使得整機的性能受到嚴(yán)重的影響。為了解決這個問題,1992年,Intel在發(fā)布486處理器的時候,也同時提出了32-bit的PCI(Peripheral Component Interconnect,外圍組件互連)總線。
PCI總線是獨立于CPU的系統(tǒng)總線,推出至今已走過了30載春秋。以最初目的而言,它并不是作為ISA的終結(jié)者出現(xiàn)的。PCI在結(jié)構(gòu)上可以被視為CPU和原來的ISA之間插入的一級新總線,它擁有全新的操作方式,可以經(jīng)由橋接電路來協(xié)調(diào)數(shù)據(jù)的傳送,新加入的管理器能夠提供信號緩沖,這讓PCI的外設(shè)支持?jǐn)?shù)量明顯提升,并能在高時鐘頻率下保持高性能,它為當(dāng)時的顯卡、聲卡、網(wǎng)卡、MODEM甚至數(shù)據(jù)采集卡等等設(shè)備提供了連接接口。
32-bit PCI總線的交互速度為33MHz,理論帶寬就是4Byte/s * 33MHz = 133MB/s。而PCI總線及接口家族并沒有像ISA那樣僅僅發(fā)展了一代便戛然而止,隨著對更高性能的要求,更為高速的64bit PCI/PCI-X總線也被提出,其頻率規(guī)劃提升到66~133MHz,理論帶寬就提升到了533MB/s。這種思路似乎就像是將兩個PCI接口合并使用,但又不是完全相同。這些總線及接口大多服務(wù)于更高級別的服務(wù)器產(chǎn)品線,所以我們所見最廣泛的仍舊是采用32 bit/33MHz的標(biāo)準(zhǔn)PCI接口。良好且異常廣泛的兼容性,理想的系統(tǒng)資源占有率以及低廉的成本讓PCI接口成了相當(dāng)長一個時期里主板上出現(xiàn)最多的接口,它甚至變成了衡量主板可擴展性及實用性的標(biāo)志之一。
以133MB/S的帶寬而言,PCI接口及總線對聲卡、網(wǎng)卡、視頻卡等絕大多數(shù)輸入/輸出設(shè)備顯得綽綽有余了,這是PCI能夠在今天仍舊繼續(xù)存在的原因之一。不過PCI的速度和帶寬對性能高速增長的某些外部設(shè)備,比如胃口越來越大的3D 顯卡來說,很快就顯得有些力不從心,成為了制約顯示子系統(tǒng)和整機性能的瓶頸。在這種需求的催生下,近乎于曇花一現(xiàn)的一代著名總線——AGP現(xiàn)世了。
1|0短命的顯卡御用總線——AGP
在上個世紀(jì)九十年代末期,隨著Voodoo 2、TNT以及G200等第二代3D顯卡的問世,PC用戶們忽然發(fā)現(xiàn)了一個令人震驚的事實——在數(shù)倍激增的多邊形以及材質(zhì)解析度的作用下,PCI總線看似富裕的133MB/S的帶寬,在新一代3D顯卡面前竟然已經(jīng)變得不夠用了。好在技術(shù)端的反應(yīng)一直都是快于市場端的,新一代3D顯卡的需求,早在其研發(fā)階段就已經(jīng)被業(yè)界所注意到了,與新一代3D顯卡一同到來的,還有新的AGP標(biāo)準(zhǔn)。
與PCI一樣,AGP(Accelerated Graphics Port)同樣由Intel所提出。早在第一代3D加速卡剛剛普及的90年代中期,Intel就注意到了激增圖形需求所帶來的通訊帶寬即將超過PCI總線的承受能力,為了應(yīng)對這一矛盾,Intel在PCI V2.1的基礎(chǔ)上提出了全新的圖形設(shè)備專用總線——AGP標(biāo)準(zhǔn),并在1997年的440LX芯片組當(dāng)中首次予以實現(xiàn)。
用通俗但并不嚴(yán)謹(jǐn)?shù)睦斫?,AGP可以被看做是運行在66MHz+倍頻設(shè)計的PCI,兩者基于同樣的基礎(chǔ),但AGP擁有自己獨特的特點——它也引入了包括AGP DME(Direct Memory Execution)以及AGP TA(Texture Acceleration),甚至是AGP FW(Fast Write,僅NVIDIA提供)在內(nèi)的一系列新技術(shù),同時將PCI的帶寬從133MB/S提升到了266MB/S起跳,工作頻率則從66MHz開始,這很好的滿足了新一代圖形顯卡的需求。
隨著顯卡的高速發(fā)展,AGP也在不斷的提升著自己的能力。AGP 1X標(biāo)準(zhǔn)可以提供266MB/s的理論帶寬,而到了AGP 2X的版本,采用了新的雙向數(shù)據(jù)傳輸技術(shù)(上升沿和下降沿各傳輸一個數(shù)據(jù)),從而理論帶寬翻倍,達到了533MB/s。在畫面處理需求幾何增長之后,AGP 2X的帶寬又不夠用了,AGP 4X應(yīng)運而生,工作頻率沒變,通過提升數(shù)據(jù)寬度,又將其理論帶寬翻倍,提升至了1066MB/s。后期又推出了AGP 8X版本將帶寬再次翻倍,達到2133MB/s。與此同時,工作電壓也一步步下降到了0.8V之低。盡管如此,AGP保持了PCI外形不變且統(tǒng)一的光榮傳統(tǒng),其獨特的單一棕色接口,在那個時代幾乎成了“圖形接口”的代名詞。
然而,作為PCI的特殊拓展,AGP從誕生之日起就有許多無法回避的缺陷,它僅支持單一設(shè)備連接,無法實現(xiàn)多卡互聯(lián)擴展,到了后期,AGP的高占用缺陷凸顯。并且,其與PCI日漸背離的巨大帶寬差異也成了很大的麻煩。所以與PCI長達26年的服役經(jīng)歷形成了鮮明對比,AGP在發(fā)展至8X之后便停止了前進,最終帶寬也定格在了2133MB/S。2002年,AGP的替代品——PCI Express也就是PCIe標(biāo)準(zhǔn)被確認,不過由于剛開始的價格較高,就出現(xiàn)了主板上同時搭載AGP和PCIe接口的情況,很長一段時間內(nèi),用戶還是堅持選擇AGP顯卡來裝機。
1|0最廣泛最通用——PCI-Express
在AGP/PCI之后,成本高昂的PCI-X并沒有成為接班人,主板的PC總線及接口來到了PCI-Express時代。
早在2001年的春季,英特爾公司就提出了要用新一代的技術(shù)取代PCI總線和多種芯片的內(nèi)部連接,并稱之為第三代I/O總線技術(shù)。隨后在2001年底,包括Intel、AMD、DELL、IBM在內(nèi)的20多家業(yè)界主導(dǎo)公司開始起草新技術(shù)的標(biāo)準(zhǔn),并在2002年完成,對其正式命名為PCI Express,簡稱PCIe。它采用了目前業(yè)內(nèi)流行的點對點串行連接,比起PCI以及更早期的計算機總線的共享并行架構(gòu),每個設(shè)備都有自己的專用連接,不需要向整個總線請求帶寬,而且可以把數(shù)據(jù)傳輸率提高到一個很高的頻率,達到PCI所不能提供的高帶寬。
PCIe以優(yōu)秀的高速點對點傳輸形式帶來了巨大的帶寬提升,其兼容性和擴展靈活性也達到了前所未有的高度。PCIe將PCI及AGP使用的并行數(shù)據(jù)傳輸方式更改為了串行傳輸方式,串行傳輸?shù)膬?yōu)勢是傳輸速度可以更快,缺點是容易出現(xiàn)數(shù)據(jù)損失,不過這個缺陷在不斷進步的新技術(shù)面前已經(jīng)不是什么問題。在經(jīng)過了短暫的更替之后,PCIe接口便完全取代PCI/AGP并成為了大部分主板的唯一板卡擴展接口。PC的擴展接口經(jīng)歷了相當(dāng)長時間的各種混搭之后,在PCIe時代首次迎來了大一統(tǒng)的格局。
PCIe接口的帶寬分為1X/2X/4X/8X/16X,目前主板上已經(jīng)很少見其他接口,主要就是PCIe擴展接口,2X的插槽也比較少見。視可擴展性需求不同,現(xiàn)代主板的標(biāo)準(zhǔn)接口配置通常會包含若干個PCIe 1X短槽以及2個以上的PCIe 8/16X長槽,這些PCIe接口已經(jīng)取代了其他所有接口的功能,連接了包括顯卡、聲卡、擴展卡甚至SSD硬盤在內(nèi)的幾乎所有PC擴展硬件。除非芯片組提供支持,你甚至連PCI接口都很難再看到。
PCIe 1.0標(biāo)準(zhǔn)提供了2.5GT/s(Giga Transmissionper second ,千兆傳輸/秒,即每一秒內(nèi)傳輸?shù)拇螖?shù),不同于Gbps)的傳輸速度,常用的PCIe 16X提供16位的數(shù)據(jù)寬度,其單向理論帶寬已經(jīng)可以達到5GB/s。由于是串行傳輸,PCIe 2.0以前采用的是8bit/10bit標(biāo)準(zhǔn),在傳輸數(shù)據(jù)的時候會增加“開始標(biāo)志和終止標(biāo)志”,實際傳輸8bit的數(shù)據(jù)就需要占用10bit的傳輸量,所以其實際單向傳輸速度大約為4GB/s。即使這樣還是遠超過AGP 8X的2.1GB/s。如果算上雙向數(shù)據(jù)傳輸(上升沿和下降沿各傳輸一個數(shù)據(jù)),則其實際帶寬可以達到8GB/s。PCIe 2.0標(biāo)準(zhǔn)沒有對其進行大的修改,不過將2.5GT/s的傳輸速度翻倍成為5.0GT/s,在原有不變的情況下,PCIe 2.0 16X的雙向帶寬為16GB/s。目前使用最廣的PCIe 3.0標(biāo)準(zhǔn)在提升傳輸速度至8GT/s的同時,將傳輸標(biāo)準(zhǔn)升級為了128bit/130bit,編碼損耗幾乎可以忽略不計,PCIe 3.0 16X的理論雙向帶寬可以達到32GB/s。
2017年,PCI-SIG組織正式發(fā)布了全新的傳輸標(biāo)準(zhǔn):PCIe 4.0,其傳輸速率定義為16GT/s,比3.0翻番,帶寬速率則可以提供到64GB/s。AMD平臺已經(jīng)全面支持PCIe 4.0,從消費級到數(shù)據(jù)中心,顯卡、處理器、主板芯片組全都有。NVIDIA方面,除了在FPGA等領(lǐng)域已支持PCIe 4.0,新一代“安培”(Ampere)架構(gòu),主攻AI、數(shù)據(jù)中心、高性能計算等市場領(lǐng)域,也首次引入了PCIe 4.0。2019年5月29日,PCIe 5.0標(biāo)準(zhǔn)正式發(fā)布,達到了32GT/s的傳輸速度,同時保持低功耗和向后兼容以前幾代的技術(shù)。依然使用128/130編碼方式,16X帶寬從64GB/s提升到了128GB/s。
1|0總結(jié)
從最開始的ISA總線起算,PC總線經(jīng)歷了從并行到串行,再到最后串并行的交替。伴隨著總線及其接口的不斷演變,我們所使用的數(shù)據(jù)帶寬也從最開始的幾MB每秒逐漸提升到了數(shù)GB乃至幾十GB每秒。正是總線的不斷進步,讓有了我們獲得了更快速的顯卡和更高速硬盤的機會。
發(fā)展和更迭是任何事物都要面對的歷程,總線也不例外,而我們關(guān)于PC的記憶以及種種快樂,正是這不斷的變化連接在一起所造就的。不過說實話,總線發(fā)展到今天已經(jīng)沒有什么再向上的空間了,關(guān)于PCIe的標(biāo)準(zhǔn),最大的推動力就是顯卡,但是毫不夸張的說,PCIe 4.0甚至5.0足夠滿足任何高性能顯卡,還有很大性能冗余。
雖然PCIe帶寬在不斷地提升,但不得不說,它們在PC市場的用武之地越來越小,因為消費級市場根本用不到這么高的帶寬,只有高性能服務(wù)器、網(wǎng)絡(luò)等產(chǎn)品上才有意義。
參考資料:
https://baike.baidu.com/item/主板/104636
https://baike.baidu.com/item/芯片組/305749
https://baike.baidu.com/item/總線/108823
https://biz.51cto.com/art/201709/552288.htm
https://www.chinafix.com/article-9528-1.html
__EOF__