W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
當(dāng)大部分計(jì)算機(jī)配備有 PCI 或 ISA 接口總線, 大部分老式的基于 SPARC 的工作站使用 SBus 來(lái)連接它們的外設(shè).
SBus 使一個(gè)非常先進(jìn)的設(shè)計(jì), 盡管它已出現(xiàn)很長(zhǎng)時(shí)間. 它意圖是處理器獨(dú)立的(盡管只有 SPARC 計(jì)算機(jī)使用它)并且為 I/O 外設(shè)板做了優(yōu)化. 換句話說(shuō), 你不能插入額外的 RAM 到 SBus 槽位( RAM 擴(kuò)展板即便在 ISA 世界也已被忘記很長(zhǎng)時(shí)間了, 并且 PCI 不再支持它們). 這個(gè)優(yōu)化打算來(lái)簡(jiǎn)化硬件設(shè)備和系統(tǒng)軟件的設(shè)計(jì), 代價(jià)是主板的一些增加的復(fù)雜性.
這個(gè)總線的 I/O 偏好導(dǎo)致了使用虛擬地址來(lái)傳送數(shù)據(jù)的外設(shè), 因此不必分配一個(gè)連續(xù)的 DMA 緩沖. 主板負(fù)責(zé)解碼虛擬地址并映射它們到物理地址. 這要求連接一個(gè) MMU(內(nèi)存管理單元)到總線; 負(fù)責(zé)這個(gè)任務(wù)的芯片組稱為 IOMMU. 盡管比在接口總線上使用物理地址更復(fù)雜, 這個(gè)設(shè)計(jì)被很大地簡(jiǎn)化, 由于 SPARC 處理器一直設(shè)計(jì)為保持 MMU 內(nèi)核和 CPU 內(nèi)核獨(dú)立(要么是物理上地, 要么至少在概念上). 實(shí)際上, 這個(gè)設(shè)計(jì)選擇被其他的智能處理器設(shè)計(jì)所共享并且全面受益. 這個(gè)總線的另一個(gè)特性是設(shè)備板采用大塊地理式尋址, 因此沒有必要實(shí)現(xiàn)一個(gè)地址解碼器在每個(gè)外設(shè)或者處理地址沖突.
SBus 外設(shè)使用 Forth 語(yǔ)言在它們的 PROM 中來(lái)初始化它們自己. 選擇 Forth 是因?yàn)榻忉屍魇禽p量級(jí)的, 并且因此, 可輕易在任何一個(gè)計(jì)算機(jī)系統(tǒng)固件中實(shí)現(xiàn). 另外, SBus 規(guī)范規(guī)定了驅(qū)動(dòng)處理, 使兼容的 I/O 設(shè)備輕易適用到系統(tǒng)中并且在系統(tǒng)啟動(dòng)時(shí)被識(shí)別. 這是一個(gè)大的步驟來(lái)支持多平臺(tái)設(shè)備; 相比我們熟悉的以 PC 為中心的 ISA 之類它是一個(gè)完全不同的世界. 但是, 它不能成功, 因?yàn)樵S多商業(yè)的原因.
盡管當(dāng)前的內(nèi)核版本提供了對(duì) SBus 設(shè)備的很多全特性的支持, 這個(gè)總線現(xiàn)在用的很少, 以至于在這里它不值得詳細(xì)描述. 感興趣的讀者可查看源代碼 arch/sparc/kernel 和arch/sparc/mm
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: