6.1 總線概述
6.1.1 總線的基本概念
總線是一組能為多個(gè)部件分時(shí)共享的公共信息傳送線路。
共享是指總線上可以掛接多個(gè)部件,各個(gè)部件之間互相交換的信息都可以通過(guò)這組線路分時(shí)共享。
分時(shí)是指同一時(shí)刻只允許有一個(gè)部件向總線發(fā)送信息,如果系統(tǒng)中有多個(gè)部件,則它們只能分時(shí)地向總線發(fā)送信息。
總線的特性
- 機(jī)械特性:尺寸、形狀、管腳數(shù)、排列順序
- 電氣特性:傳輸方向和有效的電平范圍
- 功能特性:每根傳輸線的功能(地址、數(shù)據(jù)、控制)
- 時(shí)間特性:信號(hào)的時(shí)序關(guān)系
6.1.2 總線的分類

6.1.2.1 按數(shù)據(jù)傳輸格式分類
- 串行總線
優(yōu)點(diǎn):只需要一條傳輸線,成本低廉,廣泛應(yīng)用于長(zhǎng)距離傳輸;應(yīng)用于計(jì)算機(jī)內(nèi)部時(shí),可以節(jié)省布線空間。
缺點(diǎn):在數(shù)據(jù)發(fā)送和接收的時(shí)候要進(jìn)行拆卸和裝配,要考慮串行-并行轉(zhuǎn)換的問(wèn)題。
- 并行
優(yōu)點(diǎn):總線的邏輯時(shí)序比較簡(jiǎn)單,電路實(shí)現(xiàn)起來(lái)比較容易。
缺點(diǎn):信號(hào)線數(shù)量多,占用更多的布線空間;遠(yuǎn)距離傳輸成本高昂;由于工作頻率較高時(shí),并行的信號(hào)線之間會(huì)產(chǎn)生嚴(yán)重干擾,對(duì)每條線等長(zhǎng)的要求也越高,所以無(wú)法持續(xù)提升工作頻率。
1.工作頻率相同時(shí),串行總線傳輸速度比并行總線慢。
2.并行總線的工作頻率無(wú)法持續(xù)提高,而串行總線可以通過(guò)不斷提高工作頻率來(lái)提高傳輸速度,最終超過(guò)并行總線。
6.1.2.2 按總線功能分類
- 片內(nèi)總線
片內(nèi)總線是芯片內(nèi)部的總線。它是CPU芯片內(nèi)部寄存器與寄存器之間、寄存器與ALU之間的公共連接線。
- 系統(tǒng)總線
系統(tǒng)總線是計(jì)算機(jī)系統(tǒng)內(nèi)各功能部件(CPU、主存、I/O接口)之間相互連接的總線。按系統(tǒng)總線傳輸信息內(nèi)容的不同,又可分為3類:數(shù)據(jù)總線、地址總線和控制總線。

- 數(shù)據(jù)總線:數(shù)據(jù)總線用來(lái)傳輸各功能部件之間的數(shù)據(jù)信息,它是雙向傳輸總線,其位數(shù)與機(jī)器字長(zhǎng)、存儲(chǔ)字長(zhǎng)有關(guān)。
- 地址總線:地址總線用來(lái)指出數(shù)據(jù)總線上的源數(shù)據(jù)或目的數(shù)據(jù)所在的主存單元或I/O端口的地址,它是單向傳輸總線,地址總線的位數(shù)與主存地址空間的大小有關(guān)。
- 控制總線:控制總線傳輸?shù)氖强刂菩畔?,包括CPU送出的控制命令和主存(或外設(shè))返回CPU的反饋信號(hào)。
- 通信總線
通信總線是用于計(jì)算機(jī)系統(tǒng)之間或計(jì)算機(jī)系統(tǒng)與其他系統(tǒng)(如遠(yuǎn)程通信設(shè)備、測(cè)試設(shè)備)之間信息傳送的總線,通信總線也稱為外部總線。
6.1.3 系統(tǒng)總線的結(jié)構(gòu)
總線結(jié)構(gòu)分為單總線結(jié)構(gòu)、雙總線結(jié)構(gòu)和三總線結(jié)構(gòu)等
6.1.3.1 單總線結(jié)構(gòu)
結(jié)構(gòu):CPU、主存、I/O設(shè)備(通過(guò)I/O接口)都連接在一組總線上,允許I/O設(shè)備之間、I/O設(shè)備和CPU之間或I/O設(shè)備與主存之間直接交換信息。
優(yōu)點(diǎn):結(jié)構(gòu)簡(jiǎn)單,成本低,易于接入新的設(shè)備。
缺點(diǎn):帶寬低、負(fù)載重,多個(gè)部件只能爭(zhēng)用唯一的總線,且不支持并發(fā)傳送操作。

