計(jì)算機(jī)組成原理 第5章課件_第1頁(yè)
計(jì)算機(jī)組成原理 第5章課件_第2頁(yè)
計(jì)算機(jī)組成原理 第5章課件_第3頁(yè)
計(jì)算機(jī)組成原理 第5章課件_第4頁(yè)
計(jì)算機(jī)組成原理 第5章課件_第5頁(yè)
已閱讀5頁(yè),還剩78頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第五章

輸入輸出系統(tǒng)第一節(jié)概述第二節(jié)I/O設(shè)備第三節(jié)I/O接口第四節(jié)程序查詢方式第五節(jié)程序中斷方式第六節(jié)DMA方式作業(yè)第一節(jié)概述一、輸入輸出系統(tǒng)的發(fā)展概況二、輸入輸出系統(tǒng)的組成三、I/O設(shè)備與主機(jī)的聯(lián)系方式四、I/O設(shè)備與主機(jī)信息傳送的控制方式一、輸入輸出系統(tǒng)的發(fā)展概況1.早期分散連接CPU和I/O設(shè)備通信控制程序查詢方式2.接口模塊和DMA階段總線連接CPU和I/O設(shè)備并行

工作中斷方式DMA方式每個(gè)I/O設(shè)備都有一套獨(dú)立邏輯電路和CPU連接實(shí)現(xiàn)I/O設(shè)備與主機(jī)之間的信息交換

輸入輸出過(guò)程是穿插在CPU執(zhí)行程序過(guò)程之中進(jìn)行的

I/O設(shè)備通過(guò)接口模塊與主機(jī)相連。

設(shè)有數(shù)據(jù)和控制通路,數(shù)據(jù)經(jīng)過(guò)接口既起到了緩沖作用,又可完成串-并轉(zhuǎn)換,而且可使多臺(tái)I/O設(shè)備分時(shí)占用總線,實(shí)現(xiàn)并行工作。串行

工作3.具有通道結(jié)構(gòu)的階段4.具有I/O處理機(jī)的階段通道是用來(lái)負(fù)責(zé)管理I/O設(shè)備以及實(shí)現(xiàn)主存與I/O設(shè)備之間交換信息的部件,可視為一種具有特殊功能的處理器;有專用通道指令,能獨(dú)立地執(zhí)行用通道指令編寫(xiě)的輸入輸出程序,但不是一個(gè)完全獨(dú)立的處理器;是從屬于CPU的一個(gè)專用處理器;

基本獨(dú)立于主機(jī)工作,既可完成I/O通道的功能,又可以進(jìn)行碼制轉(zhuǎn)換、格式處理、數(shù)據(jù)塊檢錯(cuò)、糾錯(cuò)等二、輸入輸出系統(tǒng)的組成1.I/O軟件(1)I/O指令(2)

通道指令CPU指令的一部分通道自身的指令指出數(shù)組的首地址、傳送字?jǐn)?shù)、操作命令如IBM/370通道指令為64位操作碼命令碼設(shè)備碼2.I/O硬件設(shè)備接口模塊、設(shè)備控制器、設(shè)備帶有接口的I/O系統(tǒng)具有通道的I/O系統(tǒng)具有通道的I/O系統(tǒng)三、I/O設(shè)備與主機(jī)的聯(lián)系方式1.I/O設(shè)備編址方式(1)統(tǒng)一編址(2)不統(tǒng)一編址用取數(shù)、存數(shù)指令有專門(mén)的I/O指令2.設(shè)備選址用設(shè)備選擇電路識(shí)別是否被選中3.傳送方式(1)串行(2)并行4.聯(lián)絡(luò)方式(1)立即響應(yīng)(2)異步工作“Ready”“Strobe”I/O

接口I/O

設(shè)備CPU并行指令一到,立即響應(yīng),無(wú)需特殊聯(lián)絡(luò)信號(hào)

在交換信息前,各司其職,出現(xiàn)聯(lián)絡(luò)信號(hào)時(shí)才準(zhǔn)備交換信息。

一般用于I/O設(shè)備與主機(jī)工作速度不匹配時(shí)。采用應(yīng)答信號(hào)(3)同步工作采用同步時(shí)標(biāo)要求I/O設(shè)備與CPU的工作速度完全同;

