有關(guān)dma方式是一種完全由硬件執(zhí)行io交換的工作方式這方面的知識,估計很多人不是太了解,今天就給大家詳細的介紹一下關(guān)于dma方式是一種完全由硬件執(zhí)行io交換的工作方式的相關(guān)內(nèi)容。
1、一個設(shè)備接口試圖通過總線直接向另一個設(shè)備發(fā)送數(shù)據(jù)(一般是大批量的數(shù)據(jù)),它會先向CPU發(fā)送DMA請求信號。
2、外設(shè)通過DMA的一種專門接口電路――DMA控制器(DMAC),向CPU提出接管總線控制權(quán)的總線請求,CPU收到該信號后,在當(dāng)前的總線周期結(jié)束后,會按DMA信號的優(yōu)先級和提出DMA請求的先后順序響應(yīng)DMA信號。
(資料圖片僅供參考)
3、CPU對某個設(shè)備接口響應(yīng)DMA請求時,會讓出總線控制權(quán)。
4、于是在DMA控制器的管理下,外設(shè)和存儲器直接進行數(shù)據(jù)交換,而不需CPU干預(yù)。
5、數(shù)據(jù)傳送完畢后,設(shè)備接口會向CPU發(fā)送DMA結(jié)束信號,交還總線控制權(quán)。
6、DMA方式的主要優(yōu)點是速度快。
7、由 于CPU根本不參加傳送操作,因此就省去了CPU取指令、取數(shù)、送數(shù)等操作。
8、在數(shù)據(jù)傳送過程中,沒有保存現(xiàn)場、恢復(fù)現(xiàn)場之類的工作。
9、內(nèi)存地址修改、傳送字 個數(shù)的計數(shù)等等,也不是由軟件實現(xiàn),而是用硬件線路直接實現(xiàn)的。
10、所以DMA方式能滿足高速I/O設(shè)備的要求,也有利于CPU效率的發(fā)揮。
11、 實現(xiàn)DMA傳送的基本操作如下:外設(shè)可通過DMA控制器向CPU發(fā)出DMA請求;2、CPU響應(yīng)DMA請求,系統(tǒng)轉(zhuǎn)變?yōu)镈MA工作方式,并把總線控制權(quán)交給DMA控制器;3、由DMA控制器發(fā)送存儲器地址,并決定傳送數(shù)據(jù)塊的長度;4、執(zhí)行DMA傳送;5、DMA操作結(jié)束,并把總線控制權(quán)交還CPU。
12、 DMA方式主要適用于一些高速的I/O設(shè)備。
13、這些設(shè)備傳輸字節(jié)或字的速度非常快。
14、對于這類高速I/O設(shè)備,如果用輸入輸出指令或采用中斷的方法來傳輸字節(jié)信息,會大量占用CPU的時間,同時也容易造成數(shù)據(jù)的丟失。
15、而DMA方式能使I/O設(shè)備直接和存儲器進行成批數(shù)據(jù)的快速傳送。
16、DMA控制器或接口一般包括四個寄存器:1:狀態(tài)控制寄存器、2:數(shù)據(jù)寄存器、3:地址寄存器、4:字節(jié)計數(shù)器。
17、這些寄存器在信息傳送之前需要進行初始化設(shè)置。
18、即在輸入輸出程序中用匯編語言指令對各個寄存器寫入初始化控制字。
相信通過dma方式這篇文章能幫到你,在和好朋友分享的時候,也歡迎感興趣小伙伴們一起來探討。
Copyright @ 2015-2022 海外生活網(wǎng)版權(quán)所有 備案號: 滬ICP備2020036824號-21 聯(lián)系郵箱:562 66 29@qq.com