微機(jī)接口第12章 8237A_DMA控制器_第1頁(yè)
微機(jī)接口第12章 8237A_DMA控制器_第2頁(yè)
微機(jī)接口第12章 8237A_DMA控制器_第3頁(yè)
微機(jī)接口第12章 8237A_DMA控制器_第4頁(yè)
微機(jī)接口第12章 8237A_DMA控制器_第5頁(yè)
已閱讀5頁(yè),還剩22頁(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、第十第十 二章二章 8237A DMA控制器控制器及其應(yīng)用及其應(yīng)用 (416)前面幾章各種前面幾章各種I/O方式都需要方式都需要CPU作為中介:作為中介: 外設(shè)外設(shè) CPU 內(nèi)存內(nèi)存兩個(gè)含義:兩個(gè)含義: 1)軟件:外設(shè)與內(nèi)存之間的數(shù)據(jù)傳送是通過(guò))軟件:外設(shè)與內(nèi)存之間的數(shù)據(jù)傳送是通過(guò)CPU執(zhí)執(zhí)行程序來(lái)完成的(行程序來(lái)完成的(PIO方式);方式); 2)硬件:)硬件:I/O接口和存儲(chǔ)器的讀寫(xiě)控制信號(hào)、地址接口和存儲(chǔ)器的讀寫(xiě)控制信號(hào)、地址信號(hào)都是由信號(hào)都是由CPU發(fā)出的(總線由發(fā)出的(總線由CPU控制)??刂疲?。缺點(diǎn):程序的執(zhí)行速度限定了傳送的最大速度(約缺點(diǎn):程序的執(zhí)行速度限定了傳送的最大速度(約

2、為幾十為幾十KB/秒)秒)解決方法:解決方法:DMA傳輸傳輸DMA傳輸概念傳輸概念 外設(shè)直接與存儲(chǔ)器進(jìn)行數(shù)據(jù)交換外設(shè)直接與存儲(chǔ)器進(jìn)行數(shù)據(jù)交換 ,CPU不再擔(dān)不再擔(dān)當(dāng)數(shù)據(jù)傳輸?shù)闹薪檎?;?dāng)數(shù)據(jù)傳輸?shù)闹薪檎?;DMA傳輸傳輸: 外設(shè)外設(shè) 內(nèi)存內(nèi)存優(yōu)點(diǎn):優(yōu)點(diǎn):數(shù)據(jù)傳輸由數(shù)據(jù)傳輸由DMA硬件來(lái)控制,數(shù)據(jù)直接在內(nèi)存硬件來(lái)控制,數(shù)據(jù)直接在內(nèi)存和外設(shè)之間交換,可以達(dá)到很高的傳輸速率和外設(shè)之間交換,可以達(dá)到很高的傳輸速率(可達(dá)幾(可達(dá)幾MB/秒)秒) 總線由總線由DMA控制器(控制器(DMAC)進(jìn)行控制()進(jìn)行控制(CPU要放棄總線控制權(quán)),內(nèi)存要放棄總線控制權(quán)),內(nèi)存/外設(shè)的地址和讀寫(xiě)外設(shè)的地址和讀寫(xiě)控制信號(hào)均

3、由控制信號(hào)均由DMAC提供提供DMA傳輸概念傳輸概念 總線控制權(quán)總線控制權(quán): master、slaveDMA傳輸傳輸: 外設(shè)外設(shè) 內(nèi)存內(nèi)存幾個(gè)基本概念:幾個(gè)基本概念: DMAC編程周期:編程周期:slave DMAC控制總線進(jìn)行數(shù)據(jù)傳輸周期:控制總線進(jìn)行數(shù)據(jù)傳輸周期:master DMA的數(shù)據(jù)傳輸形式的數(shù)據(jù)傳輸形式:基本的基本的: MEM I/O和擴(kuò)充的和擴(kuò)充的:MEM MEM I/O I/ODMA傳輸概念傳輸概念DMA傳送原理示意傳送原理示意圖圖 外設(shè)發(fā)出外設(shè)發(fā)出DMADMA請(qǐng)求請(qǐng)求 DMAC DMAC向向CPUCPU申請(qǐng)總線申請(qǐng)總線 CPU CPU響應(yīng),釋放總線控制權(quán)響應(yīng),釋放總線控制權(quán)