CPU必須以I/O設(shè)備的速率接收和傳送數(shù)據(jù);數(shù)據(jù)字命令字命令字01101000起始位終止位9.09ms2×

9.09ms串行起始位終止位9.09ms2×

9.09ms5.I/O設(shè)備與主機(jī)的連接方式(1)輻射式連接(2)總線連接

外設(shè)Ⅰ

外設(shè)Ⅱ

外設(shè)Ⅲ主機(jī)不便于增刪設(shè)備每臺(tái)設(shè)備都配有一套控制線路和一組信號(hào)線便于增刪設(shè)備四、I/O設(shè)備與主機(jī)信息傳送的控制方式程序查詢方式;程序中斷方式;直接存儲(chǔ)器存取DMA方式;I/O通道方式;I/O處理機(jī)方式;CPU和I/O串行工作踏步等待CPU讀I/O狀態(tài)檢查狀態(tài)未準(zhǔn)備就緒出錯(cuò)從I/O接口中讀一個(gè)字到CPU從CPU向主存寫(xiě)入一個(gè)字CPU向I/O發(fā)讀指令CPU讀I/O狀態(tài)檢查狀態(tài)

完成否未準(zhǔn)備就緒現(xiàn)行程序是出錯(cuò)已準(zhǔn)備就緒否程序查詢方式流程1.程序查詢方式2.程序中斷方式I/O工作CPU不查詢CPU暫停現(xiàn)行程序自身準(zhǔn)備與主機(jī)交換信息CPU和I/O并行工作

啟動(dòng)I/O設(shè)備現(xiàn)行程序

……中斷服務(wù)程序KK+1…沒(méi)有踏步等待現(xiàn)象中斷現(xiàn)行程序程序中斷方式流程CPU向I/O發(fā)讀指令CPU讀I/O狀態(tài)檢查狀態(tài)完成否?CPU做其他事情I/O設(shè)備工作準(zhǔn)備就緒CPUI/O從CPU向主存寫(xiě)入一個(gè)字CPU主存從I/O接口中讀一個(gè)字到CPUI/OCPU中斷請(qǐng)求I/OCPU出錯(cuò)是否未錯(cuò)3.DMA方式主存和I/O之間有一條直接數(shù)據(jù)通道不中斷現(xiàn)行程序周期挪用(周期竊取)CPU和I/O并行工作存取周期結(jié)束CPU執(zhí)行現(xiàn)行程序CPU執(zhí)行現(xiàn)行程序DMA請(qǐng)求啟動(dòng)I/OI/O準(zhǔn)備I/O準(zhǔn)備一個(gè)存取周期實(shí)現(xiàn)I/O與主存之間的傳送存取周期結(jié)束CPU執(zhí)行現(xiàn)行程序CPU執(zhí)行現(xiàn)行程序DMA請(qǐng)求啟動(dòng)I/OI/O準(zhǔn)備I/O準(zhǔn)備一個(gè)存取周期實(shí)現(xiàn)I/O與主存之間的傳送CPU

執(zhí)行現(xiàn)行程序CPU查詢等待并傳輸I/O數(shù)據(jù)CPU

執(zhí)行現(xiàn)行程序啟動(dòng)I/OI/O準(zhǔn)備及傳送指令執(zhí)行周期結(jié)束CPU執(zhí)行現(xiàn)行程序CPU執(zhí)行現(xiàn)行程序啟動(dòng)I/O中斷請(qǐng)求I/O準(zhǔn)備I/O準(zhǔn)備CPU處理中斷服務(wù)程序?qū)崿F(xiàn)I/O與主機(jī)之間的傳送間斷啟動(dòng)I/O啟動(dòng)I/OI/O準(zhǔn)備中斷請(qǐng)求啟動(dòng)I/OI/O準(zhǔn)備一個(gè)存取周期DMA請(qǐng)求程序查詢方式程序中斷方式DMA方式I/O準(zhǔn)備及傳送間斷I/O準(zhǔn)備I/O準(zhǔn)備三種方式的CPU工作效率比較第二節(jié)I/O設(shè)備一、概述二、輸入設(shè)備三、輸出設(shè)備四、其他五、多媒體技術(shù)一、概述主機(jī)

