




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
6.6 直接存儲器存取(DMA)一、基本概念DMA(DirectMemoryAccess)
直接存儲器存取在主存儲器和外設(shè)之間直接進(jìn)行數(shù)據(jù)交換,不需要CPU的程序干預(yù)。通過專門的硬件裝置——DMA控制器(DMAC)來進(jìn)行控制,并借用系統(tǒng)總線作為信息的傳送通道。除事先設(shè)置DMAC需要CPU介入外,一旦啟動DMA傳送,則完全由硬件自動操作完成,整個傳送過程不再需要CPU的干預(yù)。在微機(jī)系統(tǒng)中,DMAC有雙重身份:在CPU掌管總線時,它是總線上的被控設(shè)備(I/O設(shè)備),CPU可以對它進(jìn)行I/O讀和I/O寫;在DMAC接管總線時,它是總線的主控設(shè)備,通過系統(tǒng)總線來控制存儲器和外設(shè)直接進(jìn)行數(shù)據(jù)交換。2一、基本概念DMA的適用場合高速外設(shè)(當(dāng)外設(shè)的速度接近或超過一條指令的處理速度)用于磁盤、磁帶、光盤等外存儲設(shè)備的接口用于網(wǎng)絡(luò)通信接口用于動態(tài)存儲器的刷新用于高速數(shù)據(jù)采集接口3二、 DMA的傳送方式周期挪用方式當(dāng)DMA要求訪問主存時,如果CPU也要訪問主存,則CPU暫時停頓一個存儲周期。一個數(shù)據(jù)結(jié)束后,CPU立即繼續(xù)運(yùn)行。也稱單字傳送方式。適用:主存儲器工作速度高出I/O設(shè)備較多時??梢蕴岣咧鞔娴臅r間利用率,對CPU程序執(zhí)行的影響較小。CPU訪存讀盤(寫盤)周期挪用CPU處理內(nèi)部事務(wù)DMA訪存主存工作時間t4二、 DMA的傳送方式CPU暫停訪問方式當(dāng)DMA傳送數(shù)據(jù)時,CPU停止工作,把主存使用權(quán)交給DMA控制邏輯。在這批數(shù)據(jù)傳送結(jié)束后,DMA再交還主存使用權(quán)。也稱成組傳送方式。適用:I/O設(shè)備的數(shù)據(jù)傳輸率接近主存儲器的工作速度。讀盤(寫盤)CPU訪存DMA訪存可供CPU訪問DMA工作可供CPU訪問讀盤(寫盤)t主存工作時間5二、 DMA的傳送方式3.DMA與CPU交替訪存方式“透明的DMA方式”適用:外設(shè)的工作周期接近主存的存取周期CPU訪存DMA訪存1234…………主存工作時間t6三、DMA接口組成主存地址寄存器塊長計(jì)數(shù)器設(shè)備數(shù)據(jù)地址寄存器命令/狀態(tài)寄存器數(shù)據(jù)緩沖寄存器DMA控制邏輯中斷控制邏輯端口譯碼DMA接口負(fù)責(zé)申請、控制總線,控制DMA傳送DMA接口的基本模型(圖6.39)7三、DMA接口組成中斷邏輯DMA邏輯數(shù)據(jù)塊長計(jì)數(shù)器端口譯碼命令狀態(tài)寄存器數(shù)據(jù)緩沖寄存器主存地址寄存器設(shè)備數(shù)據(jù)地址寄存器…外設(shè)-11中斷向量ABDB中斷請求中斷應(yīng)答DMA請求DMA應(yīng)答MMRDMMWR8四、DMA過程包括:1初始化、2DMA傳送、3結(jié)束處理。初始化,包括:中斷初始化(設(shè)置中斷向量,允許中斷等)對DMA接口設(shè)置參數(shù):主存緩沖區(qū)首地址傳送的數(shù)據(jù)塊長度外設(shè)地址啟動命令及傳送方向設(shè)置中斷向量消除屏蔽位開中斷CPU內(nèi)存首地址=>接口主存地址寄存器外設(shè)數(shù)據(jù)地址=>接口外設(shè)地址寄存器數(shù)據(jù)塊長度=>接口塊長計(jì)數(shù)器讀/寫及啟動命令=>接口命令寄存器啟動磁盤中斷初始化DMA初始化DMA接口9四、DMA過程DMA傳送(以輸入為例)
DMA請求當(dāng)輸入數(shù)據(jù)已準(zhǔn)備好,接口緩沖寄存器已滿時,接口通過DMA請求邏輯向CPU發(fā)DMA請求;
DMA響應(yīng)
CPU接到DMA請求,在當(dāng)前內(nèi)存周期結(jié)束后,將總線輸出端置成高阻態(tài),發(fā)出DMA應(yīng)答信號,將總線控制權(quán)交給DMA控制器
DMA訪問內(nèi)存接口接到應(yīng)答信號后,接管總線使用權(quán),將接口中主存地址送地址總線,將存儲器讀寫信號送控制總線,完成一次數(shù)據(jù)傳送。每次DMA傳送后,接口中主存地址自增(或自減),數(shù)據(jù)塊長度減1完成一次傳送后,清除DMA請求信號,準(zhǔn)備好下一批時,再發(fā)DMA請求信號。重復(fù)直至傳送結(jié)束。DMA接口組成10DMA訪問內(nèi)存CPU訪問內(nèi)存中斷應(yīng)答中斷請求一批數(shù)據(jù)讀寫完畢磁盤中斷處理程序IRET一條指令執(zhí)行結(jié)束中斷向量當(dāng)前內(nèi)存周期結(jié)束DMA應(yīng)答DMA訪問內(nèi)存CPU訪問內(nèi)存DMA請求數(shù)據(jù)寄存器滿當(dāng)前內(nèi)存周期結(jié)束DMA應(yīng)答讀盤柱面符合?扇區(qū)符合?NNCPU訪問內(nèi)存讀盤DMA請求數(shù)據(jù)寄存器滿其它任何程序磁盤尋址DMA接口CPU11四、DMA過程結(jié)束處理數(shù)據(jù)塊傳送完畢后,發(fā)中斷請求信號,CPU進(jìn)行中斷處理。(重新初始化或中止DMA操作)DMA接口組成12五、DMA方式特點(diǎn)(與中斷方式對比)DMA方式的并行性比中斷方式更高;僅初始化和結(jié)束處理需CPU干預(yù)DMA傳送無需程序切換、程序控制;DMA方式主要是靠硬件來實(shí)現(xiàn)數(shù)據(jù)傳送;CPU響應(yīng)DMA請求在CPU周期結(jié)束后,而響應(yīng)中斷是在當(dāng)前指令周期結(jié)束后;DMA方式中存在CPU與DMA接口之間內(nèi)存訪問權(quán)和總線控制權(quán)的頻繁轉(zhuǎn)換;DMA只能完成數(shù)據(jù)傳送,不能像中斷那樣實(shí)現(xiàn)各種處理功能。136.7I/O通道控制方式程序查詢方式、程序中斷、DMA有共同特點(diǎn):1、都需要CPU的介入程序查詢:完全介入;中斷:需要CPU介入,但CPU可做其他事務(wù);DMA:在傳輸開始和結(jié)束時介入。2、都需要接口硬件支持程序查詢:最簡單的硬件;中斷:需增加中斷控制器;DMA:需增加DMA控制器但保留中斷控制器。因此,這三種方式適用于外設(shè)不太多的小型機(jī)、微型機(jī)。對于I/O數(shù)量多,輸入輸出頻繁的系統(tǒng),占用CPU時間太多,接口硬件太復(fù)雜。156.7.1基本概念通道,能執(zhí)行有限通道指令的I/O控制器,代替CPU管理控制外設(shè)。與DMA相比都能在I/O設(shè)備和主存之間建立數(shù)據(jù)直傳通路;DMA只能實(shí)現(xiàn)固定的數(shù)據(jù)傳送控制,而通道有自己的指令和程序,具有更強(qiáng)的獨(dú)立處理數(shù)據(jù)輸入和輸出的能力。DMA只能控制一臺或少數(shù)幾臺同類設(shè)備,而一個通道可以同時控制多臺同類或不同類設(shè)備。通道是在一定的硬件基礎(chǔ)上利用軟件手段實(shí)現(xiàn)對I/O的控制和傳送。16CPU主機(jī)主存儲器通道通道設(shè)備控制器設(shè)備控制器設(shè)備控制器設(shè)備控制器外設(shè)外設(shè)…外設(shè)外設(shè)…外設(shè)外設(shè)…外設(shè)外設(shè)…典型具有通道的計(jì)算機(jī)結(jié)構(gòu)176.7.2通道的功能接受CPU的I/O指令,并按指令要求選擇指定外設(shè)。從主存中取出相應(yīng)通道程序執(zhí)行,向設(shè)備控制器發(fā)送各種命令。控制外設(shè)和主存間的數(shù)據(jù)交換,根據(jù)需要進(jìn)行數(shù)據(jù)字的拆裝,提供數(shù)據(jù)緩存空間以及指示數(shù)據(jù)存入主存的地址和數(shù)據(jù)量。獲得外設(shè)的狀態(tài)信息,并形成整個通道的狀態(tài)信息,根據(jù)要求將這些信息存入主存特定單元,提供給CPU使用。將來自外設(shè)的中斷請求和通道本身的中斷請求按次序及時報告給CPU。來自通道的中斷有兩種:數(shù)據(jù)傳送結(jié)束中斷,故障中斷。186.7.3通道的類型字節(jié)多路通道用于連接多臺慢速外設(shè),如鍵盤、打印機(jī)等以字節(jié)交叉方式傳送信息數(shù)據(jù)傳輸率等于各慢速外設(shè)速度之和A1A2…B1B2…C1C2…通道A1B1C1A2B2C2。。。196.7.3通道的類型2.選擇通道可連接多臺高速外設(shè),但一次只選擇一臺設(shè)備,成組傳送。待一批數(shù)據(jù)傳送完畢后,才能選擇另一臺設(shè)備。數(shù)據(jù)傳輸率等于所連接外設(shè)中速度最高的外設(shè)速率A1A2…B1B2…C1C2…通道A1A2C1B2B1C2………206.7.3通道的類型3.數(shù)組多路通道綜合前兩種通道的優(yōu)點(diǎn),可連接多臺高速設(shè)備,允許幾臺設(shè)備并行工作,以成組交叉方式傳送。每個外設(shè)都有數(shù)據(jù)緩沖區(qū)。最大傳輸率為所連外設(shè)中傳輸率最大的一個。21具有三種通道的計(jì)算機(jī)系統(tǒng)主CPU選擇通道內(nèi)存字節(jié)多路通道數(shù)組多路通道系統(tǒng)總線設(shè)備控制器低速設(shè)備設(shè)備控制器中速設(shè)備設(shè)備控制器高速設(shè)備設(shè)備控制器高速設(shè)備設(shè)備控制器高速設(shè)備設(shè)備控制器高速設(shè)備………局部I/O總線局部I/O總線局部I/O總線226.7.4通道的工作過程通道完成一次數(shù)據(jù)傳輸,工作過程主要分以下3步:在用戶程序中,遇到輸入輸出訪管指令,由CPU通過管理程序組織一個通道程序,并啟動通道。通道執(zhí)行CPU為它組織的通道程序,完成指定的數(shù)據(jù)輸入輸
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 裝飾水電勞務(wù)合同范本
- 賣給車商的合同范本
- 小區(qū)大門改造合同范本
- 公交卡采購合同范本
- 建筑改造設(shè)計(jì)合同范本
- 餐飲空間設(shè)計(jì)合同范本
- 中小學(xué)期中期末家長會模板66
- 2025年新規(guī)定:合同變更法律依據(jù)詳解
- 2025標(biāo)準(zhǔn)城市商業(yè)租賃合同模板
- 市政園林人工合同范本
- 初中綜合實(shí)踐活動《手工橡皮章》課件
- 鋼結(jié)構(gòu)防火涂料的施工方案
- 輸電線路工程施工驗(yàn)收表格
- 國資委風(fēng)險預(yù)警-47頁P(yáng)PT課件
- 金風(fēng)1.5MW機(jī)組液壓、偏航及潤滑控制系統(tǒng)
- 跑冒油事故應(yīng)急預(yù)案
- 水泥穩(wěn)定碎石底基層配合比報告
- B類表(施工單位報審、報驗(yàn)用表)
- 質(zhì)量監(jiān)督員監(jiān)督報告
- 現(xiàn)場零工簽證單及罰款單簽證樣板完整版
- 醫(yī)療安全不良事件分析記錄表
評論
0/150
提交評論