4、DMAC DMAC得到總線控制權(quán),并發(fā)出得到總線控制權(quán),并發(fā)出DMADMA響應(yīng)信號(hào)響應(yīng)信號(hào) 由由DMACDMAC發(fā)出各種控制信號(hào),控制外設(shè)與存儲(chǔ)器之發(fā)出各種控制信號(hào),控制外設(shè)與存儲(chǔ)器之 間的數(shù)據(jù)傳送間的數(shù)據(jù)傳送 數(shù)據(jù)傳送完后,數(shù)據(jù)傳送完后,DMACDMAC撤銷撤銷HOLDHOLD信號(hào)信號(hào) CPUCPU釋放釋放HLDAHLDA信號(hào),并重新控制總線信號(hào),并重新控制總線系統(tǒng)總線系統(tǒng)總線CPUDMAC存儲(chǔ)器存儲(chǔ)器外設(shè)接口外設(shè)接口AENIOWMEMWMEMRIORMEMWMEMRIOWIORAENHOLDHLDADREQDACKAENIOWIORMEMWMEMRDMA傳輸概念傳輸概念DMA控制器的工作過(guò)

5、程控制器的工作過(guò)程1)當(dāng)外設(shè)準(zhǔn)備好,可以進(jìn)行)當(dāng)外設(shè)準(zhǔn)備好,可以進(jìn)行DMA傳送時(shí),外設(shè)向傳送時(shí),外設(shè)向DMA控制器發(fā)出控制器發(fā)出“DMA傳送請(qǐng)求傳送請(qǐng)求”信號(hào)(信號(hào)(DREQ);2)DMA控制器收到請(qǐng)求后,向控制器收到請(qǐng)求后,向CPU發(fā)出發(fā)出“總線請(qǐng)求總線請(qǐng)求”信信號(hào)號(hào)HOLD,表示希望占用總線,表示希望占用總線 ;3)CPU在完成當(dāng)前總線周期后會(huì)立即對(duì)在完成當(dāng)前總線周期后會(huì)立即對(duì)HOLD信號(hào)進(jìn)信號(hào)進(jìn)行響應(yīng)。響應(yīng)包括兩個(gè)動(dòng)作:一是行響應(yīng)。響應(yīng)包括兩個(gè)動(dòng)作:一是CPU將數(shù)據(jù)總線將數(shù)據(jù)總線、地址總線和相應(yīng)的控制信號(hào)線均置為高阻態(tài),由、地址總線和相應(yīng)的控制信號(hào)線均置為高阻態(tài),由此放棄對(duì)總線的控制權(quán)。

6、另一方面,此放棄對(duì)總線的控制權(quán)。另一方面,CPU向向DMA控制器發(fā)出控制器發(fā)出“總線響應(yīng)總線響應(yīng)”信號(hào)(信號(hào)(HLDA)。)。4)DMA控制器收到控制器收到HLDA信號(hào)后,就開(kāi)始控制總線,信號(hào)后,就開(kāi)始控制總線,并向外設(shè)發(fā)出并向外設(shè)發(fā)出DMA響應(yīng)信號(hào)響應(yīng)信號(hào)DACK;DMA傳輸概念傳輸概念DMA控制器的工作過(guò)程控制器的工作過(guò)程5)DMA控制器送出地址信號(hào)和相應(yīng)的控制信號(hào),實(shí)現(xiàn)控制器送出地址信號(hào)和相應(yīng)的控制信號(hào),實(shí)現(xiàn)外設(shè)與內(nèi)存或內(nèi)存與內(nèi)存之間的直接數(shù)據(jù)傳送;外設(shè)與內(nèi)存或內(nèi)存與內(nèi)存之間的直接數(shù)據(jù)傳送;例如,例如,向向I/O接口發(fā)出讀信號(hào),同時(shí)往地址總線上發(fā)出接口發(fā)出讀信號(hào),同時(shí)往地址總線上發(fā)出存儲(chǔ)

