第八章8237A.ppt_第1頁(yè)
第八章8237A.ppt_第2頁(yè)
第八章8237A.ppt_第3頁(yè)
第八章8237A.ppt_第4頁(yè)
第八章8237A.ppt_第5頁(yè)
已閱讀5頁(yè),還剩66頁(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、,王慧玲,Direct Memory Access Controller,DMA控制器,問(wèn)題引入,-交作業(yè),上課時(shí)間,大家將手里的作業(yè)交到我所在的講桌上。,我,CPU,作業(yè),數(shù)據(jù),源地址 大家手上,目的地址 講桌,外設(shè),內(nèi)存,問(wèn)題引入,-交作業(yè),如果采用第七章的中斷技術(shù),其整個(gè)過(guò)程如下:,同學(xué)舉手提出交作業(yè)申請(qǐng),我同意提交, 暫停上課,第一位同學(xué)提交作業(yè),提交完畢,我繼續(xù)上課,問(wèn)題引入,-交作業(yè),如果采用第七章的中斷技術(shù),存在問(wèn)題1:,每個(gè)同學(xué)交作業(yè)之前都需要向我申請(qǐng),需要申請(qǐng)108次,另外我需要響應(yīng)108次申請(qǐng)。(即外設(shè)每次申請(qǐng)只傳輸一個(gè)字節(jié)的數(shù)據(jù)。)-即申請(qǐng)次數(shù)繁多。 解決思路:只需某一位

2、同學(xué)申請(qǐng),其它同學(xué)無(wú)需申請(qǐng)直接提交。,問(wèn)題引入,-交作業(yè),如果采用第七章的中斷技術(shù),存在問(wèn)題2:,I/O,cpu,M,data,大家 手上,我,講桌,作業(yè),作業(yè),data,data,8.1 DMA控制器概要 8.2 8237A的編程結(jié)構(gòu)和外部引腳 8.3 8237A的工作模式和模式寄存器 8.4 8237A的工作時(shí)序 8.5 8237A的控制寄存器和狀態(tài)寄存器 8.6 8237A各寄存器對(duì)應(yīng)的端口地址,目錄,8.1 DMA控制器概述,一、DMA控制器概念:,DMA(Direct Memory Access):直接存儲(chǔ)器存取技術(shù),是一種不需要CPU干預(yù)也不需要軟件介入的高速數(shù)據(jù)傳送方式。 CPU

3、只是啟動(dòng)DMA過(guò)程,但是不干預(yù)這一過(guò)程,整個(gè)DMA過(guò)程是由硬件自動(dòng)完成的,也不需要軟件的介入。 在DMA控制器的控制下,可以實(shí)現(xiàn)外設(shè)到和內(nèi)存,內(nèi)存到內(nèi)存的數(shù)據(jù)傳輸。,無(wú)需CPU指令,8.1 DMA控制器概述,二、DMA控制器工作過(guò)程:,DMA控制器的工作過(guò)程分為四個(gè)階段,分別是: 申請(qǐng)階段 響應(yīng)階段 數(shù)據(jù)傳送階段 傳送結(jié)束階段。,8.1 DMA控制器概述,二、DMA控制器工作過(guò)程-申請(qǐng)階段,1.外設(shè)向DMAC發(fā)出DMA請(qǐng)求信號(hào)DREQ(DMA Request); 2. DMAC向CPU發(fā)總線請(qǐng)求信號(hào)HRQ(Hold Request)。,8.1 DMA控制器概述,二、DMA控制器工作過(guò)程-響應(yīng)階

4、段,1. CPU向DMA發(fā)總線保持回答信號(hào)HLDA。 狀態(tài): CPU讓出總線,DMAC為主控者。,8.1 DMA控制器概述,二、DMA控制器工作過(guò)程-數(shù)據(jù)傳送階段,1. DMAC向外設(shè)發(fā)DMA請(qǐng)求回答信號(hào),選中外設(shè)。 2. 并通過(guò)AB選中內(nèi)存單元 3. 通過(guò)DB將數(shù)據(jù)從源端傳送到目的端。,8.1 DMA控制器概述,二、DMA控制器工作過(guò)程-傳送結(jié)束階段,1.數(shù)據(jù)傳送完畢,DMAC傳送外設(shè)“過(guò)程結(jié)束”信號(hào)。 2.向CPU交回總線,CPU重新獲得總線的控制權(quán)。,問(wèn)題思考,CPU能不能完成DMAC控制器內(nèi)存到內(nèi)存,內(nèi)存與I/O直接的數(shù)據(jù)傳輸功能呢?,原因:1.CPU的選中外設(shè)與內(nèi)存的 引腳是M/IO

5、,答:不能,2.CPU的地址線只有一組。,8.1 DMA控制器概述,幾種常見(jiàn)DMAC,主菜單,8.2 8237A的編程結(jié)構(gòu)和外部引腳,一、8237A的主要特點(diǎn):,(1)一個(gè)芯片中有4個(gè)獨(dú)立的DMA通道。 (2)可以實(shí)現(xiàn)內(nèi)存與外設(shè),內(nèi)存與內(nèi)存的數(shù)據(jù)傳輸。 (3)每一個(gè)通道的DMA請(qǐng)求都可以被允許或禁止。 (4)每個(gè)通道的DMA請(qǐng)求有不同的優(yōu)先級(jí),即可以是 固定優(yōu)先級(jí),也可以是循環(huán)優(yōu)先級(jí)。 (5)每個(gè)通道一次傳送的最大字節(jié)數(shù)為64KB。 (6)8237A提供4種傳送方式:?jiǎn)巫止?jié)傳送方式、數(shù)據(jù) 傳送方式、請(qǐng)求傳送方式和級(jí)連傳送方式。,二、8237A的編程結(jié)構(gòu)圖(1):,模式寄存器,8.2.1 823

