![DMA-控制器介紹課件_第1頁](http://file4.renrendoc.com/view/78b0029bf015b14bffa59335c9c6c5a5/78b0029bf015b14bffa59335c9c6c5a51.gif)
![DMA-控制器介紹課件_第2頁](http://file4.renrendoc.com/view/78b0029bf015b14bffa59335c9c6c5a5/78b0029bf015b14bffa59335c9c6c5a52.gif)
![DMA-控制器介紹課件_第3頁](http://file4.renrendoc.com/view/78b0029bf015b14bffa59335c9c6c5a5/78b0029bf015b14bffa59335c9c6c5a53.gif)
![DMA-控制器介紹課件_第4頁](http://file4.renrendoc.com/view/78b0029bf015b14bffa59335c9c6c5a5/78b0029bf015b14bffa59335c9c6c5a54.gif)
![DMA-控制器介紹課件_第5頁](http://file4.renrendoc.com/view/78b0029bf015b14bffa59335c9c6c5a5/78b0029bf015b14bffa59335c9c6c5a55.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
DMATrainning
2007.8.15
1.DMATrainning1.一.基本概念
1.DirectMemoryAccess(直接存儲器存取)。這是指一種高速的數據傳輸操作,允許在外部設備和存儲器之間直接讀寫數據,既不通過CPU,也不需要CPU干預。整個數據傳輸操作在一個稱為“DMA控制器”的控制下進行的。CPU除了在數據傳輸開始和結束時做一點處理外,在傳輸過程中CPU可以進行其他的工作。這樣,在大部分時間里,CPU和輸入輸出都處于并行操作。因此,使整個計算機系統的效率大大提高。
DMA技術中,數據的傳送是在DMA控制器(DMAC)的控制下進行的。
2.DMAC傳送數據的三個階段:a.傳送前的預處理
b.數據傳送
c.傳送結束處理3.DMAC有兩種工作狀態(tài):主動工作狀態(tài)(有效周期)和被動工作狀態(tài)(空閑周期)。
4.DMA控制器對總線的占用方式有a.獨占方式b.周期挪用方式。2.一.基本概念2.三、基本的DMA控制器1.DMA控制器的基本組成一個DMA控制器,實際上是采用DMA方式的外圍設備與系統總線之間的接口電路,這個接口電路是在中斷接口的基礎上再加DMA機構組成.習慣上將DMA方式的接口電路稱為DMA控制器。下頁圖示出了一個最簡單的DMA控制器組成示意圖。一個最簡單的DMA控制器由以下邏輯部件組成:(1)內存地址計數器用于存放內存中要交換的數據的地址。在DMA傳送前,須通過程序將數據在內存中的起始位置(首地址)送到內存地址計數器。而當DMA傳送時,每交換一次數據,將地址計數器加“1”,從而以增量方式給出內存中要交換的一批數據的地址。(2)字計數器用于記錄傳送數據塊的長度(多少字數)。其內容也是在數據傳送之前由程序預置,交換的字數通常以補碼形式表示。在DMA傳送時,每傳送一個字,字計數器就加“1”,當計數器溢出即最高位產生進位時,表示這批數據傳送完畢,于是引起DMA控制器向CPU發(fā)中斷信號。3.三、基本的DMA控制器3.4.4.(3)數據緩沖寄存器
用于暫存每次傳送的數據(一個字)。當輸入時,由設備(如磁盤)送往數據緩沖寄存器,再由緩沖寄存器通過數據總線送到內存。反之,輸出時,由內存通過數據總線送到數據緩沖寄存器,然后再送到設備。(4)“DMA請求”標志每當設備準備好一個數據字后給出一個控制信號,使“DMA請求”標志置“1”。該標志置位后向“控制/狀態(tài)”邏輯發(fā)出DMA請求,后者又向CPU發(fā)出總線使用權的請求(HOLD),CPU響應此請求后發(fā)回響應信號HLDA,“控制/狀態(tài)”邏輯接收此信號后發(fā)出DMA響應信號,使“DMA請求”標志復位,為交換下一個字做好準備。(5)“控制/狀態(tài)”邏輯由控制和時序電路以及狀態(tài)標志等組成,用于修改內存地址計數器和字計數器,指定傳送類型(輸入或輸出),并對“DMA請求”信號和CPU響應信號進行協調和同步。(6)中斷機構當字計數器溢出時(為0時),意味著一組數據交換完畢,由溢出信號觸發(fā)中斷機構,向CPU提出中斷報告。這里的中斷與上一節(jié)介紹的I/O中斷所采用的技術相同,但中斷的目的不同,前面是為了數據的輸入或輸出,而這里是為了報告一組數據傳送結束。因此它們是I/O系統中不同的中斷事件。5.(3)數據緩沖寄存器用于暫存每次傳送的數據(一個字)。當輸2.DMA數據傳送過程
DMA的數據塊傳送過程可分為三個階段:傳送前預處理;正式傳送;傳送后處理。預處理由CPU執(zhí)行幾條輸入輸出指令,測試設備狀態(tài),向DMA控制器的設備地址寄存器中送入設備號并啟動設備,向內存地址計數器中送入起始地址,向字計數器中送入交換的數據字個數。在這些工作完成后,CPU繼續(xù)執(zhí)行原來的主程序。正式傳送當外設準備好發(fā)送數據(輸入)或接受數據(輸出)時,它發(fā)出DMA請求,由DMA控制器向CPU發(fā)出總線使用權的請求(HOLD)。下頁圖示出了停止CPU訪內方式的DMA傳送數據的流程圖。當外圍設備發(fā)出DMA請求時,CPU在本機器周期執(zhí)行結束后響應該請求,并使CPU的總線驅動器處于第二態(tài)(高阻狀態(tài)).之后,CPU與系統總線相脫離,而DMA控制器接管數據總線與地址總線的控制,并向內存提供地址.6.2.DMA數據傳送過程6.7.7.
于是,在內存和外圍設備之間進行數據交換.每交換一個字,則地址計數器和字計數器加“l(fā)”,當計數值到達零時,DMA操作結束,DMA控制器向CPU提出中斷報告。DMA的數據傳送是以數據塊為基本單位進行的,因此,每次DMA控制器占用總線后,無論是數據輸入操作,還是輸出操作,都是通過循環(huán)來實現的。當進行輸入操作時,外圍設備的數據(一次一個字或一個字節(jié))傳向內存;當進行輸出操作時,內存的數據傳向外圍設備。后處理一旦DMA的中斷請求得到響應,CPU停止主程序的執(zhí)行,轉去執(zhí)行中斷服務程序做一些DMA的結束處理工作。這些工作包括校驗送入內存的數據是否正確;決定繼續(xù)用DMA方式傳送下去,還是結束傳送;測試在傳送過程中是否發(fā)生了錯誤等等。基本DMA控制器與系統的連接方式:(1)公用的DMA請求方式;(2)獨立的DMA請求方式,這與中斷方式類似。8.于是,在內存和外圍設備之間進行數據交換.每交換一個字,四、選擇型和多路型DMA控制器前面介紹的是最簡單的DMA控制器,一個控制器只控制一個I/O設備.實際中經常采用的是選擇型DMA控制器和多路型DMA控制器,它們已經被做成集成電路片子.1.選擇型DMA控制器下頁圖是選擇型DMA控制器的邏輯框圖,它在物理上可以連接多個設備,而在邏輯上只允許接—個設備.換句話說,在某一段時間內只能為一個設備服務.選擇型DMA控制器工作原理與前面的簡單DMA控制器基本相同.除了前面講到的基本邏輯部件外,還有一個設備號寄存器.數據傳送是以數據塊為單位進行的,在每個數據塊傳送之前的預置階段,除了用程序中I/O指令給出數據塊的傳送個數、起始地址、操作命令外,還要給出所選擇的設備號.從預置開始,一直到這個數據塊傳送結束,DMA控制器只為所選設備服務.下—次預置再根據I/O指令指出的設備號,為另—選擇的設備服務.9.四、選擇型和多路型DMA控制器9.10.10.顯然,選擇型DMA控制器相當于一個邏輯開關,根據I/O指令來控制此開關與某個設備連接.選擇型DMA控制器只增加少量硬件達到了為多個外圍設備服務的目的,它特別適合數據傳輸串很高以至接近內存存取速度的設備.在很快地傳送完一個數據塊后,控制器又可為其他設備服務.2.多路型DMA控制器選擇型DMA控制器不適用于慢速設備.但是多路型DMA控制器卻適合于同時為多個慢速外圍設備服務.下頁圖(a)是鏈式多路型DMA控制器,而(b)是獨立請求方式多路型DMA控制器.多路型DMA不僅在物理上可以連接多個外圍設備,而且在邏輯上也允許這些外圍設備同時一工作,各設備以字節(jié)交叉方式通過DMA控制器進行數據傳送.11.顯然,選擇型DMA控制器相當于一個邏輯開關,根據I/O
12.12.
當某個外圍設備請求DMA服務時,操作過程如下:(1)DMA控制器接到設備發(fā)出的DMA請求時,將請求轉送到CPU。(2)CPU在適當的時刻響應DMA請求。若CPU不需要占用總線則繼續(xù)執(zhí)行指令;若CPU需要占用總線,則CPU進入等待狀態(tài)。(3)DMA控制器接到CPU的響應信號后,進行以下工作:①對現有DMA請求中優(yōu)先權最高的請求給予DMA響應;②選擇相應的地址寄存器的內容驅動地址總線;③根據所選設備操作寄存器的內容,向總線發(fā)讀、寫信號;④外圍設備向數據總線傳送數據,或從數據總線接收數據;
⑤每個字節(jié)傳送完畢后,DMA控制器使相應的地址寄存器和長度寄存器加“1”或減“1”。13.13.
以上是一個DMA請求的過程,在一批數據傳送過程中,要多次重復上述過程,直到外圍設備表示一個數據塊已傳送完畢,或該設備的長度控制器判定傳送長度已滿?!纠咳鐖D所示為8237DMA的組成示意圖根據圖中所示,請簡單分析其與外設(如軟盤)工作過程原理?!窘狻?/p>
CPU和外設(如軟盤)控制器之間的接口電路包括DMA控制和總線控制兩部分。DMA地址寄存器存放被尋址的主存首地址,字節(jié)計數寄存器存放本次DMA傳送的字節(jié)數。操作方式寄存器中包含工作方式(讀、寫、校驗)等信息(狀態(tài)寄存器)。14.以上是一個DMA請求的過程,在一批數據傳送過程中,
DMA傳輸前,CPU對8237進行初始化,將數據在主存中的起始地址、數據字節(jié)個數、工作方式等參數送入8237相應的寄存器中。然后才允許外設控制器向8237發(fā)出DMA傳輸請求信號DRQ。8237接收到DRQ信號后,立即發(fā)HRQ信號給總數控制線路,請求總線控制權。CPU在識別到HRQ信號,完成當前總線周期后,發(fā)出HLDA響應信號,并放棄總線控制權。此時8237向軟盤控制器發(fā)出DACK回答信號,通知軟盤控制器開始DMA傳輸,并發(fā)出讀/寫控制信號(MEMR/MEMW、IOR/IOW),以便軟盤控制器從主存被尋址的單元讀取一個字節(jié)或寫入一個字節(jié)。只要外設(如軟盤)控制器保持對DMA的請求,8257將保持對總線的控制,并順序地重復傳送,直到被指定的數據塊傳送完畢,通知外設(如軟盤)控制器,取消DMA請求,并使HRQ為無效,放棄總線控制權。
15.DMA傳輸前,CPU對8237進行初始化,將數據在主存..地址寄存器字節(jié)/內存地址計數器操作方式寄存器DRQDACK#HRQHLDAIOWC#IORC#MEMW#MEMR#D0~D7A0~A1516...地址寄存器字節(jié)/內存地址計數器操作方式寄存器DRQDAC此課件下載可自行編輯修改,此課件供參考!部分內容來源于網絡,如有侵權請與我聯系刪除!此課件下載可自行編輯修改,此課件供參考!DMATrainning
2007.8.15
18.DMATrainning1.一.基本概念
1.DirectMemoryAccess(直接存儲器存?。?。這是指一種高速的數據傳輸操作,允許在外部設備和存儲器之間直接讀寫數據,既不通過CPU,也不需要CPU干預。整個數據傳輸操作在一個稱為“DMA控制器”的控制下進行的。CPU除了在數據傳輸開始和結束時做一點處理外,在傳輸過程中CPU可以進行其他的工作。這樣,在大部分時間里,CPU和輸入輸出都處于并行操作。因此,使整個計算機系統的效率大大提高。
DMA技術中,數據的傳送是在DMA控制器(DMAC)的控制下進行的。
2.DMAC傳送數據的三個階段:a.傳送前的預處理
b.數據傳送
c.傳送結束處理3.DMAC有兩種工作狀態(tài):主動工作狀態(tài)(有效周期)和被動工作狀態(tài)(空閑周期)。
4.DMA控制器對總線的占用方式有a.獨占方式b.周期挪用方式。19.一.基本概念2.三、基本的DMA控制器1.DMA控制器的基本組成一個DMA控制器,實際上是采用DMA方式的外圍設備與系統總線之間的接口電路,這個接口電路是在中斷接口的基礎上再加DMA機構組成.習慣上將DMA方式的接口電路稱為DMA控制器。下頁圖示出了一個最簡單的DMA控制器組成示意圖。一個最簡單的DMA控制器由以下邏輯部件組成:(1)內存地址計數器用于存放內存中要交換的數據的地址。在DMA傳送前,須通過程序將數據在內存中的起始位置(首地址)送到內存地址計數器。而當DMA傳送時,每交換一次數據,將地址計數器加“1”,從而以增量方式給出內存中要交換的一批數據的地址。(2)字計數器用于記錄傳送數據塊的長度(多少字數)。其內容也是在數據傳送之前由程序預置,交換的字數通常以補碼形式表示。在DMA傳送時,每傳送一個字,字計數器就加“1”,當計數器溢出即最高位產生進位時,表示這批數據傳送完畢,于是引起DMA控制器向CPU發(fā)中斷信號。20.三、基本的DMA控制器3.21.4.(3)數據緩沖寄存器
用于暫存每次傳送的數據(一個字)。當輸入時,由設備(如磁盤)送往數據緩沖寄存器,再由緩沖寄存器通過數據總線送到內存。反之,輸出時,由內存通過數據總線送到數據緩沖寄存器,然后再送到設備。(4)“DMA請求”標志每當設備準備好一個數據字后給出一個控制信號,使“DMA請求”標志置“1”。該標志置位后向“控制/狀態(tài)”邏輯發(fā)出DMA請求,后者又向CPU發(fā)出總線使用權的請求(HOLD),CPU響應此請求后發(fā)回響應信號HLDA,“控制/狀態(tài)”邏輯接收此信號后發(fā)出DMA響應信號,使“DMA請求”標志復位,為交換下一個字做好準備。(5)“控制/狀態(tài)”邏輯由控制和時序電路以及狀態(tài)標志等組成,用于修改內存地址計數器和字計數器,指定傳送類型(輸入或輸出),并對“DMA請求”信號和CPU響應信號進行協調和同步。(6)中斷機構當字計數器溢出時(為0時),意味著一組數據交換完畢,由溢出信號觸發(fā)中斷機構,向CPU提出中斷報告。這里的中斷與上一節(jié)介紹的I/O中斷所采用的技術相同,但中斷的目的不同,前面是為了數據的輸入或輸出,而這里是為了報告一組數據傳送結束。因此它們是I/O系統中不同的中斷事件。22.(3)數據緩沖寄存器用于暫存每次傳送的數據(一個字)。當輸2.DMA數據傳送過程
DMA的數據塊傳送過程可分為三個階段:傳送前預處理;正式傳送;傳送后處理。預處理由CPU執(zhí)行幾條輸入輸出指令,測試設備狀態(tài),向DMA控制器的設備地址寄存器中送入設備號并啟動設備,向內存地址計數器中送入起始地址,向字計數器中送入交換的數據字個數。在這些工作完成后,CPU繼續(xù)執(zhí)行原來的主程序。正式傳送當外設準備好發(fā)送數據(輸入)或接受數據(輸出)時,它發(fā)出DMA請求,由DMA控制器向CPU發(fā)出總線使用權的請求(HOLD)。下頁圖示出了停止CPU訪內方式的DMA傳送數據的流程圖。當外圍設備發(fā)出DMA請求時,CPU在本機器周期執(zhí)行結束后響應該請求,并使CPU的總線驅動器處于第二態(tài)(高阻狀態(tài)).之后,CPU與系統總線相脫離,而DMA控制器接管數據總線與地址總線的控制,并向內存提供地址.23.2.DMA數據傳送過程6.24.7.
于是,在內存和外圍設備之間進行數據交換.每交換一個字,則地址計數器和字計數器加“l(fā)”,當計數值到達零時,DMA操作結束,DMA控制器向CPU提出中斷報告。DMA的數據傳送是以數據塊為基本單位進行的,因此,每次DMA控制器占用總線后,無論是數據輸入操作,還是輸出操作,都是通過循環(huán)來實現的。當進行輸入操作時,外圍設備的數據(一次一個字或一個字節(jié))傳向內存;當進行輸出操作時,內存的數據傳向外圍設備。后處理一旦DMA的中斷請求得到響應,CPU停止主程序的執(zhí)行,轉去執(zhí)行中斷服務程序做一些DMA的結束處理工作。這些工作包括校驗送入內存的數據是否正確;決定繼續(xù)用DMA方式傳送下去,還是結束傳送;測試在傳送過程中是否發(fā)生了錯誤等等?;綝MA控制器與系統的連接方式:(1)公用的DMA請求方式;(2)獨立的DMA請求方式,這與中斷方式類似。25.于是,在內存和外圍設備之間進行數據交換.每交換一個字,四、選擇型和多路型DMA控制器前面介紹的是最簡單的DMA控制器,一個控制器只控制一個I/O設備.實際中經常采用的是選擇型DMA控制器和多路型DMA控制器,它們已經被做成集成電路片子.1.選擇型DMA控制器下頁圖是選擇型DMA控制器的邏輯框圖,它在物理上可以連接多個設備,而在邏輯上只允許接—個設備.換句話說,在某一段時間內只能為一個設備服務.選擇型DMA控制器工作原理與前面的簡單DMA控制器基本相同.除了前面講到的基本邏輯部件外,還有一個設備號寄存器.數據傳送是以數據塊為單位進行的,在每個數據塊傳送之前的預置階段,除了用程序中I/O指令給出數據塊的傳送個數、起始地址、操作命令外,還要給出所選擇的設備號.從預置開始,一直到這個數據塊傳送結束,DMA控制器只為所選設備服務.下—次預置再根據I/O指令指出的設備號,為另—選擇的設備服務.26.四、選擇型和多路型DMA控制器9.27.10.顯然,選擇型DMA控制器相當于一個邏輯開關,根據I/O指令來控制此開關與某個設備連接.選擇型DMA控制器只增加少量硬件達到了為多個外圍設備服務的目的,它特別適合數據傳輸串很高以至接近內存存取速度的設備.在很快地傳送完一個數據塊后,控制器又可為其他設備服務.2.多路型DMA控制器選擇型DMA控制器不適用于慢速設備.但是多路型DMA控制器卻適合于同時為多個慢速外圍設備服務.下頁圖(a)是鏈式多路型DMA控制器,而(b)是獨立請求方式多路型DMA控制器.多路型DMA不僅在物理上可以連接多個外圍設備,而且在邏輯上也允許這些外圍設備同時一工作,各設備以字節(jié)交叉方式通過DMA控制器進行數據傳送.28.顯然,選擇型DMA控制器相當于一個邏輯開關,根據I/O
29.12.
當某個外圍設備請求DMA服務時,操作過程如下:(1)DMA控制器接到設備發(fā)出的DMA請求時,將請求轉送到CPU。(2)CPU在適當的時刻響應DMA請求。若CPU不需要占用總線則繼續(xù)執(zhí)行指令;若CPU需要占用總線,則CPU進入等待狀態(tài)。(3)DMA控制器接到CPU的響應信號后,進行以下工作:①對現有DMA請求中優(yōu)先權最高的請求給予DMA響應;②選擇相應的地址寄存器的內容驅動地址總線;③根據所選設備操作寄存器的內容,向總線發(fā)讀、寫信號;④外圍設備向數據總線傳送數據,或從數據總線接收數據;
⑤每個字節(jié)傳送完畢后,DMA控制器使相應的地址寄存器和長度寄存器加“1”或減“1”。30.13.
以上是一個DMA請求的過程,在一批數據傳送過程中,要多次重復上述過程,直到外
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《室性早搏導管消融》課件
- 會博通10單用戶版用戶操作指引
- 《動物防疫法》考試題庫100題(含答案)
- 蜂窩微納孔、量子單層石墨烯面料技改項目可行性研究報告寫作模板-申批備案
- 2025年河北女子職業(yè)技術學院高職單招職業(yè)適應性測試近5年??及鎱⒖碱}庫含答案解析
- 專題06 發(fā)展與合作-(解析版)
- 2025年昭通衛(wèi)生職業(yè)學院高職單招高職單招英語2016-2024歷年頻考點試題含答案解析
- 《醫(yī)療器械法規(guī)培訓》課件
- 2025年春節(jié)消費機遇和備貨建議報告
- 中班區(qū)域活動計劃實施方案五篇
- 安全生產網格員培訓
- 小學數學分數四則混合運算300題帶答案
- 2024年交管12123學法減分考試題庫和答案
- 臨床下肢深靜脈血栓的預防和護理新進展
- 動物生產與流通環(huán)節(jié)檢疫(動物防疫檢疫課件)
- 2024年山東泰安市泰山財金投資集團有限公司招聘筆試參考題庫含答案解析
- 英語主語從句省公開課一等獎全國示范課微課金獎課件
- C139客戶開發(fā)管理模型
- 年度工作總結與計劃會議
- 醫(yī)保按病種分值付費(DIP)院內培訓
- 近五年重慶中考物理試題及答案2023
評論
0/150
提交評論