設(shè)備控制器機(jī)、電磁、光部分I/O接口外部設(shè)備外部設(shè)備大致分三類鍵盤(pán)、鼠標(biāo)、打印機(jī)、顯示器磁盤(pán)、光盤(pán)、磁帶1.人機(jī)交互設(shè)備2.計(jì)算機(jī)信息存儲(chǔ)設(shè)備3.機(jī)機(jī)通信設(shè)備調(diào)制解調(diào)器等二、輸入設(shè)備1.鍵盤(pán)2.鼠標(biāo)按鍵判斷哪個(gè)鍵按下將此鍵翻譯成ASCII碼(編碼鍵盤(pán)法)機(jī)械式金屬球電位器光電式光電轉(zhuǎn)換器完成輸入程序、數(shù)據(jù)和操作命令等采用硬件確認(rèn)哪個(gè)鍵被按下的方法4.其它輸入設(shè)備3.觸摸屏光筆畫(huà)筆與圖形板圖像輸入設(shè)備電阻式、電容式、表面超聲波式掃描紅外線式、壓感式三、輸出設(shè)備1.顯示器(1)字符顯示(2)圖形顯示(3)圖像顯示字符發(fā)生器主觀圖像客觀圖像2.打印機(jī)(1)擊打式(2)非擊打式點(diǎn)陣式(逐字、逐行)噴墨(逐字)激光(逐頁(yè))四、其他1.A/D、D/A2.終端3.漢字處理完成顯示控制與存儲(chǔ)、鍵盤(pán)管理及通信控制模擬/數(shù)字(數(shù)字/模擬)轉(zhuǎn)換器漢字輸入、漢字存儲(chǔ)、漢字輸出由鍵盤(pán)和顯示器組成五、多媒體技術(shù)1.什么是多媒體2.多媒體計(jì)算機(jī)的關(guān)鍵技術(shù)強(qiáng)調(diào)計(jì)算機(jī)與聲音、活動(dòng)圖像和文字的結(jié)合視頻和音頻數(shù)據(jù)的壓縮與解壓縮技術(shù)多媒體專用芯片大容量存儲(chǔ)器適用于多媒體技術(shù)的軟件第三節(jié)I/O接口一、概述二、接口的功能和組成三、接口類型一、概述為什么要設(shè)置接口?1.實(shí)現(xiàn)設(shè)備的選擇2.實(shí)現(xiàn)數(shù)據(jù)緩沖達(dá)到速度匹配4.實(shí)現(xiàn)電平轉(zhuǎn)換5.傳送控制命令6.反映設(shè)備的狀態(tài)(“忙”、“就緒”、“中斷請(qǐng)求”)3.實(shí)現(xiàn)數(shù)據(jù)串并格式轉(zhuǎn)換注意接口和端口的區(qū)別:端口是指接口電路中的一些寄存器,這些寄存器分別用來(lái)存放數(shù)據(jù)、控制和狀態(tài)信息二、接口的功能和組成(1)設(shè)備選擇線(2)數(shù)據(jù)線(3)命令線(4)狀態(tài)線I/O接口設(shè)備I/O接口設(shè)備數(shù)據(jù)線命令線狀態(tài)線I/O總線設(shè)備選擇線總線連接方式的I/O接口電路2.接口的功能和組成功能組成選址功能傳送命令的功能傳送數(shù)據(jù)的功能反映設(shè)備狀態(tài)的功能設(shè)備選擇電路命令寄存器、命令譯碼器數(shù)據(jù)緩沖寄存器設(shè)備狀態(tài)標(biāo)記完成觸發(fā)器D工作觸發(fā)器B中斷請(qǐng)求觸發(fā)器INTR屏蔽觸發(fā)器MASK3.I/O接口的基本組成

命令寄存器和命令譯碼器

設(shè)備選擇電路

設(shè)備狀態(tài)標(biāo)記

數(shù)據(jù)緩沖寄存器DBR

控制邏輯電路I/O接口外部設(shè)備數(shù)據(jù)線命令狀態(tài)數(shù)據(jù)線命令線狀態(tài)線CPU地址線并行接口串行接口可編程接口不可編程接口1.按數(shù)據(jù)傳送方式

分類2.按功能選擇的靈活性

