久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 11968|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

DMA原理詳解

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:85681 發(fā)表于 2015-7-15 01:54 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
DMA原理:DMA(Direct Memory Access,直接內(nèi)存存取) 是所有現(xiàn)代電腦的重要特色,它允許不同速度的硬件裝置來溝通,而不需要依于 CPU 的大量中斷負載。否則,CPU 需要從來源把每一片段的資料復(fù)制到暫存器,然后把它們再次寫回到新的地方。在這個時間中,CPU 對于其他的工作來說就無法使用。

DMA 傳輸將數(shù)據(jù)從一個地址空間復(fù)制到另外一個地址空間。當CPU 初始化這個傳輸動作,傳輸動作本身是由 DMA 控制器來實行和完成。典型的例子就是移動一個外部內(nèi)存的區(qū)塊到芯片內(nèi)部更快的內(nèi)存區(qū)。像是這樣的操作并沒有讓處理器工作拖延,反而可以被重新排程去處理其他的工作。DMA 傳輸對于高效能 嵌入式系統(tǒng)算法和網(wǎng)絡(luò)是很重要的。
在實現(xiàn)DMA傳輸時,是由DMA控制器直接掌管總線,因此,存在著一個總線控制權(quán)轉(zhuǎn)移問題。即DMA傳輸前,CPU要把總線控制權(quán)交給DMA控制器,而在結(jié)束DMA傳輸后,DMA控制器應(yīng)立即把總線控制權(quán)再交回給CPU。



<1>、 一個完整的DMA傳輸過程必須經(jīng)過下面的4個步驟 :

1、DMA請求CPU對DMA控制器初始化,并向I/O接口發(fā)出操作命令,I/O接口提出DMA請求。
2、DMA響應(yīng)DMA控制器對DMA請求判別優(yōu)先級及屏蔽,向總線裁決邏輯提出總線請求。當CPU執(zhí)行完當前總線周期即可釋放總線控制權(quán)。此時,總線裁決邏輯輸出總線應(yīng)答,表示DMA已經(jīng)響應(yīng),通過DMA控制器通知I/O接口開始DMA傳輸。
3、DMA傳輸DMA控制器獲得總線控制權(quán)后,CPU即刻掛起或只執(zhí)行內(nèi)部操作,由DMA控制器輸出讀寫命令,直接控制RAM與I/O接口進行DMA傳輸。
在DMA控制器的控制下,在存儲器和外部設(shè)備之間直接進行數(shù)據(jù)傳送,在傳送過程中不需要中央處理器的參與。開始時需提供要傳送的數(shù)據(jù)的起始位置和數(shù)據(jù)長度。
4、DMA結(jié)束當完成規(guī)定的成批數(shù)據(jù)傳送后,DMA控制器即釋放總線控制權(quán),并向I/O接口發(fā)出結(jié)束信號。當I/O接口收到結(jié)束信號后,一方面停 止I/O設(shè)備的工作,另一方面向CPU提出中斷請求,使CPU從不介入的狀態(tài)解脫,并執(zhí)行一段檢查本次DMA傳輸操作正確性的代碼。最后,帶著本次操作結(jié)果及狀態(tài)繼續(xù)執(zhí)行原來的程序。

由此可見,DMA傳輸方式無需CPU直接控制傳輸,也沒有中斷處理方式那樣保留現(xiàn)場和恢復(fù)現(xiàn)場的過程,通過硬件為RAM與I/O設(shè)備開辟一條直接傳送數(shù)據(jù)的通路,使CPU的效率大為提高。

<2>、DMA傳送方式
DMA技術(shù)的出現(xiàn),使得外圍設(shè)備可以通過DMA控制器直接訪問內(nèi)存,與此同時,CPU可以繼續(xù)執(zhí)行程序.那么DMA控制器與CPU怎樣分時使用內(nèi)存呢?通常采用以下三種方法:(1)停止CPU訪內(nèi)存;(2)周期挪用;(3)DMA與CPU交替訪內(nèi)存.

1.停止CPU訪問內(nèi)存
當外圍設(shè)備要求傳送一批數(shù)據(jù)時,由DMA控制器發(fā)一個停止信號給CPU,要求CPU放棄對地址總線、數(shù)據(jù)總線和有關(guān)控制總線的使用權(quán).DMA控制器獲得總線控制權(quán)以后,開始進行數(shù)據(jù)傳送.在一批數(shù)據(jù)傳送完畢后,DMA控制器通知CPU可以使用內(nèi)存,并把總線控制權(quán)交還給CPU.圖(a)是這種傳送方式的時間圖.很顯然,在這種DMA傳送過程中,CPU基本處于不工作狀態(tài)或者說保持狀態(tài).



優(yōu)點: 控制簡單,它適用于數(shù)據(jù)傳輸率很高的設(shè)備進行成組傳送。
缺點: 在DMA控制器訪內(nèi)階段,內(nèi)存的效能沒有充分發(fā)揮,相當一部分內(nèi)存工作周期是空閑的。這是因為,外圍設(shè)備傳送兩個數(shù)據(jù)之間的間隔一般總是大于內(nèi)存存儲周期,即使高速I/O設(shè)備也是
如此。例如,軟盤讀出一個8位二進制數(shù)大約需要32us,而半導(dǎo)體內(nèi)存的存儲周期小于0.5us,因
此許多空閑的存儲周期不能被CPU利用.