6、7A的編程結(jié)構(gòu),8.2.1 8237A的編程結(jié)構(gòu),二、8237A的編程結(jié)構(gòu)圖(2):,8.2.1 8237A的外部引腳,三、8237A的外部引腳-引腳圖:,8237A是有40個(gè)引腳的雙列直插式芯片。 40個(gè)引腳分成兩組:一組與CPU的連接;一組與I/O接口的連接。,8.2.1 8237A的外部引腳,三、8237A的外部引腳:,1.DREQ0-DREQ3:(DMA Request)DMA請(qǐng)求信號(hào)。輸入,信號(hào)極性可編程決定 2.HRQ(Hold Request) :總線請(qǐng)求信號(hào)。輸出,高電平有效。 8237A向CPU請(qǐng)求使用總線。 3.HLDA(Hold Acknowledge):總線響應(yīng)信 號(hào)。

7、輸入,高電平有效。CPU對(duì)HRQ的回答,表示已讓出總線控制權(quán)。 4.DACK0-DACK3:(DMA Acknowledge)DMA應(yīng)答信號(hào)。輸出,信號(hào)極性可編程決定。,8.2.1 8237A的外部引腳,三、8237A的外部引腳:,5.A3-A0:(Adress)地址信號(hào)。雙向,作為主模塊時(shí),輸出16位地址中的A3-A0。做為從模塊時(shí),輸入,選中某個(gè)寄存器。 6.A7-A4:(Adress)地址信號(hào)。輸出16位地址中的A7-A4。 7.DB7-DB0:(Data Bus)數(shù)據(jù)線。雙向,8位數(shù)據(jù)線,傳送CPU的控制命令,和內(nèi)部寄存器的內(nèi)容。,8.2.1 8237A的外部引腳,三、8237A的外部