分類Intel8255Intel8251Intel8255、Intel8251Intel8212三、接口類型通用接口專用接口3.按通用性

分類4.按數(shù)據(jù)傳送的控制方式

分類中斷接口DMA接口Intel8255、Intel8251Intel8279、Intel8275Intel8259Intel8257第四節(jié)程序查詢方式一、程序查詢流程二、程序查詢方式的接口電路一、程序查詢流程1.查詢流程檢查狀態(tài)標(biāo)記交換數(shù)據(jù)準(zhǔn)備就緒?是否單個(gè)設(shè)備測(cè)試指令轉(zhuǎn)移指令傳送指令檢查狀態(tài)標(biāo)記1

設(shè)備1

準(zhǔn)備就緒?檢查狀態(tài)標(biāo)記N

設(shè)備N準(zhǔn)備就緒?…處理設(shè)備1是否否處理設(shè)備N是多個(gè)設(shè)備2.程序流程設(shè)置主存緩沖區(qū)首址設(shè)置計(jì)數(shù)值啟動(dòng)外設(shè)傳送一個(gè)數(shù)據(jù)修改主存地址修改計(jì)數(shù)值結(jié)束I/O傳送準(zhǔn)備好?傳送完?未完是完否

保存寄存器內(nèi)容②設(shè)備選擇電路DBRQQ&數(shù)據(jù)線準(zhǔn)備就緒啟動(dòng)命令地址線SEL輸入數(shù)據(jù)啟動(dòng)設(shè)備設(shè)備工作結(jié)束①③④⑤⑥D(zhuǎn)B二、程序查詢方式的接口電路①②③⑤1010④以輸入為例⑥第五節(jié)程序中斷方式一、中斷的概念二、I/O中斷的產(chǎn)生三、程序中斷方式的接口電路四、I/O中斷處理過(guò)程五、中斷服務(wù)程序流程一、中斷的概念…KK+1QQ+1……中斷服務(wù)程序1中斷服務(wù)程序2入口1入口2中斷:計(jì)算機(jī)在執(zhí)行過(guò)程中,當(dāng)出現(xiàn)異常情況或特殊請(qǐng)求時(shí),停止現(xiàn)行程序的運(yùn)行,轉(zhuǎn)向這些情況或請(qǐng)求的處理,處理結(jié)束后再返回現(xiàn)行程序中斷處,繼續(xù)執(zhí)行原程序。二、I/O中斷的產(chǎn)生以打印機(jī)為例發(fā)中斷請(qǐng)求

空閑接收數(shù)據(jù)接收數(shù)據(jù)準(zhǔn)備發(fā)中斷請(qǐng)求打印打印打印機(jī)執(zhí)行主程序繼續(xù)執(zhí)行主程序繼續(xù)執(zhí)行主程序響應(yīng)中斷中斷返回響應(yīng)中斷中斷返回

啟動(dòng)打印機(jī)傳送數(shù)據(jù)傳送數(shù)據(jù)CPUCPU與打印機(jī)并行工作三、程序中斷方式的接口電路1.配置中斷請(qǐng)求觸發(fā)器和中斷屏蔽觸發(fā)器DQ&1INTR中斷請(qǐng)求觸發(fā)器INTR=1有請(qǐng)求MASK中斷屏蔽觸發(fā)器MASK=1被屏蔽來(lái)自CPU的中斷查詢信號(hào)受設(shè)備本身控制INTRDMASKQD完成觸發(fā)器中斷請(qǐng)求不允許級(jí)別低的中斷源中斷正在運(yùn)行的中斷程序2.排隊(duì)器排隊(duì)在CPU內(nèi)或在接口電路中(鏈?zhǔn)脚抨?duì)器)硬件軟件詳見(jiàn)第八章INTP1′INTP2′INTP3′INTP4′INTR1INTR2INTR3INTR41&1&1&1&INTR1設(shè)備1#、2#、3#、4#

優(yōu)先級(jí)按降序排列INTRi

=1有請(qǐng)求即INTRi=01INTP11INTP21INTP31INTP4&&&&INTR1INTR2INTR3INTR4INTR1INTR2INTR3INTR41&1&1&1&INTP1′INTP2′INTP3′INTP4′INTR2INTR1INTR1INTR21&INTP23.中斷向量地址形成部件入口地址…向量地址…排隊(duì)器輸出硬件向量法由軟件產(chǎn)生

