DMA方式和通道方式實(shí)用教案_第1頁(yè)
DMA方式和通道方式實(shí)用教案_第2頁(yè)
DMA方式和通道方式實(shí)用教案_第3頁(yè)
DMA方式和通道方式實(shí)用教案_第4頁(yè)
DMA方式和通道方式實(shí)用教案_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、1一、基本概念 DMA (Direct Memory Access) 直接存儲(chǔ)器存取在主存儲(chǔ)器和外設(shè)之間直接進(jìn)行數(shù)據(jù)交換,不需要CPU的程序干預(yù)。通過(guò)專門(mén)的硬件裝置DMA控制器(DMAC)來(lái)進(jìn)行控制,并借用系統(tǒng)總線作為信息的傳送通道。除事先設(shè)置DMAC需要CPU介入外,一旦(ydn)啟動(dòng)DMA傳送,則完全由硬件自動(dòng)操作完成,整個(gè)傳送過(guò)程不再需要CPU的干預(yù)。在微機(jī)系統(tǒng)中,DMAC有雙重身份:在CPU掌管總線時(shí),它是總線上的被控設(shè)備(I/O設(shè)備),CPU可以對(duì)它進(jìn)行I/O讀和I/O寫(xiě);在DMAC接管總線時(shí),它是總線的主控設(shè)備,通過(guò)系統(tǒng)總線來(lái)控制存儲(chǔ)器和外設(shè)直接進(jìn)行數(shù)據(jù)交換。第1頁(yè)/共24頁(yè)第一頁(yè)

2、,共25頁(yè)。2一、基本概念DMA的適用場(chǎng)合(chng h) 高速外設(shè)(當(dāng)外設(shè)的速度接近或超過(guò)一條指令的處理速度) 用于磁盤(pán)、磁帶、光盤(pán)等外存儲(chǔ)設(shè)備的接口 用于網(wǎng)絡(luò)通信接口 用于動(dòng)態(tài)存儲(chǔ)器的刷新 用于高速數(shù)據(jù)采集接口第2頁(yè)/共24頁(yè)第二頁(yè),共25頁(yè)。3二、DMA的傳送(chun sn)方式周期挪用(nuyng)方式 當(dāng)DMA要求訪問(wèn)主存時(shí),如果CPU也要訪問(wèn)主存,則CPU暫時(shí)停頓一個(gè)存儲(chǔ)周期。一個(gè)數(shù)據(jù)結(jié)束后,CPU立即繼續(xù)運(yùn)行。也稱單字傳送方式。 適用:主存儲(chǔ)器工作速度高出I/O設(shè)備較多時(shí)。可以提高主存的時(shí)間利用率,對(duì)CPU程序執(zhí)行的影響較小。CPU訪存讀盤(pán)(寫(xiě)盤(pán))周期挪用CPU處理內(nèi)部事務(wù)DM

3、A訪存主存工作時(shí)間t第3頁(yè)/共24頁(yè)第三頁(yè),共25頁(yè)。4二、DMA的傳送(chun sn)方式CPU暫停訪問(wèn)方式 當(dāng)DMA傳送數(shù)據(jù)時(shí),CPU停止工作,把主存使用權(quán)交給DMA控制邏輯。在這批數(shù)據(jù)傳送結(jié)束后,DMA再交還主存使用權(quán)。也稱成組傳送方式。適用: I/O設(shè)備(shbi)的數(shù)據(jù)傳輸率接近主存儲(chǔ)器的工作速度。讀盤(pán)(寫(xiě)盤(pán))CPU訪存DMA訪存可供CPU訪問(wèn)DMA工作可供CPU訪問(wèn)讀盤(pán)(寫(xiě)盤(pán))t主存工作時(shí)間第4頁(yè)/共24頁(yè)第四頁(yè),共25頁(yè)。5二、DMA的傳送(chun sn)方式3. DMA與CPU交替訪存方式 “透明的DMA方式” 適用:外設(shè)的工作周期(zhuq)接近主存的存取周期(zhuq)

