




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 北京工業(yè)大學(xué)計算機學(xué)院1第十二章 DMA控制器 8237A 北京工業(yè)大學(xué)計算機學(xué)院2本章主要內(nèi)容8237A的組成和工作原理8237A的內(nèi)部結(jié)構(gòu)8237A的引腳功能8237A的內(nèi)部寄存器8237A的時序 外設(shè)和內(nèi)存間的DMA數(shù)據(jù)傳送時序空閑周期、有效周期和擴展寫周期8237A的編程和應(yīng)用舉例PC/XT機中的DMA控制邏輯8237A的一般編程方法PC/XT機中的DMA控制器的使用 北京工業(yè)大學(xué)計算機學(xué)院3DMA的基本概念 DMA(Driect Memory Access)技術(shù)是一種代替微處理器完成存儲器與外部設(shè)備或存儲器之間大量數(shù)據(jù)傳送的方法,也稱直接存儲器存取方法。 DMA的主要優(yōu)點是當(dāng)需要把
2、一個外設(shè)的大量數(shù)據(jù)送到指定內(nèi)存時,它可以自動完成傳送任務(wù),也就是說外設(shè)發(fā)出一個DMA請求,則DMA電路暫停CPU的操作,并控制外設(shè)與內(nèi)存之間進行一次傳輸,然后再讓CPU繼續(xù)執(zhí)行程序,這樣就使CPU節(jié)省了大量對外設(shè)的查詢時間,從而提高了系統(tǒng)的整體性能。 利用DMA方式傳送數(shù)據(jù),傳送過程完全由硬件控制,這種硬件電路稱為DMA控制器。 北京工業(yè)大學(xué)計算機學(xué)院4DMA的基本概念 DMA控制器的基本功能: 向CPU提出DMA請求,加到CPU的HOLD引腳上。CPU在允許狀態(tài)下響應(yīng)DMA請求,讓出總線,DMA控制器獲得對總線的控制權(quán)。在DMA期間,DMA控制器提供讀/寫存儲器或I/O設(shè)備的各種控制信號。
3、確定數(shù)據(jù)傳輸?shù)钠鹗嫉刂泛蛿?shù)據(jù)的長度,每傳送一字節(jié),自動修改地址,是地址增1或減1,數(shù)據(jù)長度減1數(shù)據(jù)傳送完畢,能發(fā)出結(jié)束DMA傳送的信號,將總線控制權(quán)交還給CPU。 北京工業(yè)大學(xué)計算機學(xué)院5 實現(xiàn)DMA操作主要靠DMA控制器,其結(jié)構(gòu)相當(dāng)復(fù)雜。在DMA操作期間,CPU停止了工作,而由DMAC代替CPU進行工作,因此它必須具備CPU的尋址及數(shù)據(jù)傳送能力,這主要包括如下幾點: (1) DMA控制器必須提供地址碼以指明I/O設(shè)備變換數(shù)據(jù)的存儲器起始地址; (2) DMA控制器必須提供讀/寫脈沖,以規(guī)定數(shù)據(jù)在存儲器與I/O設(shè)備之間的傳輸方向; (3) DMA控制器必須修改內(nèi)存地址指針并計算傳送的字節(jié)數(shù),以
4、判斷什么時候傳送結(jié)束。DMA的基本概念 北京工業(yè)大學(xué)計算機學(xué)院612.1 8237A的組成和工作原理 8237A的特點 8237A內(nèi)部有4個獨立的通道每個通道具有64K地址和字節(jié)計數(shù)能力具有4種傳送方式:但字節(jié)傳送、數(shù)據(jù)塊傳送、請求傳送和級聯(lián)傳送方式(可擴大通道數(shù))對每個通道的DMA請求可以允許和禁止。4個通道有不同的優(yōu)先級,可以固定,可以循環(huán)。DMA完成后會產(chǎn)生過程結(jié)束信號EOP,同時結(jié)束DMA傳送,還可以從外界輸入EOP信號,中止DMA傳送。 北京工業(yè)大學(xué)計算機學(xué)院712.1 8237A的組成和工作原理 8237A DMA控制器的兩種工作狀態(tài):主態(tài)和從態(tài) DMA控制器未取得總線控制權(quán),CP
5、U對DMA控制器進行編程,以確定通道的選擇、數(shù)據(jù)傳送的方式和類型、內(nèi)存單元起始地址,地址遞增或遞減、傳送的總字節(jié)數(shù)的設(shè)置及讀取DMA控制器的狀態(tài)。DMA控制器和其他I/O芯片一樣稱為從態(tài)方式。DMA控制器取得總線控制權(quán)后,系統(tǒng)完全在他的控制下,使I/O設(shè)備和存儲器之間或者存儲器和存儲器之間進行直接的數(shù)據(jù)傳送。稱為主態(tài)方式。 北京工業(yè)大學(xué)計算機學(xué)院8一、8237A的內(nèi)部結(jié)構(gòu) 8237A 內(nèi)部結(jié)構(gòu)如圖12.1所示,主要有5部分組成: 時序與控制邏輯:8237A處于從態(tài)時,該部分電路接收系統(tǒng)送來的時鐘、復(fù)位、片選和讀/寫控制等信號,A0A3有16個I/O地址。主態(tài)時則向系統(tǒng)發(fā)出相應(yīng)的控制信號。優(yōu)先級
6、編碼電路:根據(jù)CPU對8237A初始化時的命令,對同時提出DMA請求的多個通道進行排隊判優(yōu),以決定哪一個通道的優(yōu)先級最高。優(yōu)先級管理有兩種方式:固定優(yōu)先級和循環(huán)優(yōu)先級一旦某個優(yōu)先級高的設(shè)備在服務(wù)時,其他通道的請求都被禁止,直到服務(wù)結(jié)束時為止 北京工業(yè)大學(xué)計算機學(xué)院9一、8237A的內(nèi)部結(jié)構(gòu)數(shù)據(jù)和地址緩沖器組8237A的A7A4,A3A0為地址線;DB0DB7在從態(tài)時傳輸數(shù)據(jù)信息,主態(tài)時傳送地址/數(shù)據(jù)信息,這些數(shù)據(jù)、地址線都與三態(tài)緩沖器相連,可接管和釋放總線。命令控制邏輯在從態(tài)時接收CPU送來的寄存器選擇信號,選擇8237A內(nèi)部相應(yīng)的寄存器;主態(tài)時,對方式字的最低量為進行姨媽,以確定DMA的操作
7、類型。A3A0與IOR和IOW配合可組成各種操作命令。 北京工業(yè)大學(xué)計算機學(xué)院10一、8237A的內(nèi)部結(jié)構(gòu)內(nèi)部寄存器組每個通道都有一個16位的基地址寄存器、基字計數(shù)器、當(dāng)前地址寄存器、當(dāng)前字計數(shù)器;4個通道,每個通道由一個 6位工作方式;還有一個命令寄存器、屏蔽寄存器、請求寄存器、狀態(tài)寄存器和暫存寄存器上述寄存器可進行編程設(shè)置字數(shù)暫存器和地址暫存器不可編程 北京工業(yè)大學(xué)計算機學(xué)院11 北京工業(yè)大學(xué)計算機學(xué)院12二、8237A的引腳功能 40引腳雙列直插,其引腳如圖12-2其引腳功能為 北京工業(yè)大學(xué)計算機學(xué)院13CLK:時鐘信號,輸入,用來控制8237A內(nèi)部操作和數(shù)據(jù)傳送速率,3MHz,8237
8、A-5的時鐘頻率可為5MHzCS:片選信號,輸入,低電平有效。READY:準(zhǔn)備好,輸入,高電平有效,當(dāng)參與DMA傳送的設(shè)備中有慢速I/O設(shè)備或存儲器時,使用READY信號可在DMA周期中插入等待周期Tw。A3A0:DMA為從態(tài)方式,輸入。對8237內(nèi)部寄存器尋址;DMA為主態(tài)方式:輸出。地址總線的低4位地址A3A0。A7A4:DMA為主態(tài)方式,輸出,地址總線A7A4。DB7DB0:輸入/輸出。DMA為從態(tài)方式:數(shù)據(jù)總線;DMA為主態(tài)方式,高8位的地址信號輸出DB7DB0 A15 A8,由ADSTB信號鎖存到地址鎖存器中,和A7A3構(gòu)成16位地址。存儲器到存儲器傳送方式時,由此引腳送入暫存寄存器
9、中暫存再寫道目的存儲單元中。二、8237A的引腳功能 北京工業(yè)大學(xué)計算機學(xué)院14AEN:地址允許信號,輸出,高電平有效。輸出16位地址,同時封鎖CPU相連的地址鎖存器。ADSTB:地址選通信號,輸出,高電平有效。使高8位地址DB7DB0 送入外部鎖存器中。IOR:I/O讀信號,雙向,低電平有效。DMA為從態(tài)方式:輸入。CPU讀DMA內(nèi)部寄存器;DMA為主態(tài)方式:輸出。與MEMW向配合,控制數(shù)據(jù)由外設(shè)處送到存儲器IOW:I/O寫信號,雙向,低電平有效。DMA為從態(tài)方式:輸入。CPU向DMA內(nèi)部寄存器中寫入信息;DMA為主態(tài)方式:輸出。與MEMR向配合,控制數(shù)據(jù)從存儲器到外設(shè)MEMR:存儲器讀,輸
10、出,低電平有效。 DMA為主態(tài)方式,即可與IOW配合把 數(shù)據(jù)從存儲器讀出送外設(shè),也可控制內(nèi)存間數(shù)據(jù)傳送,使數(shù)據(jù)從源地址中讀出。從態(tài)無效MEMW:存儲器寫,輸出,低電平有效。 DMA為主態(tài)方式,即可與IOR配合把 數(shù)據(jù)從外設(shè)寫入存儲器,也可控制內(nèi)存間數(shù)據(jù)傳送,控制把數(shù)據(jù)寫入目的地址。二、8237A的引腳功能 北京工業(yè)大學(xué)計算機學(xué)院15DREQ :通道30的DMA請求信號,輸入。當(dāng)外設(shè)申請DMA服務(wù)時,就向此引腳送出有效的電平信號,有效電平由編程確定,固定優(yōu)先級時DREQ0優(yōu)先級最高, DREQ3優(yōu)先級最低。優(yōu)先級可通過編程改變 DACK:通道30的DMA響應(yīng)信號,輸出。有效電平由編程確定,當(dāng)82
11、37A收到CPU的DMA相應(yīng)信號HLDA,開始DMA傳送后,相應(yīng)通道的DACK有效,通知外部電路已進入DMA周期。HRQ:保持請求信號,輸出,高電平有效。接到CPU的HOLD端,向CPU申請總線控制權(quán)的DMA請求信號HLDA:保持相應(yīng)信號,輸入,高電平有效。接到HLDA信號后,開始進行DMA傳送。EOP:傳輸過程結(jié)束信號,雙向,低電平有效。當(dāng)DMA控制器的任意通道中的字計數(shù)器減為0,再減為FFFFH,中止計數(shù)時,在EOP引腳輸出低電平;8237A也允許從外部輸入一個低電平到EOP引腳,強制DMA計數(shù)結(jié)束。二、8237A的引腳功能 北京工業(yè)大學(xué)計算機學(xué)院168237A的內(nèi)部可編程寄存器有10種見
12、表12-1,其內(nèi)容可有CPU讀出或按要求寫入三、8237A的內(nèi)部寄存器名稱位數(shù)數(shù) 量當(dāng)前地址寄存器當(dāng)前字計數(shù)寄存器基地址寄存器基字計數(shù)寄存器工作方式寄存器命令寄存器狀態(tài)寄存器請求寄存器屏蔽寄存器暫存寄存器161616166884484 (每通道一個)4 (每通道一個)4 (每通道一個)4 (每通道一個)4 (每通道一個)1 (4個通道公用1個)1 (4個通道公用1個)1 (每通道一個) 1 (每通道一個)1 (每通道一個) 北京工業(yè)大學(xué)計算機學(xué)院17 北京工業(yè)大學(xué)計算機學(xué)院181、當(dāng)前地址寄存器:用于存放DMA傳送的存儲器地址值,CPU可寫入初值,可讀出此寄存器的值,讀/寫操作分兩次進行,若編
13、程為自動預(yù)置操作,EOP后會自動將基地址的值重新裝入。2、當(dāng)前字計數(shù)寄存器:初值比實際傳送的字節(jié)數(shù)少1,減為FFFFH,將產(chǎn)生中止計數(shù)信號。若編程為自動預(yù)置操作, EOP后會自動將基字計數(shù)寄存器的值重新裝入。3、基地址寄存器:用于存放對應(yīng)通道當(dāng)前地址寄存器的初值,該值是在CPU對DMA控制器進行編程時與當(dāng)前地址寄存器的值一起被寫入,兩個寄存器有相同的端口,寫入時內(nèi)容相同。主要目的在于,當(dāng)執(zhí)行自動預(yù)置操作時,使當(dāng)前地址寄存器恢復(fù)到初值4、基字計數(shù)寄存器:用于當(dāng)前字計數(shù)寄存器的初值,該值是在CPU對DMA控制器進行編程時與當(dāng)前字計數(shù)寄存器的值一起被寫入,兩個寄存器有相同的端口,寫入時內(nèi)容相同。主要
14、目的在于,當(dāng)執(zhí)行自動預(yù)置操作時,使當(dāng)前字計數(shù)寄存器恢復(fù)到初值。三、8237A的內(nèi)部寄存器 北京工業(yè)大學(xué)計算機學(xué)院195、命令寄存器:8位寄存器,由CPU對它進行編程,設(shè)置8237A的操作方式,復(fù)位時將其清除。格式見圖12-3或見后面的圖6、工作方式寄存器:每個通道都有一個6位的寄存器,用于選擇DMA的傳送方式和類型,見圖12-4 4個通道的方式寄存器使用相同的I/O端口地址,由D1D0選擇讀傳送:將數(shù)據(jù)從存儲器傳送到I/O設(shè)備,8237A發(fā)出MEMR和IOW信號;寫傳送將數(shù)據(jù)從I/O設(shè)備傳送到存儲器,8237A發(fā)出IOR和MEMW信號;校驗傳送時一種偽傳送,會產(chǎn)生地址信息和EOP信號,不產(chǎn)生讀
15、寫控制信號,進行測試時使用。三、8237A的內(nèi)部寄存器 北京工業(yè)大學(xué)計算機學(xué)院20單字節(jié)傳送方式:進行一次DMA傳送,只傳送一個字節(jié)的數(shù)據(jù),傳送后計數(shù)器減1或加1,HRQ無效,釋放總線。若DREQ一直保持有效,可進入下一次DMA傳送。數(shù)據(jù)塊傳輸 方式:連續(xù)傳輸數(shù)據(jù),直到數(shù)據(jù)傳送完畢,字計數(shù)器減為0再減為ffffH,或外部產(chǎn)生EOP信號時,8237A才釋放總線。結(jié)束DMA傳輸。請求傳送方式:和數(shù)據(jù)塊傳輸方式類似,但傳輸中檢測DREQ信號,若無效則暫時停止,有效是再繼續(xù)。級聯(lián)傳輸方式,將多個8237A連在一起,以便擴大系統(tǒng)的DMA通道,如圖12-5,編程時主片應(yīng)置為級聯(lián)方式,從片不用設(shè)成級聯(lián)方式。
16、 三、8237A的內(nèi)部寄存器 北京工業(yè)大學(xué)計算機學(xué)院218237控制器/命令寄存器的格式:如為1:則進行存儲器到存儲器傳輸D0=1時,如D1=1,則源地址保持不變0 啟動8237工作1 停止8237工作0 普通時序1 壓縮時序0 固定優(yōu)先級1 循環(huán)優(yōu)先級0 不擴展寫信號1 擴展寫信號0 DREQ高電平有效1 DREQ低電平有效0 DACK低電平有效1 DACK高電平有效D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 北京工業(yè)大學(xué)計算機學(xué)院228237工作方式寄存器通道選擇 0 0 通道 0 1 通道 1 0 通道 1 1 通道傳輸類型選擇 0 0 校驗傳輸 0 1
17、寫傳輸 1 0 讀傳輸 1 1 無意義自動預(yù)置功能選擇 0 禁止 1 允許地址增減選擇 0 地址加 1 地址減方式選擇 0 0 請求傳輸方式 0 1 單字節(jié)傳輸方式 1 0 塊傳輸方式 1 1 級聯(lián)傳輸方式D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 北京工業(yè)大學(xué)計算機學(xué)院237、請求寄存器:4位寄存器,對應(yīng)每個通道的DMA請求信號DERQ。當(dāng)8237A工作于數(shù)據(jù)塊傳送時,也可用軟件方法使請求位置1或清0,請求字格式見圖12-6或見后面的圖8、屏蔽寄存器:4位寄存器,對應(yīng)每個通道。相應(yīng)位置1禁止DREQ的DMA請求,復(fù)位時允許DERQ請求。某通道禁止自動預(yù)置方式,
18、該通道產(chǎn)生EOP信號時,屏蔽位置位,禁止該通道DMA請求;RESET信號可使整個屏蔽寄存器置位8237A允許寫入兩種屏蔽字,需要寫入不同端口地址中。一個是通道屏蔽字,一個是珠屏蔽字,見圖12-7和12-8三、8237A的內(nèi)部寄存器 北京工業(yè)大學(xué)計算機學(xué)院248237請求寄存器的格式:通道選擇 0 0 通道0 0 1 通道1 1 0 通道2 1 1 通道3不用設(shè)置請求標(biāo)志 0 無請求 1 有請求D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 北京工業(yè)大學(xué)計算機學(xué)院258237通道屏蔽寄存器的格式:通道選擇 0 0 通道0 0 1 通道1 1 0 通道2 1 1 通道3
19、不用屏蔽設(shè)置 0 去除屏蔽位 1 設(shè)屏蔽位D7 | D6 | D5 | D4 | D3 | D2 | D1 | D01 對通道0設(shè)置屏蔽1 對通道1設(shè)置屏蔽1 對通道2設(shè)置屏蔽1 對通道3設(shè)置屏蔽不用D7 | D6 | D5 | D4 | D3 | D2 | D1 | D08237主屏蔽寄存器的格式: 北京工業(yè)大學(xué)計算機學(xué)院269、狀態(tài)寄存器:8位寄存器,存放狀態(tài)信息,可供CPU讀出,低4位表示哪些通道已達到計數(shù)終點,高4位表示哪些通道的DMA請求還未被處理,請求字格式見圖12-9或見后面的圖10、暫存寄存器:在存儲器到存儲器傳送時,暫存寄存器用來保存所傳送的數(shù)據(jù),當(dāng)傳送完成時始終保存最后一個
20、傳送的數(shù)據(jù)字節(jié),此字節(jié)可由CPU讀出11、軟件命令:在編程狀態(tài),可執(zhí)行3個附加的命令,這3個命令不關(guān)心數(shù)據(jù)的內(nèi)容,只要對特定的端口地址進行一次寫操作,命令就生效。清除先/后觸發(fā)器:保證CPU先讀寫8位低字節(jié),后讀寫8位高字節(jié)主清命令:也稱復(fù)位命令,其功能于RESET信號相同。清除屏蔽寄存器:該命令清除4個通道的全部屏蔽位,允許接收DMA請求三、8237A的內(nèi)部寄存器 北京工業(yè)大學(xué)計算機學(xué)院278237狀態(tài)寄存器的格式 :通道計數(shù)結(jié)束狀態(tài): 1 通道計數(shù)結(jié)束 1 通道計數(shù)結(jié)束 1 通道計數(shù)結(jié)束 1 通道計數(shù)結(jié)束通道請求狀態(tài): 1 通道0有請求 1 通道1有請求 1 通道2有請求 1 通道3有請求
21、D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 北京工業(yè)大學(xué)計算機學(xué)院2812、各寄存器對應(yīng)的端口地址8237A具有16個I/O端口地址,見表12-2基地址和當(dāng)前地址寄存器和用一個端口,故在進行寫入操作時,被裝入相同的初識值,但當(dāng)前地址寄存器可由CPU讀出,而基地址的值不能讀出有些端口只能寫入,不能讀出三、8237A的內(nèi)部寄存器 北京工業(yè)大學(xué)計算機學(xué)院2912.2 8237A的時序一、外設(shè)和內(nèi)存間的DMA數(shù)據(jù)傳送時序 8237A有兩個主要的工作周期:空閑周期和有效周期。每個周期有若干個狀態(tài)構(gòu)成,有7個操作狀態(tài)。 SI是非操作狀態(tài),未接到DMA請求時便進入此狀態(tài),可有CPU編程,預(yù)置操作方式SO是DMA服務(wù)的第一個狀態(tài)
溫馨提示
- 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 財務(wù)規(guī)劃與企業(yè)戰(zhàn)略的結(jié)合計劃
- 溝通障礙的識別與解決計劃
- 水務(wù)行業(yè)的規(guī)劃與發(fā)展目標(biāo)計劃
- 《化學(xué)生物學(xué)專業(yè)畢業(yè)實習(xí)》課程教學(xué)大綱
- 《圖形的初步認識(一)》(教學(xué)設(shè)計)-2024-2025學(xué)年一年級上冊數(shù)學(xué)蘇教版
- 數(shù)字孿生技術(shù)在生產(chǎn)中的應(yīng)用計劃
- 年度人事管理與招聘方案計劃
- 企業(yè)文化建設(shè)與員工培訓(xùn)的推廣
- 體育贊助與廣告營銷的策略分析
- 世界美食文化介紹及烹飪技巧分享
- 北京市企業(yè)考勤管理制度
- 2024年全國醫(yī)學(xué)考博英語試題
- (高清版)AQ∕T 3030-2010 危險化學(xué)品生產(chǎn)單位安全生產(chǎn)管理人員安全生產(chǎn)培訓(xùn)大綱及考核標(biāo)準(zhǔn)
- DL-T5707-2014電力工程電纜防火封堵施工工藝導(dǎo)則
- 煙花爆竹經(jīng)營單位安全教育培訓(xùn)課件
- 人教版五年級數(shù)學(xué)下冊第二單元練習(xí)題
- 酒店傳染病防控緊急預(yù)案
- 《研學(xué)旅行課程設(shè)計》課件-制訂研學(xué)課程目標(biāo)
- 2024年3月河北省定向選調(diào)生面試題及參考答案
- 混合采訪區(qū)預(yù)案
- 2023年北京重點校初二(下)期中數(shù)學(xué)試卷匯編:一次函數(shù)
評論
0/150
提交評論