顯示器服務(wù)程序

打印機(jī)服務(wù)程序JMP400JMP300JMP200…………主存12H13H14H200300向量地址入口地址入口地址中斷向量地址形成部件

設(shè)備編碼器1000…000100100100…00010011由硬件

產(chǎn)生向量地址再由向量地址

找到入口地址設(shè)備選擇電路DBRDQ&數(shù)據(jù)線啟動(dòng)命令地址線SEL輸入數(shù)據(jù)啟動(dòng)設(shè)備設(shè)備工作結(jié)束&1QQDINTRBQQMASK

設(shè)備編碼器排隊(duì)器中斷查詢來(lái)自高一級(jí)的排隊(duì)器至低一級(jí)的排隊(duì)器向量地址中斷響應(yīng)

INTA中斷請(qǐng)求命令譯碼4.程序中斷方式接口電路的基本組成四、I/O中斷處理過(guò)程1.CPU響應(yīng)中斷的條件和時(shí)間(1)條件(2)時(shí)間允許中斷觸發(fā)器EINT=1用開(kāi)中斷

指令將EINT置“1”用關(guān)中斷

指令將EINT置“0”

或硬件自動(dòng)復(fù)位當(dāng)D=1(隨機(jī))且MASK=0

時(shí)在每條指令執(zhí)行階段的結(jié)束前CPU

發(fā)中斷查詢信號(hào)(將INTR置“1”)設(shè)備選擇電路DBRDQ&數(shù)據(jù)線啟動(dòng)命令地址線SEL輸入數(shù)據(jù)啟動(dòng)設(shè)備設(shè)備工作結(jié)束&1QQDINTRBQQMASK設(shè)備編碼器排隊(duì)器中斷查詢來(lái)自高一級(jí)的排隊(duì)器至低一級(jí)的排隊(duì)器向量地址中斷響應(yīng)

INTA中斷請(qǐng)求命令譯碼①②③④⑤⑥⑦⑧2.I/O中斷處理過(guò)程①10&DBR④⑤⑦⑧設(shè)備選擇電路01以輸入為例②③⑥五、中斷服務(wù)程序流程1.中斷服務(wù)程序的流程(1)保護(hù)現(xiàn)場(chǎng)(2)中斷服務(wù)(3)恢復(fù)現(xiàn)場(chǎng)(4)中斷返回對(duì)不同的I/O設(shè)備具有不同內(nèi)容的設(shè)備服務(wù)中斷返回指令中斷隱指令完成進(jìn)棧指令出棧指令程序斷點(diǎn)的保護(hù)寄存器內(nèi)容的保護(hù)2.單重中斷和多重中斷不允許中斷

現(xiàn)行的中斷服務(wù)程序單重

中斷多重

中斷允許級(jí)別更高

的中斷源中斷

現(xiàn)行的中斷服務(wù)程序3.單重中斷和多重中斷的服務(wù)程序流程中斷否?保護(hù)現(xiàn)場(chǎng)設(shè)備服務(wù)恢復(fù)現(xiàn)場(chǎng)

開(kāi)中斷中斷返回取指令執(zhí)行指令中斷服務(wù)程序

中斷響應(yīng)程序斷點(diǎn)進(jìn)棧關(guān)中斷向量地址PC中斷周期是中斷返回保護(hù)現(xiàn)場(chǎng)設(shè)備服務(wù)恢復(fù)現(xiàn)場(chǎng)開(kāi)中斷開(kāi)中斷開(kāi)中斷中斷隱指令中斷隱指令否取指令執(zhí)行指令中斷否?否

中斷響應(yīng)程序斷點(diǎn)進(jìn)棧關(guān)中斷向量地址PC中斷周期是中斷服務(wù)程序單重多重單重中斷和多重中斷的服務(wù)程序流程主程序和服務(wù)程序搶占CPU示意圖準(zhǔn)備工作準(zhǔn)備工作準(zhǔn)備工作傳送數(shù)據(jù)傳送數(shù)據(jù)發(fā)中斷請(qǐng)求發(fā)中斷請(qǐng)求I/O宏觀

上CPU和I/O并行

工作微觀

上CPU中斷現(xiàn)行程序