4、CPU訪存DMA訪存1234主存工作時(shí)間t第5頁(yè)/共24頁(yè)第五頁(yè),共25頁(yè)。6三、DMA接口(ji ku)組成 主存地址寄存器 塊長(zhǎng)計(jì)數(shù)器 設(shè)備(shbi)數(shù)據(jù)地址寄存器 命令狀態(tài)寄存器 數(shù)據(jù)(shj)緩沖寄存器 DMA控制邏輯 中斷控制邏輯 端口譯碼 DMA接口負(fù)責(zé)申請(qǐng)、控制總線,控制DMA傳送 DMA接口的基本模型(圖6.39)第6頁(yè)/共24頁(yè)第六頁(yè),共25頁(yè)。7三、DMA接口(ji ku)組成中斷(zhngdun)邏輯DMA邏輯(lu j)數(shù)據(jù)塊長(zhǎng)計(jì)數(shù)器端口譯碼命令狀態(tài)寄存器數(shù)據(jù)緩沖寄存器主存地址寄存器設(shè)備數(shù)據(jù)地址寄存器 外設(shè) -11中斷向量ABDB中斷請(qǐng)求中斷應(yīng)答DMA請(qǐng)求DMA應(yīng)答M

5、MRDMMWR第7頁(yè)/共24頁(yè)第七頁(yè),共25頁(yè)。四、DMA過(guò)程(guchng) 包括:1 初始化、2 DMA傳送、3 結(jié)束處理。初始化,包括:中斷初始化(設(shè)置中斷向量,允許中斷等)對(duì)DMA接口設(shè)置參數(shù)(cnsh):主存緩沖區(qū)首地址傳送的數(shù)據(jù)塊長(zhǎng)度外設(shè)地址啟動(dòng)命令及傳送方向設(shè)置中斷向量消除屏蔽位開(kāi)中斷CPU內(nèi)存首地址=接口主存地址寄存器外設(shè)數(shù)據(jù)地址=接口外設(shè)地址寄存器數(shù)據(jù)塊長(zhǎng)度=接口塊長(zhǎng)計(jì)數(shù)器讀/寫(xiě)及啟動(dòng)命令=接口命令寄存器啟動(dòng)磁盤(pán)中斷初始化DMA初始化DMA接口第8頁(yè)/共24頁(yè)第八頁(yè),共25頁(yè)。9四、DMA過(guò)程(guchng)DMA傳送(以輸入為例) DMA請(qǐng)求 當(dāng)輸入數(shù)據(jù)已準(zhǔn)備好,接口緩沖寄

6、存器已滿時(shí),接口通過(guò)DMA請(qǐng)求邏輯向CPU發(fā)DMA請(qǐng)求; DMA響應(yīng) CPU接到DMA請(qǐng)求,在當(dāng)前內(nèi)存周期結(jié)束后,將總線輸出端置成高阻態(tài),發(fā)出DMA應(yīng)答信號(hào),將總線控制(kngzh)權(quán)交給DMA控制(kngzh)器 DMA訪問(wèn)內(nèi)存 接口接到應(yīng)答信號(hào)后,接管總線使用權(quán),將接口中主存地址送地址總線,將存儲(chǔ)器讀寫(xiě)信號(hào)送控制(kngzh)總線,完成一次數(shù)據(jù)傳送。每次DMA傳送后,接口中主存地址自增(或自減), 數(shù)據(jù)塊長(zhǎng)度減1完成一次傳送后,清除DMA請(qǐng)求信號(hào),準(zhǔn)備好下一批時(shí),再發(fā)DMA請(qǐng)求信號(hào)。重復(fù)直至傳送結(jié)束。DMA接口(ji ku)組成第9頁(yè)/共24頁(yè)第九頁(yè),共25頁(yè)。DMA訪問(wèn)(fngwn)內(nèi)存

7、CPU訪問(wèn)(fngwn)內(nèi)存中斷(zhngdun)應(yīng)答 中斷(zhngdun)請(qǐng)求一批數(shù)據(jù)讀寫(xiě)完畢磁盤(pán)中斷處理程序IRET一條指令執(zhí)行結(jié)束 中斷向量當(dāng)前內(nèi)存周期結(jié)束 DMA應(yīng)答DMA訪問(wèn)內(nèi)存CPU訪問(wèn)內(nèi)存DMA請(qǐng)求 數(shù)據(jù)寄存器滿當(dāng)前內(nèi)存周期結(jié)束 DMA應(yīng)答讀盤(pán)柱面符合?扇區(qū)符合?NNCPU訪問(wèn)內(nèi)存讀盤(pán)DMA請(qǐng)求 數(shù)據(jù)寄存器滿其它任何程序磁盤(pán)尋址DMA接口CPU第10頁(yè)/共24頁(yè)第十頁(yè),共25頁(yè)。11四、DMA過(guò)程(guchng)結(jié)束處理數(shù)據(jù)塊傳送完畢后,發(fā)中斷請(qǐng)求信號(hào),CPU進(jìn)行( jnxng)中斷處理。(重新初始化或中止DMA操作)DMA接口(ji ku)組成第11頁(yè)/共24頁(yè)第十一頁(yè),共2

