新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Linux外部設(shè)備的硬件接口

Linux外部設(shè)備的硬件接口

作者: 時(shí)間:2012-08-29 來(lái)源:網(wǎng)絡(luò) 收藏

計(jì)算機(jī)的設(shè)各通常由電氣部分和機(jī)械部分兩部分組成。電氣部分是用來(lái)控制機(jī)械部分的,因此電氣部分也叫做設(shè)各的控制器。

本文引用地址:http://butianyuan.cn/article/148498.htm

控制器通過(guò)計(jì)算機(jī)系統(tǒng)總線掛接到系統(tǒng)上?;蛘哒f(shuō),計(jì)算機(jī)系統(tǒng)就是通過(guò)控制器來(lái)控制和操作的。典型的方式是,把外部設(shè)各中的各個(gè)控制器看做是一組互不沖突的寄存器組,并賦予它們相應(yīng)的地址,從而使處理器可以像訪問(wèn)存儲(chǔ)器一樣來(lái)訪問(wèn)控制器,并通過(guò)控制器來(lái)訪問(wèn)外部設(shè)各。

外部設(shè)各通常包含4組寄存器,即狀態(tài)寄存器、控制寄存器、數(shù)據(jù)輸入寄存器和數(shù)據(jù)輸出寄存器。這些寄存器有各自的地址,這個(gè)地址叫做端口。這些寄存器的作用分別為:

·狀態(tài)寄存器用來(lái)向處理器提供外部的工作狀態(tài)。例如,設(shè)各的當(dāng)前操作是否執(zhí)行完畢,數(shù)據(jù)是否可被讀出或?qū)懭胍约板e(cuò)誤提示等。

·控制寄存器是被用來(lái)管理外部工作模式的。也就是說(shuō),在設(shè)備初始化或運(yùn)行時(shí), 處理器可通過(guò)向控制寄存器寫(xiě)入命令來(lái)啟動(dòng)或改變?cè)O(shè)各工作模式。

·數(shù)據(jù)輸入寄存器和數(shù)據(jù)輸出寄存器是用來(lái)與處理器傳遞數(shù)據(jù)的。

外部設(shè)各與處理器關(guān)系示意圖如圖所示。

360截圖20120829142535530.jpg

圖 外部設(shè)備與處理器關(guān)系示意圖

為了識(shí)別外部設(shè)各的這些寄存器,系統(tǒng)給這些寄存器都賦予了地址,于是外部設(shè)各寄存器占用的地址空間叫做I/O空間。對(duì)于I/O空間的處理,目前有兩種方式:一種是與存儲(chǔ)器統(tǒng)一編址,即在整個(gè)內(nèi)存空間中劃出一個(gè)范圍作為I/O空間,這種方式的特點(diǎn)是處理器沒(méi)有獨(dú)立的I/O指令,而是把外部設(shè)各的寄存器作為存儲(chǔ)單元來(lái)對(duì)待的;另一種方式是處理器具有單獨(dú)的I/O指令,所以在這種方式中I/O地址空間是獨(dú)立編址的。不管是統(tǒng)一編址還是獨(dú)立編址,從邏輯上來(lái)看,外設(shè)的各寄存器就相當(dāng)于一種存儲(chǔ)裝置,它可向處理器提供數(shù)據(jù),也可接收處理器的數(shù)據(jù),即處理器可對(duì)它們進(jìn)行讀/寫(xiě)操作。

linux操作系統(tǒng)文章專(zhuān)題:linux操作系統(tǒng)詳解(linux不再難懂)


關(guān)鍵詞: 接口 硬件 設(shè)備 外部 Linux

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