為I/O服務(wù)主程序繼續(xù)執(zhí)行主程序啟動(dòng)外設(shè)

服務(wù)程序(傳送數(shù)據(jù))

服務(wù)程序(傳送數(shù)據(jù))繼續(xù)執(zhí)行主程序CPU第六節(jié)DMA方式DMA(DirectMemoryAccess)方式即直接存儲(chǔ)器訪問(wèn)方式,是為了在主存與外設(shè)之間實(shí)現(xiàn)高速、批量數(shù)據(jù)交換而設(shè)置的;DMA方式的數(shù)據(jù)傳送直接依靠硬件(DMA控制器)來(lái)實(shí)現(xiàn),不需要執(zhí)行任何程序;無(wú)論程序查詢還是程序中斷方式,主要的工作都是由CPU執(zhí)行程序完成的,這需要花費(fèi)時(shí)間,因此不能實(shí)現(xiàn)高速外設(shè)與主機(jī)的信息交換。一、DMA方式的特點(diǎn)二、DMA接口的功能和組成三、DMA的工作過(guò)程四、DMA接口的類型一、DMA方式的特點(diǎn)1.DMA和程序中斷兩種方式的數(shù)據(jù)通路CPU主存ACC

中斷接口DMA接口I/O

設(shè)備中斷方式數(shù)據(jù)傳送通路輸入指令輸出指令DMA方式數(shù)據(jù)傳送通路既不需要CPU干預(yù)也不需要軟件介入的情況下在兩者之間進(jìn)行的高速數(shù)據(jù)傳送2.DMA與主存交換數(shù)據(jù)的三種方式(1)停止CPU訪問(wèn)主存控制簡(jiǎn)單用DMA請(qǐng)求信號(hào)迫使CPU讓出總線控制權(quán);CPU在現(xiàn)行機(jī)器周期執(zhí)行完成之后,使其數(shù)據(jù)、地址總線處于三態(tài),并輸出總線批準(zhǔn)信號(hào);每次DMA請(qǐng)求獲得批準(zhǔn),DMA控制器獲得總線控制權(quán)以后,連續(xù)占用若干個(gè)存取周期(總線周期)進(jìn)行成組連續(xù)的數(shù)據(jù)傳送,直至批量傳送結(jié)束,DMA控制器才把總線控制權(quán)交回CPU;主存工作時(shí)間CPU不執(zhí)行程序DMA不工作DMA不工作DMA工作CPU控制并使用主存DMA控制并使用主存tCPU處于不工作狀態(tài)或保持狀態(tài),僅能進(jìn)行一些與總線無(wú)關(guān)的內(nèi)部操作;未充分發(fā)揮CPU對(duì)主存的利用率,只適用于高速外設(shè)的成組傳送(2)周期挪用(或周期竊取)當(dāng)外設(shè)沒(méi)有DMA請(qǐng)求時(shí),CPU按程序要求訪問(wèn)主存;一旦外設(shè)有DMA請(qǐng)求并獲得CPU批準(zhǔn)后,CPU讓出一個(gè)周期總線控制權(quán),由DMA控制器控制系統(tǒng)總線,挪用一個(gè)存取周期進(jìn)行一次數(shù)據(jù)傳送,傳送一個(gè)字節(jié)或字;然后,DMA控制器將總線控制權(quán)交回CPU,CPU繼續(xù)進(jìn)行自己的操作,等待下一個(gè)DMA請(qǐng)求的到來(lái)。重復(fù)上述過(guò)程,直至數(shù)據(jù)塊傳送完畢。DMA訪問(wèn)主存有三種可能CPU此時(shí)不訪存CPU正在訪存CPU與DMA同時(shí)請(qǐng)求訪存CPU將總線控制權(quán)讓給DMA,優(yōu)先保證DMA工作周期挪用對(duì)CPU無(wú)影響必須等待當(dāng)前機(jī)器周期結(jié)束主存工作時(shí)間CPU控制并使用主存DMA控制并使用主存t