8、5頁(yè)。12五、DMA方式特點(diǎn) (與中斷(zhngdun)方式對(duì)比) DMA方式的并行性比中斷方式更高; 僅初始化和結(jié)束(jish)處理需CPU干預(yù)DMA傳送無(wú)需程序切換、程序控制;DMA方式主要是靠硬件來(lái)實(shí)現(xiàn)數(shù)據(jù)傳送;CPU響應(yīng)DMA請(qǐng)求在CPU周期結(jié)束(jish)后,而響應(yīng)中斷是在當(dāng)前指令周期結(jié)束(jish)后;DMA方式中存在CPU與DMA接口之間內(nèi)存訪問(wèn)權(quán)和總線控制權(quán)的頻繁轉(zhuǎn)換;DMA只能完成數(shù)據(jù)傳送,不能像中斷那樣實(shí)現(xiàn)各種處理功能。第12頁(yè)/共24頁(yè)第十二頁(yè),共25頁(yè)。6.7 I/O通道控制(kngzh)方式第13頁(yè)/共24頁(yè)第十三頁(yè),共25頁(yè)。14 程序查詢方式、程序中斷、DMA有共

9、同特點(diǎn): 1、都需要CPU的介入( jir) 程序查詢:完全介入( jir); 中斷:需要CPU介入( jir) ,但CPU可做其他事務(wù); DMA:在傳輸開(kāi)始和結(jié)束時(shí)介入( jir)。 2、都需要接口硬件支持 程序查詢:最簡(jiǎn)單的硬件; 中斷:需增加中斷控制器; DMA:需增加DMA控制器但保留中斷控制器。 因此,這三種方式適用于外設(shè)不太多的小型機(jī)、微型機(jī)。對(duì)于I/O數(shù)量多,輸入輸出頻繁的系統(tǒng),占用CPU時(shí)間太多,接口硬件太復(fù)雜。第14頁(yè)/共24頁(yè)第十四頁(yè),共25頁(yè)。156.7.1 基本概念通道,能執(zhí)行有限通道指令的I/O控制器,代替CPU管理控制外設(shè)。與DMA相比 都能在I/O設(shè)備和主存之間建

10、立數(shù)據(jù)直傳通路;DMA只能實(shí)現(xiàn)固定的數(shù)據(jù)傳送控制,而通道有自己的指令和程序,具有更強(qiáng)的獨(dú)立處理數(shù)據(jù)輸入和輸出的能力。DMA只能控制一臺(tái)或少數(shù)幾臺(tái)同類(lèi)設(shè)備,而一個(gè)通道可以同時(shí)控制多臺(tái)同類(lèi)或不同類(lèi)設(shè)備。通道是在一定的硬件(yn jin)基礎(chǔ)上利用軟件手段實(shí)現(xiàn)對(duì)I/O的控制和傳送。第15頁(yè)/共24頁(yè)第十五頁(yè),共25頁(yè)。16CPU主機(jī)主存儲(chǔ)器通道通道設(shè)備控制器 設(shè)備控制器 設(shè)備控制器 設(shè)備控制器 外設(shè) 外設(shè) 外設(shè) 外設(shè) 外設(shè) 外設(shè) 外設(shè) 外設(shè) 典型具有通道(tngdo)的計(jì)算機(jī)結(jié)構(gòu)第16頁(yè)/共24頁(yè)第十六頁(yè),共25頁(yè)。176.7.2 通道(tngdo)的功能接受CPU的I/O指令,并按指令要求選擇指定