7、器的地址和存儲(chǔ)器寫(xiě)信號(hào)和存儲(chǔ)器的地址和存儲(chǔ)器寫(xiě)信號(hào)和AEN信號(hào),即可從信號(hào),即可從外設(shè)向內(nèi)存?zhèn)魉鸵粋€(gè)字節(jié)。外設(shè)向內(nèi)存?zhèn)魉鸵粋€(gè)字節(jié)。6)DMA控制器自動(dòng)修改地址和字節(jié)計(jì)數(shù)器,并判斷是控制器自動(dòng)修改地址和字節(jié)計(jì)數(shù)器,并判斷是否需要重復(fù)傳送操作。當(dāng)規(guī)定的數(shù)據(jù)傳送完后,否需要重復(fù)傳送操作。當(dāng)規(guī)定的數(shù)據(jù)傳送完后,DMA控制器就撤銷發(fā)往控制器就撤銷發(fā)往CPU的的HOLD信號(hào)。信號(hào)。CPU檢測(cè)到檢測(cè)到HOLD失效后,緊接著撤銷失效后,緊接著撤銷HLDA信號(hào),并信號(hào),并在下一時(shí)鐘周期重新開(kāi)始控制總線。在下一時(shí)鐘周期重新開(kāi)始控制總線。 DMA傳輸概念傳輸概念DMA的三種傳輸方式的三種傳輸方式P423:連續(xù)傳送(

8、塊傳送)連續(xù)傳送(塊傳送): DMAC申請(qǐng)到總線后,申請(qǐng)到總線后,將一塊數(shù)據(jù)傳送完后才釋放總線,而不管在這將一塊數(shù)據(jù)傳送完后才釋放總線,而不管在這期間期間DREQ是否有效是否有效單次傳送(每次傳送一個(gè)字節(jié))單次傳送(每次傳送一個(gè)字節(jié)): 每個(gè)每個(gè)DMA周周期只傳送一個(gè)字節(jié)就立即釋放總線。期只傳送一個(gè)字節(jié)就立即釋放總線。按需傳送(猝發(fā)傳送、請(qǐng)求傳送)按需傳送(猝發(fā)傳送、請(qǐng)求傳送):也可以傳送也可以傳送數(shù)據(jù)塊,直到要求停止。與塊傳送不同的是,每數(shù)據(jù)塊,直到要求停止。與塊傳送不同的是,每次傳送一個(gè)字節(jié)后都要對(duì)次傳送一個(gè)字節(jié)后都要對(duì)DREQ進(jìn)行測(cè)試,一旦進(jìn)行測(cè)試,一旦該信號(hào)無(wú)效,就馬上停止傳送。但不釋

9、放總線,該信號(hào)無(wú)效,就馬上停止傳送。但不釋放總線,一旦一旦DREQ有效,又開(kāi)始傳送。有效,又開(kāi)始傳送。 12-1 8237A的組成和工作原理(的組成和工作原理(P416)8237A是一個(gè)可編程的是一個(gè)可編程的DMA 控制器芯片,它直接控制器芯片,它直接應(yīng)用于應(yīng)用于8086/8088 和和80286系統(tǒng)。在系統(tǒng)。在386和和486系統(tǒng)中,作系統(tǒng)中,作為集成系統(tǒng)外設(shè)接口芯片中的一部分仍起著為集成系統(tǒng)外設(shè)接口芯片中的一部分仍起著DMA控制控制器的作用。器的作用。8237A的內(nèi)部結(jié)構(gòu)框圖見(jiàn)的內(nèi)部結(jié)構(gòu)框圖見(jiàn)P417P417圖圖12-112-18237A的組成和原理的組成和原理(P417)8237A的組成

10、和原理的組成和原理(P418)8237A的組成和原理的組成和原理8237A的組成和原理的組成和原理(P420表表12-1)8237A的組成和原理的組成和原理8237A的組成和原理的組成和原理8237A的組成和原理的組成和原理8237A的組成和原理的組成和原理8237A的組成和原理的組成和原理8237A的組成和原理的組成和原理D7D6D5D4D3D2D1D08237A的組成和原理的組成和原理(1) 寫(xiě)單個(gè)通道屏蔽寄存器寫(xiě)單個(gè)通道屏蔽寄存器 ()4位,每位對(duì)應(yīng)一個(gè)通道。相應(yīng)位為位,每位對(duì)應(yīng)一個(gè)通道。相應(yīng)位為1時(shí),禁止請(qǐng)時(shí),禁止請(qǐng)求。求。8237可以寫(xiě)入兩種屏蔽字,地址不同??梢詫?xiě)入兩種屏蔽字,地址

