當前位置: 首頁 > 工業(yè)電子產(chǎn)品 > 半導體產(chǎn)品 > 存儲器
發(fā)布日期:2022-10-09 點擊率:126
直接存儲器存取是一種高速數(shù)據(jù)傳輸?shù)姆椒ǎ瑪?shù)據(jù)可以從一個通道,不經(jīng)過CPU的處理就直接在存儲器或輸入輸出設備之間進行傳輸。
一個設備接口試圖通過總線直接向另一個設備發(fā)送數(shù)據(jù)(一般是大批量的數(shù)據(jù)),它會先向CPU發(fā)送DMA請求信號。外設通過DMA的一種專門接口電路――DMA控制器(DMAC),向CPU提出接管總線控制權的總線請求,CPU收到該信號后,在當前的總線周期結束后,會按DMA信號的優(yōu)先級和提出DMA請求的先后順序響應DMA信號。CPU對某個設備接口響應DMA請求時,會讓出總線控制權。于是在DMA控制器的管理下,外設和存儲器直接進行數(shù)據(jù)交換,而不需CPU干預。數(shù)據(jù)傳送完畢后,設備接口會向CPU發(fā)送DMA結束信號,交還總線控制權。實現(xiàn)DMA傳送的基本操作如下:(1)外設可通過DMA控制器向CPU發(fā)出DMA請求:(2)CPU響應DMA請求,系統(tǒng)轉變?yōu)镈MA工作方式,并把總線控制權交給DMA控制器;(3)由DMA控制器發(fā)送存儲器地址,并決定傳送數(shù)據(jù)塊的長度;(4)執(zhí)行DMA傳送;(5)DMA操作結束,并把總線控制權交還CPU。
DMA的工作過程大致如下:①當外設準備好,可以進行DMA傳送時,外設向DMA控制器發(fā)出DMA傳送請求信號DREQ;②DMA控制器收到請求后,向CPU發(fā)出“總線請求”信號HOLD,表示希望占用總線;③CPU在完成當前總線周期后會立即對HOLD信號進行響應。響應包括兩個方面:一是CPU將數(shù)據(jù)總線、地址總線和相應的控制信號線均置為高阻態(tài),由此放棄對總線的控制權。另一方面,CPU向DMA控制器發(fā)出“總線響應”信號HLDA;④DMA控制器收到HLDA信號后,就開始控制總線,并向外設發(fā)出DMA響應信號⑤DMA控制器送出地址信號和相應的控制信號,實現(xiàn)外設與內存或內存與內存之間的直接數(shù)據(jù)傳送。例如,在地址總線上發(fā)出存儲器的地址,向存儲器發(fā)出寫信號同時向外設發(fā)出I/o地址和AEN信號,即可從外設向內存?zhèn)魉鸵粋€字節(jié);⑥DMA控制器自動修改地址和字節(jié)計數(shù)器,并據(jù)此判斷是否需要重復傳送操作。規(guī)定的數(shù)據(jù)傳送完后,DMA控制器就撤銷發(fā)往CPU的HOLD信號。CPU檢測到HOLD失效后,緊接著撤銷HLDA信號,并在下一時鐘周期重新開始控制總線,繼續(xù)執(zhí)行原來的程序。
DMA方式具有下列特點:①改變了主存與CPU的固定聯(lián)系,主存既可被CPU訪問,又可被外設訪問;②在數(shù)據(jù)塊傳送時,主存地址的確定、傳送數(shù)據(jù)的計數(shù)等都由硬件電路直接實現(xiàn);③主存中要開辟專用緩沖區(qū),及時供給和接收外設的數(shù)據(jù);④CPU和外設并行工作,提高了系統(tǒng)的效率;⑤DMA在傳送開始前要通過程序進行預處理,結束后要通過中斷方式進行后處理。
DMA的適用場合有下述幾種:①硬盤和軟盤I/O。可以使用DMAC作磁盤存儲介質與半導體主存儲器之間傳送數(shù)據(jù)的接口。這種場合需要將磁盤中的大量數(shù)據(jù)如操作系統(tǒng)等快速地裝入內部存儲器。②快速通信通道I/O。例如,光導纖維通信鏈路,DMAC可以用來作為計算機系統(tǒng)和快速通信通道之間的接口,例如,作為同步通信數(shù)據(jù)的發(fā)送和接收,以便提高響應時間,支持較高的數(shù)據(jù)傳輸速率,并使CPU脫離出來做其他工作。③多處理機和多程序數(shù)據(jù)塊傳送。對于多處理機結構,通過DMAC控制數(shù)據(jù)傳送,可以較容易地實現(xiàn)專用存儲器和公用存儲器之間的數(shù)據(jù)傳送,對多任務應用、頁式調度和任務調度都需要傳送大量的數(shù)據(jù)。因此,采用DMA方式可以提高數(shù)據(jù)傳輸速度。④掃描操作。在圖像處理中,對CRT屏幕送數(shù)據(jù),也可以采用DMA方式。⑤快速數(shù)據(jù)采集。當要采集的數(shù)據(jù)量很大,而且數(shù)據(jù)是以密集突發(fā)的形式出現(xiàn)時,例如對波形的采集,此時采用DMA方式可能是最好的方法,它能滿足響應時間和數(shù)據(jù)傳輸率的要求。⑥在PC/XT機中還采用DMA方式進行DRAM的刷新操作。
下一篇: PLC、DCS、FCS三大控
上一篇: DMA方式概述