8、引腳:,8. IOR:(I/O Read)I/O讀信號(hào)。三態(tài)雙向,低電平有效。作主模塊時(shí):輸出,給I/O設(shè)備發(fā)讀命令。作從模塊時(shí):輸入,接收來(lái)自CPU的讀命令。 9.IOW:(I/O Write)I/O寫(xiě)信號(hào)。三態(tài)雙向,低電平有效。作主模塊時(shí):輸出,給I/O設(shè)備發(fā)寫(xiě)命令。作從模塊時(shí):輸入,接收來(lái)自CPU的寫(xiě)命令 10.MEMR:(Memory Read)存儲(chǔ)器讀命令。輸出,低電平有效。 11.MEMW:(Memory Write)存儲(chǔ)器寫(xiě)命令。輸出,低電平有效。,8.2.1 8237A的外部引腳,三、8237A的外部引腳:,12. CLK:(clock )時(shí)鐘信號(hào)。輸入,8237A:最高3MH

9、Z. 8237A-5:最高5MHZ. 13. CS:(Chip Slected)片選信號(hào)。輸入,低電平有效。 14. RESET:復(fù)位信號(hào)。輸入,高電平有效。8237內(nèi)部寄存器清0,屏蔽寄存器置1,8237A處于狀態(tài),允許CPU訪問(wèn)。 15.READY:就緒信號(hào)。輸入,低速設(shè)備可通過(guò)給此引腳加低電平來(lái)延長(zhǎng)總線周期。,8.2.1 8237A的外部引腳,三、8237A的外部引腳:,16. AEN:(Adress Enable)地址允許信號(hào)。輸出,高電平有效。表示允許8237A的16位地址送到AB。 17. ADSTB:(Adress Strobe)地址選通信號(hào)。輸出,低電平有效。表示DB7-DB0

10、輸出的是高8位地址。利用該信號(hào)將這8位地址打入地址鎖存器。 18. EOP:(End of Process)傳輸過(guò)程結(jié)束信號(hào),雙向,低電平有效。輸入:強(qiáng)迫8237A結(jié)束DMA操作。輸出:通過(guò)外設(shè)DMA傳送結(jié)束。,8.2 8237A的編程結(jié)構(gòu)和外部引腳,二、8237A的外部引腳-與外部的連接圖:,那對(duì)于20位地址線8237如何處理?,在8086/88系統(tǒng)中,系統(tǒng)的尋址范圍是1MB,地址線有20條,即A0A19。為了能夠在8086/88系統(tǒng)中使用8237來(lái)實(shí)現(xiàn)DMA,需要用硬件提供一組4位的頁(yè)寄存器。 通道0、1、2、3各有一個(gè)4位的頁(yè)寄存器。在進(jìn)行DMA傳送之前,這些頁(yè)寄存器可利用I/O地址來(lái)裝

11、入和讀出。當(dāng)進(jìn)行DMA傳送時(shí),DMAC將A0A15放在系統(tǒng)總線上,同時(shí)頁(yè)寄存器把A16A19也放在系統(tǒng)總線上,形成A0A19這20位地址信號(hào)實(shí)現(xiàn)DMA傳送。其地址產(chǎn)生如圖所示。,主菜單,主菜單,27,8237,暫存器,內(nèi)存,內(nèi)存,A0A15,MEMW,MEMR,D0D7,內(nèi)存到內(nèi)存的傳輸,D0D7,DMA只有一組地址線,如果實(shí)現(xiàn)內(nèi)存到內(nèi)存的數(shù)據(jù)傳輸呢?,8.3 8237A的工作方式,8237A的工作狀態(tài) 8237A的工作模式 8237A的傳送類(lèi)型 8237A的優(yōu)先級(jí),一、8237A的工作狀態(tài),1.主模塊:接管并取得總線控制權(quán),取代CPU而成為系統(tǒng)的 主控者。DMAC通過(guò)三總線向M或I/O發(fā)出地

