版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
DMA方式1編輯課件8.4DMA方式8.4.1DMA方式的一般概念
8.4.2DMA傳送方式8.4.3DMA傳送一個(gè)數(shù)據(jù)的過(guò)程2編輯課件8.4.1DMA方式的一般概念直接存儲(chǔ)器訪問(wèn)(DirectMemoryAccess)DMA方式是為了在主存儲(chǔ)器與I/O設(shè)備間高速交換批量數(shù)據(jù)而設(shè)置的?;舅枷胧牵和ㄟ^(guò)硬件控制實(shí)現(xiàn)主存與I/O設(shè)備間的直接數(shù)據(jù)傳送,在傳送過(guò)程中無(wú)需CPU的干預(yù)。數(shù)據(jù)傳送是在DMA控制器控制下進(jìn)行的,優(yōu)點(diǎn):完全硬件實(shí)現(xiàn),速度快。有利于發(fā)揮CPU的效率。3編輯課件8.4.1DMA方式的一般概念過(guò)程描述:由DMA控制器給出當(dāng)前正在傳送的數(shù)據(jù)的主存地址,并統(tǒng)計(jì)傳送數(shù)據(jù)的個(gè)數(shù)以確定一組數(shù)據(jù)的傳送是否已結(jié)束。在主存中要開(kāi)辟連續(xù)地址的專用緩沖器,用來(lái)提供或接收傳送的數(shù)據(jù)。在數(shù)據(jù)傳送前和結(jié)束后要通過(guò)程序或中斷方式對(duì)緩沖器和DMA控制器進(jìn)行預(yù)處理和后處理。4編輯課件8.4.1DMA方式的一般概念DMA基本操作:(1)從外圍設(shè)備發(fā)出DMA請(qǐng)求;(2)CPU響應(yīng)請(qǐng)求,把CPU工作改成DMA操作方式,DMA控制器從CPU接管總線的控制;(3)由DMA控制器對(duì)內(nèi)存尋址,即決定數(shù)據(jù)傳送的內(nèi)存單元地址及數(shù)據(jù)傳送個(gè)數(shù)的計(jì)數(shù),并執(zhí)行數(shù)據(jù)傳送的操作;(4)向CPU報(bào)告DMA操作的結(jié)束。5編輯課件思考:DMA正在完成I/O操作時(shí),CPU在干什么?二者同時(shí)有訪存需求,怎么辦?6編輯課件8.4.2DMA傳送方式1、停止CPU訪問(wèn)內(nèi)存。主機(jī)響應(yīng)DMA請(qǐng)求后,讓出存儲(chǔ)總線,直到一組數(shù)據(jù)傳送完畢后,DMA控制器才把總線控制權(quán)交還給CPU。采用這種工作方式的I/O設(shè)備,在其接口中一般設(shè)置有小容量存儲(chǔ)器,I/O設(shè)備先與小容量存儲(chǔ)器交換數(shù)據(jù),然后由小容量存儲(chǔ)器與主機(jī)交換數(shù)據(jù),這樣可減少DMA傳送占用存儲(chǔ)總線的時(shí)間,也即減少了CPU暫停工作的時(shí)間。7編輯課件8.4.2DMA傳送方式優(yōu)點(diǎn):控制流程簡(jiǎn)單。缺點(diǎn):在DMA控制器I/O訪內(nèi)階段,內(nèi)存的效能沒(méi)有充分發(fā)揮,相當(dāng)一部分內(nèi)存工作周期是空閑的。僅適用于:數(shù)據(jù)傳輸率很高的設(shè)備進(jìn)行成組傳送8編輯課件8.4.2DMA傳送方式2、周期挪用方式DMA控制器與主存儲(chǔ)器之間傳送一個(gè)數(shù)據(jù),占用一個(gè)內(nèi)存周期,即CPU暫停訪存工作一個(gè)周期,然后繼續(xù)執(zhí)行程序。9編輯課件8.4.2DMA傳送方式I/O設(shè)備要求DMA傳送時(shí)可能遇到兩種情況:(1)CPU不需要訪內(nèi),如CPU正在執(zhí)行乘法指令。由于乘法指令執(zhí)行時(shí)間較長(zhǎng),此時(shí)I/O訪內(nèi)與CPU訪內(nèi)沒(méi)有沖突,即I/O設(shè)備挪用一二個(gè)內(nèi)存周期對(duì)CPU執(zhí)行程序沒(méi)有任何影響。(2)CPU也要求訪內(nèi)時(shí),這就產(chǎn)生了訪內(nèi)沖突,在這種情況下I/O設(shè)備訪內(nèi)優(yōu)先,因?yàn)镮/O訪內(nèi)有時(shí)間要求,前一個(gè)I/O數(shù)據(jù)必須在下一個(gè)訪內(nèi)請(qǐng)求到來(lái)之前存取完畢。顯然,在這種情況下I/O設(shè)備挪用一二個(gè)內(nèi)存周期,意味著CPU延緩了對(duì)指令的執(zhí)行,或者更明確地說(shuō),在CPU執(zhí)行訪內(nèi)指令的過(guò)程中插入DMA請(qǐng)求,挪用了一二個(gè)內(nèi)存周期。10編輯課件8.4.2DMA傳送方式優(yōu)點(diǎn):既實(shí)現(xiàn)了I/O傳送,又較好地發(fā)揮了內(nèi)存和CPU的效率缺點(diǎn):每次傳送都要申請(qǐng)總線控制權(quán),建立總線控制權(quán),歸還總線控制權(quán)。適用于:I/O設(shè)備讀寫周期大于內(nèi)存存儲(chǔ)周期的情況11編輯課件8.4.2DMA傳送方式停止CPU訪存和周期挪用的區(qū)別前者:外設(shè)需傳送一批數(shù)據(jù)到內(nèi)存時(shí),DMA獨(dú)占總線、內(nèi)存等資源,一直到該任務(wù)完成后者:當(dāng)外設(shè)信息被讀取后要寫入內(nèi)存時(shí),才申請(qǐng)總線、訪存權(quán)限,完成寫入,而后釋放,等到下批數(shù)據(jù)被讀出時(shí),又再申請(qǐng)權(quán)限、資源,寫入內(nèi)存。12編輯課件8.4.2DMA傳送方式3、DMA和CPU交替訪問(wèn)內(nèi)存工作方式如果CPU的工作周期比內(nèi)存存取周期長(zhǎng)很多,可以采用該種方法指令周期包含若干CPU周期,CPU周期中訪內(nèi)周期只占整個(gè)周期一部分(eg.C1),另外一部分時(shí)間(eg.C2)可交由DMA訪內(nèi),此時(shí)DMA與CPU并行工作。不需要總線控制權(quán)的申請(qǐng)、建立與歸還。通過(guò)C1、C2分時(shí)控制,總線控制權(quán)的轉(zhuǎn)移速度快,DMA效率高。13編輯課件8.4.2DMA傳送方式CPU和DMA控制器各自有自己的訪內(nèi)地址寄存器、數(shù)據(jù)寄存器和讀/寫信號(hào)等控制寄存器。在C1周期中,如果DMA控制器有訪內(nèi)請(qǐng)求,可將地址、數(shù)據(jù)等信號(hào)送到總線上。在C2周期中,如CPU有訪內(nèi)請(qǐng)求,同樣傳送地址、數(shù)據(jù)等信號(hào)。14編輯課件8.4.2DMA傳送方式優(yōu)點(diǎn):總線控制權(quán)的轉(zhuǎn)移不需要時(shí)間,DMA傳送高效缺點(diǎn):硬件邏輯實(shí)現(xiàn)復(fù)雜適用于:CPU的工作周期比內(nèi)存存取周期長(zhǎng)很多的情況。15編輯課件8.4.3基本DMA控制器1、DMA基本構(gòu)成(1)內(nèi)存地址計(jì)數(shù)器
用于存放內(nèi)存中要交換的數(shù)據(jù)的地址。在DMA傳送前,須通過(guò)程序?qū)?shù)據(jù)在內(nèi)存中的起始位置(首地址)送到內(nèi)存地址計(jì)數(shù)器。而當(dāng)DMA傳送時(shí),每交換一次數(shù)據(jù),將地址計(jì)數(shù)器加“1”,從而以增量方式給出內(nèi)存中要交換的一批數(shù)據(jù)的地址。16編輯課件1、DMA基本構(gòu)成(2)字計(jì)數(shù)器用于記錄傳送數(shù)據(jù)塊的長(zhǎng)度(多少字?jǐn)?shù))。其內(nèi)容也是在數(shù)據(jù)傳送之前由程序預(yù)置,交換的字?jǐn)?shù)通常以補(bǔ)碼形式表示。在DMA傳送時(shí),每傳送一個(gè)字,字計(jì)數(shù)器就加“1”,當(dāng)計(jì)數(shù)器溢出即最高位產(chǎn)生進(jìn)位時(shí),表示這批數(shù)據(jù)傳送完畢,于是引起DMA控制器向CPU發(fā)中斷信號(hào)。17編輯課件1、DMA基本構(gòu)成(3)數(shù)據(jù)緩沖寄存器用于暫存每次傳送的數(shù)據(jù)(一個(gè)字)。當(dāng)輸入時(shí),由設(shè)備(如磁盤)送往數(shù)據(jù)緩沖寄存器,再由緩沖寄存器通過(guò)數(shù)據(jù)總線送到內(nèi)存。反之,輸出時(shí),由內(nèi)存通過(guò)數(shù)據(jù)總線送到數(shù)據(jù)緩沖寄存器,然后再送到設(shè)備。18編輯課件1、DMA基本構(gòu)成(4)“DMA請(qǐng)求”標(biāo)志每當(dāng)設(shè)備準(zhǔn)備好一個(gè)數(shù)據(jù)字后給出一個(gè)控制信號(hào),使“DMA請(qǐng)求”標(biāo)志置“1”。該標(biāo)志置位后向“控制/狀態(tài)”邏輯發(fā)出DMA請(qǐng)求,后者又向CPU發(fā)出總線使用權(quán)的請(qǐng)求(HOLD),CPU響應(yīng)此請(qǐng)求后發(fā)回響應(yīng)信號(hào)HLDA,“控制/狀態(tài)”邏輯接收此信號(hào)后發(fā)出DMA響應(yīng)信號(hào),使“DMA請(qǐng)求”標(biāo)志復(fù)位,為交換下一個(gè)字做好準(zhǔn)備。19編輯課件1、DMA基本構(gòu)成(5)“控制/狀態(tài)”邏輯由控制和時(shí)序電路以及狀態(tài)標(biāo)志等組成,用于修改內(nèi)存地址計(jì)數(shù)器和字計(jì)數(shù)器,指定傳送類型(輸入或輸出),并對(duì)“DMA請(qǐng)求”信號(hào)和CPU響應(yīng)信號(hào)進(jìn)行協(xié)調(diào)和同步。20編輯課件1、DMA基本構(gòu)成(6)中斷機(jī)構(gòu)當(dāng)字計(jì)數(shù)器溢出時(shí)(全0),意味著一組數(shù)據(jù)交換完畢,由溢出信號(hào)觸發(fā)中斷機(jī)構(gòu),向CPU提出中斷報(bào)告。這里的中斷與上一節(jié)介紹的I/O中斷所采用的技術(shù)相同,但中斷的目的不同,前面是為了數(shù)據(jù)的輸入或輸出,而這里是為了報(bào)告一組數(shù)據(jù)傳送結(jié)束。因此它們是I/O系統(tǒng)中不同的中斷事件。
21編輯課件8.4.3基本DMA控制器2、傳送過(guò)程當(dāng)外設(shè)有DMA請(qǐng)求時(shí),通常CPU在本機(jī)器周期結(jié)束后,響應(yīng)DMA請(qǐng)求。傳送一個(gè)數(shù)據(jù)塊可以分為三個(gè)階段:-傳送前預(yù)處理-正式傳送-傳送后處理22編輯課件8.4.3基本DMA控制器預(yù)處理階段:第一階段是進(jìn)行初始化,啟動(dòng)設(shè)備、測(cè)試設(shè)備。CPU通過(guò)程序I/O的方式給DMA控制器預(yù)置初值,取狀態(tài)和送傳送需要的有關(guān)參數(shù)。其中包括內(nèi)存地址計(jì)數(shù)器和字計(jì)數(shù)器的初值。23編輯課件8.4.3基本DMA控制器正式傳送階段:由DMA控制器控制外設(shè)與主存之間的數(shù)據(jù)交換。24編輯課件8.4.3基本DMA控制器正式傳送階段詳解(停止CPU訪問(wèn)內(nèi)存方式)25編輯課件8.4.3基本DMA控制器傳送后處理階段:第三階段即CPU中斷原程序后進(jìn)行后處理。若需要繼續(xù)交換數(shù)據(jù),則又要對(duì)DMA進(jìn)行初始化;若不需要交換數(shù)據(jù),則停止外設(shè);若為出錯(cuò),則轉(zhuǎn)錯(cuò)誤診斷及處理程序。26編輯課件思考:如果有多個(gè)設(shè)備提出DMA傳送請(qǐng)求,該怎么處置?來(lái)看8.4.4選擇型、多路型DMA控制器27編輯課件8.4.4選擇型和多路型DMA控制器1.選擇型DMA控制器選擇型DMA控制器在物理上可以連接多個(gè)設(shè)備,而在邏輯上只允許連接一個(gè)設(shè)備。在某一段時(shí)間內(nèi)只能為一個(gè)設(shè)備服務(wù)。28編輯課件8.4.4選擇型和多路型DMA控制器要點(diǎn):在第一階段要給出所選擇的設(shè)備號(hào)
29編輯課件8.4.4選擇型和多路型DMA控制器優(yōu)點(diǎn):只增加少量硬件達(dá)到了為多個(gè)外圍設(shè)備服務(wù)的目的缺點(diǎn):同一時(shí)刻不能為多個(gè)設(shè)備服務(wù)適用于:數(shù)據(jù)傳輸速率很高,接近內(nèi)存訪問(wèn)速率的設(shè)備。30編輯課件8.4.4選擇型和多路型DMA控制器2.多路型DMA控制器多路型DMA不僅在物理上可以連接多個(gè)外圍設(shè)備,而且在邏輯上也允許這些外圍設(shè)備同時(shí)工作,各設(shè)備以字節(jié)交叉方式通過(guò)DMA控制器進(jìn)行數(shù)據(jù)傳送。字節(jié)交叉:每個(gè)設(shè)備的每個(gè)字輪流使用DMA傳送連接示意圖如下頁(yè)31編輯課件32編輯課件8.4.4選擇型和多路型DMA控制器優(yōu)點(diǎn):同時(shí)服務(wù)多個(gè)外設(shè)缺點(diǎn):結(jié)構(gòu)復(fù)雜適用于:多個(gè)慢速外設(shè)33編輯課件8.4.4選擇型和多路型DMA控制器典型DMA芯片34編輯課件例3下圖中假設(shè)有磁盤、磁帶、打印機(jī)三個(gè)設(shè)備同時(shí)工作。磁盤以30μs的間隔向控制器發(fā)DMA請(qǐng)求,磁帶以45μs的間隔發(fā)DMA請(qǐng)求,打印機(jī)以150μs間隔發(fā)DMA請(qǐng)求。根據(jù)傳輸速率,磁盤優(yōu)先權(quán)最高,磁帶次之,打印機(jī)最低,圖中假設(shè)DMA控制器每完成一次DMA傳送所需的時(shí)間是5μs。若采用多路型DMA控制器,請(qǐng)畫出DMA控制器服務(wù)三個(gè)設(shè)備的工作時(shí)間圖。例題:35編輯課件36編輯課件分析由圖看出,T1間隔中控制器首先為打印機(jī)服務(wù),因?yàn)榇藭r(shí)只有打印機(jī)有請(qǐng)求。T2間隔前沿磁盤、磁帶同時(shí)有請(qǐng)求,首先為優(yōu)先權(quán)高的磁盤服務(wù),然后為磁帶服務(wù),每次服務(wù)傳送一個(gè)字節(jié)。在120μs時(shí)間階段中,為打印機(jī)服務(wù)只有一次(T1),為磁盤服務(wù)四次(T2,T4,T6,T7),為磁帶服務(wù)三次(T3,T5,T8)。從圖上看到,在這種情況下DMA尚有空閑時(shí)間,說(shuō)明控制器還可以容納更多設(shè)備。37編輯課件8.5通道方式通道的基本概念
通道:是計(jì)算機(jī)系統(tǒng)中代替CPU管理控制外設(shè)的獨(dú)立部件,是一種能執(zhí)行有限I/O指令集合(即通道命令)的I/O處理機(jī)。CPU將傳輸控制功能交由通道處理,自己專注于數(shù)據(jù)處理CPU與通道分時(shí)使用內(nèi)存,實(shí)現(xiàn)并行38編輯課件8.5通道方式在通道控制方式中,一個(gè)主機(jī)可以連接多個(gè)通道。每個(gè)通道又可連接多臺(tái)I/O設(shè)備,這些設(shè)備可具有不同速度,可以是不同種類。這種輸入輸出系統(tǒng)增強(qiáng)了主機(jī)與通道操作的并行能力以及各通道之間、同一通道的各設(shè)備之間的并行操作能力。同時(shí)也為用戶提供了增減外圍設(shè)備的靈活性。39編輯課件8.5通道方式通道結(jié)構(gòu)圖:系統(tǒng)總線I/O總線40編輯課件8.5通道方式存儲(chǔ)管理部件:決定下一個(gè)存儲(chǔ)周期有哪個(gè)部件使用系統(tǒng)總線訪問(wèn)存儲(chǔ)器通道權(quán)限優(yōu)先于CPU選擇型通道優(yōu)先級(jí)高于多路型通道選擇性通道連接高速設(shè)備多路型通道連接低速設(shè)備41編輯課件8.5通道方式通道方式下,多使用4級(jí)連接方式:主機(jī)—通道—I/O接口(設(shè)備控制器)—外圍設(shè)備。在CPU啟動(dòng)通道后,通道自動(dòng)地去內(nèi)存取出通道指令并執(zhí)行指令。直到數(shù)據(jù)交換過(guò)程結(jié)束向CPU發(fā)出中斷請(qǐng)求,進(jìn)行通道結(jié)束處理工作。42編輯課件通道的功能基本功能是:執(zhí)行通道指令,組織外圍設(shè)備和內(nèi)存進(jìn)行數(shù)據(jù)傳輸,按I/O指令要求啟動(dòng)外圍設(shè)備,向CPU報(bào)告中斷等,具體有以下五項(xiàng)任務(wù):(1)接受CPU的I/O指令,按指令要求與指定的外圍設(shè)備進(jìn)行通信。(2)從內(nèi)存選取屬于該通道程序的通道指令,經(jīng)譯碼后向設(shè)備控制器和設(shè)備發(fā)送各種命令。
43編輯課件通道的功能(3)組織外圍設(shè)備和內(nèi)存之間進(jìn)行數(shù)據(jù)傳送,并根據(jù)需要提供數(shù)據(jù)緩存的空間,以及提供數(shù)據(jù)存入內(nèi)存的地址和傳送的數(shù)據(jù)量。(4)從外圍設(shè)備得到設(shè)備的狀態(tài)信息,形成并保存通道本身的狀態(tài)信息,根據(jù)要求將這些狀態(tài)信息送到內(nèi)存的指定單元,供CPU使用。(5)將外圍設(shè)備的中斷請(qǐng)求和通道本身的中斷請(qǐng)求,按次序及時(shí)報(bào)告CPU。44編輯課件8.5通道方式通道工作過(guò)程主要分為如下三步進(jìn)行:1.在用戶程序中使用訪管指令進(jìn)入管理程序,由CPU通過(guò)管理程序組織一個(gè)通道程序,并啟動(dòng)通道。2.通道處理機(jī)執(zhí)行CPU為它組織的通道程序.完成指定的
溫馨提示
- 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)價(jià)與隱患排查合同3篇
- 二零二五年度品牌推廣活動(dòng)策劃與執(zhí)行合同3篇
- 二零二五版工藝品展覽館建設(shè)與運(yùn)營(yíng)管理合同3篇
- 二零二五年度電力工程建設(shè)項(xiàng)目融資合同2篇
- 二零二五年度4S店汽車租賃與綠色出行倡導(dǎo)合同3篇
- 二零二五版房地產(chǎn)開(kāi)發(fā)項(xiàng)目掛靠合作保密協(xié)議合同3篇
- 2025年度特色餐飲品牌店面全面轉(zhuǎn)讓合同范本2篇
- 二零二五版物業(yè)公司應(yīng)急處理合同3篇
- 二零二五版數(shù)據(jù)中心建設(shè)工程施工合同2篇
- 基于2025年度區(qū)塊鏈技術(shù)的電子勞動(dòng)合同信任機(jī)制合同3篇
- 高二物理競(jìng)賽霍爾效應(yīng) 課件
- 金融數(shù)學(xué)-(南京大學(xué))
- 基于核心素養(yǎng)下的英語(yǔ)寫作能力的培養(yǎng)策略
- 現(xiàn)場(chǎng)安全文明施工考核評(píng)分表
- 亞什蘭版膠衣操作指南
- 四年級(jí)上冊(cè)數(shù)學(xué)教案 6.1口算除法 人教版
- DB32-T 3129-2016適合機(jī)械化作業(yè)的單體鋼架塑料大棚 技術(shù)規(guī)范-(高清現(xiàn)行)
- 6.農(nóng)業(yè)產(chǎn)值與增加值核算統(tǒng)計(jì)報(bào)表制度(2020年)
- 人工挖孔樁施工監(jiān)測(cè)監(jiān)控措施
- 供應(yīng)商物料質(zhì)量問(wèn)題賠償協(xié)議(終端)
- 物理人教版(2019)必修第二冊(cè)5.2運(yùn)動(dòng)的合成與分解(共19張ppt)
評(píng)論
0/150
提交評(píng)論