【筆記】系統匯流排
一、匯流排的基本概念
計算機系統的五大部件之間的互連方式有兩種,一種是各部件之間使用單獨的連線,稱為分散連線;另一種是將各部件連到一組公共資訊傳輸線上,稱為匯流排連線。
匯流排是由許多傳輸線或通路組成,每條線可一位一位地傳輸二進位制程式碼,一串二進位制程式碼可在一段時間內逐一傳輸完成。若干條傳輸線可以同時傳輸若干位二進位制程式碼。雙匯流排包括儲存匯流排(M匯流排)和輸入/輸出匯流排(I/O匯流排)。將CPU、主存和I/O裝置都掛到一組總線上,便形成單匯流排結構的計算機。在單匯流排基礎上加一條CPU和主存之間的匯流排,稱為儲存匯流排,就是以儲存器為中心的雙匯流排結構。
二、匯流排的分類
按資料傳送方式可分為並行傳輸匯流排和序列傳輸匯流排。按匯流排的使用範圍劃分,有計算機匯流排、測控匯流排、網路通訊匯流排等。
1.片內匯流排
片內匯流排:晶片內部的匯流排,如在CPU晶片內部,暫存器與暫存器之間、暫存器與算邏單元(ALU)之間都由片內匯流排連線。
2.系統匯流排
**系統匯流排:**CPU、主存、I/O裝置各大部件之間的資訊傳輸線,又稱板級匯流排或板間匯流排。
按系統匯流排傳輸資訊的不同又可分為:資料匯流排、地址匯流排、控制匯流排。
1.資料匯流排
資料匯流排用來傳輸各功能之間的資料資訊,它是雙向傳輸匯流排,其位數與機器字長、儲存字長有關,一般為8位、16位、32位。資料匯流排的位數稱為資料匯流排寬度
2.地址匯流排
地址匯流排主要用來指出資料匯流排上的源資料或目的資料在主存單元的地址或I/O裝置的地址。
地址總線上的程式碼是用來指明CPU欲訪問的儲存單元或I/O埠的地址,由CPU輸出,單向傳輸。地址線的位數與儲存單元的個數有關。
3.控制匯流排
控制匯流排用來發出各種控制訊號的傳輸線,還可監視各部件狀態。對任意控制線而言,它的傳輸單向的;但對於控制匯流排整體而言,又可認為是雙向的。
常見的控制訊號有:時鐘、復位、匯流排請求、匯流排允許、中斷請求、中斷響應、儲存器寫、儲存器讀、I/O讀、I/O寫、傳輸響應。
3.通訊匯流排
通訊匯流排:
序列通訊:資料在單條1位寬的傳輸線上,一位一位地按順序分時傳送。
並行通訊:資料在多條1位寬的傳輸線上,同時由源傳送到目的地。
序列通訊適宜於遠距離傳送,並行通訊適用於近距離的資料傳輸。序列和並行的資料傳送速率都與距離成反比。
三、匯流排特性及效能指標
1.匯流排特性
(1)機械特性:匯流排在機械連線方式上的一些效能。
(2)電氣特性:匯流排的每一根傳輸線上的訊號的傳遞方向和有效的電平範圍。
(3)功能特性:匯流排中每根傳輸線的功能。
(4)時間特性:匯流排中的任一根線在什麼時間內有效。
2.匯流排效能指標
1.匯流排寬度:資料匯流排的根數,用bit(位)表示。
2.匯流排頻寬:匯流排的資料傳輸速率,即單位時間內總線上傳輸資料的位數,通常用每秒傳輸資訊的位元組數來衡量,單位可用MBps(兆位元組每秒)表示。
3.時鐘同步/非同步:總線上的資料與時鐘同步工作的匯流排稱為同步匯流排,與時鐘不同步工作的匯流排稱為非同步匯流排。
4.匯流排複用:一條訊號線上分時傳送兩種訊號。
5.訊號線數:地址匯流排、資料匯流排和控制匯流排三種匯流排數的總和。
6.匯流排控制方式:包括突發工作、總動配置、仲裁方式、邏輯方式、計數方式等。
7.其他指標:如負載能力、電源電壓、匯流排寬度能否擴充套件等。
匯流排的負載能力:即驅動能力,是指當匯流排接上負載後,匯流排書法如輸出的邏輯電平是否能保持在正常的額定範圍內。
3.匯流排標準
匯流排標準:可視系統與各模組、模組與模組之間的一個互連的標準介面。
目前流行的匯流排標準有:ISA匯流排、EISA匯流排、VESA(VL-BUS)匯流排、PCI匯流排、AGP匯流排、RS-232C匯流排、USB匯流排。
四、匯流排結構
1.單匯流排結構
單匯流排結構是將CPU、主存、I/O裝置都掛在一組總線上,允許I/O裝置之間、I/O裝置與CPU之間或I/O裝置與主存之間直接交換資訊。
2.多匯流排結構
雙匯流排結構特點是將速度較低的I/O裝置從單總線上分離出來,形成主存匯流排與I/O匯流排分開的結構。這種結構大多用於大、中型計算機系統。
三匯流排結構:主存匯流排用於CPU與主存之間的傳輸;I/O匯流排供CPU與各類I/O裝置之間傳遞資訊;DMA匯流排用於高速I/O裝置與主存之間直接交換資訊。在三匯流排結構中,任一時刻只能使用一種匯流排。主存匯流排與DMA匯流排不能同時對主存進行存取,I/O匯流排只有在CPU執行I/O指令時才能用到。
五、匯流排控制
主要包括判優控制和通訊控制。
1.匯流排判優控制
總線上所連線的各類裝置,按其對匯流排有無控制功能可分為主裝置和從裝置兩種。
匯流排判優控制可分集中式和分散式兩種,前者將控制邏輯集中在一處,後者將控制邏輯分散在與匯流排連線的各個部件或裝置上。
常見的集中控制優先權仲裁方式有以下三種:
(1)鏈式查詢
控制匯流排中有3根線用於匯流排控制(BS匯流排忙、BR匯流排請求、BG匯流排同意),其中匯流排同意訊號BG是序列地從一個I/O介面送到下一個I/O介面。在鏈式查詢中,離匯流排控制部件部件最近的裝置具有最高的優先順序。
這種方式的特點:只需很少幾根線就能按一定優先次序實現匯流排控制,並且很容易擴充裝置,但對電路故障很敏感,且優先級別低的裝置可能很難獲得請求。
(2)計數器定時查詢
與鏈式查詢相比,多了一組裝置地址線,少了一根地址匯流排同意線BG。
這種方式的特點是:計數可以從“0”開始,此時一旦裝置的優先次序被固定,裝置的優先順序就按0,1,…,n的順序降序排列,而且固定不變;計數也可以從上一次計數的終止點開始,即是一種迴圈方法,此時裝置使用匯流排的優先順序相等;計數器的初始值還可由程式設定,故優先次序可以改變。
(3)獨立請求方式
每一臺裝置均有一對匯流排請求線和匯流排同意線。
這種方式的特點是:響應速度快,優先次序控制靈活,但控制線數量多,匯流排控制更復雜。
2.匯流排通訊控制
通常將完成一次匯流排操作的時間稱為匯流排週期,可分為以下4個階段:
1.申請分配階段:由選喲使用匯流排的主模組提出申請,經匯流排仲裁機構決定下一傳輸週期的匯流排使用權授予某一申請者。
2.定址階段:取得了使用權的主模組通過匯流排發出本次要訪問的從模組的地址及有關命令,啟動參與本次傳輸的從模組。
3.傳數階段:主模組和從模組進行資料交換,資料由源模組發出,經資料匯流排流入目的模組。
4.結束階段:主模組的有關資訊均從系統總線上撤出,讓出匯流排使用權。
匯流排通訊控制通常用四種方式:同步通訊、非同步通訊、半同步通訊、分離式通訊。
1.同步通訊
通訊雙方由統一時標控制資料傳送稱為同步通訊。時標通常由CPU的匯流排控制部件發出,送到總線上的所有部件;也可以由每個部件各自的時序發生器發出,但必須由匯流排控制部件發出的時鐘訊號對它們進行同步。
同步通訊一般用於匯流排長度較短、各部件存取時間比較一致的場合。在同步通訊的匯流排系統中,匯流排傳輸週期越短,資料線的位數越多,直接影響匯流排的資料傳輸率。
2.非同步通訊
它沒有公共的時鐘標準,不要求所有部件嚴格的統一操作時間,而是採用應答方式(又稱握手方式),即當主模組發出請求訊號時,一直等待從模組反饋回來“響應”訊號後才開始通訊。它允許各模組速度的不一致性,給設計者充分的靈活性和選擇餘地。
非同步通訊的應答方式又可分為不互鎖、半互鎖、全互鎖三種類型。
(1)不互鎖方式
主模組發出請求訊號後,不必等待接到從模組的回答訊號,而是經過一段時間,確認從模組已受到請求訊號後,便撤銷其請求訊號;從模組接到請求訊號後,在條件允許時發出回答訊號,並且經過一段時間確認主模組已受到回答訊號後,自動撤銷回答訊號。
(2)半互鎖方式
主模組發出請求訊號,必須待接到從模組的回答訊號後再撤銷其請求訊號,有互鎖關係;而從模組在接到請求訊號後發出回答訊號,但不必等待獲知主模組的請求訊號已經撤銷,而是隔一段時間後自動撤銷其回答訊號,無互鎖關係。
(3)全互鎖方式
主模組發出請求訊號,必須待從模組回答後再撤銷其請求訊號;從模組發出回答訊號,必須待獲知主模組請求訊號已撤消後,再撤銷其回答訊號。
為了確認被傳送的字元,約定字元格式為:1個起始位(低電平)、5~8個數據位、1個奇偶校驗位、1或1.5或2個終止位(高電平)。
非同步序列通訊的資料傳送速率用波特率來衡量。波特率是指單位時間內傳送二進位制資料的位數,單位用bps(位/秒)表示,記作波特。若只考慮有效資料位,可用波特率來衡量非同步序列通訊的資料傳輸速率,即單位時間內傳送二進位制有效資料的位數,單位用bps表示。
將非同步序列傳送中這些附加位去掉,就可以採用同步傳送,在同步傳送時,資料塊開始處要用同步字元SYN來指明。同步序列傳送速度高於非同步序列傳送速度,可達500千波特,而非同步通訊傳送一般為50~19200波特。
3.半同步通訊
半同步通訊既保留了同步通訊的基本特點,如所有的地址、命令、資料訊號的發出時間,都嚴格參照系統時鐘的某個前沿開始,而接收方都採用的系統時鐘後沿時刻來進行判斷識別;同時又像非同步通訊那樣,允許不同速度的模組和諧地工作。
半同步通訊適用於系統工作速度不高但又包含了由許多工作速度差異較大的各類裝置組成的簡單系統。半同步通訊控制方式比非同步通訊簡單,在全系統內各模組又在同意的系統時鐘控制下同步工作,可靠性較高,同步結構較方便。缺點是對系統時鐘頻率不能要求太高,故從整體上來看,系統工作的速度還不是很高。
4.分離式通訊
基本思想是將一個傳輸週期分解為兩個子週期。這種通訊方式的特點如下:
1.各模組欲佔用匯流排使用權都必須提出申請。
2.在得到匯流排使用權後,主模組在限定的時間內向對方傳送資訊,採用同步方式傳送,不再等待對方的回答訊號。
3.各模組在準備資料的過程中都不佔用匯流排,使匯流排可接受其他模組的請求。
4.匯流排被佔用時都在做有效工作,或者通過它傳送命令,或者通過它傳送資料,不存在空閒的等待時間,充分地利用了匯流排的有效佔用,從而實現了匯流排在多個主、從模組間進行資訊交叉重疊並行式傳送。