單總線并不是指只有一根信號(hào)線,系統(tǒng)總線按傳送信息的不同可以細(xì)分為地址總線、數(shù)據(jù)總線和控制總線。
6.1.3.2 雙總線結(jié)構(gòu)
結(jié)構(gòu):雙總線結(jié)構(gòu)有兩條總線,一條是主存總線,用于CPU、主存和通道之間進(jìn)行數(shù)據(jù)傳送;另一條是I/O總線,用于多個(gè)外部設(shè)備與通道之間進(jìn)行數(shù)據(jù)傳送。
優(yōu)點(diǎn):將較低速的I/O設(shè)備從單總線上分離出來(lái),實(shí)現(xiàn)存儲(chǔ)器總線和I/O總線分離。
缺點(diǎn):需要增加通道等硬件設(shè)備。

6.1.3.3 三總線結(jié)構(gòu)
結(jié)構(gòu):三總線結(jié)構(gòu)是在計(jì)算機(jī)系統(tǒng)各部件之間采用3條各自獨(dú)立的總線來(lái)構(gòu)成信息通路,這3條總線分別為主存總線、I/O總線和直接內(nèi)存訪問(wèn)DMA總線。
- 優(yōu)點(diǎn):提高了I/O設(shè)備的性能,使其更快地響應(yīng)命令,提高系統(tǒng)吞吐量。
- 缺點(diǎn):系統(tǒng)工作效率較低。

