接口技術(shù)課件:第七章 DMA接口_第1頁
接口技術(shù)課件:第七章 DMA接口_第2頁
接口技術(shù)課件:第七章 DMA接口_第3頁
接口技術(shù)課件:第七章 DMA接口_第4頁
接口技術(shù)課件:第七章 DMA接口_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第七章 DMA接口7.1 DMA概述8237A DMA控制器習(xí)題2011/10東北大學(xué)計算機系統(tǒng)研究所7.1 直接存儲器存取(DMA)概述DMA簡介CPUMEMI/O外設(shè)MOV AL,XXXXXH OUT YYYH,ALIN AL,XXXH MOV YYYYYH,ALCPUDMACMEMI/O外設(shè)A0A16, MEMR IOW, DACKi?2011/10東北大學(xué)計算機系統(tǒng)研究所7.1 直接存儲器存取(DMA)概述DMAC的基本功能和工作過程CPUDMACMEMI/O外設(shè)A0A16, MEMR IOW, DACKDMAC的基本功能1 能接受CPU的編程,進行功能設(shè)定。2 能向CPU發(fā)出DMA請

2、求信號(HOLD)。3 在CPU響應(yīng)DMA請求(HLDA)之后接管總線。4 能發(fā)出地址信號和讀寫信號。5 能控制傳送數(shù)據(jù)的字節(jié)數(shù)。6 能判斷DMA操作是否結(jié)束,并釋放總線的控制權(quán),還給CPU。2011/10東北大學(xué)計算機系統(tǒng)研究所7.1 直接存儲器存取(DMA)概述DMAC的基本功能和工作過程CPUDMACMEMI/O外設(shè)A0A16, MEMR IOW, DACKDMAC的工作過程1 CPU對DMAC進行初始化,設(shè)定存儲器首地址和數(shù)據(jù)長度。2 外部設(shè)備向DMAC發(fā)DMA請求信號(DREQ)。3 DMAC向CPU發(fā)DMA請求(HOLD)。5 CPU將總線控制權(quán)交給DMAC。6 DMAC向外部設(shè)備

3、發(fā)DMA應(yīng)答信號(DACK)。7 進行DMA傳送,由DMAC發(fā)地址信號和控制信號(循環(huán))。4 CPU向DMAC發(fā)響應(yīng)請求信號(HLDA)。8 DMA傳送結(jié)束,DMAC撤除請求(HOLD),CPU重新控制總線。2011/10東北大學(xué)計算機系統(tǒng)研究所7.2 INTEL 8237A DMACDMAC的引腳DB07IORIOWCSA03HRQHLDADREQ0DACK0MEMRMEMW連CPUHOLDHLDADREQ3DACK3IORIOW8237AEOPA47A815A03AENADSTB連外設(shè)2011/10東北大學(xué)計算機系統(tǒng)研究所7.2 INTEL 8237A DMACDMAC的內(nèi)部結(jié)構(gòu)和寄存器命

4、令寄存器狀態(tài)寄存器方式寄存器當前地址寄存器當前計數(shù)寄存器基地址寄存器基計數(shù)寄存器器暫存寄存器屏蔽寄存器通道0通道138237A2011/10東北大學(xué)計算機系統(tǒng)研究所7.2 INTEL 8237A DMACDMAC的時序CLKSISIS0S0S1S2S3S4S2S3S4SIHRQDREQHLDAAENSIADSTBDB70A158A70DACKMEMR/IORMEMW/IOW2011/10東北大學(xué)計算機系統(tǒng)研究所INTEL 8237A DMACDMAC的工作方式塊傳送方式:整個數(shù)據(jù)塊傳送期間,總線一直被DMAC控制,直到計數(shù)寄存器的值由0變成FFFFH,產(chǎn)生T/C信號。單字節(jié)傳送方式:也可以傳送

5、一個數(shù)據(jù)塊,但CPU至少可在兩次DMA傳送之間獲得一個完整的總線周期,即每傳送一個字節(jié),就將總線控制權(quán)換給CPU。請求傳送方式:可連續(xù)傳送,直到遇到T/C或DREQ不再有效為止。 2011/10東北大學(xué)計算機系統(tǒng)研究所7.2 INTEL 8237A DMACDMAC的傳送類型讀傳送:數(shù)據(jù)由主存儲器傳送到外部設(shè)備。寫傳送:數(shù)據(jù)由外部設(shè)備傳送到主存儲器。校驗傳送:假傳送。也產(chǎn)生地址和控制信號,但都視為無效。僅為了校驗內(nèi)部的尋址邏輯和控制邏輯是否正確。用戶不用這種方式。存儲器到存儲器傳送:將存儲器中的一個數(shù)據(jù)塊傳到另一個地方。2011/10東北大學(xué)計算機系統(tǒng)研究所7.2 INTEL 8237A DM

