6.匯流排
1.匯流排的概述(選擇題即可)
1.1匯流排的定義
匯流排
是一組能為多個部件分時共享的公共資訊傳送線路。一根匯流排有許多的訊號線組成,所有硬體部件都可以通過這根匯流排傳遞資料。
同一時刻只能有一個部件傳送資料,但是可有多個部件接受資料。這是為了避免發生訊號衝突。
1.2匯流排的特點
1.2.1共享性
共享
是指匯流排上可以掛接多個部件,各個部件之間互相交換的資訊都可以通過這組線路分時共享。
1.2.2分時性
分時
是指同一時刻只允許有一個部件向匯流排傳送資訊,如果系統中有多個部件,則它們只能分時地向匯流排傳送資訊。
1.3匯流排的特性
1.3.1機械特性
機械特性
:尺寸、形狀、管腳數、排列順序
1.3.2電氣特性
電氣特性
:傳輸方向和有效的電平範圍
1.3.3功能特性
功能特性
:每根傳輸線的功能(地址、資料、控制)
1.3.4時間特性
時間特性
:訊號的時序關係
1.4匯流排的分類
1.4.1按資料傳輸格式
1.4.1.1序列匯流排
優點
:只需要一條傳輸線,成本低廉,廣泛應用於長距離傳輸,抗干擾性強;應用於計算機內部時,可以節省佈線空間。
缺點
:在資料傳送和接收的時候要進行拆卸和裝配,要考慮序列-並行轉換的問題。(即我們cpu按字或按位元組編碼,序列匯流排需要把資料編碼成字或位元組,cpu才看得懂)
1.4.1.2並行匯流排
優點
:匯流排的邏輯時序比較簡單,電路實現起來比較容易。
缺點
:訊號線數量多,佔用更多的佈線空間;遠距離傳輸成本高昂;由於工作頻率較高時,並行的訊號線之間會產生嚴重干擾,對每條線等長的要求也越高,所以無法持續提升工作頻率。
1.4.2按匯流排的功能(連線的部件)
1.4.2.1片內匯流排(CPU內部)
片內匯流排是晶片內部的匯流排。它是CPU晶片內部暫存器與暫存器之間、暫存器與ALU之間的公共連線線。
1.4.2.2系統匯流排(計算機內部)
系統匯流排是計算機系統內各功能部件(CPU、主存、I/O介面)之間相互連線的匯流排。按系統匯流排傳輸資訊內容的不同,又可分為3類:資料匯流排、地址匯流排和控制匯流排。
1.4.2.2.1資料匯流排
資料匯流排用來傳輸各功能部件之間的資料資訊,包括指令和運算元;它是雙向
傳輸匯流排,其位數與機器字長、儲存字長有關
。
1.4.2.2.2地址匯流排
地址匯流排用來指出資料匯流排上的源資料或目的資料所在的主存單元或I/O埠的地址,它是單向
傳輸匯流排,地址匯流排的位數與主存地址空間的大小及裝置數量有關
。
1.4.2.2.3控制匯流排
控制匯流排傳輸的是控制資訊,包括CPU送出的控制命令和主存(或外設)返回CPU的反饋訊號。包含兩種控制線,出訊號線:CPU送出的控制命令;入訊號線:存(或外設)返回CPU的反饋訊號。每一根控制線傳輸一個訊號;
1.4.2.3通訊匯流排(計算機之間)
通訊匯流排是用於計算機系統之間或計算機系統與其他系統(如網線、遠端通訊裝置、測試裝置)之間資訊傳送的匯流排,通訊匯流排也稱為外部匯流排。
1.5系統匯流排的結構
1.5.1單匯流排結構
單匯流排結構
:CPU、主存、I/O裝置(通過IO介面)都連線在一組匯流排上,允許I/O裝置之間、I/O裝置和CPU之間或I/O裝置與主存之間直接交換資訊。單匯流排並不是指只有一根訊號線
,裡面包含多組地址匯流排、資料匯流排和控制匯流排。
優點
:結構簡單,成本低,易於接入新的裝置(裝置只需接在這一根匯流排上,不需要連線其他地方)。
缺點
:頻寬低、負載重,多個部件只能爭用唯一的匯流排,且不支援併發(這裡的併發其實是並行的意思,多個部件只能爭用唯一的匯流排)傳送操作。
1.5.2雙匯流排結構
雙匯流排結構
:雙匯流排結構有兩條匯流排,一條是主存匯流排
,用於CPU、主存和通道之間進行資料
傳送;另一條是I/O匯流排
,用於多個外部裝置與通道之間進行資料傳送。
雙匯流排結構支援突發(猝發)傳送
:送出一個地址,收到多個地址連續的資料(cpu要取的內容在主存裡一般是連續的,我們能連續取出主存裡內容)。
優點
:將較低速的I/O裝置從單匯流排上分離出來,實現儲存器匯流排和I/O匯流排分離。
缺點
:需要增加通道等硬體裝置。
1.5.3三匯流排結構
三匯流排結構
:三匯流排結構是在計算機系統各部件之間採用3條各自獨立的匯流排來構成資訊通路,這3條匯流排分別為主存匯流排、I/O匯流排和直接記憶體訪問DMA匯流排。
優點
:提高了I/O裝置的效能,使其更快地響應命令,提高系統吞吐量。
缺點
:系統工作效率較低(三條中最多隻有一條匯流排在執行)。
2.匯流排的效能指標(計算題第一題)
2.1匯流排的傳輸週期(匯流排週期)
一次匯流排操作所需的時間
(包括申請階段(仲裁)、 定址階段、傳輸階段和結束階段),通常由若干個匯流排時鐘週期構成。
2.2匯流排時鐘週期
即機器的時鐘週期
。計算機有一個統一的時鐘,以控制整個計算機的各個部件,匯流排也要受此時鐘的控制。
2.3匯流排的工作頻率
匯流排上各種操作的頻率,為匯流排週期的倒數
。 若匯流排週期=N個時鐘週期,則匯流排的工作頻率=時脈頻率/N。 實際上指一秒內傳送幾次資料。
2.4匯流排的時脈頻率
即機器的時脈頻率,為時鐘週期的倒數
。 若時鐘週期為T,則時脈頻率為1/T。 實際上指一秒內有多少個時鐘週期。
2.5匯流排寬度
又稱為匯流排位寬
,它是匯流排上同時能夠傳輸的資料位數, 通常是指資料匯流排的根數
,如32根稱為32位(bit)匯流排。
2.6匯流排頻寬
可理解為匯流排的資料傳輸率,即單位時間內匯流排上可傳輸資料的位數,通常用每秒鐘傳送資訊的位元組數來衡量,單位可用位元組/秒(B/s)表示。
匯流排頻寬 = 匯流排工作頻率 × 匯流排寬度 (bit/s)= 匯流排工作頻率 × (匯流排寬度/8) (B/s)
2.7匯流排複用
匯流排複用是指一種訊號線在不同的時間傳輸不同的資訊。可以使用較少的線傳輸更多的資訊,從而節省了空間和成本。
2.8訊號線數
地址匯流排、資料匯流排和控制匯流排3種匯流排數的總和稱為訊號線數。
2.9例題
例:某同步匯流排採用資料線和地址線複用方式,其中地址/資料線有32根,匯流排時脈頻率為66MHz,每個時鐘週期傳送兩次資料(上升沿和下降沿各傳送一次資料)。
- 該匯流排的最大資料傳輸率(匯流排頻寬)是多少?
- 若該匯流排支援突發(猝發)傳輸方式,傳輸一個地址佔用一個時鐘週期,則一次“主存寫”匯流排事務傳輸128位資料所需要的時間至少是多少?
答案:
1 每個時鐘週期傳送兩次資料 →匯流排工作頻率是時脈頻率的兩倍
匯流排工作頻率 = 2 × 66MHz =132MHz
匯流排寬度 = 32bit = 4B
匯流排頻寬 = 匯流排工作頻率 × 匯流排寬度 = 132 × 4 MB/s = 528 MB/s
2) 突發(猝發)傳輸方式:一次匯流排事務中,主裝置只需給出一個首地址,從裝置就能從首地址開始的若干連續單元讀出或寫入多個資料。
一個時鐘週期 = 1/66MHz ≈ 15ns
傳送首地址佔用1個時鐘週期,128位資料需傳輸4次,佔用2個時鐘週期 總耗時 = (1+2) × 15ns =45ns
3.匯流排仲裁
3.1匯流排仲裁的基本概念
匯流排仲裁
:多個主裝置同時競爭主線控制權時,以某種方式選擇一個主裝置優先獲得匯流排控制權稱為匯流排仲裁。同一時刻只能有一個裝置控制匯流排傳輸操作,可以有一個或多個裝置從匯流排接收資料
。
主裝置
:獲得匯流排控制權的裝置。
從裝置
:被主裝置訪問的裝置,只能響應從主裝置發來的各種匯流排命令。
3.2集中仲裁方式
工作流程
:
1.主裝置發出請求訊號;
2.若多個主裝置同時要使用匯流排,則由匯流排控制器的判優、仲裁邏輯按一定的優先等級順序確定哪個主裝置能使用匯流排;
3.獲得匯流排使用權的主裝置開始傳送資料
3.2.1鏈式查詢方式
匯流排請求
:裝置想要請求工作會想匯流排發錯匯流排請求
匯流排忙
訊號的建立者是獲得匯流排控制權的裝置
匯流排執行
:匯流排允許某個裝置工作
鏈式查詢方式優先順序
:離匯流排控制器越近的部件,其優先順序越高;離匯流排控制器越遠的部件,其優先順序越低。
優點
:鏈式查詢方式優先順序固定。只需很少幾根控制線就能按一定優先次序實現匯流排控制,結構簡單,擴充容易。
缺點
:對硬體電路的故障敏感(前面的I/O裝置線路故障,後面的也將不能工作),並且優先順序不能改變。 當優先順序高的部件頻繁請求使用匯流排時,會使先級較低的部件長期不能使用匯流排。
3.2.2計數器查詢方式
結構特點
:用一個計數器控制匯流排使用權,相對鏈式查詢方式多了一組裝置地址線,少了一根匯流排響應線BG;它仍共用一根匯流排請求線。
優點
:
- 計數初始值可以改變優先次序 - 計數每次從“0”開始,裝置的優先順序就按順序排列,固定不變; -計數從上一次的終點開始,此時裝置使用匯流排的優先順序相等; 計數器的初值還可以由程式設定
- 對電路的故障沒有鏈式敏感
缺點
:
3. 增加了控制線數,若裝置有n個,則需ceil(log2n)+2條控制線(2個裝置需要1跟地址線(0或1就可以實現),4個裝置需要兩個地址線(00 01 10 11可以實現))
4. 控制相對比鏈式查詢相對複雜
3.2.3獨立請求方式
結構特點
:每一個裝置均有一對匯流排請求線BRi和匯流排允許線BGi。
優點
:
- 響應速度快,匯流排允許訊號BG直接從控制器傳送到有關裝置,不必在裝置間傳遞或者查詢。
- 對優先次序的控制相當靈活。
缺點
:
- 控制線數量多。若裝置有n個,則需要2n+1條控制線。其中+1為BS線,用於裝置向匯流排控制部件反饋已經是否正在使用匯流排。
- 匯流排的控制邏輯更加複雜
3.2.4總結
3.3分佈仲裁方式(瞭解)
特點
:不需要中央仲裁器,每個潛在的主模組都有自己的仲裁器和仲裁號,多個仲裁器競爭使用匯流排。
當裝置有匯流排請求時,它們就把各自唯一的仲裁號傳送到共享的仲裁匯流排上;每個仲裁器將從仲裁匯流排上得到的仲裁號與自己的仲裁號進行比較;如果仲裁匯流排上的號優先順序高,則它的匯流排請求不予響應,並撤銷它的仲裁號;最後,獲勝者的仲裁號保留在仲裁匯流排上。
4.操作和定時
匯流排定時
是指匯流排在雙方交換資料的過程中需要時間上配合關係的控制,這種控制稱為匯流排定時,它的實質是一種協議或規則
4.1匯流排傳輸的四個階段
4.1.1申請分配
申請分配階段
:由需要使用匯流排的主模組(或主裝置)提出申請,經匯流排仲裁機構決定將下一傳輸週期的匯流排使用權授予某一申請者。也可將此階段細分為傳輸請求和匯流排仲裁兩個階段。
4.1.2定址階段
定址階段
:獲得使用權的主模組通過匯流排發出本次要訪問的從模組的地址及有關命令,啟動參與本次
傳輸的從模組。
4.1.3傳輸階段
傳輸階段
:主模組和從模組進行資料交換,可單向或雙向進行資料傳送。
4.1.4結束階段
結束階段
:主模組的有關資訊均從系統匯流排上撤除,讓出匯流排使用權。
4.2同步定時方式(同步通訊,由統一時鐘控制資料傳送)
同步定時方式
:匯流排控制器採用一個統一的時鐘訊號來協調傳送和接收雙方的傳送定時關係。
若干個時鐘產生相等的時間間隔,每個間隔構成一個匯流排週期。
在一個匯流排週期中,傳送方和接收方可進行一次資料傳送。
因為採用統一的時鐘,每個部件或裝置傳送或接收資訊都在固定的匯流排傳送週期中,一個匯流排的傳送週期結束,下一個匯流排傳送週期開始。
優點
:傳送速度快,具有較高的傳輸速率;匯流排控制邏輯簡單。
缺點
:主從裝置屬於強制性同步;不能及時進行資料通訊的有效性檢驗,可靠性較差。
特點
:同步通訊適用於匯流排長度較短(不容易發生訊號跳變)及匯流排所接部件的存取時間比較接近的系統。
4.3非同步定時方式(非同步通訊,採用應答方式,沒有公共時鐘標準)
在非同步定時方式中,沒有統一的時鐘,也沒有固定的時間間隔,完全依靠傳送雙方相互制約的“握手”訊號來實現定時控制。主裝置提出交換資訊的“請求”訊號,經介面傳送到從裝置;從裝置接到主裝置的請求後,通過介面向主裝置發出“回答”訊號。
4.3.1不互鎖方式
主裝置發出“請求”訊號後,不必等到接到從裝置的“回答”訊號,而是經過一段時間,便撤銷“請求”訊號。而從裝置在接到“請求”訊號後,發出“回答”訊號,並經過一段時間,自動撤銷“回答”訊號。雙方不存在互鎖關係。
4.3. 2半互鎖方式
主裝置發出“請求”訊號後,必須待接到從裝置的“回答”訊號後,才撤銷“請求”訊號,有互鎖的關係。而從裝置在接到“請求”訊號後,發出“回答”訊號,但不必等 待獲知主裝置的“請求”訊號已經撤銷,而是隔一段時間後自動撤銷“回答”訊號,不存在互鎖關係。
4.3.3全互鎖方式
主裝置發出“請求”訊號後,必須待從裝置“回答”後,才撤銷“請求”訊號;從裝置發出“回答”訊號,必須待獲知主裝置“請求”訊號已撤銷後,再撤銷其“回答”訊號。雙方存在互鎖關係。
4.3.4總結
優點
:匯流排週期長度可變,能保證兩個工作速度相差很大的部件或裝置之間可靠地進行資訊交換,自動適應時間的配合。
缺點
:比同步控制方式稍複雜一些,速度比同步定時方式慢。
4.4半同步通訊(同步、非同步結合,瞭解)
半同步通訊
:統一時鐘的基礎上,增加一個“等待”響應訊號WAIT
4.5分離式通訊(充分挖掘系統匯流排每瞬間的潛力,瞭解)
無論是同步通訊、非同步通訊還是半同步通訊,在模組準備資料的時候,匯流排都是空閒的,我們可以利用這個階段讓別的I/O裝置進行匯流排使用。
同步通訊、非同步通訊、半同步通訊使用匯流排流程
:
主模組發地址 、命令 | 使用匯流排 |
從模組準備資料 | 匯流排空閒 |
從模組向主模組發資料 | 使用匯流排 |
分離式通訊使用匯流排流程
:
子週期1 | 主模組申請佔用匯流排,使用完後放棄匯流排的使用權 |
子週期1 | 從模組申請佔用匯流排,將各種資訊送至匯流排上 |
5.匯流排標準
5.1匯流排標準的基本概念
匯流排標準
是國際上公佈或推薦的互連各個模組的標準,它是把各種不同的模組組成計算機系統時必須遵 守的規範。按匯流排標準設計的介面可視為通用介面,在介面的兩端,任何一方只需根據匯流排標準的要求完成自身方面的功能要求,而無須瞭解對方介面的要求。
5.2系統匯流排
系統匯流排
:通常與CPU直接相連,用於連線CPU與北橋晶片、或CPU與主存等
5.3區域性匯流排
區域性匯流排
:沒有直接與CPU連線,通常是連線高速的北橋晶片,用於連線了很多重要的硬體部件(如顯 卡、音效卡等)
5.4裝置匯流排、通訊匯流排
裝置匯流排、通訊匯流排
:通常由南橋晶片控制,用於連線計算機與計算機,或連線計算機與外部I/O裝置
5.5總結(只需記住匯流排分類)
相關文章
- 匯流排
- 事件匯流排事件
- I2C匯流排 | I2C匯流排介紹
- 將Abp預設事件匯流排改造為分散式事件匯流排事件分散式
- Can匯流排介紹
- Vue 事件中央匯流排Vue事件
- Vue事件匯流排(EventBus)Vue事件
- ARM 匯流排協議協議
- PCI匯流排基本概念
- 序列匯流排的學習
- CAN匯流排原理_學習
- I2C 匯流排
- 計算匯流排頻寬
- 大資料匯流排(DataHub)大資料
- 企業服務匯流排ESB
- Flutter中的事件匯流排(EventBus)Flutter事件
- SpringCloud(六)Bus訊息匯流排SpringGCCloud
- SOFA 原始碼分析— 事件匯流排原始碼事件
- 手寫訊息匯流排LiveDataBusLiveData
- LLM-kimi:BMS-CAN匯流排
- MACH SYSTEMS—匯流排介面轉換工具Mac
- CAN匯流排取樣點測試
- 自己動手寫事件匯流排(EventBus)事件
- 匯流排協議系列——USART協議初探協議
- 事件匯流排的設計與實現事件
- Spring Cloud Bus 訊息匯流排介紹SpringCloud
- 比 EventBus 更高效的事件匯流排(BusUtils)事件
- EventBridge 事件匯流排及 EDA 架構解析事件架構
- Flutter基礎-036-事件匯流排EventBusFlutter事件
- CAN匯流排協議 學習筆記協議筆記
- 事件匯流排EventBus和觀察者模式事件模式
- Android元件化之(路由 vs 元件匯流排)Android元件化路由
- 6. Git工作流Git
- ECU通訊:CAN匯流排模擬測試
- 什麼是計算機的控制匯流排計算機
- Vue事件匯流排(EventBus)使用詳細介紹Vue事件
- linux核心匯流排驅動模型-驅動篇Linux模型
- IIC序列匯流排的組成及工作原理