




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
DMA方式
DMA方式8.4DMA方式
8.4.1DMA方式的一般概念
8.4.2DMA傳送方式
8.4.3DMA傳送一個(gè)數(shù)據(jù)的過程
8.4DMA方式8.4.1DMA方式的一般概念8.4.1DMA方式的一般概念
???直接存儲(chǔ)器訪問(DirectMemoryAccess)DMA方式是為了在主存儲(chǔ)器與I/O設(shè)備間高速交換批量數(shù)據(jù)而設(shè)置的。
基本思想是:通過硬件控制實(shí)現(xiàn)主存與I/O設(shè)備間的直接數(shù)據(jù)傳送,在傳送過程中無需CPU的干預(yù)。數(shù)據(jù)傳送是在DMA控制器控制下進(jìn)行的,
優(yōu)點(diǎn):完全硬件實(shí)現(xiàn),速度快。有利于發(fā)揮CPU的效率。
8.4.1DMA方式的一般概念???直接存儲(chǔ)器訪問(Dir8.4.1DMA方式的一般概念
?過程描述:
?由DMA控制器給出當(dāng)前正在傳送的數(shù)據(jù)的主存地址,并統(tǒng)計(jì)傳送數(shù)據(jù)的個(gè)數(shù)以確定一組數(shù)據(jù)的傳送是否已結(jié)束。在主存中要開辟連續(xù)地址的專用緩沖器,用來提供或接收傳送的數(shù)據(jù)。在數(shù)據(jù)傳送前和結(jié)束后要通過程序或中斷方式對緩沖器和DMA控制器進(jìn)行預(yù)處理和后處理。
8.4.1DMA方式的一般概念?過程描述:?由DMA控制8.4.1DMA方式的一般概念
DMA基本操作:
????(1)從外圍設(shè)備發(fā)出DMA請求;
(2)CPU響應(yīng)請求,把CPU工作改成DMA操作方式,DMA控制器從CPU接管總線的控制;
(3)由DMA控制器對內(nèi)存尋址,即決定數(shù)據(jù)傳送的內(nèi)存單元地址及數(shù)據(jù)傳送個(gè)數(shù)的計(jì)數(shù),并執(zhí)行數(shù)據(jù)傳送的操作;
(4)向CPU報(bào)告DMA操作的結(jié)束。
8.4.1DMA方式的一般概念DMA基本操作:????(?思考:
?DMA正在完成I/O操作時(shí),CPU在干什么?
?二者同時(shí)有訪存需求,怎么辦?
?思考:?DMA正在完成I/O操作時(shí),CPU在干什么?8.4.2DMA傳送方式
1、停止CPU訪問內(nèi)存。
??主機(jī)響應(yīng)DMA請求后,讓出存儲(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í)間。
8.4.2DMA傳送方式1、停止CPU訪問內(nèi)存。??主8.4.2DMA傳送方式
?優(yōu)點(diǎn):控制流程簡單。
?缺點(diǎn):在DMA控制器I/O訪內(nèi)階段,內(nèi)存的效能沒有充分發(fā)揮,相當(dāng)一部分內(nèi)存工作周期是空閑的。
?僅適用于:數(shù)據(jù)傳輸率很高的設(shè)備進(jìn)行成組傳送
8.4.2DMA傳送方式?優(yōu)點(diǎn):控制流程簡單。?缺點(diǎn)8.4.2DMA傳送方式
?2、周期挪用方式
?DMA控制器與主存儲(chǔ)器之間傳送一個(gè)數(shù)據(jù),占用一個(gè)內(nèi)存周期,即CPU暫停訪存工作一個(gè)周期,然后繼續(xù)執(zhí)行程序。
8.4.2DMA傳送方式?2、周期挪用方式?DMA控8.4.2DMA傳送方式
I/O設(shè)備要求DMA傳送時(shí)可能遇到兩種情況:
?(1)CPU不需要訪內(nèi),如CPU正在執(zhí)行乘法指令。由于乘法指令執(zhí)行時(shí)間較長,此時(shí)I/O訪內(nèi)與CPU訪內(nèi)沒有沖突,即I/O設(shè)備挪用一二個(gè)內(nèi)存周期對CPU執(zhí)行程序沒有任何影響。
?(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)請求到來之前存取完畢。顯然,在這種情況下I/O設(shè)備挪用一二個(gè)內(nèi)存周期,意味著CPU延緩了對指令的執(zhí)行,或者更明確地說,在CPU執(zhí)行訪內(nèi)指令的過程中插入DMA請求,挪用了一二個(gè)內(nèi)存周期。
8.4.2DMA傳送方式I/O設(shè)備要求DMA傳送時(shí)可能遇8.4.2DMA傳送方式
?優(yōu)點(diǎn):既實(shí)現(xiàn)了I/O傳送,又較好地發(fā)揮了內(nèi)存和CPU的效率
?缺點(diǎn):每次傳送都要申請總線控制權(quán),建立總線控制權(quán),歸還總線控制權(quán)。
?適用于:I/O設(shè)備讀寫周期大于內(nèi)存存儲(chǔ)周期的情況
8.4.2DMA傳送方式?優(yōu)點(diǎn):既實(shí)現(xiàn)了I/O傳送,又較8.4.2DMA傳送方式
?停止CPU訪存和周期挪用的區(qū)別
??前者:外設(shè)需傳送一批數(shù)據(jù)到內(nèi)存時(shí),DMA獨(dú)占總線、內(nèi)存等資源,一直到該任務(wù)完成
后者:當(dāng)外設(shè)信息被讀取后要寫入內(nèi)存時(shí),才申請總線、訪存權(quán)限,完成寫入,而后釋放,等到下批數(shù)據(jù)被讀出時(shí),又再申請權(quán)限、資源,寫入內(nèi)存。
8.4.2DMA傳送方式?停止CPU訪存和周期挪用的區(qū)別8.4.2DMA傳送方式
?3、DMA和CPU交替訪問內(nèi)存工作方式
???如果CPU的工作周期比內(nèi)存存取周期長很多,可以采用該種方法
指令周期包含若干CPU周期,CPU周期中訪內(nèi)周期只占整個(gè)周期一部分(eg.C1),另外一部分時(shí)間(eg.C2)可交由DMA訪內(nèi),此時(shí)DMA與CPU并行工作。
不需要總線控制權(quán)的申請、建立與歸還。通過C1、C2分時(shí)控制,總線控制權(quán)的轉(zhuǎn)移速度快,DMA效率高。
8.4.2DMA傳送方式?3、DMA和CPU交替訪問內(nèi)存8.4.2DMA傳送方式
?CPU和DMA控制器各自有自己的訪內(nèi)地址寄存器、數(shù)據(jù)寄存器和讀/寫信號(hào)等控制寄存器。在C1周期中,如果DMA控制器有訪內(nèi)請求,可將地址、數(shù)據(jù)等信號(hào)送到總線上。在C2周期中,如CPU有訪內(nèi)請求,同樣傳送
地址、數(shù)據(jù)等信號(hào)。
8.4.2DMA傳送方式?CPU和DMA控制器各自有自己8.4.2DMA傳送方式
?優(yōu)點(diǎn):總線控制權(quán)的轉(zhuǎn)移不需要時(shí)間,DMA傳送高效
?缺點(diǎn):硬件邏輯實(shí)現(xiàn)復(fù)雜
?適用于:CPU的工作周期比內(nèi)存存取周期長很多的情況。
8.4.2DMA傳送方式?優(yōu)點(diǎn):總線控制權(quán)的轉(zhuǎn)移不需要時(shí)8.4.3基本DMA控制器
1、DMA基本構(gòu)成
(1)內(nèi)存地址計(jì)數(shù)器
用于存放內(nèi)存中要交換的數(shù)據(jù)的地址。在DMA傳送前,須通過程序?qū)?shù)據(jù)在內(nèi)存中的起始位置(首地址)送到內(nèi)存地址計(jì)數(shù)器。而當(dāng)DMA傳送時(shí),每交換一次數(shù)據(jù),將地址計(jì)數(shù)器加“1”,從而以增量方式給出內(nèi)存中要交換的一批數(shù)據(jù)的地址。
8.4.3基本DMA控制器1、DMA基本構(gòu)成(1)內(nèi)存1、DMA基本構(gòu)成
(2)字計(jì)數(shù)器
用于記錄傳送數(shù)據(jù)塊的長度(多少字?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)。
1、DMA基本構(gòu)成(2)字計(jì)數(shù)器用于記錄傳送數(shù)據(jù)塊的長度1、DMA基本構(gòu)成
(3)數(shù)據(jù)緩沖寄存器
用于暫存每次傳送的數(shù)據(jù)(一個(gè)字)。當(dāng)輸入時(shí),由設(shè)備(如磁盤)送往數(shù)據(jù)緩沖寄存器,再由緩沖寄存器通過數(shù)據(jù)總線送到內(nèi)存。反之,輸出時(shí),由內(nèi)存通過數(shù)據(jù)總線送到數(shù)據(jù)緩沖寄存器,然后再送到設(shè)備。
1、DMA基本構(gòu)成(3)數(shù)據(jù)緩沖寄存器用于暫存每次傳送1、DMA基本構(gòu)成
(4)“DMA請求”標(biāo)志
每當(dāng)設(shè)備準(zhǔn)備好一個(gè)數(shù)據(jù)字后給出一個(gè)控制信號(hào),使“DMA請求”
標(biāo)志置“1”。該標(biāo)志置位后向“控制/狀態(tài)”邏輯發(fā)出DMA請求,后者又向CPU發(fā)出總線使用權(quán)的請求(HOLD),CPU響應(yīng)此請求后發(fā)回響應(yīng)信號(hào)HLDA,“控制/狀態(tài)”邏輯接收此信號(hào)后發(fā)出DMA響應(yīng)信號(hào),使“DMA請求”標(biāo)志復(fù)位,為交換下一個(gè)字做好準(zhǔn)備。
1、DMA基本構(gòu)成(4)“DMA請求”標(biāo)志每當(dāng)設(shè)備準(zhǔn)備1、DMA基本構(gòu)成
(5)“控制/狀態(tài)”邏輯
由控制和時(shí)序電路以及狀態(tài)標(biāo)志等組成,用于修改內(nèi)存地址計(jì)數(shù)器和字計(jì)數(shù)器,指定傳送類型(輸入或輸出),并對“DMA請求”信號(hào)和CPU響應(yīng)信號(hào)進(jìn)行協(xié)調(diào)和同步。
1、DMA基本構(gòu)成(5)“控制/狀態(tài)”邏輯由控制和時(shí)序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)中不同的中斷事件。
1、DMA基本構(gòu)成(6)中斷機(jī)構(gòu)當(dāng)字計(jì)數(shù)器溢出時(shí)(全08.4.3基本DMA控制器
2、傳送過程
當(dāng)外設(shè)有DMA請求時(shí),通常CPU在本機(jī)器周期結(jié)束后,響應(yīng)DMA請求。
傳送一個(gè)數(shù)據(jù)塊可以分為三個(gè)階段:
-傳送前預(yù)處理
-正式傳送
-傳送后處理
8.4.3基本DMA控制器2、傳送過程當(dāng)8.4.3基本DMA控制器
?預(yù)處理階段:
?第一階段是進(jìn)行初始化,啟動(dòng)設(shè)備、測試設(shè)備。CPU通過程序I/O的方式給DMA控制器預(yù)置初值,取狀態(tài)和送傳送需要的有關(guān)參數(shù)。其中包括內(nèi)存地址計(jì)數(shù)器和字計(jì)數(shù)器的初值。
8.4.3基本DMA控制器?預(yù)處理階段:?第一階段是進(jìn)8.4.3基本DMA控制器
?正式傳送階段:
?由DMA控制器控制外設(shè)與主存之間的數(shù)據(jù)交換。
8.4.3基本DMA控制器?正式傳送階段:?由DMA控8.4.3基本DMA控制器
?正式傳送階段詳解(停止CPU訪問內(nèi)存方式)
8.4.3基本DMA控制器?正式傳送階段詳解(停止CPU8.4.3基本DMA控制器
?傳送后處理階段:
?第三階段即CPU中斷原程序后進(jìn)行后處理。若需要繼續(xù)交換數(shù)據(jù),則又要對DMA進(jìn)行初始化;若不需要交換數(shù)據(jù),則停止外設(shè);若為出錯(cuò),則轉(zhuǎn)錯(cuò)誤診斷及處理程序。
8.4.3基本DMA控制器?傳送后處理階段:?第三階段?思考:
如果有多個(gè)設(shè)備提出DMA傳送請求,該怎么處置?
來看8.4.4選擇型、多路型DMA控制器
?思考:如果有多個(gè)設(shè)備提出DMA傳送請求,8.4.4選擇型和多路型DMA控制器
1.選擇型DMA控制器
?
選擇型DMA控制器在物理上可以連接多個(gè)設(shè)備,而在邏輯上只允許連接一個(gè)設(shè)備。在某一段時(shí)間內(nèi)只能為一個(gè)設(shè)備服務(wù)。
8.4.4選擇型和多路型DMA控制器1.選擇型DMA控制器8.4.4選擇型和多路型DMA控制器
?要點(diǎn):在第一階段要給出所選擇的設(shè)備號(hào)
8.4.4選擇型和多路型DMA控制器?要點(diǎn):在第一階段要給8.4.4選擇型和多路型DMA控制器
?優(yōu)點(diǎn):只增加少量硬件達(dá)到了為多個(gè)外圍設(shè)備服務(wù)的目的
?缺點(diǎn):同一時(shí)刻不能為多個(gè)設(shè)備服務(wù)
?適用于:數(shù)據(jù)傳輸速率很高,接近內(nèi)存訪問速率的設(shè)備。
8.4.4選擇型和多路型DMA控制器?優(yōu)點(diǎn):只增加少量硬件8.4.4選擇型和多路型DMA控制器
?2.多路型DMA控制器
???多路型DMA不僅在物理上可以連接多個(gè)外圍設(shè)備,而且在邏輯上也允許這些外圍設(shè)備同時(shí)工作,各設(shè)備以字節(jié)交叉方式通過DMA控制器進(jìn)行數(shù)據(jù)傳送。
字節(jié)交叉:每個(gè)設(shè)備的每個(gè)字輪流使用DMA傳送
連接示意圖如下頁
8.4.4選擇型和多路型DMA控制器?2.多路型DMA控制
8.4.4選擇型和多路型DMA控制器
?優(yōu)點(diǎn):同時(shí)服務(wù)多個(gè)外設(shè)
?缺點(diǎn):結(jié)構(gòu)復(fù)雜
?適用于:多個(gè)慢速外設(shè)
8.4.4選擇型和多路型DMA控制器?優(yōu)點(diǎn):同時(shí)服務(wù)多個(gè)外8.4.4選擇型和多路型DMA控制器
?典型DMA芯片
8.4.4選擇型和多路型DMA控制器?典型DMA芯片例題:
例3下圖中假設(shè)有磁盤、磁帶、打印機(jī)三個(gè)設(shè)備同時(shí)工作。磁盤以30μs的間隔向控制器發(fā)DMA請求,磁帶以45μs的間隔發(fā)DMA請求,打印機(jī)以150μs間隔發(fā)DMA請求。根據(jù)傳輸速率,磁盤優(yōu)先權(quán)最高,磁帶次之,打印機(jī)最低,圖中假設(shè)DMA控制器每完成一次DMA傳送所需的時(shí)間是5μs。若采用多路型DMA控制器,請畫出DMA控制器服務(wù)三個(gè)設(shè)備的工作時(shí)間圖。
例題:例3下圖中假設(shè)有磁盤、磁帶、打印機(jī)三個(gè)設(shè)備同
分析
由圖看出,T1間隔中控制器首先為打印機(jī)服務(wù),因?yàn)榇藭r(shí)只有打印機(jī)有請求。T2間隔前沿磁盤、磁帶同時(shí)有請求,首先為優(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í)間,說明控制器還可以容納更多設(shè)備。
分析由圖看出,T1間隔中控制器首先為打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)并行
8.5通道方式?通道的基本概念???通道:是計(jì)算8.5通道方式
?在通道控制方式中,一個(gè)主機(jī)可以連接多個(gè)通道。每個(gè)通道又可連接多臺(tái)I/O設(shè)備,這些設(shè)備可具有不同速度,可以是不同種類。
?這種輸入輸出系統(tǒng)增強(qiáng)了主機(jī)與通道操作的并行能力以及各通道之間、同一通道的各設(shè)備之間的并行操作能力。同時(shí)也為用戶提供了增減外圍設(shè)備的靈活性。
8.5通道方式?在通道控制方式中,一個(gè)主機(jī)可以連接多個(gè)通8.5通道方式
?通道結(jié)構(gòu)圖:
??系統(tǒng)總線
I/O總線
8.5通道方式?通道結(jié)構(gòu)圖:??系統(tǒng)總線I/O總線8.5通道方式
?存儲(chǔ)管理部件:決定下一個(gè)存儲(chǔ)周期有哪個(gè)部件使用系統(tǒng)總線訪問存儲(chǔ)器
?通道權(quán)限優(yōu)先于CPU?選擇型通道優(yōu)先級(jí)高于多路型通道
??選擇性通道連接高速設(shè)備
多路型通道連接低速設(shè)備
8.5通道方式?存儲(chǔ)管理部件:決定下一個(gè)存儲(chǔ)周期有哪個(gè)部8.5通道方式
?通道方式下,多使用4級(jí)連接方式:主機(jī)—通道—I/O接口(設(shè)備控制器)—外圍設(shè)備。
?在CPU啟動(dòng)通道后,通道自動(dòng)地去內(nèi)存取出通道指令并執(zhí)行指令。直到數(shù)據(jù)交換過程結(jié)束向CPU發(fā)出中斷請求,進(jìn)行通道結(jié)束處理工作。
8.5通道方式?通道方式下,多使用4級(jí)連接方式:主機(jī)—通通道的功能
?基本功能是:執(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ā)送各種命令。
通道的功能?基本功能是:執(zhí)行通道指令,組織外圍設(shè)備和內(nèi)存進(jìn)通道的功能
(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è)備的中斷請求和通道本身的中斷請求,按次序及時(shí)報(bào)告CPU。
???通道的功能(3)組織外圍設(shè)備和內(nèi)存之間進(jìn)行數(shù)據(jù)傳送,并根8.5通道方式
?通道工作過程主要分為如下三步進(jìn)行:
1.在用戶程序中使用訪管指令進(jìn)入管理程序,由CPU通過管理程序組織一個(gè)通道程序,并啟動(dòng)通道。
2.通道處理機(jī)執(zhí)行CPU為它組織的通道程序.完成指定的數(shù)據(jù)輸入輸出工作
3.通道程序結(jié)束后向CPU發(fā)中斷請求。CPU響應(yīng)這個(gè)中斷請求后,第二次進(jìn)入操作系統(tǒng),調(diào)用管理程序?qū)斎胼敵鲋袛嗾埱筮M(jìn)行處理。
8.5通道方式?通道工作過程主要分為如下三步進(jìn)行:1.在通道管理
?CPU對通道的管理:
??CPU執(zhí)行I/O指令
處理來自通道的中斷
?數(shù)據(jù)傳送結(jié)束
?故障
?管態(tài):CPU運(yùn)行操作系統(tǒng)管理程序
?目態(tài):CPU運(yùn)行目標(biāo)程序
?I/O指令的都是管態(tài)指令
通道管理?CPU對通道的管理:??CPU執(zhí)行I/O指令通道管理
?通道對I/O接口(設(shè)備控制器)的管理:
???1.從通道接受通道指令,控制外圍設(shè)備完成所需操作
2.向通道反映外設(shè)狀態(tài)
3.將各外設(shè)的不同信號(hào)轉(zhuǎn)換成通道能夠識(shí)別的標(biāo)準(zhǔn)信號(hào)。
通道管理?通道對I/O接口(設(shè)備控制器)的管理:???1DMA方式
DMA方式8.4DMA方式
8.4.1DMA方式的一般概念
8.4.2DMA傳送方式
8.4.3DMA傳送一個(gè)數(shù)據(jù)的過程
8.4DMA方式8.4.1DMA方式的一般概念8.4.1DMA方式的一般概念
???直接存儲(chǔ)器訪問(DirectMemoryAccess)DMA方式是為了在主存儲(chǔ)器與I/O設(shè)備間高速交換批量數(shù)據(jù)而設(shè)置的。
基本思想是:通過硬件控制實(shí)現(xiàn)主存與I/O設(shè)備間的直接數(shù)據(jù)傳送,在傳送過程中無需CPU的干預(yù)。數(shù)據(jù)傳送是在DMA控制器控制下進(jìn)行的,
優(yōu)點(diǎn):完全硬件實(shí)現(xiàn),速度快。有利于發(fā)揮CPU的效率。
8.4.1DMA方式的一般概念???直接存儲(chǔ)器訪問(Dir8.4.1DMA方式的一般概念
?過程描述:
?由DMA控制器給出當(dāng)前正在傳送的數(shù)據(jù)的主存地址,并統(tǒng)計(jì)傳送數(shù)據(jù)的個(gè)數(shù)以確定一組數(shù)據(jù)的傳送是否已結(jié)束。在主存中要開辟連續(xù)地址的專用緩沖器,用來提供或接收傳送的數(shù)據(jù)。在數(shù)據(jù)傳送前和結(jié)束后要通過程序或中斷方式對緩沖器和DMA控制器進(jìn)行預(yù)處理和后處理。
8.4.1DMA方式的一般概念?過程描述:?由DMA控制8.4.1DMA方式的一般概念
DMA基本操作:
????(1)從外圍設(shè)備發(fā)出DMA請求;
(2)CPU響應(yīng)請求,把CPU工作改成DMA操作方式,DMA控制器從CPU接管總線的控制;
(3)由DMA控制器對內(nèi)存尋址,即決定數(shù)據(jù)傳送的內(nèi)存單元地址及數(shù)據(jù)傳送個(gè)數(shù)的計(jì)數(shù),并執(zhí)行數(shù)據(jù)傳送的操作;
(4)向CPU報(bào)告DMA操作的結(jié)束。
8.4.1DMA方式的一般概念DMA基本操作:????(?思考:
?DMA正在完成I/O操作時(shí),CPU在干什么?
?二者同時(shí)有訪存需求,怎么辦?
?思考:?DMA正在完成I/O操作時(shí),CPU在干什么?8.4.2DMA傳送方式
1、停止CPU訪問內(nèi)存。
??主機(jī)響應(yīng)DMA請求后,讓出存儲(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í)間。
8.4.2DMA傳送方式1、停止CPU訪問內(nèi)存。??主8.4.2DMA傳送方式
?優(yōu)點(diǎn):控制流程簡單。
?缺點(diǎn):在DMA控制器I/O訪內(nèi)階段,內(nèi)存的效能沒有充分發(fā)揮,相當(dāng)一部分內(nèi)存工作周期是空閑的。
?僅適用于:數(shù)據(jù)傳輸率很高的設(shè)備進(jìn)行成組傳送
8.4.2DMA傳送方式?優(yōu)點(diǎn):控制流程簡單。?缺點(diǎn)8.4.2DMA傳送方式
?2、周期挪用方式
?DMA控制器與主存儲(chǔ)器之間傳送一個(gè)數(shù)據(jù),占用一個(gè)內(nèi)存周期,即CPU暫停訪存工作一個(gè)周期,然后繼續(xù)執(zhí)行程序。
8.4.2DMA傳送方式?2、周期挪用方式?DMA控8.4.2DMA傳送方式
I/O設(shè)備要求DMA傳送時(shí)可能遇到兩種情況:
?(1)CPU不需要訪內(nèi),如CPU正在執(zhí)行乘法指令。由于乘法指令執(zhí)行時(shí)間較長,此時(shí)I/O訪內(nèi)與CPU訪內(nèi)沒有沖突,即I/O設(shè)備挪用一二個(gè)內(nèi)存周期對CPU執(zhí)行程序沒有任何影響。
?(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)請求到來之前存取完畢。顯然,在這種情況下I/O設(shè)備挪用一二個(gè)內(nèi)存周期,意味著CPU延緩了對指令的執(zhí)行,或者更明確地說,在CPU執(zhí)行訪內(nèi)指令的過程中插入DMA請求,挪用了一二個(gè)內(nèi)存周期。
8.4.2DMA傳送方式I/O設(shè)備要求DMA傳送時(shí)可能遇8.4.2DMA傳送方式
?優(yōu)點(diǎn):既實(shí)現(xiàn)了I/O傳送,又較好地發(fā)揮了內(nèi)存和CPU的效率
?缺點(diǎn):每次傳送都要申請總線控制權(quán),建立總線控制權(quán),歸還總線控制權(quán)。
?適用于:I/O設(shè)備讀寫周期大于內(nèi)存存儲(chǔ)周期的情況
8.4.2DMA傳送方式?優(yōu)點(diǎn):既實(shí)現(xiàn)了I/O傳送,又較8.4.2DMA傳送方式
?停止CPU訪存和周期挪用的區(qū)別
??前者:外設(shè)需傳送一批數(shù)據(jù)到內(nèi)存時(shí),DMA獨(dú)占總線、內(nèi)存等資源,一直到該任務(wù)完成
后者:當(dāng)外設(shè)信息被讀取后要寫入內(nèi)存時(shí),才申請總線、訪存權(quán)限,完成寫入,而后釋放,等到下批數(shù)據(jù)被讀出時(shí),又再申請權(quán)限、資源,寫入內(nèi)存。
8.4.2DMA傳送方式?停止CPU訪存和周期挪用的區(qū)別8.4.2DMA傳送方式
?3、DMA和CPU交替訪問內(nèi)存工作方式
???如果CPU的工作周期比內(nèi)存存取周期長很多,可以采用該種方法
指令周期包含若干CPU周期,CPU周期中訪內(nèi)周期只占整個(gè)周期一部分(eg.C1),另外一部分時(shí)間(eg.C2)可交由DMA訪內(nèi),此時(shí)DMA與CPU并行工作。
不需要總線控制權(quán)的申請、建立與歸還。通過C1、C2分時(shí)控制,總線控制權(quán)的轉(zhuǎn)移速度快,DMA效率高。
8.4.2DMA傳送方式?3、DMA和CPU交替訪問內(nèi)存8.4.2DMA傳送方式
?CPU和DMA控制器各自有自己的訪內(nèi)地址寄存器、數(shù)據(jù)寄存器和讀/寫信號(hào)等控制寄存器。在C1周期中,如果DMA控制器有訪內(nèi)請求,可將地址、數(shù)據(jù)等信號(hào)送到總線上。在C2周期中,如CPU有訪內(nèi)請求,同樣傳送
地址、數(shù)據(jù)等信號(hào)。
8.4.2DMA傳送方式?CPU和DMA控制器各自有自己8.4.2DMA傳送方式
?優(yōu)點(diǎn):總線控制權(quán)的轉(zhuǎn)移不需要時(shí)間,DMA傳送高效
?缺點(diǎn):硬件邏輯實(shí)現(xiàn)復(fù)雜
?適用于:CPU的工作周期比內(nèi)存存取周期長很多的情況。
8.4.2DMA傳送方式?優(yōu)點(diǎn):總線控制權(quán)的轉(zhuǎn)移不需要時(shí)8.4.3基本DMA控制器
1、DMA基本構(gòu)成
(1)內(nèi)存地址計(jì)數(shù)器
用于存放內(nèi)存中要交換的數(shù)據(jù)的地址。在DMA傳送前,須通過程序?qū)?shù)據(jù)在內(nèi)存中的起始位置(首地址)送到內(nèi)存地址計(jì)數(shù)器。而當(dāng)DMA傳送時(shí),每交換一次數(shù)據(jù),將地址計(jì)數(shù)器加“1”,從而以增量方式給出內(nèi)存中要交換的一批數(shù)據(jù)的地址。
8.4.3基本DMA控制器1、DMA基本構(gòu)成(1)內(nèi)存1、DMA基本構(gòu)成
(2)字計(jì)數(shù)器
用于記錄傳送數(shù)據(jù)塊的長度(多少字?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)。
1、DMA基本構(gòu)成(2)字計(jì)數(shù)器用于記錄傳送數(shù)據(jù)塊的長度1、DMA基本構(gòu)成
(3)數(shù)據(jù)緩沖寄存器
用于暫存每次傳送的數(shù)據(jù)(一個(gè)字)。當(dāng)輸入時(shí),由設(shè)備(如磁盤)送往數(shù)據(jù)緩沖寄存器,再由緩沖寄存器通過數(shù)據(jù)總線送到內(nèi)存。反之,輸出時(shí),由內(nèi)存通過數(shù)據(jù)總線送到數(shù)據(jù)緩沖寄存器,然后再送到設(shè)備。
1、DMA基本構(gòu)成(3)數(shù)據(jù)緩沖寄存器用于暫存每次傳送1、DMA基本構(gòu)成
(4)“DMA請求”標(biāo)志
每當(dāng)設(shè)備準(zhǔn)備好一個(gè)數(shù)據(jù)字后給出一個(gè)控制信號(hào),使“DMA請求”
標(biāo)志置“1”。該標(biāo)志置位后向“控制/狀態(tài)”邏輯發(fā)出DMA請求,后者又向CPU發(fā)出總線使用權(quán)的請求(HOLD),CPU響應(yīng)此請求后發(fā)回響應(yīng)信號(hào)HLDA,“控制/狀態(tài)”邏輯接收此信號(hào)后發(fā)出DMA響應(yīng)信號(hào),使“DMA請求”標(biāo)志復(fù)位,為交換下一個(gè)字做好準(zhǔn)備。
1、DMA基本構(gòu)成(4)“DMA請求”標(biāo)志每當(dāng)設(shè)備準(zhǔn)備1、DMA基本構(gòu)成
(5)“控制/狀態(tài)”邏輯
由控制和時(shí)序電路以及狀態(tài)標(biāo)志等組成,用于修改內(nèi)存地址計(jì)數(shù)器和字計(jì)數(shù)器,指定傳送類型(輸入或輸出),并對“DMA請求”信號(hào)和CPU響應(yīng)信號(hào)進(jìn)行協(xié)調(diào)和同步。
1、DMA基本構(gòu)成(5)“控制/狀態(tài)”邏輯由控制和時(shí)序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)中不同的中斷事件。
1、DMA基本構(gòu)成(6)中斷機(jī)構(gòu)當(dāng)字計(jì)數(shù)器溢出時(shí)(全08.4.3基本DMA控制器
2、傳送過程
當(dāng)外設(shè)有DMA請求時(shí),通常CPU在本機(jī)器周期結(jié)束后,響應(yīng)DMA請求。
傳送一個(gè)數(shù)據(jù)塊可以分為三個(gè)階段:
-傳送前預(yù)處理
-正式傳送
-傳送后處理
8.4.3基本DMA控制器2、傳送過程當(dāng)8.4.3基本DMA控制器
?預(yù)處理階段:
?第一階段是進(jìn)行初始化,啟動(dòng)設(shè)備、測試設(shè)備。CPU通過程序I/O的方式給DMA控制器預(yù)置初值,取狀態(tài)和送傳送需要的有關(guān)參數(shù)。其中包括內(nèi)存地址計(jì)數(shù)器和字計(jì)數(shù)器的初值。
8.4.3基本DMA控制器?預(yù)處理階段:?第一階段是進(jìn)8.4.3基本DMA控制器
?正式傳送階段:
?由DMA控制器控制外設(shè)與主存之間的數(shù)據(jù)交換。
8.4.3基本DMA控制器?正式傳送階段:?由DMA控8.4.3基本DMA控制器
?正式傳送階段詳解(停止CPU訪問內(nèi)存方式)
8.4.3基本DMA控制器?正式傳送階段詳解(停止CPU8.4.3基本DMA控制器
?傳送后處理階段:
?第三階段即CPU中斷原程序后進(jìn)行后處理。若需要繼續(xù)交換數(shù)據(jù),則又要對DMA進(jìn)行初始化;若不需要交換數(shù)據(jù),則停止外設(shè);若為出錯(cuò),則轉(zhuǎn)錯(cuò)誤診斷及處理程序。
8.4.3基本DMA控制器?傳送后處理階段:?第三階段?思考:
如果有多個(gè)設(shè)備提出DMA傳送請求,該怎么處置?
來看8.4.4選擇型、多路型DMA控制器
?思考:如果有多個(gè)設(shè)備提出DMA傳送請求,8.4.4選擇型和多路型DMA控制器
1.選擇型DMA控制器
?
選擇型DMA控制器在物理上可以連接多個(gè)設(shè)備,而在邏輯上只允許連接一個(gè)設(shè)備。在某一段時(shí)間內(nèi)只能為一個(gè)設(shè)備服務(wù)。
8.4.4選擇型和多路型DMA控制器1.選擇型DMA控制器8.4.4選擇型和多路型DMA控制器
?要點(diǎn):在第一階段要給出所選擇的設(shè)備號(hào)
8.4.4選擇型和多路型DMA控制器?要點(diǎn):在第一階段要給8.4.4選擇型和多路型DMA控制器
?優(yōu)點(diǎn):只增加少量硬件達(dá)到了為多個(gè)外圍設(shè)備服務(wù)的目的
?缺點(diǎn):同一時(shí)刻不能為多個(gè)設(shè)備服務(wù)
?適用于:數(shù)據(jù)傳輸速率很高,接近內(nèi)存訪問速率的設(shè)備。
8.4.4選擇型和多路型DMA控制器?優(yōu)點(diǎn):只增加少量硬件8.4.4選擇型和多路型DMA控制器
?2.多路型DMA控制器
???多路型DMA不僅在物理上可以連接多個(gè)外圍設(shè)備,而且在邏輯上也允許這些外圍設(shè)備同時(shí)工作,各設(shè)備以字節(jié)交叉方式通過DMA控制器進(jìn)行數(shù)據(jù)傳送。
字節(jié)交叉:每個(gè)設(shè)備的每個(gè)字輪流使用DMA傳送
連接示意圖如下頁
8.4.4選擇型和多路型DMA控制器?2.多路型DMA控制
8.4.4選擇型和多路型DMA控制器
?優(yōu)點(diǎn):同時(shí)服務(wù)多個(gè)外設(shè)
?缺點(diǎn):結(jié)構(gòu)復(fù)雜
?適用于:多個(gè)慢速外設(shè)
8.4.4選擇型和多路型DMA控制器?優(yōu)點(diǎn):同時(shí)服務(wù)多個(gè)外8.4.4選擇型和多路型DMA控制器
?典型DMA芯片
8.4.4選擇型和多路型DMA控制器?典型DMA芯片例題:
例3下圖中假設(shè)有磁盤、磁帶、打印機(jī)三個(gè)設(shè)備同時(shí)工作。磁盤以30μs的間隔向控制器發(fā)DMA請求,磁帶以45μs的間隔發(fā)DMA請求,打印機(jī)以150μs間隔發(fā)DMA請求。根據(jù)傳輸速率,磁盤優(yōu)先權(quán)最高,磁帶次之,打印機(jī)最低,圖中假設(shè)DMA控制器每完成一次DMA傳送所需的時(shí)間是5μs。若采用多路型DMA控制器,請畫出DMA控制器服務(wù)三個(gè)設(shè)備的工作時(shí)間圖。
例題:例3下圖中假設(shè)有磁盤、磁帶、打印機(jī)三個(gè)設(shè)備同
分析
由圖看出,T1間隔中控制器首先為打印機(jī)服務(wù),因?yàn)榇藭r(shí)只有打印機(jī)有請求。T2間隔前沿磁盤、磁帶同時(shí)有請求,首先為優(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í)間,說明控制器還可以容納更多設(shè)備。
分析由圖看出,T1間隔中控制器首先為打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)并行
8.5通道方式?通道的基本概念???通道:是計(jì)算8.5通道方式
?在通道控制方式中,一個(gè)主機(jī)可
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025河北中核二四勞務(wù)有限公司招聘200人考前自測高頻考點(diǎn)模擬試題及參考答案詳解1套
- 2025年離合器主缸項(xiàng)目申請報(bào)告范文
- 2025年電動(dòng)醫(yī)療床項(xiàng)目申請報(bào)告模板
- 2025年有色金屬分選機(jī)項(xiàng)目申請報(bào)告模板
- 2025年五金交電批發(fā)服務(wù)項(xiàng)目提案報(bào)告
- 2025屆江西省臨川區(qū)高三下學(xué)期第一次模擬測試英語試題(解析版)
- 員工安全保障承諾函4篇
- 2025北京中國熱帶農(nóng)業(yè)科學(xué)院椰子研究所第一批次招聘模擬試卷及答案詳解(必刷)
- 2025年陜西航空職業(yè)技術(shù)學(xué)院學(xué)工部招聘模擬試卷(含答案詳解)
- 遼寧省縣域重點(diǎn)高中2024-2025學(xué)年高一下學(xué)期期末考試地理試題(解析版)
- 中餐行政總廚崗位職責(zé)說明書
- 2025山西大同左云縣人民法院勞務(wù)派遣制書記員、輔警招聘考試參考試題及答案解析
- 2025-2026學(xué)年河南省天一大聯(lián)考高一年級(jí)秋季檢測數(shù)學(xué)試卷(含答案)
- 多肉教學(xué)課件
- 部編本語文四年級(jí)上冊第三單元教材解讀-PPT
- 英語考級(jí)-a級(jí)詞匯完整版
- 六年級(jí)上冊美術(shù)課件-第8課 字體的變化丨贛美版 (24張PPT)
- 體檢前注意事項(xiàng)
- TSG Z7002-2022 特種設(shè)備檢測機(jī)構(gòu)核準(zhǔn)規(guī)則-高清正版
- 日用品采購合同范本參考
- 文學(xué)理論復(fù)習(xí)題
評論
0/150
提交評論