當(dāng)主存工作速度高出外設(shè)較多時(shí),采用周期挪用法可以提高主存的利用率,且對(duì)CPU的影響較小,因此,高速主機(jī)系統(tǒng)常采用這種方法。(3)DMA與CPU交替訪問(wèn)適用于CPU的工作周期比主存周期長(zhǎng)的情況;將一個(gè)CPU周期分成兩個(gè)時(shí)間周期C1和C2;CPU工作周期C1專供DMA訪存C2專供CPU訪存所有指令執(zhí)行過(guò)程中的一個(gè)基準(zhǔn)時(shí)間主存工作時(shí)間DMA控制并使用主存CPU控制并使用主存t不需要申請(qǐng)、建立和歸還總線;CPU不停止現(xiàn)行程序的運(yùn)行,也不進(jìn)入保持狀態(tài);相應(yīng)的硬件邏輯變得更復(fù)雜;DMA不工作DMA不工作CPU控制并使用主存DMA控制并使用主存主存工作時(shí)間停止CPU訪問(wèn)主存交替訪問(wèn)周期挪用DMA三種傳送方式CPU控制并使用主存DMA控制并使用主存主存工作時(shí)間CPU控制并使用主存DMA控制并使用主存主存工作時(shí)間二、DMA接口的功能和組成DMA接口相對(duì)于查詢式接口和中斷式接口來(lái)說(shuō)比較復(fù)雜,在DMA傳送過(guò)程中,DMA接口將接管CPU的地址總線、數(shù)據(jù)總線和控制總線,CPU的主存控制信號(hào)被禁止使用;DMA傳送結(jié)束后,DMA接口將恢復(fù)CPU的一切權(quán)力并開(kāi)始執(zhí)行其操作; 由此可見(jiàn),DMA接口必須具有控制系統(tǒng)總線的能力,即能夠像CPU一樣輸出地址信號(hào),接收或發(fā)出控制信號(hào),輸入或輸出數(shù)據(jù)信號(hào)。1.DMA接口功能(1)向CPU申請(qǐng)

DMA傳送(2)處理總線控制權(quán)的轉(zhuǎn)交(3)管理

系統(tǒng)總線、控制

數(shù)據(jù)傳送(4)確定

數(shù)據(jù)傳送的首地址和長(zhǎng)度(5)DMA傳送結(jié)束時(shí),給出操作完成信號(hào)修正

傳送過(guò)程中的數(shù)據(jù)地址和長(zhǎng)度2.DMA接口組成(1)主存地址計(jì)數(shù)器(AR)

用來(lái)存放待交換數(shù)據(jù)的主存地址。該計(jì)數(shù)器的初始值為主存緩沖區(qū)的首地址,當(dāng)DMA傳送時(shí),每傳送一個(gè)數(shù)據(jù),將地址計(jì)數(shù)器加“1”,直至這批數(shù)據(jù)傳送完畢為止。(2)字計(jì)數(shù)器(WC)

用來(lái)記錄傳送數(shù)據(jù)塊的長(zhǎng)度。其初始值為傳送數(shù)據(jù)的總字?jǐn)?shù)或總字節(jié)數(shù),每傳送一個(gè)字或一個(gè)字節(jié),計(jì)數(shù)器自動(dòng)減“1”,當(dāng)其內(nèi)容為0時(shí)表示數(shù)據(jù)已全部傳送完畢。

(有些DMA控制器中,初始時(shí)將字?jǐn)?shù)或字節(jié)數(shù)求補(bǔ)之后送計(jì)數(shù)器,每傳送一個(gè)字或一個(gè)字節(jié),計(jì)數(shù)器加“1”,當(dāng)計(jì)數(shù)器溢出時(shí),表示數(shù)據(jù)傳送完畢)(3)數(shù)據(jù)緩沖寄存器(BR)

用來(lái)暫存每次傳送的數(shù)據(jù)。輸入時(shí),數(shù)據(jù)由外設(shè)(如磁盤(pán))先送往數(shù)據(jù)緩沖寄存器,再通過(guò)數(shù)據(jù)總線送到主存。輸出,則相反。(4)設(shè)備地址寄存器(DAR)

