計(jì)算機(jī)系統(tǒng)總線基礎(chǔ)
一. 總線的概念
本文引用地址:http://m.butianyuan.cn/article/148718.htm在計(jì)算機(jī)系統(tǒng)中,不同的子系統(tǒng)必須具有連接彼此的接口,比如,內(nèi)存和處理器需要通信,處理器和I/O設(shè)備也需要通信。這些工作都是由總線來完成的。總線就是一條共享的通信鏈路,它用一套線路來連接多個(gè)子系統(tǒng)。下圖是一個(gè)典型的計(jì)算機(jī)總線示意圖:
總線結(jié)構(gòu)的兩個(gè)主要優(yōu)點(diǎn)是功能多和成本低。通過定義一種連接方案,就能夠方便的添加新設(shè)備,比如我們可以輕松的為自己的筆記本擴(kuò)展內(nèi)存條,或者外擴(kuò)一塊硬盤。外圍設(shè)備也可以在使用同類總線的計(jì)算機(jī)系統(tǒng)之間移動。而且,因?yàn)橥惶拙€路被多個(gè)路徑共享,所以總線具有較好的成本效益。
總線的主要缺點(diǎn)在于它會產(chǎn)生通信瓶頸,這可能會限制I/O的最大吞吐量。當(dāng)I/O數(shù)據(jù)傳輸必須通過單個(gè)總線的時(shí)候,這條總線的帶寬就會限制I/O的最大吞吐量。如何設(shè)計(jì)總線系統(tǒng),使之能夠滿足處理器的要求并能夠接納大量的I/O設(shè)備,使我們面臨的一大挑戰(zhàn)。
二. 控制線路和數(shù)據(jù)線路
總線通常包括一套控制線路和一套數(shù)據(jù)線路??刂凭€路用來傳輸請求和確認(rèn)信號,并指出數(shù)據(jù)線上的信息類型??偩€的數(shù)據(jù)線在源和目的之間傳遞信息。這種信息可能包括數(shù)據(jù)、復(fù)雜指令或者地址。比如,如果磁盤要把磁盤扇區(qū)中的數(shù)據(jù)寫入內(nèi)存,內(nèi)存的地址和磁盤的實(shí)際數(shù)據(jù)都會通過數(shù)據(jù)線來傳輸。控制總線則指明了在傳輸過程中每一刻數(shù)據(jù)線包含的信息種類。一些總線使用兩套信號線在一次總線傳輸中分別傳送數(shù)據(jù)和地址。不管哪種情況下,控制總線都要遵循總線協(xié)議,并指出總線傳輸?shù)膬?nèi)容。由于總線的共享的,所以我們還需要一個(gè)協(xié)議來決定誰下一個(gè)使用。
三. 處理器-內(nèi)存總線和I/O總線
對于傳統(tǒng)的PC機(jī),總線可以分為處理器-內(nèi)存總線和I/O總線。處理器內(nèi)存總線長度短,速度通常很高,而且配合內(nèi)存系統(tǒng)使內(nèi)存-處理器的帶寬達(dá)到最大。與之形成對比的I/O總線,它可以很長,可以連接很多類型的設(shè)備,并且經(jīng)常要連接多種具有不同數(shù)據(jù)帶寬的設(shè)備。I/O總線一般不和內(nèi)存直接連接而是通過處理器-內(nèi)存總線或者背板總線連接到內(nèi)存上。
I/O總線被用作擴(kuò)展機(jī)器和連接新外設(shè)的手段。主流的I/O總線標(biāo)準(zhǔn)有1394和USB等。他們可以把各種外設(shè)連接到臺式機(jī),從鍵盤、相機(jī)到磁盤。
下圖為早期的I/O總線示意圖:
四. 總線通信的兩種方式:同步和異步
總線的通信的兩種基本方式是同步和異步。如果總線是同步的,控制線上就有一個(gè)時(shí)鐘以及一個(gè)與該時(shí)鐘相關(guān)的固定的通信協(xié)議。比如,為了使處理器-內(nèi)存總線執(zhí)行一個(gè)從內(nèi)存總線執(zhí)行一個(gè)讀操作。我們需要一個(gè)協(xié)議能夠在第一個(gè)時(shí)鐘周期傳輸?shù)刂泛妥x操作命令,并使用控制線來指明請求的類型。內(nèi)存可能被要求在第五個(gè)時(shí)鐘周期做出響應(yīng),提供數(shù)據(jù)字。
同步總線主要有兩個(gè)缺點(diǎn)。第一,總線上的每個(gè)設(shè)備必須運(yùn)行在同一個(gè)時(shí)鐘頻率下。其次,由于時(shí)鐘偏差問題,速度很快的同步總線,長度不能太大。處理器-內(nèi)存總線通常是同步的,因?yàn)樵O(shè)備間通信的距離短,數(shù)量少,而且準(zhǔn)備在快的時(shí)鐘頻率下工作。
異步總線不需要時(shí)鐘。正因?yàn)椴恍枰獣r(shí)鐘,所以異步總線可以適應(yīng)很多不同的設(shè)備,異步總線可以延長而不用擔(dān)心時(shí)鐘偏差或其他同步問題。1394和USB都是異步總線。為了協(xié)調(diào)發(fā)送者和接受者之間的數(shù)據(jù)傳輸,異步總線采用握手協(xié)議。握手協(xié)議由一系列步驟組成,只有當(dāng)發(fā)送者和接收者達(dá)成一致時(shí),才能進(jìn)行下一步工作。這種協(xié)議通過一套附加的控制線路實(shí)現(xiàn)的。
評論