版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第章第章 輸入輸出系統(tǒng)輸入輸出系統(tǒng)5.6 DMA5.6 DMA方式方式5.5 5.5 程序中斷方式程序中斷方式5.4 5.4 程序查詢方式程序查詢方式5.3 I/O5.3 I/O接口接口5.2 5.2 外部設(shè)備外部設(shè)備5.1 5.1 概述概述系系統(tǒng)統(tǒng)總總線線存儲(chǔ)器存儲(chǔ)器 運(yùn)算器運(yùn)算器 控制器控制器 接口與通信接口與通信 輸入輸入/輸出設(shè)備輸出設(shè)備Cache 一、一、I/OI/O系統(tǒng)的發(fā)展系統(tǒng)的發(fā)展 1. 1. 早期分散連接階段早期分散連接階段5.1 5.1 概述概述3. 3. 通道結(jié)構(gòu)的階段通道結(jié)構(gòu)的階段二、二、I/OI/O系統(tǒng)的組成系統(tǒng)的組成三、三、I/OI/O設(shè)備與主機(jī)的聯(lián)系方式設(shè)備與主機(jī)
2、的聯(lián)系方式1. I/O1. I/O設(shè)備編址方式設(shè)備編址方式u統(tǒng)一編址統(tǒng)一編址存儲(chǔ)器映射編址存儲(chǔ)器映射編址 把每個(gè)把每個(gè)I/OI/O設(shè)備地址都當(dāng)作一個(gè)存儲(chǔ)器單元看待,設(shè)備地址都當(dāng)作一個(gè)存儲(chǔ)器單元看待,I/OI/O設(shè)設(shè)備與存儲(chǔ)器單元在同一地址空間中進(jìn)行統(tǒng)一編址。常常在整備與存儲(chǔ)器單元在同一地址空間中進(jìn)行統(tǒng)一編址。常常在整個(gè)地址空間中劃分出一小塊連續(xù)的地址分配給個(gè)地址空間中劃分出一小塊連續(xù)的地址分配給I/OI/O設(shè)備。被設(shè)備。被分配給分配給I/OI/O設(shè)備的地址,存儲(chǔ)器不能再使用。設(shè)備的地址,存儲(chǔ)器不能再使用。統(tǒng)一編址的優(yōu)缺點(diǎn)統(tǒng)一編址的優(yōu)缺點(diǎn)優(yōu)點(diǎn):優(yōu)點(diǎn):缺點(diǎn):缺點(diǎn):u獨(dú)立編址獨(dú)立編址I/OI/O映射
3、編址映射編址 將存儲(chǔ)器和將存儲(chǔ)器和I/OI/O設(shè)備建立兩個(gè)完全獨(dú)立的地址空間。設(shè)備建立兩個(gè)完全獨(dú)立的地址空間。CPUCPU使使用專門的控制信號(hào)來區(qū)分是對(duì)存儲(chǔ)器訪問還是對(duì)用專門的控制信號(hào)來區(qū)分是對(duì)存儲(chǔ)器訪問還是對(duì)I/OI/O設(shè)備進(jìn)行設(shè)備進(jìn)行訪問。這些控制信號(hào)的產(chǎn)生是由指令來控制。訪問。這些控制信號(hào)的產(chǎn)生是由指令來控制。 獨(dú)立編址的優(yōu)缺點(diǎn)獨(dú)立編址的優(yōu)缺點(diǎn)優(yōu)點(diǎn):優(yōu)點(diǎn): (1 1)使用專門的)使用專門的I/OI/O指令,程序清晰易讀;指令,程序清晰易讀; (2 2)I/OI/O設(shè)備的地址空間獨(dú)立,不占用存儲(chǔ)器設(shè)備的地址空間獨(dú)立,不占用存儲(chǔ)器的存儲(chǔ)空間,且地址譯碼電路相對(duì)簡單。的存儲(chǔ)空間,且地址譯碼電路
4、相對(duì)簡單。 缺點(diǎn):缺點(diǎn): (1 1)訪問外設(shè)的指令沒有訪問存儲(chǔ)器的指令多)訪問外設(shè)的指令沒有訪問存儲(chǔ)器的指令多 (2 2)CPUCPU需設(shè)置專門的控制信號(hào),區(qū)分對(duì)存儲(chǔ)需設(shè)置專門的控制信號(hào),區(qū)分對(duì)存儲(chǔ)器的訪問和對(duì)外設(shè)地址的訪問。器的訪問和對(duì)外設(shè)地址的訪問。 2. 2. 設(shè)備尋址設(shè)備尋址I/OI/O指令設(shè)備碼段指出設(shè)備號(hào),通過接口電路指令設(shè)備碼段指出設(shè)備號(hào),通過接口電路中的中的設(shè)備選擇電路設(shè)備選擇電路SELSEL選中需要的外設(shè)。選中需要的外設(shè)。3. 3. 信息傳送方式信息傳送方式串行:速度慢,需要串行:速度慢,需要1 1數(shù)據(jù)線數(shù)據(jù)線1 1地址線,適合遠(yuǎn)距離地址線,適合遠(yuǎn)距離4. 4. 連接方式連接
5、方式5. 5. 聯(lián)絡(luò)方式聯(lián)絡(luò)方式并行并行串行串行“Ready”“Strobe”I/O 接接 口口I/O 設(shè)設(shè) 備備CPU并行并行數(shù)據(jù)字?jǐn)?shù)據(jù)字命令字命令字命令字命令字0 1 1 0 1 0 0 09.09ms2 9.09ms起始位起始位終止位終止位9.09ms2 9.09ms一、程序查詢方式一、程序查詢方式工作原理:工作原理:CPUCPU查詢外設(shè)已查詢外設(shè)已準(zhǔn)備好后,才傳送數(shù)據(jù)。準(zhǔn)備好后,才傳送數(shù)據(jù)。特點(diǎn):特點(diǎn):CPUCPU與外設(shè)間通過程與外設(shè)間通過程序同步,序同步,CPUCPU被外設(shè)獨(dú)占,被外設(shè)獨(dú)占,CPUCPU效率低下。效率低下。要求:要求:不需要增加額外的硬不需要增加額外的硬件電路。件電路
6、。應(yīng)用:應(yīng)用: 適用于適用于CPUCPU不太忙且不太忙且傳送速度要求不高時(shí)。傳送速度要求不高時(shí)。四、四、I/OI/O設(shè)備與主機(jī)信息傳送的控制方式設(shè)備與主機(jī)信息傳送的控制方式返回二、程序中斷方式二、程序中斷方式工作原理:工作原理:在外設(shè)準(zhǔn)備數(shù)據(jù)時(shí),在外設(shè)準(zhǔn)備數(shù)據(jù)時(shí), CPUCPU執(zhí)行與傳送數(shù)據(jù)無關(guān)的工作,外設(shè)執(zhí)行與傳送數(shù)據(jù)無關(guān)的工作,外設(shè)在準(zhǔn)備好數(shù)據(jù)后,主動(dòng)向在準(zhǔn)備好數(shù)據(jù)后,主動(dòng)向CPUCPU發(fā)送發(fā)送一個(gè)中斷請(qǐng)求,當(dāng)一個(gè)中斷請(qǐng)求,當(dāng)CPUCPU執(zhí)行完當(dāng)前執(zhí)行完當(dāng)前指令后,停止當(dāng)前程序的執(zhí)行,自指令后,停止當(dāng)前程序的執(zhí)行,自動(dòng)轉(zhuǎn)向中斷服務(wù)程序,在中斷服務(wù)動(dòng)轉(zhuǎn)向中斷服務(wù)程序,在中斷服務(wù)程序中,完成一
7、個(gè)數(shù)據(jù)的傳送,之程序中,完成一個(gè)數(shù)據(jù)的傳送,之后中斷返回至原來的斷點(diǎn)處,繼續(xù)后中斷返回至原來的斷點(diǎn)處,繼續(xù)執(zhí)行。執(zhí)行。特點(diǎn):特點(diǎn):在外設(shè)準(zhǔn)備數(shù)據(jù)時(shí),在外設(shè)準(zhǔn)備數(shù)據(jù)時(shí),CPUCPU與外與外設(shè)并行工作,設(shè)并行工作,CPUCPU效率有所提高,效率有所提高,并且并且CPUCPU可以同時(shí)被多個(gè)外設(shè)占用??梢酝瑫r(shí)被多個(gè)外設(shè)占用。要求:要求:接口中需要中斷控制邏輯支持。接口中需要中斷控制邏輯支持。應(yīng)用:應(yīng)用:適用于中低速設(shè)備。適用于中低速設(shè)備。取指令取指令執(zhí)行指令執(zhí)行指令中斷?中斷?響應(yīng)中斷響應(yīng)中斷中斷服務(wù)中斷服務(wù)中斷返回中斷返回啟動(dòng)啟動(dòng)否否是是返回三、直接存儲(chǔ)器訪問(三、直接存儲(chǔ)器訪問(DMADMA)方式
8、)方式工作原理:工作原理:將將I/OI/O過程中,與內(nèi)存交過程中,與內(nèi)存交換數(shù)據(jù)的操作交由換數(shù)據(jù)的操作交由DMADMA控制器來控控制器來控制,簡化了制,簡化了CPUCPU對(duì)輸入輸出的控制,對(duì)輸入輸出的控制,進(jìn)一步提高了進(jìn)一步提高了CPUCPU的效率。的效率。特點(diǎn):特點(diǎn):數(shù)據(jù)的傳送不經(jīng)過數(shù)據(jù)的傳送不經(jīng)過CPUCPU(由(由DMACDMAC控制),而控制),而I/OI/O設(shè)備管理由設(shè)備管理由CPUCPU控制,簡化了控制,簡化了CPUCPU對(duì)對(duì)I/OI/O的控制。的控制。硬件開銷大,結(jié)構(gòu)復(fù)雜,但硬件開銷大,結(jié)構(gòu)復(fù)雜,但CPUCPU的的效率高。效率高。要求:要求:需要需要DMADMA控制器及相關(guān)邏輯支
9、控制器及相關(guān)邏輯支持。持。應(yīng)用:應(yīng)用:適用與高速度大量數(shù)據(jù)傳送適用與高速度大量數(shù)據(jù)傳送時(shí)。時(shí)。DMADMA請(qǐng)求請(qǐng)求DMADMA響應(yīng)響應(yīng)發(fā)送內(nèi)存地址發(fā)送內(nèi)存地址傳送一個(gè)數(shù)據(jù)字傳送一個(gè)數(shù)據(jù)字DMADMA結(jié)束結(jié)束修改地址指針修改地址指針修改字計(jì)數(shù)器修改字計(jì)數(shù)器檢測傳送檢測傳送是否結(jié)束是否結(jié)束否否是是返回存取周期結(jié)束存取周期結(jié)束CPU 執(zhí)行現(xiàn)行程序執(zhí)行現(xiàn)行程序CPU 執(zhí)行現(xiàn)行程序執(zhí)行現(xiàn)行程序DMA請(qǐng)求請(qǐng)求啟動(dòng)啟動(dòng)I/OI/O準(zhǔn)備準(zhǔn)備I/O準(zhǔn)備準(zhǔn)備一個(gè)存取周期一個(gè)存取周期實(shí)現(xiàn)實(shí)現(xiàn)I/O與主存與主存之間的傳送之間的傳送CPU 執(zhí)行執(zhí)行現(xiàn)行程序現(xiàn)行程序CPU查詢等待并傳輸查詢等待并傳輸I/O數(shù)據(jù)數(shù)據(jù)CPU
10、執(zhí)行執(zhí)行現(xiàn)行程序現(xiàn)行程序啟動(dòng)啟動(dòng)I/OI/O 準(zhǔn)備及傳送準(zhǔn)備及傳送指令執(zhí)行周期結(jié)束指令執(zhí)行周期結(jié)束CPU 執(zhí)行現(xiàn)行程序執(zhí)行現(xiàn)行程序CPU 執(zhí)行現(xiàn)行程序執(zhí)行現(xiàn)行程序啟動(dòng)啟動(dòng)I/O中斷請(qǐng)求中斷請(qǐng)求I/O準(zhǔn)備準(zhǔn)備I/O準(zhǔn)備準(zhǔn)備CPU 處理中斷服務(wù)程序處理中斷服務(wù)程序?qū)崿F(xiàn)實(shí)現(xiàn) I/O 與主機(jī)之間的傳送與主機(jī)之間的傳送間間斷斷啟動(dòng)啟動(dòng)I/O啟動(dòng)啟動(dòng)I/OI/O準(zhǔn)備準(zhǔn)備中斷請(qǐng)求中斷請(qǐng)求啟動(dòng)啟動(dòng)I/OI/O準(zhǔn)備準(zhǔn)備一個(gè)存取周期一個(gè)存取周期DMA請(qǐng)求請(qǐng)求I/O 準(zhǔn)備及傳送準(zhǔn)備及傳送5.2 I/O5.2 I/O設(shè)備設(shè)備輸入設(shè)備:輸入設(shè)備:輸入的數(shù)據(jù)計(jì)算機(jī)可以識(shí)別。輸入的數(shù)據(jù)計(jì)算機(jī)可以識(shí)別。輸出設(shè)備:輸出設(shè)備:輸
11、出計(jì)算機(jī)中存儲(chǔ)的數(shù)據(jù)。輸出計(jì)算機(jī)中存儲(chǔ)的數(shù)據(jù)。輸入輸出設(shè)備種類繁多,很難用一種結(jié)構(gòu)形式加輸入輸出設(shè)備種類繁多,很難用一種結(jié)構(gòu)形式加以描述,一般結(jié)構(gòu)為以描述,一般結(jié)構(gòu)為接口接口輸入設(shè)備輸入設(shè)備輸出設(shè)備輸出設(shè)備接口接口例如:例如:聲卡、顯示卡聲卡、顯示卡例如:例如:顯示器、打印機(jī)顯示器、打印機(jī) 顯示器燈絲燈絲陰極陰極聚焦極聚焦極石墨層石墨層熒光屏熒光屏顯示屏顯示屏陽極帽陽極帽偏轉(zhuǎn)線圈偏轉(zhuǎn)線圈柵極柵極陽極陽極電子槍電子槍電子束電子束陰極射線管(陰極射線管(CRT)構(gòu)成工作原理)構(gòu)成工作原理 VRAMVRAM的地址由水平地址計(jì)數(shù)器的地址由水平地址計(jì)數(shù)器( (列地址列地址) )和垂直地址計(jì)數(shù)器和垂直地址
12、計(jì)數(shù)器( (行地址行地址) )決定決定VRAMVRAM輸出輸出ASCIIASCII代碼作為代碼作為ROMROM的高位地址,的高位地址,ROMROM的低位地址來自光柵地址計(jì)數(shù)器的低位地址來自光柵地址計(jì)數(shù)器ROMROM輸出在輸出在L L控制下并行裝入移位寄存器,再在控制下并行裝入移位寄存器,再在S S控制下移位輸出形成視頻信號(hào)控制下移位輸出形成視頻信號(hào)視頻信號(hào)輸出到顯示器視頻信號(hào)輸出到顯示器顯示器在水平同步、垂直同步和視頻信號(hào)控制下,連續(xù)刷新呈現(xiàn)穩(wěn)定字符圖像顯示器在水平同步、垂直同步和視頻信號(hào)控制下,連續(xù)刷新呈現(xiàn)穩(wěn)定字符圖像 圖像輸入板圖像輸入板信號(hào)轉(zhuǎn)換。它接收攝像機(jī)模擬視頻信號(hào),信號(hào)轉(zhuǎn)換。它接收
13、攝像機(jī)模擬視頻信號(hào),經(jīng)經(jīng)A/DA/D變?yōu)閿?shù)字量存入刷存用于顯示,并可傳送到主機(jī)進(jìn)變?yōu)閿?shù)字量存入刷存用于顯示,并可傳送到主機(jī)進(jìn)行圖像處理。處理結(jié)果送回刷存,經(jīng)行圖像處理。處理結(jié)果送回刷存,經(jīng)D/AD/A變成模擬信號(hào),變成模擬信號(hào),監(jiān)視器(或電視機(jī))顯示輸出。采用光柵掃描方式,有監(jiān)視器(或電視機(jī))顯示輸出。采用光柵掃描方式,有顯像、灰度變換、窗口技術(shù)、真彩色、偽彩色等功能顯像、灰度變換、窗口技術(shù)、真彩色、偽彩色等功能針式打印機(jī)構(gòu)造針式打印機(jī)構(gòu)造打印打印紙紙導(dǎo)軌導(dǎo)軌打印針打印針永磁鐵永磁鐵 鐵芯鐵芯銜鐵銜鐵 線圈線圈色帶色帶色帶保護(hù)片色帶保護(hù)片滾筒滾筒墨水槽墨水槽噴墨頭噴墨頭過濾器過濾器收集槽收集槽
14、高壓高壓電源電源振蕩振蕩發(fā)生器發(fā)生器字符字符發(fā)生器發(fā)生器打打印印紙紙充電電極充電電極壓電陶瓷壓電陶瓷偏轉(zhuǎn)電極偏轉(zhuǎn)電極墨水泵墨水泵回收器回收器組成與打印原理組成與打印原理字符打印過程字符打印過程( 以以 7*5 點(diǎn)陣為例點(diǎn)陣為例 )激光部分激光部分印字機(jī)印字機(jī)控制部分控制部分(微處理機(jī)漢字字形庫微處理機(jī)漢字字形庫)記錄鼓記錄鼓(硒鼓硒鼓)顯象顯象部分部分+.定形部分定形部分 輸紙用輥輸紙用輥轉(zhuǎn)寫轉(zhuǎn)寫清掃輥清掃輥帶電器帶電器印寫部分印寫部分清掃部分清掃部分轉(zhuǎn)寫部分轉(zhuǎn)寫部分接紙接紙 部分部分紙紙激光激光一一. .接口的基本概念接口的基本概念I(lǐng)/OI/O設(shè)備適配器簡稱為接口。設(shè)備適配器簡稱為接口。接口
15、指接口指CPUCPU和外圍設(shè)備之和外圍設(shè)備之間通過總線進(jìn)行連接的邏輯部件。間通過總線進(jìn)行連接的邏輯部件。 接口部件在它動(dòng)態(tài)連接的兩個(gè)部件之間起著接口部件在它動(dòng)態(tài)連接的兩個(gè)部件之間起著“轉(zhuǎn)轉(zhuǎn)換器換器”的作用,以便實(shí)現(xiàn)彼此之間的信息傳送。的作用,以便實(shí)現(xiàn)彼此之間的信息傳送。 5.3 輸入輸出接口微機(jī)系統(tǒng)各類接口框圖微機(jī)系統(tǒng)各類接口框圖 為什么要設(shè)置接口?為什么要設(shè)置接口?1. 1. 實(shí)現(xiàn)設(shè)備的選擇實(shí)現(xiàn)設(shè)備的選擇2. 2. 實(shí)現(xiàn)數(shù)據(jù)緩沖達(dá)到速度匹配實(shí)現(xiàn)數(shù)據(jù)緩沖達(dá)到速度匹配4. 4. 實(shí)現(xiàn)電平轉(zhuǎn)換實(shí)現(xiàn)電平轉(zhuǎn)換5. 5. 傳送控制命令傳送控制命令6. 6. 反映設(shè)備的狀態(tài)(反映設(shè)備的狀態(tài)(“忙忙”、“就
16、緒就緒”、“中斷請(qǐng)求中斷請(qǐng)求”)3. 3. 實(shí)現(xiàn)數(shù)據(jù)串實(shí)現(xiàn)數(shù)據(jù)串 并格式轉(zhuǎn)換并格式轉(zhuǎn)換I/O 接口接口設(shè)備設(shè)備BI/O 接口接口設(shè)備設(shè)備A數(shù)據(jù)線數(shù)據(jù)線命令線命令線狀態(tài)線狀態(tài)線I/O總線(地址、數(shù)據(jù)、控制)總線(地址、數(shù)據(jù)、控制)設(shè)備選擇線設(shè)備選擇線總線連接方式的總線連接方式的 I/O 接口電路接口電路1. 1. 實(shí)現(xiàn)設(shè)備選址的功能實(shí)現(xiàn)設(shè)備選址的功能(SELECTSELECT電路電路) )3. 3. 實(shí)現(xiàn)數(shù)據(jù)傳送功能實(shí)現(xiàn)數(shù)據(jù)傳送功能(緩沖寄存器(緩沖寄存器DBR)DBR)2. 2. 傳送控制命令的功能傳送控制命令的功能(命令寄存器、命令譯碼器)(命令寄存器、命令譯碼器)5. 5. 反映設(shè)備的狀態(tài)
17、功能反映設(shè)備的狀態(tài)功能(系列觸發(fā)器)(系列觸發(fā)器)4. 4. 實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)換功能實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)換功能(串(串 并格式轉(zhuǎn)換、電平轉(zhuǎn)換電路)并格式轉(zhuǎn)換、電平轉(zhuǎn)換電路)D D 完成觸發(fā)器完成觸發(fā)器B B 工作觸發(fā)器工作觸發(fā)器MASK MASK 屏蔽觸發(fā)器屏蔽觸發(fā)器INTRINTR中斷請(qǐng)求觸發(fā)器中斷請(qǐng)求觸發(fā)器ERRORERROR出錯(cuò)觸發(fā)器出錯(cuò)觸發(fā)器 命令寄存器命令寄存器和命令譯碼器和命令譯碼器 設(shè)備選擇設(shè)備選擇 電路電路 設(shè)備狀態(tài)設(shè)備狀態(tài) 標(biāo)記標(biāo)記 數(shù)據(jù)緩沖數(shù)據(jù)緩沖 寄存器寄存器DBR 控制邏輯電路控制邏輯電路I/O接口接口外外 部部 設(shè)設(shè) 備備數(shù)據(jù)線數(shù)據(jù)線命令命令狀態(tài)狀態(tài)數(shù)據(jù)線數(shù)據(jù)線命令線命令線狀態(tài)線狀態(tài)
18、線CPU地址線地址線三、三、I/OI/O接口的組成接口的組成端口:端口:接口電路中可以被接口電路中可以被CPUCPU直接訪問的寄存器,如直接訪問的寄存器,如數(shù)據(jù)端口、命令端口、狀態(tài)端口數(shù)據(jù)端口、命令端口、狀態(tài)端口接口:接口:若干端口加上相應(yīng)的控制邏輯電路組成若干端口加上相應(yīng)的控制邏輯電路組成并行接口并行接口串行接口串行接口可編程接口可編程接口不可編程接口不可編程接口通用接口通用接口專用接口專用接口1. 1. 按接口與外設(shè)數(shù)據(jù)按接口與外設(shè)數(shù)據(jù) 傳送方式傳送方式 分類分類2. 2. 按按功能功能 選擇選擇的靈活性的靈活性 分類分類3. 3. 按按 通用性通用性 分類分類4. 4. 按數(shù)據(jù)傳送的按數(shù)
19、據(jù)傳送的 控制方式控制方式 分類分類DMADMA接口接口IOIO通道通道Intel 8255Intel 8251Intel 8255、 Intel 8251Intel 8212Intel 8255、 Intel 8251Intel 8279、 Intel 8275查詢接口查詢接口中斷接口中斷接口程序查詢方式、程序中斷方式:程序查詢方式、程序中斷方式:適用于適用于慢速慢速外設(shè)與外設(shè)與CPU交換數(shù)據(jù),交換數(shù)據(jù),DMA方式、通道方式方式、通道方式 和和PPU方式:方式:適用于適用于高速高速外設(shè)與外設(shè)與CPU交換數(shù)據(jù)。交換數(shù)據(jù)。目前,目前,微型機(jī)微型機(jī)中多采用:中多采用:程序中斷方式程序中斷方式和和D
20、MA方式方式。大中型計(jì)算機(jī)大中型計(jì)算機(jī)中多采用:中多采用:通道方式通道方式和和PPU方式方式。 程序中程序中斷方式斷方式I/OI/O設(shè)備與設(shè)備與CPUCPU數(shù)據(jù)交換方式數(shù)據(jù)交換方式輸入輸入/輸出設(shè)備與輸出設(shè)備與CPU交換數(shù)據(jù)的控制方式:交換數(shù)據(jù)的控制方式:方法方法1方法方法2方法方法3方法方法41. 1. 程序查詢流程程序查詢流程(1 1)單個(gè)設(shè)備)單個(gè)設(shè)備(2 2)多個(gè)設(shè))多個(gè)設(shè)備備設(shè)備選擇電路設(shè)備選擇電路DBRQQ&數(shù)據(jù)線數(shù)據(jù)線準(zhǔn)備就緒準(zhǔn)備就緒啟動(dòng)命令啟動(dòng)命令地址線地址線SEL輸入數(shù)據(jù)輸入數(shù)據(jù)啟動(dòng)設(shè)備啟動(dòng)設(shè)備設(shè)備工作設(shè)備工作 結(jié)束結(jié)束DB10 10以輸入為例以輸入為例3 3、程序查
21、詢方式的接口電路、程序查詢方式的接口電路輸入電路輸入電路CPU 執(zhí)行執(zhí)行主程序主程序CPU查詢等待并傳輸查詢等待并傳輸I/O數(shù)據(jù)數(shù)據(jù)CPU 執(zhí)行執(zhí)行主程序主程序啟動(dòng)啟動(dòng)I/OI/O 準(zhǔn)備及傳送準(zhǔn)備及傳送啟動(dòng)啟動(dòng)I/OI/O 準(zhǔn)備及傳送準(zhǔn)備及傳送該方式簡單,但是存在以下缺點(diǎn):該方式簡單,但是存在以下缺點(diǎn):(1)是是CPU主動(dòng)去查詢,而不是外設(shè)有數(shù)據(jù)傳送時(shí),主動(dòng)去查詢,而不是外設(shè)有數(shù)據(jù)傳送時(shí),CPU才去查詢。才去查詢。(2)查詢過程中,查詢過程中,CPU長期處于等待狀態(tài)不能處理其他業(yè)務(wù),效率低。長期處于等待狀態(tài)不能處理其他業(yè)務(wù),效率低。(3)CPU在一段時(shí)間內(nèi)只能和一臺(tái)外部設(shè)備交換數(shù)據(jù)。在一段時(shí)間
22、內(nèi)只能和一臺(tái)外部設(shè)備交換數(shù)據(jù)。(4)CPU不能發(fā)現(xiàn)和處理預(yù)先無法估計(jì)的錯(cuò)誤和異常情況。不能發(fā)現(xiàn)和處理預(yù)先無法估計(jì)的錯(cuò)誤和異常情況。 因此,目前,除單片機(jī)外,因此,目前,除單片機(jī)外,很少使用程序查詢方式。很少使用程序查詢方式。CPU與外設(shè)串行工作與外設(shè)串行工作CPU工作工作外設(shè)工作外設(shè)工作(CPU查詢等待,數(shù)據(jù)傳輸?shù)臅r(shí)間很短)查詢等待,數(shù)據(jù)傳輸?shù)臅r(shí)間很短)CPU工作工作程序查詢方式:程序查詢方式:CPUCPU和外設(shè)之間的傳送數(shù)據(jù),和外設(shè)之間的傳送數(shù)據(jù),完完全靠程序軟件來控制全靠程序軟件來控制。例例5.1、在采用程序查詢方式的輸入輸出系統(tǒng)中,假設(shè)不考慮處理在采用程序查詢方式的輸入輸出系統(tǒng)中,假設(shè)不
23、考慮處理時(shí)間,每一個(gè)查詢操作需要時(shí)間,每一個(gè)查詢操作需要100個(gè)時(shí)鐘周期,個(gè)時(shí)鐘周期,CPU的時(shí)鐘頻率為的時(shí)鐘頻率為50MHz?,F(xiàn)有?,F(xiàn)有鼠標(biāo)和硬盤鼠標(biāo)和硬盤兩個(gè)設(shè)備,而且兩個(gè)設(shè)備,而且CPU必須每秒鐘對(duì)鼠標(biāo)進(jìn)必須每秒鐘對(duì)鼠標(biāo)進(jìn)行行30次查詢,硬盤以次查詢,硬盤以32位字長為單位傳輸數(shù)據(jù),即每傳輸位字長為單位傳輸數(shù)據(jù),即每傳輸32位被位被CPU查詢一次,傳輸率為查詢一次,傳輸率為2MB/s。 求求CPU對(duì)這兩個(gè)設(shè)備所花費(fèi)的時(shí)間比率,由此可得出什么結(jié)論。對(duì)這兩個(gè)設(shè)備所花費(fèi)的時(shí)間比率,由此可得出什么結(jié)論。解:解:1)CPU每秒對(duì)鼠標(biāo)進(jìn)行每秒對(duì)鼠標(biāo)進(jìn)行30次查詢,每秒鐘次查詢,每秒鐘CPU查詢所需的
24、時(shí)鐘周期為查詢所需的時(shí)鐘周期為 100 * 30 = 3000CPU的時(shí)鐘頻率為的時(shí)鐘頻率為50MHz,一個(gè)時(shí)鐘周期為,一個(gè)時(shí)鐘周期為1/50M 秒,秒, 即每秒鐘即每秒鐘50*106個(gè)時(shí)鐘周期。個(gè)時(shí)鐘周期。 CPU對(duì)鼠標(biāo)查詢占用對(duì)鼠標(biāo)查詢占用CPU時(shí)間比率為:時(shí)間比率為:3000 / 50*106 = 0.006 % 2)對(duì)硬盤每傳輸)對(duì)硬盤每傳輸32位被位被CPU查詢一次,每秒鐘查詢次數(shù)為查詢一次,每秒鐘查詢次數(shù)為 2MB / 4B = 512 K 每秒鐘每秒鐘CPU查詢所需的時(shí)鐘周期為查詢所需的時(shí)鐘周期為 100 * 512K = 52.4 * 106 CPU對(duì)鍵盤查詢占用對(duì)鍵盤查詢占用
25、CPU時(shí)間比率為:時(shí)間比率為:52.4*106 / 50*106 = 104.8 % 可見,即使可見,即使CPU將全部時(shí)間都用于對(duì)硬盤的查詢也不能滿足磁盤傳輸?shù)囊?,將全部時(shí)間都用于對(duì)硬盤的查詢也不能滿足磁盤傳輸?shù)囊螅虼艘虼薈PU一般不采用程序查詢方式與磁盤交換數(shù)據(jù)。一般不采用程序查詢方式與磁盤交換數(shù)據(jù)。中斷服務(wù)程序中斷服務(wù)程序中斷服務(wù)程序中斷服務(wù)程序入口入口1入口入口212一、中斷的概念一、中斷的概念KK+1QQ+1中斷服務(wù)程序中斷服務(wù)程序1中斷服務(wù)程序中斷服務(wù)程序2中斷示意圖中中斷斷斷點(diǎn)斷點(diǎn)IRET中斷服務(wù)子程序中斷服務(wù)子程序主程序主程序以打印機(jī)為例:以打印機(jī)為例: CPU 與打印機(jī)并
26、行工作與打印機(jī)并行工作發(fā)中斷請(qǐng)求發(fā)中斷請(qǐng)求 空閑空閑接收接收數(shù)據(jù)數(shù)據(jù)接收接收數(shù)據(jù)數(shù)據(jù)準(zhǔn)備準(zhǔn)備發(fā)中斷請(qǐng)求發(fā)中斷請(qǐng)求打印打印打印打印打印機(jī)打印機(jī)執(zhí)行主程序執(zhí)行主程序繼續(xù)執(zhí)行主程序繼續(xù)執(zhí)行主程序繼續(xù)執(zhí)行主程序繼續(xù)執(zhí)行主程序響應(yīng)中斷響應(yīng)中斷中斷返回中斷返回響應(yīng)中斷響應(yīng)中斷中斷返回中斷返回 啟動(dòng)啟動(dòng)打印機(jī)打印機(jī)傳送傳送數(shù)據(jù)數(shù)據(jù)傳送傳送數(shù)據(jù)數(shù)據(jù)CPU程序中斷處理示意圖主程序主程序A請(qǐng)求中斷請(qǐng)求中斷B請(qǐng)求中斷請(qǐng)求中斷C請(qǐng)求中斷請(qǐng)求中斷A中斷服務(wù)子程序中斷服務(wù)子程序B中斷服務(wù)子程序中斷服務(wù)子程序C中斷服務(wù)子程序中斷服務(wù)子程序二、程序中斷方式的接口電路二、程序中斷方式的接口電路DQ&1INTR INTR
27、 中斷請(qǐng)求觸發(fā)器中斷請(qǐng)求觸發(fā)器INTR = 1 INTR = 1 有請(qǐng)求有請(qǐng)求MASK MASK 中斷屏蔽觸發(fā)器中斷屏蔽觸發(fā)器MASK = 1 MASK = 1 被屏蔽被屏蔽INTR D MASKQD D 完成觸發(fā)器完成觸發(fā)器D = 1 D = 1 設(shè)備準(zhǔn)備好設(shè)備準(zhǔn)備好1) 1(01INTRQMASKD2. 2. 排隊(duì)器排隊(duì)器排隊(duì)排隊(duì)在在 CPU CPU 內(nèi)或在接口電路中(鏈?zhǔn)脚抨?duì)器內(nèi)或在接口電路中(鏈?zhǔn)脚抨?duì)器)硬件硬件軟件軟件INTP1 INTP2 INTP3 INTP4 INTR1INTR2INTR3INTR4 1& 1& 1& 1& INTR1設(shè)備設(shè)備 1
28、#、2#、3#、4# 優(yōu)先級(jí)按優(yōu)先級(jí)按 降序排列降序排列INTRi = 1 有請(qǐng)求有請(qǐng)求 即即 INTRi = 01INTP11INTP21INTP31INTP4&INTR1INTR2INTR3INTR4INTR1INTR2INTR3INTR4 1& 1& 1& 1& INTP1 INTP2 INTP3 INTP4 INTR2INTR1INTR1INTR21&INTP2如果如果2 2# #、3 3# #同時(shí)有請(qǐng)求:同時(shí)有請(qǐng)求: 經(jīng)過上排電路競爭后,僅經(jīng)過上排電路競爭后,僅2 2# #勝出,勝出,INTP2=1,INTP2=1,向向CPUCPU請(qǐng)求
29、請(qǐng)求2 2# #中斷中斷軟件查詢接口示意軟件查詢接口示意CPU響應(yīng)中斷響應(yīng)中斷后,轉(zhuǎn)入執(zhí)行后,轉(zhuǎn)入執(zhí)行一特定地址的一特定地址的中斷服務(wù)程序,中斷服務(wù)程序,該中斷服務(wù)程該中斷服務(wù)程序查詢狀態(tài)口,序查詢狀態(tài)口,確定發(fā)出中斷確定發(fā)出中斷請(qǐng)求的外設(shè),請(qǐng)求的外設(shè),然后進(jìn)行相應(yīng)然后進(jìn)行相應(yīng)的處理。的處理。軟件查詢流程圖軟件查詢流程圖保護(hù)現(xiàn)場保護(hù)現(xiàn)場恢復(fù)現(xiàn)場恢復(fù)現(xiàn)場A申請(qǐng)服務(wù)?申請(qǐng)服務(wù)?B申請(qǐng)服務(wù)?申請(qǐng)服務(wù)?C申請(qǐng)服務(wù)?申請(qǐng)服務(wù)?外設(shè)外設(shè)A中斷服務(wù)程序中斷服務(wù)程序NNN外設(shè)外設(shè)B中斷服務(wù)程序中斷服務(wù)程序外設(shè)外設(shè)C中斷服務(wù)程序中斷服務(wù)程序YYYCPUCPU響應(yīng)中斷請(qǐng)求轉(zhuǎn)入中斷服務(wù)程序,從該程序入口地址開始執(zhí)行
30、響應(yīng)中斷請(qǐng)求轉(zhuǎn)入中斷服務(wù)程序,從該程序入口地址開始執(zhí)行向量地址向量地址排隊(duì)器輸出排隊(duì)器輸出由軟件產(chǎn)生由軟件產(chǎn)生硬件向量硬件向量法法 顯示器服務(wù)程序顯示器服務(wù)程序 打印機(jī)服務(wù)程序打印機(jī)服務(wù)程序JMP 400JMP 300JMP 200主存主存12H13H14H200300向量地址向量地址入口地址入口地址入口地址入口地址1 0 0 0000100100 1 0 000010011設(shè)備選擇電路設(shè)備選擇電路DBR DQ&數(shù)據(jù)線數(shù)據(jù)線啟動(dòng)命令啟動(dòng)命令地址線地址線SEL輸入數(shù)據(jù)輸入數(shù)據(jù)啟動(dòng)設(shè)備啟動(dòng)設(shè)備設(shè)備工作設(shè)備工作 結(jié)束結(jié)束&1QQDINTR BQQ MASK設(shè)備編碼器設(shè)備編碼器排隊(duì)器排
31、隊(duì)器中斷查詢中斷查詢來自高一級(jí)來自高一級(jí) 的排隊(duì)器的排隊(duì)器至低一級(jí)至低一級(jí)的排隊(duì)器的排隊(duì)器向量地址向量地址中斷響應(yīng)中斷響應(yīng) INTA中斷請(qǐng)求中斷請(qǐng)求命令譯碼命令譯碼10&DBR設(shè)備選擇電路設(shè)備選擇電路01以輸入為例以輸入為例4. 4. 程序中斷方式接口電路的基本組成程序中斷方式接口電路的基本組成解:設(shè)解:設(shè)3 3個(gè)設(shè)備的中斷請(qǐng)求信號(hào)分別是個(gè)設(shè)備的中斷請(qǐng)求信號(hào)分別是INTiINTi(i=Ai=A,B B,C C),),有請(qǐng)求時(shí)有請(qǐng)求時(shí)INTi=1INTi=1;排隊(duì)電路的輸出為排隊(duì)電路的輸出為INTPi INTPi (i=Ai=A,B B,C C),),INTAINTA為中斷響應(yīng)信號(hào);當(dāng)為
32、中斷響應(yīng)信號(hào);當(dāng)INTAINTA有效有效時(shí)設(shè)備編碼器將被被選中的排隊(duì)信號(hào)時(shí)設(shè)備編碼器將被被選中的排隊(duì)信號(hào)INTPiINTPi進(jìn)行編碼進(jìn)行編碼形成向量地址由數(shù)據(jù)總線送給形成向量地址由數(shù)據(jù)總線送給CPUCPU。電路如下:。電路如下:來自高一級(jí)來自高一級(jí)的排隊(duì)器的排隊(duì)器至低一級(jí)至低一級(jí)的排隊(duì)器的排隊(duì)器設(shè)設(shè)備備編編碼碼器器數(shù)數(shù)據(jù)據(jù)總總線線001010001011001100四、四、I/O I/O 中斷處理過程中斷處理過程1. CPU 1. CPU 響應(yīng)中斷的條件和時(shí)間響應(yīng)中斷的條件和時(shí)間(1) (1) 條件條件(2) (2) 時(shí)間時(shí)間允許中斷觸發(fā)器允許中斷觸發(fā)器 EINT = 1EINT = 1用用
33、開中斷開中斷 指令將指令將 EINT EINT 置置 “1”1”用用關(guān)中斷關(guān)中斷 指令將指令將 EINT EINT 置置“ “ 0”0” 或硬件或硬件自動(dòng)復(fù)自動(dòng)復(fù)位位當(dāng)當(dāng) D = D = 1 1(隨機(jī))且(隨機(jī))且 MASK = MASK = 0 0 時(shí)時(shí)在每條指令執(zhí)行階段的結(jié)束前在每條指令執(zhí)行階段的結(jié)束前CPUCPU 發(fā)發(fā) 中斷查詢信號(hào)中斷查詢信號(hào)(將(將 INTR INTR 置置“1”1”)中斷過程五個(gè)步驟:五個(gè)步驟:中斷中斷請(qǐng)求請(qǐng)求中斷中斷判優(yōu)判優(yōu)/ /排隊(duì)排隊(duì) ( (有時(shí)還要進(jìn)行有時(shí)還要進(jìn)行中斷源識(shí)中斷源識(shí)別別) )中斷中斷響應(yīng)響應(yīng)中斷中斷服務(wù)服務(wù)/ /處理處理中斷中斷返回返回請(qǐng)求請(qǐng)求
34、排隊(duì)排隊(duì)響應(yīng)響應(yīng)服務(wù)服務(wù)/ 處理處理返回返回IRET 硬硬/ 軟軟 INT n 主程序主程序中斷服務(wù)程序中斷服務(wù)程序五、中斷服務(wù)程序流程五、中斷服務(wù)程序流程1. 1. 中斷服務(wù)程序的流程中斷服務(wù)程序的流程(1) (1) 保護(hù)現(xiàn)場保護(hù)現(xiàn)場(2) (2) 中斷服務(wù)中斷服務(wù)(3) (3) 恢復(fù)現(xiàn)場恢復(fù)現(xiàn)場(4) (4) 中斷返回中斷返回對(duì)不同的對(duì)不同的 I/O I/O 設(shè)備具有不同內(nèi)容的設(shè)備服務(wù)設(shè)備具有不同內(nèi)容的設(shè)備服務(wù)中斷返回指令中斷返回指令2. 2. 單重中斷和多重中斷單重中斷和多重中斷不允許中斷不允許中斷 現(xiàn)行的現(xiàn)行的 中斷服務(wù)程序中斷服務(wù)程序單重單重 中斷中斷多重多重 中斷中斷 允許級(jí)別更高
35、允許級(jí)別更高 的中斷源的中斷源中斷中斷 現(xiàn)行的現(xiàn)行的 中斷服務(wù)程序中斷服務(wù)程序中斷隱指令完成中斷隱指令完成進(jìn)棧指令進(jìn)棧指令出棧指令出棧指令程序斷點(diǎn)的保護(hù)程序斷點(diǎn)的保護(hù)寄存器內(nèi)容的保護(hù)寄存器內(nèi)容的保護(hù)3. 3. 單重中斷和多重中斷的服務(wù)程序流程單重中斷和多重中斷的服務(wù)程序流程中斷否?中斷否?保護(hù)現(xiàn)場保護(hù)現(xiàn)場設(shè)備服務(wù)設(shè)備服務(wù)恢復(fù)現(xiàn)場恢復(fù)現(xiàn)場 開中斷開中斷中斷返回中斷返回取指令取指令執(zhí)行指令執(zhí)行指令中斷服務(wù)程序中斷服務(wù)程序 中斷響應(yīng)中斷響應(yīng) 程序斷點(diǎn)進(jìn)棧程序斷點(diǎn)進(jìn)棧 關(guān)中斷關(guān)中斷 向量地址向量地址 PC中斷周期中斷周期是是中斷返回中斷返回保護(hù)現(xiàn)場保護(hù)現(xiàn)場設(shè)備服務(wù)設(shè)備服務(wù)恢復(fù)現(xiàn)場恢復(fù)現(xiàn)場開中斷開中斷開
36、中斷開中斷開中斷開中斷中斷隱指令中斷隱指令中斷隱指令中斷隱指令否否取指令取指令執(zhí)行指令執(zhí)行指令中斷否?中斷否?否否 中斷響應(yīng)中斷響應(yīng) 程序斷點(diǎn)進(jìn)棧程序斷點(diǎn)進(jìn)棧 關(guān)中斷關(guān)中斷向量地址向量地址 PC中斷周期中斷周期是是中斷服務(wù)程序中斷服務(wù)程序單重單重 多重多重 程序中斷接口芯片程序中斷接口芯片 8259A 8259A 的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu) 內(nèi)部總線內(nèi)部總線 緩沖器緩沖器讀讀 / 寫寫邏邏 輯輯級(jí)聯(lián)緩沖級(jí)聯(lián)緩沖器器/比較器比較器優(yōu)先權(quán)優(yōu)先權(quán)判別器判別器 ( PR ) 中斷中斷 服務(wù)服務(wù) 寄存寄存 器器(ISR) 中斷中斷 請(qǐng)求請(qǐng)求 寄存寄存 器器(IRR)中斷屏蔽寄存器中斷屏蔽寄存器 (IMR)控制
37、邏輯控制邏輯INTINTAD7D0A0RDWRCSCAS0CAS1CAS2SP/ENIR0IR1IR2IR3IR4IR5IR6IR7內(nèi)部總線內(nèi)部總線主程序和服務(wù)程序搶占主程序和服務(wù)程序搶占 CPU CPU 示意圖示意圖準(zhǔn)備工作準(zhǔn)備工作準(zhǔn)備工作準(zhǔn)備工作準(zhǔn)備工作準(zhǔn)備工作傳送數(shù)據(jù)傳送數(shù)據(jù)傳送數(shù)據(jù)傳送數(shù)據(jù)發(fā)中斷請(qǐng)求發(fā)中斷請(qǐng)求發(fā)中斷請(qǐng)求發(fā)中斷請(qǐng)求I/O宏觀宏觀 上上 CPU CPU 和和 I/O I/O 并行并行 工作工作微觀微觀 上上 CPU CPU 中斷現(xiàn)行程序中斷現(xiàn)行程序 為為 I/O I/O 服務(wù)服務(wù)主程序主程序繼續(xù)執(zhí)行主程序繼續(xù)執(zhí)行主程序啟動(dòng)外設(shè)啟動(dòng)外設(shè) 服務(wù)程序服務(wù)程序(傳送數(shù)據(jù))(傳送數(shù)據(jù)
38、) 服務(wù)程序服務(wù)程序(傳送數(shù)據(jù))(傳送數(shù)據(jù))繼續(xù)執(zhí)行主程序繼續(xù)執(zhí)行主程序CPU5.6 DMA 5.6 DMA 方式方式一、一、DMA DMA 方式的特點(diǎn)方式的特點(diǎn)1. DMA 1. DMA 和程序中斷兩種方式的數(shù)據(jù)通路和程序中斷兩種方式的數(shù)據(jù)通路CPU主主存存ACC 中斷接口中斷接口DMA 接口接口I/O 設(shè)設(shè) 備備中斷方式數(shù)據(jù)傳送通路中斷方式數(shù)據(jù)傳送通路輸入指令輸入指令輸出指令輸出指令DMA方式數(shù)據(jù)傳送通路方式數(shù)據(jù)傳送通路DMA 傳送過程示意圖傳送過程示意圖總線總線響應(yīng)響應(yīng)總線總線請(qǐng)求請(qǐng)求CPUDMAC內(nèi)內(nèi) 存存外外 設(shè)設(shè)DMA請(qǐng)求請(qǐng)求DREQDMA響應(yīng)響應(yīng)DACK總線總線停止停止CPUCP
39、U訪問主存(獨(dú)占總線方式)訪問主存(獨(dú)占總線方式)內(nèi)存工作時(shí)間內(nèi)存工作時(shí)間CPUCPU控制并控制并使用內(nèi)存使用內(nèi)存DMADMA控制并控制并使用內(nèi)存使用內(nèi)存CPUCPU不執(zhí)行不執(zhí)行程序程序DMADMA不工作不工作DMADMA不工作不工作當(dāng)當(dāng)DMADMA傳送數(shù)據(jù)時(shí),傳送數(shù)據(jù)時(shí),CPUCPU停止工作,把主存使用權(quán)交給停止工作,把主存使用權(quán)交給DMADMA控制邏輯??刂七壿?。在在DMADMA傳送數(shù)據(jù)過程中,傳送數(shù)據(jù)過程中,CPUCPU處于等待狀態(tài)處于等待狀態(tài)在這批數(shù)據(jù)傳送結(jié)束后,在這批數(shù)據(jù)傳送結(jié)束后,DMADMA再交還主存使用權(quán)再交還主存使用權(quán) 周期挪用周期挪用內(nèi)存工作時(shí)間內(nèi)存工作時(shí)間CPUCPU控制
40、并控制并使用內(nèi)存使用內(nèi)存DMADMA控制并控制并使用內(nèi)存使用內(nèi)存DMADMA要求訪問主存時(shí),要求訪問主存時(shí),CPUCPU暫停暫停一個(gè)或多個(gè)存儲(chǔ)周期一個(gè)或多個(gè)存儲(chǔ)周期。一個(gè)。一個(gè)數(shù)據(jù)傳送結(jié)束后,數(shù)據(jù)傳送結(jié)束后,CPUCPU繼續(xù)運(yùn)行。繼續(xù)運(yùn)行。CPUCPU現(xiàn)場并沒有變動(dòng),只是延緩了對(duì)指令的執(zhí)行,這種技現(xiàn)場并沒有變動(dòng),只是延緩了對(duì)指令的執(zhí)行,這種技術(shù)稱為術(shù)稱為周期挪用周期挪用,或稱周期竊取。,或稱周期竊取。如發(fā)生訪存沖突,則如發(fā)生訪存沖突,則DMADMA優(yōu)先訪問。優(yōu)先訪問。 DMA DMA與與CPUCPU交替訪內(nèi)交替訪內(nèi)內(nèi)存工作時(shí)間內(nèi)存工作時(shí)間CPUCPU控制并控制并使用內(nèi)存使用內(nèi)存DMADMA控制
41、并控制并使用內(nèi)存使用內(nèi)存C C1 1C C2 2C C2 2C C1 1C C2 2C C1 1C C2 2C C1 1C C2 2C C1 1每個(gè)每個(gè)CPUCPU工作周期分成兩個(gè)時(shí)間段,一段用于工作周期分成兩個(gè)時(shí)間段,一段用于 DMADMA訪問主存,訪問主存,一段用于一段用于CPUCPU訪問主存。訪問主存。CPUCPU和和DMADMA都能訪問主存,沒有主存使用權(quán)移交過程,所以都能訪問主存,沒有主存使用權(quán)移交過程,所以這種方式的效率較高,但是硬件投資較大,而且要求這種方式的效率較高,但是硬件投資較大,而且要求 CPUCPU工作周期比存儲(chǔ)周期長很多。工作周期比存儲(chǔ)周期長很多。二、二、DMA DM
42、A 接口的功能和組成接口的功能和組成1. DMA 1. DMA 接口功能接口功能(1) (1) 向向 CPU CPU 申請(qǐng)申請(qǐng) DMA DMA 傳送傳送(2) (2) 處理總線處理總線 控制權(quán)的轉(zhuǎn)交控制權(quán)的轉(zhuǎn)交(3) (3) 管理管理系統(tǒng)總線、系統(tǒng)總線、控制控制 數(shù)據(jù)傳送數(shù)據(jù)傳送(4) (4) 確定確定數(shù)據(jù)傳送的數(shù)據(jù)傳送的首地址和長度首地址和長度(5) DMA (5) DMA 傳送結(jié)束時(shí),傳送結(jié)束時(shí),給出操作完成信號(hào)給出操作完成信號(hào)修正修正傳送過程中的數(shù)據(jù)傳送過程中的數(shù)據(jù)地址地址和和長度長度地址總線地址總線HRQ DREQDMACHLDA DACK總線總線請(qǐng)求請(qǐng)求總線總線響應(yīng)響應(yīng) HOLD H
43、LDACPUDMA請(qǐng)求請(qǐng)求DMA響應(yīng)響應(yīng)I / O設(shè)備設(shè)備控制總線控制總線數(shù)據(jù)總線數(shù)據(jù)總線DMA接口接口主主存存CPU2. DMA 2. DMA 接口組成接口組成DMA 控控 制制 邏邏 輯輯 中中 斷斷 機(jī)機(jī) 構(gòu)構(gòu)設(shè)備設(shè)備HLDAARWCDARHRQ中斷請(qǐng)求中斷請(qǐng)求數(shù)據(jù)線數(shù)據(jù)線地址線地址線+1+1溢出信號(hào)溢出信號(hào)DREQDACKBR 主存地址寄存器主存地址寄存器ARAR。它用來存放所需讀寫的數(shù)。它用來存放所需讀寫的數(shù)據(jù)的起始地址據(jù)的起始地址D D。字計(jì)數(shù)器字計(jì)數(shù)器WCWC。用來對(duì)要傳送的字節(jié)數(shù)目計(jì)數(shù)。用來對(duì)要傳送的字節(jié)數(shù)目計(jì)數(shù)。中斷機(jī)構(gòu)中斷機(jī)構(gòu)。當(dāng)一個(gè)數(shù)據(jù)塊傳送完畢后觸發(fā)中斷。當(dāng)一個(gè)數(shù)據(jù)塊傳
44、送完畢后觸發(fā)中斷機(jī)構(gòu)機(jī)構(gòu), , 向向CPUCPU提出中斷請(qǐng)求提出中斷請(qǐng)求, CPU, CPU將進(jìn)行將進(jìn)行DMADMA傳送傳送的結(jié)尾處理。的結(jié)尾處理。 數(shù)據(jù)緩沖寄存器數(shù)據(jù)緩沖寄存器BRBR。用來暫存每次傳送的數(shù)據(jù)。用來暫存每次傳送的數(shù)據(jù)。 DMA DMA控制邏輯控制邏輯。負(fù)責(zé)管理。負(fù)責(zé)管理DMADMA的傳送過程,由控的傳送過程,由控制電路、時(shí)序電路及命令狀態(tài)寄存器等組成。制電路、時(shí)序電路及命令狀態(tài)寄存器等組成。設(shè)備地址寄存器設(shè)備地址寄存器DARDAR。存放存放I/OI/O設(shè)備的設(shè)備碼或設(shè)備的設(shè)備碼或表示設(shè)備信息存儲(chǔ)區(qū)的尋址信息。表示設(shè)備信息存儲(chǔ)區(qū)的尋址信息。傳送前預(yù)處理傳送前預(yù)處理(CPUCPU
45、)正式傳送正式傳送(DMADMA控制器)控制器)傳送后處理傳送后處理(CPUCPU) DMA DMA數(shù)據(jù)傳送是以數(shù)據(jù)塊為單位進(jìn)數(shù)據(jù)傳送是以數(shù)據(jù)塊為單位進(jìn)行的,因此,每次行的,因此,每次DMADMA控制器占用總線控制器占用總線后,無論是輸入還是輸出操作,都是后,無論是輸入還是輸出操作,都是通過循環(huán)來實(shí)現(xiàn)的。通過循環(huán)來實(shí)現(xiàn)的。DMADMA請(qǐng)求請(qǐng)求DMADMA響應(yīng)響應(yīng)發(fā)送內(nèi)存地址發(fā)送內(nèi)存地址傳送一個(gè)數(shù)據(jù)字傳送一個(gè)數(shù)據(jù)字中斷請(qǐng)求中斷請(qǐng)求修改主存地址修改主存地址數(shù)據(jù)個(gè)數(shù)計(jì)數(shù)數(shù)據(jù)個(gè)數(shù)計(jì)數(shù)傳送結(jié)束傳送結(jié)束? ?否否是是軟軟件件軟軟件件三、三、DMA DMA 的工作過程的工作過程1. DMA 1. DMA 傳
46、送過程傳送過程預(yù)處理、數(shù)據(jù)傳送、后處理預(yù)處理、數(shù)據(jù)傳送、后處理(1) (1) 預(yù)處理預(yù)處理通過幾條輸入輸出指令預(yù)置如下信息通過幾條輸入輸出指令預(yù)置如下信息 通知通知 DMA DMA 控制邏輯傳送方向(入控制邏輯傳送方向(入/ /出)出) 設(shè)備地址設(shè)備地址 DMA DMA 的的 DARDAR 主存地址主存地址 DMA DMA 的的 ARAR 傳送字?jǐn)?shù)傳送字?jǐn)?shù) DMA DMA 的的 WCWC預(yù)處理:預(yù)處理:主存起始地址主存起始地址設(shè)備地址設(shè)備地址 傳送數(shù)據(jù)個(gè)數(shù)傳送數(shù)據(jù)個(gè)數(shù)啟動(dòng)設(shè)備啟動(dòng)設(shè)備DMADMADMA數(shù)據(jù)傳送:數(shù)據(jù)傳送:繼續(xù)執(zhí)行主程序繼續(xù)執(zhí)行主程序同時(shí)完成一批數(shù)據(jù)傳送同時(shí)完成一批數(shù)據(jù)傳送后處理
47、:后處理:中斷服務(wù)程序中斷服務(wù)程序做做 DMA 結(jié)束處理結(jié)束處理繼續(xù)執(zhí)行主程序繼續(xù)執(zhí)行主程序CPU(2) DMA (2) DMA 傳送過程示意傳送過程示意允許傳送?允許傳送?主存地址送總線主存地址送總線數(shù)據(jù)送數(shù)據(jù)送I/O設(shè)備(或主存設(shè)備(或主存 )修改修改 主存地址主存地址修改修改 字計(jì)數(shù)器字計(jì)數(shù)器 數(shù)據(jù)塊數(shù)據(jù)塊傳送結(jié)束?傳送結(jié)束?向向CPU申請(qǐng)申請(qǐng) 程序中斷程序中斷DMA請(qǐng)求請(qǐng)求否否否否是是是是數(shù)據(jù)傳送數(shù)據(jù)傳送2 2、數(shù)據(jù)傳送、數(shù)據(jù)傳送n設(shè)備準(zhǔn)備好一個(gè)數(shù)據(jù)的傳送后,接口向主機(jī)發(fā)出設(shè)備準(zhǔn)備好一個(gè)數(shù)據(jù)的傳送后,接口向主機(jī)發(fā)出DMADMA請(qǐng)求。請(qǐng)求。oCPUCPU中中DMADMA控制邏輯響應(yīng)控制邏
48、輯響應(yīng)DMADMA請(qǐng)求,將主存使用權(quán)讓給請(qǐng)求,將主存使用權(quán)讓給DMADMA。DMADMA送來主存單元地址、讀或?qū)懨睢H羰菍懨?,送來主存單元地址、讀或?qū)懨?。若是寫命令,DMADMA還還送來數(shù)據(jù)。送來數(shù)據(jù)。oDMADMA挪用一個(gè)周期對(duì)主存進(jìn)行讀寫操作。周期挪用結(jié)束后挪用一個(gè)周期對(duì)主存進(jìn)行讀寫操作。周期挪用結(jié)束后給給DMADMA接口應(yīng)答信號(hào)。接口應(yīng)答信號(hào)。oDMADMA接口接到應(yīng)答信號(hào),撤除接口接到應(yīng)答信號(hào),撤除DMADMA請(qǐng)求,將主存數(shù)據(jù)緩沖區(qū)請(qǐng)求,將主存數(shù)據(jù)緩沖區(qū)地址指示器加地址指示器加 1 1,指向下一個(gè)數(shù)據(jù)要傳送的單元地址,字,指向下一個(gè)數(shù)據(jù)要傳送的單元地址,字?jǐn)?shù)計(jì)數(shù)器減數(shù)計(jì)數(shù)器減1
49、1。DMADMA接口控制邏輯判斷數(shù)據(jù)是否全部傳送完。若傳送完畢,接口控制邏輯判斷數(shù)據(jù)是否全部傳送完。若傳送完畢,則進(jìn)入結(jié)束階段;若沒傳完則又開始下一個(gè)循環(huán)操作。則進(jìn)入結(jié)束階段;若沒傳完則又開始下一個(gè)循環(huán)操作。數(shù)據(jù)傳送過程(輸入)數(shù)據(jù)傳送過程(輸入)BR設(shè)備設(shè)備DMA 控控 制制 邏邏 輯輯 中中 斷斷 邏邏 輯輯ARWCDARDMA接口接口主主存存CPU+1+1DREQHRQHLDA地址線地址線DACK數(shù)據(jù)線數(shù)據(jù)線溢出信號(hào)溢出信號(hào)中斷請(qǐng)求中斷請(qǐng)求ARWC+1+1BRBRBRBRBRBRBR設(shè)備設(shè)備DMA 控控 制制 邏邏 輯輯 中中 斷斷 邏邏 輯輯ARWCDARDMA接口接口主主存存CPU+
50、1+1DREQHRQHLDA地址線地址線DACK數(shù)據(jù)線數(shù)據(jù)線溢出信號(hào)溢出信號(hào)中斷請(qǐng)求中斷請(qǐng)求ARWC+1+1數(shù)據(jù)傳送過程(輸出)數(shù)據(jù)傳送過程(輸出)BRBRBRBR3 3、后處理(結(jié)束階段)、后處理(結(jié)束階段)DMADMA在兩種情況下都進(jìn)入結(jié)束階段。在兩種情況下都進(jìn)入結(jié)束階段。正常結(jié)束,一批數(shù)據(jù)傳送完畢;正常結(jié)束,一批數(shù)據(jù)傳送完畢;非正常結(jié)束,非正常結(jié)束,DMADMA發(fā)生了故障,也要進(jìn)入結(jié)束階段發(fā)生了故障,也要進(jìn)入結(jié)束階段不論是哪一種情況進(jìn)入結(jié)束階段,不論是哪一種情況進(jìn)入結(jié)束階段,DMADMA都向主機(jī)發(fā)都向主機(jī)發(fā)出中斷請(qǐng)求,出中斷請(qǐng)求,CPUCPU執(zhí)行服務(wù)程序,查詢執(zhí)行服務(wù)程序,查詢DMADM
51、A接口接口狀態(tài),根據(jù)狀態(tài)進(jìn)行不同處理。狀態(tài),根據(jù)狀態(tài)進(jìn)行不同處理。n例例5.35.3一個(gè)一個(gè)DMADMA接口可采用周期竊取方式接口可采用周期竊取方式把字符傳送到存儲(chǔ)器,它支持的最大批把字符傳送到存儲(chǔ)器,它支持的最大批量為量為400400個(gè)字節(jié)。若存取周期為個(gè)字節(jié)。若存取周期為100ns100ns,每處理一次中斷需每處理一次中斷需5s5s,現(xiàn)有的字符設(shè)備,現(xiàn)有的字符設(shè)備的傳輸率為的傳輸率為9600bps9600bps。假設(shè)字符間的傳輸。假設(shè)字符間的傳輸是無間隙的,若忽略預(yù)處理所需時(shí)間,是無間隙的,若忽略預(yù)處理所需時(shí)間,試問試問DMADMA方式每秒因數(shù)據(jù)傳輸需占用處理方式每秒因數(shù)據(jù)傳輸需占用處理器
52、多少時(shí)間?如果完全采用中斷方式,器多少時(shí)間?如果完全采用中斷方式,又需占用處理器多少時(shí)間?又需占用處理器多少時(shí)間? 解:根據(jù)字符設(shè)備的傳輸率為解:根據(jù)字符設(shè)備的傳輸率為9600bps9600bps,得每秒能傳,得每秒能傳輸輸 9600/8 = 1200B9600/8 = 1200B 即即1200 1200 個(gè)字符個(gè)字符 若采用若采用DMA DMA 方式,傳送方式,傳送1200 1200 個(gè)字個(gè)字符共需符共需1200 1200 個(gè)存取周期,考慮到每傳個(gè)存取周期,考慮到每傳400 400 個(gè)字符個(gè)字符需中斷處理一次,因此需中斷處理一次,因此DMA DMA 方式每秒因數(shù)據(jù)傳輸占方式每秒因數(shù)據(jù)傳輸占用處理器的時(shí)間是用處理器的時(shí)間是 0.1s 0.1s 1200 + 5s 1200 + 5
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024育兒嫂全面育兒與家庭生活管理服務(wù)合同6篇
- 二零二五年度全域旅游目的地開發(fā)運(yùn)營合同4篇
- 2025年度廠房租賃安全協(xié)議書范本(消防安全管理)4篇
- 2025年旋挖鉆孔灌施工合同書(新型灌漿材料研發(fā)合作)3篇
- 二零二五版婚內(nèi)財(cái)產(chǎn)管理與婚姻家庭和諧維護(hù)協(xié)議范本3篇
- 二零二五年度星級(jí)酒店廚師長聘請(qǐng)與客戶滿意度提升合同4篇
- 2025年磷礦石長途運(yùn)輸及倉儲(chǔ)一體化服務(wù)合同
- 二零二五版敬業(yè)員工團(tuán)隊(duì)協(xié)作能力提升合同模板2篇
- 2025年度城市綜合體物業(yè)管理承包經(jīng)營合同范本4篇
- 2025年度環(huán)保節(jié)能項(xiàng)目投資擔(dān)保合同規(guī)范4篇
- 中國華能集團(tuán)公司風(fēng)力發(fā)電場運(yùn)行導(dǎo)則(馬晉輝20231.1.13)
- 中考語文非連續(xù)性文本閱讀10篇專項(xiàng)練習(xí)及答案
- 2022-2023學(xué)年度六年級(jí)數(shù)學(xué)(上冊(cè))寒假作業(yè)【每日一練】
- 法人不承擔(dān)責(zé)任協(xié)議書(3篇)
- 電工工具報(bào)價(jià)單
- 反歧視程序文件
- 油氣藏類型、典型的相圖特征和識(shí)別實(shí)例
- 流體靜力學(xué)課件
- 顧客忠誠度論文
- 實(shí)驗(yàn)室安全檢查自查表
- 證券公司績效考核管理辦法
評(píng)論
0/150
提交評(píng)論