12、址碼及 讀/寫(xiě)信號(hào),以控制M和I/O設(shè)備之間的數(shù)據(jù)傳送。 2.從模塊:未取得總線控制時(shí),同于其他 I/O設(shè)備,受CPU 的控制。這時(shí),CPU對(duì)DMAC進(jìn)行初始化操作或從 DMAC讀取狀態(tài)信息。,8.3 8237A的工作方式,返回,二、8237A工作模式(1),1.單字節(jié)傳輸模式:在單字節(jié)傳輸方式下,DMA控制器每次請(qǐng)求總線只傳送一個(gè)字節(jié)數(shù)據(jù),傳送完后即釋放總線控制權(quán)。 2.塊傳輸模式:指DMA控制器每次請(qǐng)求總線連續(xù)傳送一個(gè)數(shù)據(jù)塊,待整個(gè)數(shù)據(jù)塊全部傳送完成后再釋放總線控制權(quán)。 由DREQ啟動(dòng)就連續(xù)地傳送數(shù)據(jù),直到字節(jié)數(shù)寄存器從0減 到FFFFH終止計(jì)數(shù),或由外部輸入有效信號(hào)終結(jié)DMA傳送 DRE

13、Q只需維持有效到DACK有效,8.3 8237A的工作方式,二、8237A工作模式(續(xù)),3.請(qǐng)求傳輸模式:此方式與塊傳輸方式基本類(lèi)似,不同的是每傳輸完一個(gè)字節(jié),DMA控制器都要檢測(cè)由I/O接口發(fā)來(lái)的DMA請(qǐng)求信號(hào)是否仍然有效,如果該信號(hào)仍有效,則繼續(xù)進(jìn)行DMA傳輸;否則,就暫停傳輸,交還總線控制權(quán)給CPU,直至DMA請(qǐng)求信號(hào)再次變?yōu)橛行?,?shù)據(jù)塊傳輸則從剛才暫停的那一點(diǎn)繼續(xù)進(jìn)行下去。,8.3 8237A的工作方式,二、8237A工作模式(續(xù)),4.級(jí)聯(lián)傳輸模式:在系統(tǒng)中有多片8237A,構(gòu)成主從式DMA系統(tǒng)。級(jí)聯(lián)的辦法是把從片的HRQ端與主片的DREQ端聯(lián)。,8.3 8237A的工作方式,返回

14、,三、8237A傳送類(lèi)型,1.DMA讀:,3.DMA校驗(yàn):這是一種偽傳輸,實(shí)際上是校驗(yàn)8237A芯片內(nèi)部的讀寫(xiě)信號(hào),在這種傳輸中,8237A芯片如同DMA讀和DMA寫(xiě)一樣,產(chǎn)生地址及響應(yīng)信號(hào),但禁止實(shí)際傳輸。,2.DMA寫(xiě):,內(nèi)存 I/O ;MEMR 和IOW,8.3 8237A的工作方式,返回,四、8237A的優(yōu)先級(jí),1.固定優(yōu)先級(jí):四通道優(yōu)先級(jí)固定,通道1最高,通道3最低。即:DREQ0-DREQ3 2.循環(huán)優(yōu)先級(jí):優(yōu)先級(jí)相同。當(dāng)某一通道被響應(yīng)且服務(wù)后,它就被指定為最你優(yōu)先級(jí),下一通道就為最高優(yōu)先級(jí)。,注意:DMA禁止嵌套,優(yōu)先級(jí)排除只在DMA響應(yīng)前有效,DMA響應(yīng)后無(wú)效。,8.3 823

15、7A的工作方式,返回,主菜單,8237A有兩種工作時(shí)序:空閑周期和操作周期(有效周期)。 全部的工作周期分為7種狀態(tài)(時(shí)鐘周期):空閑態(tài)SI、起始態(tài)S0、傳送態(tài)S1、S2、S3、S4、等待態(tài)SW 。,8.4 8237A的工作時(shí)序,一、空閑周期 在沒(méi)有DMA請(qǐng)求時(shí),8237A就空閑周期,執(zhí)行連續(xù)的空閑狀態(tài)SI,在空閑周期內(nèi),每個(gè)SI狀態(tài)都要進(jìn)行兩種檢測(cè): 1.檢測(cè)有無(wú)信號(hào):以確定有無(wú)CPU對(duì)8237A的操作要求。若信號(hào)有效,則表明CPU要求8237A進(jìn)行讀寫(xiě)操作,此時(shí)8237A作為從態(tài)工作,作為CPU的一個(gè)I/O接口。進(jìn)行編程狀態(tài),受CPU的控制。對(duì)8237A的初始化工作就在這種狀態(tài)下實(shí)現(xiàn)的。,

