重學(xué)計(jì)算機(jī)組成原理-計(jì)算機(jī)總線詳解
最常見(jiàn)的比如USB,Universal Serial Bus,提供了對(duì)外連接的接口,不同設(shè)備可通過(guò)USB接口進(jìn)行連接,連接的標(biāo)準(zhǔn)也統(tǒng)一了外圍設(shè)備接口。
還有 PCI、ISA、Thunderbolt 等總線,都是為解決不同設(shè)備間的通信問(wèn)題。
試想如果沒(méi)有總線,當(dāng)我們需要新加一個(gè)輸入設(shè)備后,為了維持與各個(gè)設(shè)備的通信又得加一堆線路。而有了 I/O 總線后就像下圖達(dá)到解耦清晰而統(tǒng)一。
分類
片內(nèi)總線
芯片內(nèi)部的總線,寄存器與寄存器之間,寄存器與控制器、運(yùn)算器之間。高集成度芯片內(nèi)部的信息傳輸線。
系統(tǒng)總線
數(shù)據(jù)總線
雙向傳輸各個(gè)部件的數(shù)據(jù)信息,數(shù)據(jù)總線的位數(shù)(總線寬度)一般與CPU位數(shù)相同(32位、 64位)
地址總線
指定源數(shù)據(jù)或目的數(shù)據(jù)在內(nèi)存中的地址,地址總線的位數(shù)與存儲(chǔ)單元有關(guān)。
- 地址總線位數(shù)=n
- 尋址范圍: 0~2^n
控制總線
發(fā)出各種控制信號(hào)的傳輸線,控制信號(hào)經(jīng)由控制總線從一個(gè)組件發(fā)給另外一個(gè)組件,控制總線可監(jiān)視不同組件之間的狀態(tài)(就緒/未就緒)。
CPU、主內(nèi)存、I0設(shè)備、各組件之間的信息傳輸線。
仲裁
總線上可能掛接多個(gè)設(shè)備,為了解決總線控制權(quán)的競(jìng)爭(zhēng)問(wèn)題,必須有總線仲裁部件,以某種規(guī)則裁決、分配總線的控制權(quán)。
多個(gè)主設(shè)備提出總線控制請(qǐng)求時(shí),一般采用優(yōu)先級(jí)或公平策略進(jìn)行仲裁。
按照總線仲裁電路的位置不同,仲裁方式分為:
- 集中式
- 分布式
鏈?zhǔn)讲樵?/strong>
總線授權(quán)信號(hào)被依次串行地傳送到所連接的外圍設(shè)
備上進(jìn)行比較。
離總線控制器的邏輯距離決定,越近優(yōu)先級(jí)越高。
優(yōu)點(diǎn):
- 電路復(fù)雜度低,仲裁方式簡(jiǎn)單
缺點(diǎn):
- 優(yōu)先級(jí)低的設(shè)備難以獲得總線使用權(quán)
- 對(duì)電路故障敏感
計(jì)時(shí)器定時(shí)查詢
仲裁控制器對(duì)設(shè)備編號(hào)并使用計(jì)數(shù)器累計(jì)計(jì)數(shù),接收到仲裁信號(hào)后,往所有設(shè)備發(fā)出計(jì)數(shù)值,當(dāng)查詢計(jì)數(shù)器計(jì)數(shù)值與發(fā)出請(qǐng)求的設(shè)備編號(hào)一致時(shí),中止查詢,該設(shè)備獲總線控制權(quán)。
優(yōu)先級(jí)靈活:計(jì)數(shù)器初值、設(shè)備編號(hào)可通過(guò)程序設(shè)定,優(yōu)先次序可用程序控制。
獨(dú)立請(qǐng)求
各設(shè)備均通過(guò)專用請(qǐng)求信號(hào)線與仲裁器連接,且通過(guò)
獨(dú)立的授權(quán)信號(hào)線接收總線批準(zhǔn)信號(hào)。
優(yōu)點(diǎn)
- 響應(yīng)速度快,優(yōu)先順序可動(dòng)態(tài)改變
缺點(diǎn)
- 設(shè)備連線多,總線控制復(fù)雜
本文轉(zhuǎn)載自微信公眾號(hào)「JavaEdge」,可以通過(guò)以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系JavaEdge公眾號(hào)。