直接內(nèi)存訪問(wèn)(Direct Memory Access,DMA)
6.1.4 總線的性能指標(biāo)
- 總線的傳輸周期(總線周期)
一次總線操作所需的時(shí)間(包括申請(qǐng)階段、尋址階段、傳輸階段和結(jié)束階段),通常由若干個(gè)總線時(shí)鐘周期構(gòu)成。
- 總線時(shí)鐘周期
即機(jī)器的時(shí)鐘周期。計(jì)算機(jī)有一個(gè)統(tǒng)一的時(shí)鐘,以控制整個(gè)計(jì)算機(jī)的各個(gè)部件,總線也要受此時(shí)鐘的控制。
大多數(shù)情況下,一個(gè)總線周期包含多個(gè)總線時(shí)鐘周期
有的時(shí)候,一個(gè)總線周期就是一個(gè)總線時(shí)鐘周期
有的時(shí)候,一個(gè)總線時(shí)鐘周期可包含多個(gè)總線周期
- 總線的工作頻率
總線上各種操作的頻率,為總線周期的倒數(shù)。若總線周期=N個(gè)時(shí)鐘周期,則總線的工作頻率=時(shí)鐘頻率/N。實(shí)際上指一秒內(nèi)傳送幾次數(shù)據(jù)。
- 總線的時(shí)鐘頻率
即機(jī)器的時(shí)鐘頻率,為時(shí)鐘周期的倒數(shù)。若時(shí)鐘周期為T,則時(shí)鐘頻率為1/T。實(shí)際上指一秒內(nèi)有多少個(gè)時(shí)鐘周期。
- 總線寬度
又稱為總線位寬,它是總線上同時(shí)能夠傳輸?shù)臄?shù)據(jù)位數(shù),通常是指數(shù)據(jù)總線的根數(shù),如32根稱為32位(bit)總線。
- 總線帶寬
可理解為總線的數(shù)據(jù)傳輸率,即單位時(shí)間內(nèi)總線上可傳輸數(shù)據(jù)的位數(shù),通常用每秒鐘傳送信息的字節(jié)數(shù)來(lái)衡量,單位可用字節(jié)/秒(B/s)表示。
總線帶寬是指總線本身所能達(dá)到的最高傳輸速率。在計(jì)算實(shí)際的有效數(shù)據(jù)傳輸率時(shí),要用實(shí)際傳輸?shù)臄?shù)據(jù)量除以耗時(shí)。
例. 某同步總線采用數(shù)據(jù)線和地址線復(fù)用方式,其中地址/數(shù)據(jù)線有32根,總線時(shí)鐘頻率為66MHz,每個(gè)時(shí)鐘周期傳送兩次數(shù)據(jù)(上升沿和下降沿各傳送一次數(shù)據(jù))。
- 該總線的最大數(shù)據(jù)傳輸率(總線帶寬)是多少?
- 若該總線支持突發(fā)(猝發(fā))傳輸方式,傳輸一個(gè)地址占用一個(gè)時(shí)鐘周期,則一次“主存寫(xiě)”總線事務(wù)傳輸128位數(shù)據(jù)所需要的時(shí)間至少是多少?
1)每個(gè)時(shí)鐘周期傳送兩次數(shù)據(jù)→總線工作頻率是時(shí)鐘頻率的兩倍
總線工作頻率= 2 × 66MHz =132MHz
總線寬度= 32bit = 4B
總線帶寬=總線工作頻率×總線寬度= 132 × 4 MB/s = 528 MB/s2)發(fā)送首地址占用1個(gè)時(shí)鐘周期,128位數(shù)據(jù)需傳輸4次,占用2個(gè)時(shí)鐘周期
一個(gè)時(shí)鐘周期= 1/66MHz ≈ 15ns
總耗時(shí)= (1+2) × 15ns =45ns
突發(fā)(猝發(fā))傳輸方式:一次總線事務(wù)中,主設(shè)備只需給出一個(gè)首地址,從設(shè)備就能從首地址開(kāi)始的若干連續(xù)單元讀出或?qū)懭攵鄠€(gè)數(shù)據(jù)。
- 總線復(fù)用
總線復(fù)用是指一種信號(hào)線在不同的時(shí)間傳輸不同的信息??梢允褂幂^少的線傳輸更多的信息,從而節(jié)省了空間和成本
- 信號(hào)線數(shù)
地址總線、數(shù)據(jù)總線和控制總線3種總線數(shù)的總和稱為信號(hào)線數(shù)。
6.2 總線操作和定時(shí)
操作和定時(shí)主要解決占用總線的一對(duì)設(shè)備如何進(jìn)行數(shù)據(jù)傳輸這個(gè)問(wèn)題
總線定時(shí)是指總線在雙方交換數(shù)據(jù)的過(guò)程中需要時(shí)間上配合關(guān)系的控制,這種控制稱為總線定時(shí),它的實(shí)質(zhì)是一種協(xié)議或規(guī)則
6.2.1 總線傳輸?shù)乃膫€(gè)階段
- 申請(qǐng)分配階段:由需要使用總線的主模塊(或主設(shè)備)提出申請(qǐng),經(jīng)總線仲裁機(jī)構(gòu)決定將下一傳輸周期的總線使用權(quán)授予某一申請(qǐng)者。也可將此階段細(xì)分為傳輸請(qǐng)求和總線仲裁兩個(gè)階段。
- 尋址階段:獲得使用權(quán)的主模塊通過(guò)總線發(fā)出本次要訪問(wèn)的從模塊的地址及有關(guān)命令,啟動(dòng)參與本次傳輸?shù)膹哪K。
- 傳輸階段:主模塊和從模塊進(jìn)行數(shù)據(jù)交換,可單向或雙向進(jìn)行數(shù)據(jù)傳送。
- 結(jié)束階段:主模塊的有關(guān)信息均從系統(tǒng)總線上撤除,讓出總線使用權(quán)。
6.2.2 同步定時(shí)方式
同步定時(shí)方式是指系統(tǒng)采用一個(gè)統(tǒng)一的時(shí)鐘信號(hào)來(lái)協(xié)調(diào)發(fā)送和接收雙方的傳送定時(shí)關(guān)系。若干個(gè)時(shí)鐘產(chǎn)生相等的時(shí)間間隔,每個(gè)間隔構(gòu)成一個(gè)總線周期。在一個(gè)總線周期中,發(fā)送方和接收方可進(jìn)行一次數(shù)據(jù)傳送。因?yàn)椴捎媒y(tǒng)一的時(shí)鐘,每個(gè)部件或設(shè)備發(fā)送或接收信息都在固定的總線傳送周期中,一個(gè)總線的傳送周期結(jié)束,下一個(gè)總線傳送周期開(kāi)始。
優(yōu)點(diǎn):傳送速度快,具有較高的傳輸速率;總線控制邏輯簡(jiǎn)單。
缺點(diǎn):主從設(shè)備屬于強(qiáng)制性同步;不能及時(shí)進(jìn)行數(shù)據(jù)通信的有效性檢驗(yàn),可靠性較差。
同步通信適用于總線長(zhǎng)度較短及總線所接部件的存取時(shí)間比較接近的系統(tǒng)。
6.2.3 異步定時(shí)方式
在異步定時(shí)方式中,沒(méi)有統(tǒng)一的時(shí)鐘,也沒(méi)有固定的時(shí)間間隔,完全依靠傳送雙方相互制約的“握手”信號(hào)來(lái)實(shí)現(xiàn)定時(shí)控制。主設(shè)備提出交換信息的“請(qǐng)求”信號(hào),經(jīng)接口傳送到從設(shè)備;從設(shè)備接到主設(shè)備的請(qǐng)求后,通過(guò)接口向主設(shè)備發(fā)出“回答”信號(hào)。
- 優(yōu)點(diǎn):總線周期長(zhǎng)度可變,能保證兩個(gè)工作速度相差很大的部件或設(shè)備之間可靠地進(jìn)行信息交換,自動(dòng)適應(yīng)時(shí)間的配合。
- 缺點(diǎn):比同步控制方式稍復(fù)雜一些,速度比同步定時(shí)方式慢。
根據(jù)“請(qǐng)求”和“回答”信號(hào)的撤銷是否互鎖,分為以下3種類型。
- 不互鎖方式
主設(shè)備發(fā)出“請(qǐng)求”信號(hào)后,不必等到接到從設(shè)備的“回答”信號(hào),而是經(jīng)過(guò)一段時(shí)間,便撤銷“請(qǐng)求”信號(hào)。而從設(shè)備在接到“請(qǐng)求”信號(hào)后,發(fā)出“回答”信號(hào),并經(jīng)過(guò)一段時(shí)間,自動(dòng)撤銷“回答”信號(hào)。雙方不存在互鎖關(guān)系。
- 半互鎖方式
主設(shè)備發(fā)出“請(qǐng)求”信號(hào)后,必須待接到從設(shè)備的“回答”信號(hào)后,才撤銷“請(qǐng)求”信號(hào),有互鎖的關(guān)系。而從設(shè)備在接到“請(qǐng)求”信號(hào)后,發(fā)出“回答”信號(hào),但不必等待獲知主設(shè)備的“請(qǐng)求”信號(hào)已經(jīng)撤銷,而是隔一段時(shí)間后自動(dòng)撤銷“回答”信號(hào),不存在互鎖關(guān)系。
- 全互鎖方式
主設(shè)備發(fā)出“請(qǐng)求”信號(hào)后,必須待從設(shè)備“回答”后,才撤銷“請(qǐng)求”信號(hào);從設(shè)備發(fā)出“回答”信號(hào),必須待獲知主設(shè)備“請(qǐng)求”信號(hào)已撤銷后,再撤銷其“回答”信號(hào)。雙方存在互鎖關(guān)系。
不互鎖方式速度最快,可靠性最差
全互鎖方式最可靠,速度最慢
6.3 總線標(biāo)準(zhǔn)
根據(jù)總線在計(jì)算機(jī)系統(tǒng)中的位置,可分為
系統(tǒng)總線:通常與CPU直接相連,用于連接CPU與北橋芯片、或CPU與主存等
局部總線:沒(méi)有直接與CPU連接,通常是連接高速的北橋芯片,用于連接了很多重要的硬件部件(如顯卡、聲卡等)
設(shè)備總線、通信總線:通常由南橋芯片控制,用于連接計(jì)算機(jī)與計(jì)算機(jī),或連接計(jì)算機(jī)與外部I/O設(shè)備
| 總線標(biāo)準(zhǔn) | 全稱 | 特點(diǎn) |
|---|---|---|
| ISA | 工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu) | 系統(tǒng)總線 |
| EISA | 擴(kuò)展ISA | 系統(tǒng)總線 |
| VESA | 視頻局部總線 | 局部總線 |
| PCI | 周邊組件互連總線 | 局部總線 |
| PCI-E | PCI-Express | 串行 |
| AGP | 加速圖形接口 | 局部總線 |
| RS-232C | Recommended Standard | 串行通信總線 |
| SCSI | 小型計(jì)算機(jī)系統(tǒng)接口 | 智能通用接口 |
| PCMCIA | Personal Computer Memory CardInternational Association | 便攜設(shè)備接口 |
| USB | Universal Serial Bus | 設(shè)備總線、串行 |
| IDE(ATA) | Integrated Drive Electronics電子集成驅(qū)動(dòng)器 | 硬盤光驅(qū)接口 |
| SATA | Serial Advanced Technology Attachment | 串行硬盤接口 |