16、8.4 8237A的工作時(shí)序,一、空閑周期 2.檢測(cè)有無(wú)DREQ信號(hào)。以確定有無(wú)I/O設(shè)備送來(lái)的DMA請(qǐng)求。若有DREQ有效,則產(chǎn)生總線請(qǐng)求HRQ,從SI狀態(tài)進(jìn)入S0狀態(tài),此時(shí),8237A以主態(tài)工作,以后的工作由8237A控制。,8.4 8237A的工作時(shí)序,二、操作周期 8237A在空閑周期內(nèi)檢測(cè)出DMA請(qǐng)求有效后,便進(jìn)入操作周期,操作周期有6種狀態(tài),起始態(tài)S0、工作狀態(tài)態(tài)S1、S2、S3、S4、等待態(tài)SW 。 8237A的狀態(tài)轉(zhuǎn)換。 SI 空親狀態(tài):檢測(cè)CS DREQ S0:起始態(tài),過(guò)度態(tài),從發(fā)出HRQ到HLDA有效前 S1:工作狀態(tài)1:準(zhǔn)備高8位地址 S2:工作狀態(tài)2:提供16位地址 S

17、3:工作狀態(tài)3:發(fā)讀信號(hào) S4:工作狀態(tài)4:發(fā)寫(xiě)信號(hào) SW:等待狀態(tài),8.4 8237A的工作時(shí)序,正常時(shí)序:S1 S2 S3 S4 壓縮時(shí)序:S2 S4 擴(kuò)展時(shí)序:S1 S2 S4,8.4 8237A的工作時(shí)序,主菜單,8237A內(nèi)部狀態(tài)變化流程,8.4 8237A的工作時(shí)序,主菜單,通過(guò)對(duì)方式字寄存器的編程,可以設(shè)備某個(gè)通道為自動(dòng)初始化方式。 自動(dòng)初始化方式的功能: 當(dāng)該通道完成一個(gè)數(shù)據(jù)傳送并產(chǎn)生信號(hào)時(shí),用基地址寄存器和基字節(jié)寄存器的內(nèi)容,使相應(yīng)的當(dāng)前地址寄存器和當(dāng)前字節(jié)計(jì)數(shù)器恢復(fù)初值。 自動(dòng)初始化,通道就做好了另一次數(shù)據(jù)傳送的準(zhǔn)備。,8.4 8237A的初始化方式,主菜單,利用這種方式,

18、可以使數(shù)據(jù)塊從一個(gè)存儲(chǔ)空間傳磅到另一個(gè)存儲(chǔ)空間,將程序的影響和傳輸時(shí)間減到最小。 這種方式要占用8237A的2個(gè)通道。由通道0提供源地址,通道1提供目的地址。通道1的字節(jié)計(jì)數(shù)器編程為傳送的字節(jié)數(shù)。傳送由設(shè)置一個(gè)通道0的軟件DREQ啟動(dòng)。8237A按正常方式向CPU發(fā)出HRQ,當(dāng)CPU發(fā)出總線響應(yīng)信號(hào)HLDA后,DMA傳送即可開(kāi)始。,8.4 8237A的初始化方式,主菜單,8.5 8237A的寄存器,主菜單,-模式寄存器,8.5 8237A的寄存器,主菜單,8.5 8237A的寄存器,主菜單,-請(qǐng)求寄存器,8.5 8237A的寄存器,主菜單,-屏蔽寄存器,8237A每個(gè)通道有一位“屏蔽位”,當(dāng)其通道的“屏蔽位”置1時(shí),則外部對(duì)應(yīng)的DREQ信號(hào)被屏蔽,

溫馨提示

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