11、外設(shè)。從主存中取出相應(yīng)通道程序執(zhí)行,向設(shè)備控制器發(fā)送各種命令??刂仆庠O(shè)和主存間的數(shù)據(jù)交換,根據(jù)需要進(jìn)行數(shù)據(jù)字的拆裝,提供數(shù)據(jù)緩存空間以及指示數(shù)據(jù)存入主存的地址和數(shù)據(jù)量。獲得外設(shè)的狀態(tài)信息,并形成整個(gè)通道的狀態(tài)信息,根據(jù)要求將這些信息存入主存特定單元,提供給CPU使用。將來(lái)自(li z)外設(shè)的中斷請(qǐng)求和通道本身的中斷請(qǐng)求按次序及時(shí)報(bào)告給CPU。來(lái)自(li z)通道的中斷有兩種:數(shù)據(jù)傳送結(jié)束中斷,故障中斷。 第17頁(yè)/共24頁(yè)第十七頁(yè),共25頁(yè)。186.7.3 通道(tngdo)的類(lèi)型字節(jié)多路通道 用于連接多臺(tái)慢速外設(shè),如鍵盤(pán)、打印機(jī)等以字節(jié)交叉方式傳送信息數(shù)據(jù)(shj)傳輸率等于各慢速外設(shè)速度之

12、和A1A2B1B2C1C2通道A1 B1 C1A2 B2 C2。第18頁(yè)/共24頁(yè)第十八頁(yè),共25頁(yè)。196.7.3 通道(tngdo)的類(lèi)型2. 選擇通道可連接多臺(tái)高速外設(shè),但一次只選擇一臺(tái)設(shè)備,成組傳送。待一批數(shù)據(jù)傳送完畢后,才能選擇另一臺(tái)設(shè)備。數(shù)據(jù)傳輸率等于(dngy)所連接外設(shè)中速度最高的外設(shè)速率A1A2B1B2C1C2通道A1 A2C1B2B1C2第19頁(yè)/共24頁(yè)第十九頁(yè),共25頁(yè)。206.7.3 通道(tngdo)的類(lèi)型3. 數(shù)組多路通道綜合前兩種通道的優(yōu)點(diǎn),可連接多臺(tái)高速設(shè)備,允許幾臺(tái)設(shè)備并行工作,以成組交叉方式傳送(chun sn)。每個(gè)外設(shè)都有數(shù)據(jù)緩沖區(qū)。 最大傳輸率為所連

13、外設(shè)中傳輸率最大的一個(gè)。第20頁(yè)/共24頁(yè)第二十頁(yè),共25頁(yè)。21 具有三種(sn zhn)通道的計(jì)算機(jī)系統(tǒng)主CPU選擇(xunz)通道內(nèi)存(ni cn)字節(jié)多路通道數(shù)組多路通道系統(tǒng)總線設(shè)備控制器低速設(shè)備設(shè)備控制器中速設(shè)備設(shè)備控制器高速設(shè)備設(shè)備控制器高速設(shè)備設(shè)備控制器高速設(shè)備設(shè)備控制器高速設(shè)備局部I/O總線局部I/O總線局部I/O總線第21頁(yè)/共24頁(yè)第二十一頁(yè),共25頁(yè)。226.7.4 通道(tngdo)的工作過(guò)程 通道完成一次數(shù)據(jù)傳輸,工作過(guò)程主要(zhyo)分以下3步: 在用戶程序中,遇到輸入輸出訪管指令,由CPU通過(guò)管理程序組織一個(gè)通道程序,并啟動(dòng)通道。 通道執(zhí)行CPU為它組織的通道程

14、序,完成指定的數(shù)據(jù)輸入輸出。 通道程序結(jié)束后,向CPU發(fā)出中斷請(qǐng)求。CPU接到中斷請(qǐng)求后,第二次調(diào)用管理程序?qū)χ袛嗾?qǐng)求進(jìn)行處理。然后返回用戶程序。 圖解(tji)第22頁(yè)/共24頁(yè)第二十二頁(yè),共25頁(yè)。23用戶程序、管理程序和通道(tngdo)程序的時(shí)間關(guān)系 CPU運(yùn)行用戶程序CPU運(yùn)行I/O管理程序通道運(yùn)行存放在主存中的通道程序請(qǐng)求輸入輸出訪管指令 編制通道程序啟動(dòng)I/O通道組織I/O操作向CPU發(fā)中斷請(qǐng)求響應(yīng)I/O中斷請(qǐng)求登記或處理第23頁(yè)/共24頁(yè)第二十三頁(yè),共25頁(yè)。24感謝您的欣賞(xnshng)!第24頁(yè)/共24頁(yè)第二十四頁(yè),共25頁(yè)。NoImage內(nèi)容(nirng)總結(jié)1。用于磁盤(pán)、磁

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論