2.周期挪用

當I/O設(shè)備沒有DMA請求時,CPU按程序要求訪問內(nèi)存;一旦I/O設(shè)備有DMA請求,則由I/O設(shè)備挪用一個或幾個內(nèi)存周期。
這種傳送方式的時間圖如下圖(b):


?
I/O設(shè)備要求DMA傳送時可能遇到兩種情況:
(1)此時CPU不需要訪內(nèi),如CPU正在執(zhí)行乘法指令。由于乘法指令執(zhí)行時間較長,此時I/O訪內(nèi)與CPU訪內(nèi)沒有沖突,即I/O設(shè)備挪用一二個內(nèi)存周期對CPU執(zhí)行程序沒有任何影響。
(2)I/O設(shè)備要求訪內(nèi)時CPU也要求訪內(nèi),這就產(chǎn)生了訪內(nèi)沖突,在這種情況下I/O設(shè)備訪內(nèi)優(yōu)先,因為I/O訪內(nèi)有時間要求,前一個I/O數(shù)據(jù)必須在下一個訪內(nèi)請求到來之前存取完畢。顯然,在這種情況下I/O 設(shè)備挪用一二個內(nèi)存周期,意味著CPU延緩了對指令的執(zhí)行,或者更明確地說,在CPU執(zhí)行訪內(nèi)指令的過程中插入DMA請求,挪用了一二個內(nèi)存周期。 與停止CPU訪內(nèi)的DMA方法比較,周期挪用的方法既實現(xiàn)了I/O傳送,又較好地發(fā)揮了內(nèi)存和CPU的效率,是一種廣泛采用的方法。但是I/O設(shè)備每一次周期挪用都有申請總線控制權(quán)、建立線控制權(quán)和歸還總線控制權(quán)的過程,所以傳送一個字對內(nèi)存來說要占用一個周期,但對DMA控制器來說一般要2—5個內(nèi)存周期(視邏輯線路的延遲而定)。因此,周期挪用的方法適用于I/O設(shè)備讀寫周期大于內(nèi)存存儲周期的情況


3.DMA與CPU交替訪內(nèi)
如果CPU的工作周期比內(nèi)存存取周期長很多,此時采用交替訪內(nèi)的方法可以使DMA傳送和CPU同時發(fā)揮最高的效率。
這種傳送方式的時間圖如下:



此圖是DMA與CPU交替訪內(nèi)的詳細時間圖.假設(shè)CPU工作周期為1.2us,內(nèi)存存取周期小于0.6us,那么一個CPU周期可分為C1和C2兩個分周期,其中C1專供DMA控制器訪內(nèi),C2專供CPU訪。
這種方式不需要總線使用權(quán)的申請、建立和歸還過程,總線使用權(quán)是通過C1和C2分時制的。CPU和DMA控制器各自有自己的訪內(nèi)地址寄存器、數(shù)據(jù)寄存器和讀/寫信號等控制寄存器。在C1周期中,如果DMA控制器有訪內(nèi)請求,可將地址、數(shù)據(jù)等信號送到總線上。在C2周期中,如CPU有訪內(nèi)請求,同樣傳送地址、數(shù)據(jù)等信號。事實上,對于總線,這是用C1,C2控制的一個多路轉(zhuǎn)換器,這種總線控制權(quán)的轉(zhuǎn)移幾乎不需要什么時間,所以對DMA傳送來講效率是很高的。
這種傳送方式又稱為“透明的DMA”方式,其來由是這種DMA傳送對CPU來說,如同透明的玻璃一般,沒有任何感覺或影響。在透明的DMA方式下工作,CPU既不停止主程序的運行,也不進入等待狀態(tài),是一種高效率的工作方式。當然,相應(yīng)的硬件邏輯也就更加復(fù)雜。








分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲国产一区二区三区 | 在线亚洲免费 | 欧美一区2区三区4区公司二百 | 欧美国产精品一区二区三区 | 久久久无码精品亚洲日韩按摩 | 成人久久18免费网站麻豆 | 少妇淫片aaaaa毛片叫床爽 | 欧美一二区 | 精品国产色 | 一区二区三区欧美 | 欧美色综合一区二区三区 | 欧美伊人| 亚洲国产精品99久久久久久久久 | 免费观看羞羞视频网站 | 国产精品一区二区不卡 | 亚洲视频一区二区三区 | av在线天堂网 | 国产精品久久久久久福利一牛影视 | 免费黄色成人 | 97精品国产| 资源首页二三区 | 盗摄精品av一区二区三区 | 亚洲视频免费观看 | 国产精品欧美精品日韩精品 | 国产资源在线播放 | 亚洲精选一区 | 日本久久一区 | 精品欧美一区免费观看α√ | 一区二区国产在线观看 | 成人国产精品 | 国产高清在线 | 欧美成人性生活 | 精品国产一区二区国模嫣然 | 亚洲久草视频 | 中文字幕在线观看www | 中文字幕日韩av | 欧美一区二区三区视频 | 日韩一区二区三区视频 | 男女啪啪高潮无遮挡免费动态 | 精品国产久 | 97超碰在线免费 |