存放I/O設(shè)備的設(shè)備碼或表示設(shè)備信息存儲(chǔ)區(qū)的尋址信息,如磁盤(pán)數(shù)據(jù)所在區(qū)號(hào)、盤(pán)面號(hào)等,具體內(nèi)容取決于I/O設(shè)備的數(shù)據(jù)格式和地址編碼方式。(5)DMA請(qǐng)求觸發(fā)器 每當(dāng)外設(shè)準(zhǔn)備好數(shù)據(jù)后給出一個(gè)控制信號(hào)DREQ,使DMA請(qǐng)求觸發(fā)器置位。(6)DMA控制邏輯 它由控制和時(shí)序電路以及狀態(tài)標(biāo)志等組成,當(dāng)收到設(shè)備準(zhǔn)備好一個(gè)數(shù)據(jù)字時(shí)發(fā)送的DREQ

信號(hào)后,發(fā)送DMA請(qǐng)求信號(hào)HRQ到CPU

,在收到CPU響應(yīng)信號(hào)HLDA后負(fù)責(zé)管理DMA傳送全過(guò)程,包括修改傳送參數(shù)、識(shí)別總線類型、指定傳送方向,通知設(shè)備已授予使用一個(gè)DMA周期,發(fā)出DACK信號(hào)。(7)中斷機(jī)構(gòu) 當(dāng)一個(gè)數(shù)據(jù)塊傳送完畢后觸發(fā)中斷機(jī)構(gòu),向CPU提出中斷請(qǐng)求,CPU將進(jìn)行DMA傳送的后處理。DMA接口主存CPUDMA接口組成DMA

控制邏輯

中斷機(jī)構(gòu)設(shè)備HLDAARWCDARHRQ中斷請(qǐng)求數(shù)據(jù)線地址線+1+1溢出信號(hào)DREQDACKBR三、DMA的工作過(guò)程1.DMA傳送過(guò)程預(yù)處理、數(shù)據(jù)傳送、后處理(1)預(yù)處理通過(guò)幾條輸入輸出指令預(yù)置如下信息

通知DMA控制邏輯傳送方向(入/出)

設(shè)備地址DMA的DAR

主存地址DMA的AR

傳送字?jǐn)?shù)DMA的WC(2)數(shù)據(jù)傳送預(yù)處理:主存起始地址設(shè)備地址傳送數(shù)據(jù)個(gè)數(shù)啟動(dòng)設(shè)備DMADMADMA數(shù)據(jù)傳送:繼續(xù)執(zhí)行主程序同時(shí)完成一批數(shù)據(jù)傳送后處理:中斷服務(wù)程序做DMA結(jié)束處理繼續(xù)執(zhí)行主程序CPU允許傳送?主存地址送總線數(shù)據(jù)送I/O設(shè)備(或主存)修改主存地址修改字計(jì)數(shù)器

數(shù)據(jù)塊傳送結(jié)束?向CPU申請(qǐng)程序中斷DMA請(qǐng)求否否是是數(shù)據(jù)傳送DMA傳送過(guò)程示意圖BR設(shè)備DMA

控制邏輯

中斷機(jī)構(gòu)ARWCDARDMA接口主存CPU+1+1數(shù)據(jù)傳送過(guò)程(輸入)DREQ②HRQ③HLDA④地址線⑤DACK⑥①數(shù)據(jù)線⑦溢出信號(hào)中斷請(qǐng)求ARWC+1+1BRBRBRBRBRBR設(shè)備DMA

控制邏輯

中斷機(jī)構(gòu)ARWCDARDMA接口主存CPU+1+1BRDREQ②HRQ③HLDA④地址線⑤DACK⑥①數(shù)據(jù)線⑦溢出信號(hào)中斷請(qǐng)求ARWC+1+1數(shù)據(jù)傳送過(guò)程(輸出)BRBRBRBR(3)后處理校驗(yàn)送入主存的數(shù)是否正確決定是否繼續(xù)用DMA傳送其它數(shù)據(jù)塊測(cè)試傳送過(guò)程是否正確,錯(cuò)則轉(zhuǎn)診斷及處理程序由中斷服務(wù)程序完成例5.3:由傳輸速率確定每秒傳輸字節(jié)數(shù);9600/8=1200B由最大批量字節(jié)數(shù)確定傳輸數(shù)據(jù)塊數(shù);

1200B/400B=3塊采用DMA方式占用處理器時(shí)間;0.1×1200+5×3=135us采用中斷方式,每個(gè)字符要申請(qǐng)一次中斷;5×12

溫馨提示

  • 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)論

0/150

提交評(píng)論