6、ACDMAC在PC機上的應(yīng)用在PC/XT上的應(yīng)用 (一片,四個8位通道) 通道0:系統(tǒng)動態(tài)存儲器(DRAM)的刷新。通道1:保留給用戶使用。通道2:內(nèi)存與軟盤之間的高速數(shù)據(jù)交換。通道3:內(nèi)存與硬盤之間的高速數(shù)據(jù)交換。通道2:內(nèi)存與軟盤之間的高速數(shù)據(jù)交換。通道0、1、36:均保留給用戶使用。在PC/XA上的應(yīng)用 (兩片級聯(lián),從片四個8位通道,主片三個16位通道) 2011/10東北大學(xué)計算機系統(tǒng)研究所7.2 INTEL 8237A DMACDMAC的16位通道8237A用在8086或80286為CPU的微型機上時,偶地址的數(shù)據(jù)總是出現(xiàn)在數(shù)據(jù)總線D70上,奇地址的數(shù)據(jù)出現(xiàn)在D158上。而8237A

7、只有8位數(shù)據(jù)線,對連續(xù)的I/O端口進行讀寫時,則需要進行轉(zhuǎn)換。為簡化設(shè)計,就直接將主片8237A設(shè)計成16位通道,即將地址總線上的AB0空著,AB1、2與8237A的A0、1相連。內(nèi)部16個寄存器的I/O端口號均為偶地址。在進行DMA傳送時,DMAC發(fā)出的地址A150實際上是與地址總線AB161相連,AB0置0(BHE=1)。這樣,存儲器與外部設(shè)備之間是進行的16位數(shù)據(jù)交換。8237AA0A1A2A15AB0AB1AB2AB3AB16“0”MEMI/OBLE=0BHE=12011/10東北大學(xué)計算機系統(tǒng)研究所7.2 INTEL 8237A DMACDMAC的地址擴展頁地址寄存器8237AA0A

8、15A16A23BUSMEM頁地址寄存器基地址寄存器當前地址寄存器當前計數(shù)寄存器例:頁地址為0001B,基地址為0FFF0H,計數(shù)值為000FH。0001 : FFF0H 000EH0001 : FFF1H 000DH0001 : FFFEH 0000H0001 : FFFFH FFFFH=T/C信號 2011/10東北大學(xué)計算機系統(tǒng)研究所7.2 INTEL 8237A DMACDMAC的地址擴展(續(xù))段溢出:指定的物理區(qū)域跨越了兩個物理頁?;刂?計數(shù)值FFFFH例:頁地址為0001B,基地址為0FFF0H,計數(shù)值為0010H。0001 : FFF0H 000FH0001 : FFF1H 0

9、00EH0001 : FFFEH 0001H0001 : FFFFH 0000H=T/C信號 0001 : 0000H FFFFH=T/C信號 0002 : 0000H FFFFH=T/C信號跨頁的條件:跨頁的傳送:分兩次傳送跨頁練習(xí)2011/10東北大學(xué)計算機系統(tǒng)研究所7.2 INTEL 8237A DMACDMAC的編程舉例-8237A通道2的初始化子程序例:將一個扇區(qū)的數(shù)據(jù)從軟盤傳送到內(nèi)存。入口條件:ES:BX=緩沖區(qū)的首地址,出口條件:CF=0,初始化正常;CF=1,DMA段溢出。編寫主程序04H=08H46H=0BHES:BX=DL:BXBXC清先后觸發(fā)器BL=04HBH=04HDL

10、=81H0FFH=05H01H=05H02H=0AH10H=08H開始返回NY2011/10東北大學(xué)計算機系統(tǒng)研究所7.2 INTEL 8237A DMACDMAC在PC機中的電路244670373A03/A47A07BUSDB07XA07ADSTBA1619A815XD03XA0、1CPUDREQ1DREQ2DREQ3DACK2DREQ0DACK0DACK1DACK3AENBUSBUS頁地址RARBWA WB AEN-BRD442011/10東北大學(xué)計算機系統(tǒng)研究所7.2 INTEL 8237A DMACDMAC的應(yīng)用-輸入(I/O)D07來自外設(shè)BUSDMA請求DB07RESETDACKCLR+5VCPDQ74LS74DREQ允許DMA請求74LS347QDCPIORE單字節(jié)傳送2011/10東北大學(xué)計算機系統(tǒng)研究所習(xí) 題1 什么是DMA? 什么是DMAC?2 在什么情況下需要DMA方式傳送?3 試述DMAC的功能及工作過程。4 8237A有幾個通道?每個通道是否完全獨立?5 8237A 有幾種工作方式? 有幾種傳送類型?6 8237A的先/后觸發(fā)器具有什么功能? 2011/10東北大學(xué)計算機系統(tǒng)研究所習(xí) 題8. 在PC系列機上使用8237A時為什么要增加頁寄存器?PC/XT與PC/AT機的頁寄存器是否相同?9. 8237A是怎樣與像80286這樣的16位CPU相

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論