11、不同。D7D6D5D4D3D2D1D0格式:格式:當(dāng)屏蔽位置位時(shí),該通道就禁止接受當(dāng)屏蔽位置位時(shí),該通道就禁止接受DREQ的的DMA請(qǐng)求信號(hào)。反之,屏蔽位復(fù)位則允許請(qǐng)求信號(hào)。反之,屏蔽位復(fù)位則允許DREQ的請(qǐng)求。的請(qǐng)求。當(dāng)某一通道進(jìn)行當(dāng)某一通道進(jìn)行DMA傳輸后,產(chǎn)生傳輸后,產(chǎn)生EOP信號(hào),則信號(hào),則這一通道在禁止自動(dòng)預(yù)置工作條件下的屏蔽位置這一通道在禁止自動(dòng)預(yù)置工作條件下的屏蔽位置“1”。必須再次編程,。必須再次編程, 使該通道屏蔽位復(fù)位,使該通道屏蔽位復(fù)位, 才能進(jìn)行下才能進(jìn)行下一次的一次的DMA傳輸。傳輸。8237A的組成和原理的組成和原理D7D6D5D4D3D2D1D0(2) 主屏蔽字主

12、屏蔽字()可用寫(xiě)入一條主屏蔽命令分別對(duì)可用寫(xiě)入一條主屏蔽命令分別對(duì)4個(gè)通道相應(yīng)位個(gè)通道相應(yīng)位進(jìn)行復(fù)位進(jìn)行復(fù)位(允許允許)及置位及置位(禁止禁止)DMA請(qǐng)求。請(qǐng)求。注意:注意:當(dāng)系統(tǒng)當(dāng)系統(tǒng)RESET復(fù)位或用軟件置位時(shí),主屏蔽復(fù)位或用軟件置位時(shí),主屏蔽寄存器各位均被置位,即禁止所有通道接受寄存器各位均被置位,即禁止所有通道接受DMA請(qǐng)請(qǐng)求。求。8237A的組成和原理的組成和原理當(dāng)芯片編程選擇操作方式為存儲(chǔ)器到存儲(chǔ)器傳輸當(dāng)芯片編程選擇操作方式為存儲(chǔ)器到存儲(chǔ)器傳輸時(shí),通道時(shí),通道0和通道和通道1交換的數(shù)據(jù)保存在暫存寄存器交換的數(shù)據(jù)保存在暫存寄存器(8位位),待傳輸全部完成后,最后一個(gè)傳輸數(shù)據(jù)仍保存在待

13、傳輸全部完成后,最后一個(gè)傳輸數(shù)據(jù)仍保存在被被CPU編程讀出,編程讀出, 在在DMA復(fù)位時(shí)被復(fù)位時(shí)被清除。清除。8237A的組成和原理的組成和原理8237A的組成和原理的組成和原理一個(gè)完整的一個(gè)完整的DMA傳輸過(guò)程必須經(jīng)過(guò)傳輸過(guò)程必須經(jīng)過(guò)4個(gè)階段:個(gè)階段: DMA請(qǐng)求。請(qǐng)求。DMA控制器控制器(8237)接受由接受由I/O設(shè)備發(fā)來(lái)設(shè)備發(fā)來(lái)的的DMA請(qǐng)求信號(hào)請(qǐng)求信號(hào)DREQ,并經(jīng)判優(yōu)后向總線裁決邏輯,并經(jīng)判優(yōu)后向總線裁決邏輯提出總線請(qǐng)求提出總線請(qǐng)求HRQ信號(hào)。信號(hào)。DMA響應(yīng)。由總線裁決邏輯對(duì)總線請(qǐng)求進(jìn)行裁決。響應(yīng)。由總線裁決邏輯對(duì)總線請(qǐng)求進(jìn)行裁決。 如如CPU不再對(duì)不再對(duì)DMA初始編程,則當(dāng)初始編程,則當(dāng)CPU完成當(dāng)前總線完成當(dāng)前總線周期后予以響應(yīng),允許進(jìn)行周期后予以響應(yīng),允許進(jìn)行DMA傳輸。傳輸。CPU放棄對(duì)總放棄對(duì)總線的控制權(quán),向線的控制權(quán),向8237 DMA控制器發(fā)出總線應(yīng)答信號(hào)控制器發(fā)出總線應(yīng)答信號(hào)HLDA。DMA傳輸。由傳輸。由DMA控制器控制總線,控制器控制總線, 發(fā)出相應(yīng)的發(fā)出相應(yīng)的地址與控制信息,地址與控制信息, 按要傳輸?shù)淖止?jié)數(shù)直接控制按要傳輸?shù)淖止?jié)數(shù)直接控制I/O接口接口與與R

溫馨提示

  • 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)論