資源描述:
《微型計(jì)算機(jī)接口技術(shù) 教學(xué)課件 作者 古輝 主編4章-DMA.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、第四章DMA技術(shù)1教學(xué)要點(diǎn)DMA傳送的特點(diǎn)DMA傳送的過(guò)程DMA傳送的方式DMA控制器DMA系統(tǒng)DMA傳送的應(yīng)用24.1DMA傳送的特點(diǎn)微機(jī)系統(tǒng)中微處理器與外設(shè)的數(shù)據(jù)傳送方式通??煞譃槿N:程序方式、中斷方式和DMA方式。DMA(DirectMemoryAccess)的傳送方式的特點(diǎn):讓存儲(chǔ)器與高速外設(shè)(例如硬盤)直接交換數(shù)據(jù),不需要CPU的干預(yù),減少了這個(gè)中間環(huán)節(jié),并且內(nèi)存地址的修改、傳送完畢的結(jié)束都使由硬件電路實(shí)現(xiàn)的,大大提高了傳輸速度。DMAC:DMA控制器34.2DMA傳送的過(guò)程44.3.1DM
2、A傳送的方式DMA傳送方式字節(jié)傳送方式數(shù)據(jù)塊傳送方式請(qǐng)求傳送方式級(jí)連方式51、單字節(jié)方式特點(diǎn):每次DMA傳送時(shí)僅傳送一個(gè)字節(jié),效率略低DMA傳送之間CPU有機(jī)會(huì)重新獲取總線控制權(quán)62、數(shù)據(jù)塊方式特點(diǎn):由DREQ啟動(dòng)就連續(xù)地傳送數(shù)據(jù)一次請(qǐng)求傳送一個(gè)數(shù)據(jù)塊,效率高整個(gè)DMA傳送期間CPU長(zhǎng)時(shí)間無(wú)法控制總線(無(wú)法響應(yīng)其他DMA請(qǐng)求、無(wú)法處理中斷等)73、請(qǐng)求方式特點(diǎn):DREQ信號(hào)有效就連續(xù)傳送數(shù)據(jù);DREQ信號(hào)無(wú)效,DMA傳送被暫時(shí)中止,8237A釋放總線,CPU可繼續(xù)操作;DREQ信號(hào)再次有效,DMA傳送就
3、繼續(xù)進(jìn)行。DMA操作可由外設(shè)利用DREQ信號(hào)控制傳送的過(guò)程84、級(jí)聯(lián)方式用于通過(guò)多個(gè)8237A級(jí)連以擴(kuò)展通道;第一級(jí)只起優(yōu)先權(quán)網(wǎng)絡(luò)的作用,實(shí)際的操作由第二級(jí)芯片完成;還可由第二級(jí)擴(kuò)展到第三級(jí)等。9級(jí)聯(lián)方式的連接104.3.2DMA傳送的類型DMA讀——把數(shù)據(jù)由存儲(chǔ)器傳送到外設(shè)。DMA寫(xiě)——把外設(shè)輸入的數(shù)據(jù)寫(xiě)入存儲(chǔ)器。DMA檢驗(yàn)——空操作。存儲(chǔ)器到存儲(chǔ)器傳輸。114.4DMA控制器DMA控制器有二種不同的作用:總線從模塊:CPU對(duì)DMAC進(jìn)行預(yù)置操作,也就是向DMAC寫(xiě)入內(nèi)存?zhèn)魉蛥^(qū)的首地址、傳送字節(jié)數(shù)和控
4、制字時(shí),DMAC相當(dāng)于一個(gè)外設(shè)接口,稱為總線從模塊或受控器??偩€主模塊:進(jìn)行DMA傳輸時(shí),CPU暫停對(duì)系統(tǒng)總線的控制,DMAC取得了對(duì)總線的控制權(quán),這時(shí)的DMAC稱為總線主模塊或主控器。124.4.18237A的引腳及內(nèi)部結(jié)構(gòu)內(nèi)部結(jié)構(gòu)和外部引腳都相對(duì)比較復(fù)雜應(yīng)用觀點(diǎn),內(nèi)部主要由兩類寄存器組成通道專用寄存器通道功用寄存器:控制和狀態(tài)寄存器131、內(nèi)部結(jié)構(gòu)142、8237A的引腳(1)請(qǐng)求與響應(yīng)信號(hào)DREQ0~DREQ3:DMA通道請(qǐng)求。HRQ:總線請(qǐng)求。8237A輸出有效的HRQ高電平,向CPU申請(qǐng)使用系
5、統(tǒng)總線。HLDA:總線響應(yīng)。8237A接受來(lái)自CPU的響應(yīng)信號(hào)HLDA,取得了總線的控制權(quán)。DACK0~DACK3:DMA通道響應(yīng)。15(2)DMA傳送控制信號(hào)A0~A7:地址線。DB0~DB7:數(shù)據(jù)線/高8位地址線。ADSTB:地址選通。DMA傳送開(kāi)始時(shí),輸出高有效,把在DB0~DB7上輸出的高8位地址鎖存在外部鎖存器中。AEN:地址允許。輸出高有效,將鎖存的高8位地址送入系統(tǒng)總線,與芯片此時(shí)輸出的低8位地址組成16位存儲(chǔ)器地址。16(2)DMA傳送控制信號(hào)(續(xù))MEMR*:存儲(chǔ)器讀。MEMW*:存儲(chǔ)
6、器寫(xiě)。IOR*:I/O讀。IOW*:I/O寫(xiě)。READY:準(zhǔn)備好。DMA傳送的S3下降沿檢測(cè)到為低時(shí),插入等待狀態(tài)Sw,直到READY為高才進(jìn)入第4個(gè)時(shí)鐘周期S4。EOP*:過(guò)程結(jié)束。DMA傳送過(guò)程結(jié)束,輸出一個(gè)低有效脈沖。外部輸入低脈沖信號(hào),則終結(jié)DMA傳送。17(3)處理器接口信號(hào)DB0~DB7:數(shù)據(jù)線。A0~A3:地址線。用以選擇芯片內(nèi)部寄存器。CS*:片選。IOR*:I/O讀。讀取8237A內(nèi)部寄存器。IOW*:I/O寫(xiě)。寫(xiě)入8237A內(nèi)部寄存器。CLK:時(shí)鐘。RESET:復(fù)位。184.4.28
7、237A的工作時(shí)序·空閑周期8237A的任一通道都沒(méi)有DMA請(qǐng)求時(shí)。8237A由微處理器控制作為一個(gè)接口芯片。CPU可對(duì)8237A編程,或從8237A讀取狀態(tài)。8237A采樣CS*選片信號(hào),該信號(hào)有效,CPU就要對(duì)8237A進(jìn)行讀/寫(xiě)操作。8237A還采樣通道的請(qǐng)求輸入信號(hào)DREQ,該信號(hào)有效,就進(jìn)入有效周期。進(jìn)入有效周期194.4.28237A的工作時(shí)序·有效周期8237A采樣到外設(shè)有DMA請(qǐng)求,就脫離空閑周期進(jìn)入有效周期。8237A作為系統(tǒng)的主控芯片,控制DMA傳送操作。DMA傳送借用系統(tǒng)總線完成,
8、其控制信號(hào)以及工作時(shí)序類似CPU總線周期。進(jìn)入DMA傳送時(shí)序20DMA傳送時(shí)序DB0~DB7DACKADSTBHRQDREQCLKS1S0S0SiSiS3S2S4S3S2SiSiS4HLDAAENA0~A7MEMR(IOR)IOW(MEMW)S1狀態(tài)——輸出16位存儲(chǔ)器地址AEN輸出高電平,表示DMA傳送S2狀態(tài)——輸出16位RAM地址和發(fā)DACK信號(hào)尋址I/O設(shè)備DMA讀:MEMR*DMA寫(xiě):IOR*S3狀態(tài)——送出寫(xiě)操作所需的控制信號(hào)D