計(jì)算機(jī)組成原理-第五章_第1頁(yè)
計(jì)算機(jī)組成原理-第五章_第2頁(yè)
計(jì)算機(jī)組成原理-第五章_第3頁(yè)
計(jì)算機(jī)組成原理-第五章_第4頁(yè)
計(jì)算機(jī)組成原理-第五章_第5頁(yè)
已閱讀5頁(yè),還剩69頁(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)介

1、第五章第五章 輸入輸出系統(tǒng)輸入輸出系統(tǒng)p 概述概述p I/O接口接口p 程序查詢方式程序查詢方式p 程序中斷方式程序中斷方式p DMA方式方式5.1 概述概述存儲(chǔ)器存儲(chǔ)器輸入設(shè)備輸入設(shè)備運(yùn)算器運(yùn)算器控制器控制器輸出設(shè)備輸出設(shè)備一、輸入輸出系統(tǒng)的發(fā)展概況,共經(jīng)歷一、輸入輸出系統(tǒng)的發(fā)展概況,共經(jīng)歷4個(gè)階個(gè)階段:段: 早期階段 接口模塊和DMA階段 通道階段 I/O處理機(jī)階段1、早期階段、早期階段p CPU和外設(shè)分散連接、串行工作、耦合性和外設(shè)分散連接、串行工作、耦合性強(qiáng),機(jī)器速度慢、價(jià)格高。強(qiáng),機(jī)器速度慢、價(jià)格高。while( busy = 1);Do something 主存主存CPUI/O設(shè)備

2、設(shè)備外設(shè)工作在查詢模式下。外設(shè)工作在查詢模式下。p這種交換方式延續(xù)了相當(dāng)長(zhǎng)的時(shí)間。當(dāng)時(shí)的這種交換方式延續(xù)了相當(dāng)長(zhǎng)的時(shí)間。當(dāng)時(shí)的I/O系統(tǒng)具有以下幾個(gè)特點(diǎn):每個(gè)系統(tǒng)具有以下幾個(gè)特點(diǎn):每個(gè)I/O設(shè)備都必須配設(shè)備都必須配有一套獨(dú)立的邏輯電路與有一套獨(dú)立的邏輯電路與CPU相連,用來(lái)實(shí)現(xiàn)相連,用來(lái)實(shí)現(xiàn)I/O設(shè)設(shè)備與主機(jī)交換信息,因此線路十分零散、龐雜;輸備與主機(jī)交換信息,因此線路十分零散、龐雜;輸入輸出過(guò)程是穿插在入輸出過(guò)程是穿插在CPU執(zhí)行程序期間進(jìn)行的,當(dāng)執(zhí)行程序期間進(jìn)行的,當(dāng)I/O設(shè)備與主機(jī)交換信息時(shí),設(shè)備與主機(jī)交換信息時(shí),CPU不得不停止各種運(yùn)不得不停止各種運(yùn)算,因此,算,因此,I/O設(shè)備與設(shè)備

3、與CPU是按串行方式工作的,極是按串行方式工作的,極大的浪費(fèi)了大的浪費(fèi)了CPU的時(shí)間;每個(gè)的時(shí)間;每個(gè)I/O設(shè)備的邏輯控制電設(shè)備的邏輯控制電路與路與CPU的控制器緊密構(gòu)成一個(gè)不可分割的整體,的控制器緊密構(gòu)成一個(gè)不可分割的整體,它們彼此依賴,相互牽連,因此,想要增加、刪除它們彼此依賴,相互牽連,因此,想要增加、刪除或者更換或者更換I/O設(shè)備就非常困難。設(shè)備就非常困難。2、接口模塊與、接口模塊與DMA階段階段p 具有總線模式,主機(jī)通過(guò)各種接口連接外具有總線模式,主機(jī)通過(guò)各種接口連接外設(shè),具有中斷或設(shè),具有中斷或DMA功能。功能。主主機(jī)機(jī)接口接口I/O設(shè)備設(shè)備接口接口I/O設(shè)備設(shè)備接口接口I/O設(shè)備

4、設(shè)備設(shè)備尋址設(shè)備尋址速度匹配速度匹配格式轉(zhuǎn)換格式轉(zhuǎn)換電平轉(zhuǎn)換電平轉(zhuǎn)換內(nèi)內(nèi)存存多個(gè)多個(gè)DMA控制器同時(shí)訪問(wèn)主存可能沖突;控制器同時(shí)訪問(wèn)主存可能沖突;CPU管理眾多管理眾多DMA控制器,任務(wù)繁重??刂破?,任務(wù)繁重。3、通道結(jié)構(gòu)、通道結(jié)構(gòu)p通道是用來(lái)負(fù)責(zé)管理通道是用來(lái)負(fù)責(zé)管理I/O設(shè)備以及實(shí)現(xiàn)主存與設(shè)備以及實(shí)現(xiàn)主存與I/O設(shè)備之設(shè)備之間交換信息的部件,可視為從屬于間交換信息的部件,可視為從屬于CPU的專用處理器。的專用處理器。通道有專用的通道指令,它能獨(dú)立地執(zhí)行用通道指令所通道有專用的通道指令,它能獨(dú)立地執(zhí)行用通道指令所編寫(xiě)的輸入輸出程序,但它不是一個(gè)完全獨(dú)立的處理器,編寫(xiě)的輸入輸出程序,但它不是一

5、個(gè)完全獨(dú)立的處理器,它受它受CPU的的I/O指令啟動(dòng)、停止或改變其工作狀態(tài),依賴指令啟動(dòng)、停止或改變其工作狀態(tài),依賴通道管理的通道管理的I/O設(shè)備在與主機(jī)交換信息時(shí),設(shè)備在與主機(jī)交換信息時(shí),CPU不直接參不直接參與管理,故與管理,故CPU的資源利用率更高的資源利用率更高p通道具有專門指令,能獨(dú)立執(zhí)行由通道指令編寫(xiě)的輸入通道具有專門指令,能獨(dú)立執(zhí)行由通道指令編寫(xiě)的輸入輸出程序。輸出程序。通道并不能完全把通道并不能完全把CPU解放出來(lái),解放出來(lái),CPU還要進(jìn)行諸如碼制轉(zhuǎn)換之類的工作。還要進(jìn)行諸如碼制轉(zhuǎn)換之類的工作。4、外圍處理機(jī)、外圍處理機(jī)p 外圍處理機(jī)又稱為外圍處理機(jī)又稱為I/O處理機(jī),獨(dú)立于主

6、機(jī)處理機(jī),獨(dú)立于主機(jī)工作,除了具備通道功能之外,還具備碼工作,除了具備通道功能之外,還具備碼制轉(zhuǎn)換、格式處理、數(shù)據(jù)校驗(yàn)等功能。制轉(zhuǎn)換、格式處理、數(shù)據(jù)校驗(yàn)等功能。查詢查詢外設(shè)外設(shè)外設(shè)外設(shè)外設(shè)外設(shè)CPU親自出馬蘋(píng)果樹(shù)中斷中斷外設(shè)外設(shè)外設(shè)外設(shè)外設(shè)外設(shè)外設(shè)主動(dòng)送給CPUDMA外設(shè)外設(shè)外設(shè)外設(shè)外設(shè)外設(shè)DMACPU在家里等CPU啟動(dòng)DMA ,外設(shè)與DMA通信通道通道外設(shè)外設(shè)外設(shè)外設(shè)DMA通道通道通道代理CPU的一部分功能外圍處理機(jī)外圍處理機(jī)外設(shè)外設(shè)外設(shè)外設(shè)DMA外圍處理機(jī)外圍處理機(jī)二、輸入輸出系統(tǒng)的組成二、輸入輸出系統(tǒng)的組成p I/O軟件軟件 I/O指令:CPU指令操作碼: I/O指令標(biāo)志命令碼:指令功能

7、,讀、寫(xiě)、檢測(cè)、控制命令設(shè)備碼:地址碼 通道指令: 通道自身的指令,用于執(zhí)行I/O操作,存放于主存,由通道執(zhí)行,完成輸入輸出功能 在具有通道的計(jì)算機(jī)中, I/O指令不負(fù)責(zé)數(shù)據(jù)輸入輸出,而主要完成啟停設(shè)備、通道控制,實(shí)際數(shù)據(jù)傳輸由通道完成。操作碼操作碼 命令碼命令碼 設(shè)備碼設(shè)備碼操作碼操作碼 地址碼地址碼二、輸入輸出系統(tǒng)的組成二、輸入輸出系統(tǒng)的組成p I/O硬件:通道硬件:通道-設(shè)備控制器設(shè)備控制器-設(shè)備設(shè)備大連理工大學(xué)軟件學(xué)院 賴曉晨三、三、I/O設(shè)備與主機(jī)的聯(lián)系方式設(shè)備與主機(jī)的聯(lián)系方式p I/O設(shè)備編址方式設(shè)備編址方式 統(tǒng)一編址: I/O占用存儲(chǔ)器地址空間,無(wú)須專門的I/O指令。減少了存儲(chǔ)器

8、最大容量。 獨(dú)立編址: I/O地址與存儲(chǔ)器地址分開(kāi),采用專門指令來(lái)訪問(wèn)I/O。不占用主存容量。p 設(shè)備尋址設(shè)備尋址 每臺(tái)設(shè)備都有設(shè)備號(hào),啟動(dòng)設(shè)備時(shí),由I/O指令的設(shè)備碼字段直接指出設(shè)備號(hào),經(jīng)接口中的設(shè)備選擇電路選中設(shè)備。操作碼操作碼 命令碼命令碼 設(shè)備碼設(shè)備碼三、三、I/O設(shè)備與主機(jī)的聯(lián)系方式設(shè)備與主機(jī)的聯(lián)系方式p 傳送方式傳送方式 并行:多位同時(shí)傳送,需要多條數(shù)據(jù)線,速度快。 串行:一條數(shù)據(jù)線和一條地線,逐位傳送,速度慢,適用于遠(yuǎn)距離傳送。p 聯(lián)絡(luò)方式聯(lián)絡(luò)方式 立即響應(yīng)式:簡(jiǎn)單的外設(shè),例如指示燈、繼電器等設(shè)備,隨時(shí)處在待命狀態(tài),只要收到CPU的信號(hào),立刻做出響應(yīng)。三、三、I/O設(shè)備與主機(jī)的聯(lián)

9、系方式設(shè)備與主機(jī)的聯(lián)系方式p 聯(lián)絡(luò)方式聯(lián)絡(luò)方式 異步工作采用應(yīng)答信號(hào)聯(lián)絡(luò) 同步工作采用同步時(shí)標(biāo)聯(lián)絡(luò):要求外設(shè)與 CPU的工作速度完全一致“Ready”“Strobe”I/O 接接 口口I/O 設(shè)設(shè) 備備CPU大連理工大學(xué)軟件學(xué)院 賴曉晨三、三、I/O設(shè)備與主機(jī)的聯(lián)系方式設(shè)備與主機(jī)的聯(lián)系方式p I/O設(shè)備與主機(jī)的連接方式設(shè)備與主機(jī)的連接方式 輻射式:每臺(tái)設(shè)備都配有一套控制線路和一組信號(hào)線 總線式:便于增刪設(shè)備 外設(shè)外設(shè) 外設(shè)外設(shè) 外設(shè)外設(shè) 主主機(jī)機(jī)大連理工大學(xué)軟件學(xué)院 賴曉晨四、四、I/O設(shè)備與主機(jī)信息傳送控制方式設(shè)備與主機(jī)信息傳送控制方式p I/O設(shè)備與主機(jī)信息傳送的控制方式如下:設(shè)備與主機(jī)信

10、息傳送的控制方式如下: 程序查詢方式 中斷方式 DMA方式 通道方式 外圍處理機(jī)方式大連理工大學(xué)軟件學(xué)院 賴曉晨1、程序查詢方式、程序查詢方式p CPU和和I/O串行串行工作,工作, I/O工作工作時(shí)時(shí)CPU原地踏步。原地踏步。從從I/O接口中讀接口中讀 一個(gè)字到一個(gè)字到CPU從從CPU向主存向主存 寫(xiě)入一個(gè)字寫(xiě)入一個(gè)字CPU讀讀I/O狀態(tài)狀態(tài)檢查狀態(tài)檢查狀態(tài) 完成否完成否未準(zhǔn)備就緒未準(zhǔn)備就緒是是出錯(cuò)出錯(cuò)已準(zhǔn)備就緒已準(zhǔn)備就緒否否大連理工大學(xué)軟件學(xué)院 賴曉晨2、中斷方式、中斷方式p CPU和和I/O部分并行工作,在中斷服務(wù)子部分并行工作,在中斷服務(wù)子程序中完成數(shù)據(jù)的傳送。程序中完成數(shù)據(jù)的傳送。大

11、連理工大學(xué)軟件學(xué)院 賴曉晨CPU 向向 I/O 發(fā)讀指令發(fā)讀指令CPU 讀讀 I/O 狀態(tài)狀態(tài)檢查狀態(tài)檢查狀態(tài)完成否?完成否?CPU 做其他事情做其他事情I/O 設(shè)備工作設(shè)備工作準(zhǔn)備就緒準(zhǔn)備就緒CPU I/O從從 CPU 向主存寫(xiě)入一個(gè)字向主存寫(xiě)入一個(gè)字CPU 主存主存從從 I/O 接口中讀一個(gè)字到接口中讀一個(gè)字到CPUI/O CPU中斷請(qǐng)求中斷請(qǐng)求I/O CPU出錯(cuò)出錯(cuò)是是否否未錯(cuò)未錯(cuò)大連理工大學(xué)軟件學(xué)院 賴曉晨CPU 向向 I/O 發(fā)讀指令發(fā)讀指令CPU 讀讀 I/O 狀態(tài)狀態(tài)檢查狀態(tài)檢查狀態(tài)完成否?完成否?CPU 做其他事情做其他事情I/O 設(shè)備工作設(shè)備工作準(zhǔn)備就緒準(zhǔn)備就緒CPU I/O

12、從從 CPU 向主存寫(xiě)入一個(gè)字向主存寫(xiě)入一個(gè)字CPU 主存主存從從 I/O 接口中讀一個(gè)字到接口中讀一個(gè)字到CPUI/O CPU中斷請(qǐng)求中斷請(qǐng)求I/O CPU出錯(cuò)出錯(cuò)是是否否未錯(cuò)未錯(cuò) 中斷程序消除了中斷程序消除了CPU原地踏步的情況,但原地踏步的情況,但是,是,CPU在響應(yīng)中斷請(qǐng)求后,必須暫?,F(xiàn)程在響應(yīng)中斷請(qǐng)求后,必須暫?,F(xiàn)程序,轉(zhuǎn)而去執(zhí)行中斷服務(wù)子程序,消耗了序,轉(zhuǎn)而去執(zhí)行中斷服務(wù)子程序,消耗了CPU資源,并且,中斷處理過(guò)程是有開(kāi)銷的。資源,并且,中斷處理過(guò)程是有開(kāi)銷的。3、DMA方式方式p 在主存和在主存和I/O之間建立數(shù)據(jù)傳送的直接通道,之間建立數(shù)據(jù)傳送的直接通道,由由DMA控制器來(lái)完成

13、信息傳送,不需要中控制器來(lái)完成信息傳送,不需要中斷斷CPU的運(yùn)行。進(jìn)一步提高了的運(yùn)行。進(jìn)一步提高了CPU和和I/O的并行程度。的并行程度。p CPU周期竊取周期竊取大連理工大學(xué)軟件學(xué)院 賴曉晨存取周期結(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 執(zhí)行執(zhí)行現(xiàn)行程序現(xiàn)行程序啟動(dòng)啟動(dòng)I/OI/O 準(zhǔn)備及傳送準(zhǔn)備及傳送指令執(zhí)行周期結(jié)束指令執(zhí)行周期結(jié)束CPU

14、執(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)求程序程序查詢查詢方式方式程序程序中斷中斷方式方式DMA 方式方式I/O 準(zhǔn)備及傳送準(zhǔn)備及傳送間間斷斷I/O準(zhǔn)備準(zhǔn)備I/O準(zhǔn)備準(zhǔn)備大連理工大學(xué)軟件學(xué)院 賴曉晨5.2 I/O設(shè)備設(shè)備p 計(jì)算機(jī)中除主機(jī)外的其余部分,稱為外部計(jì)算機(jī)中除主機(jī)外的其余部分,稱為外部設(shè)備(設(shè)備

15、( I/O 設(shè)備、外設(shè))設(shè)備、外設(shè))主機(jī)主機(jī) 設(shè)備設(shè)備控制器控制器機(jī)、電機(jī)、電磁、光磁、光部分部分I/O接接口口外部設(shè)備外部設(shè)備大連理工大學(xué)軟件學(xué)院 賴曉晨外設(shè)分類外設(shè)分類p 分為三類分為三類 人機(jī)交互設(shè)備:鍵盤、鼠標(biāo)、打印機(jī)、顯人機(jī)交互設(shè)備:鍵盤、鼠標(biāo)、打印機(jī)、顯示器。示器。 信息存儲(chǔ)設(shè)備:磁盤、光盤、磁帶。信息存儲(chǔ)設(shè)備:磁盤、光盤、磁帶。 機(jī)機(jī)-機(jī)通信設(shè)備:調(diào)制解調(diào)器、機(jī)通信設(shè)備:調(diào)制解調(diào)器、A/D、D/A。大連理工大學(xué)軟件學(xué)院 賴曉晨大連理工大學(xué)軟件學(xué)院 賴曉晨一、為什么要采用一、為什么要采用I/O接口接口p 實(shí)現(xiàn)設(shè)備的選擇實(shí)現(xiàn)設(shè)備的選擇p 實(shí)現(xiàn)數(shù)據(jù)緩沖,達(dá)到速度匹配實(shí)現(xiàn)數(shù)據(jù)緩沖,達(dá)到速

16、度匹配p 實(shí)現(xiàn)數(shù)據(jù)串實(shí)現(xiàn)數(shù)據(jù)串-并格式轉(zhuǎn)換并格式轉(zhuǎn)換p 實(shí)現(xiàn)電平轉(zhuǎn)換實(shí)現(xiàn)電平轉(zhuǎn)換p 傳送控制命令傳送控制命令p 反映設(shè)備的狀態(tài)(反映設(shè)備的狀態(tài)(“忙忙”、“就緒就緒”、“中斷請(qǐng)求中斷請(qǐng)求”)p 接口與端口接口與端口的區(qū)別的區(qū)別大連理工大學(xué)軟件學(xué)院 賴曉晨二、接口的功能與組成二、接口的功能與組成p 總線連接方式的總線連接方式的I/O接口電路接口電路 設(shè)備選擇線 數(shù)據(jù)線 命令線 狀態(tài)線I/O 接口接口設(shè)備設(shè)備I/O 接口接口設(shè)備設(shè)備數(shù)據(jù)線數(shù)據(jù)線命令線命令線狀態(tài)線狀態(tài)線I/O總線總線設(shè)備選擇線設(shè)備選擇線大連理工大學(xué)軟件學(xué)院 賴曉晨I/O接口的基本組成接口的基本組成 命令寄存器命令寄存器和命令譯碼器和

17、命令譯碼器 設(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)線CPU地址線地址線大連理工大學(xué)軟件學(xué)院 賴曉晨大連理工大學(xué)軟件學(xué)院 賴曉晨端口地址大連理工大學(xué)軟件學(xué)院 賴曉晨三、接口類型三、接口類型p 按數(shù)據(jù)傳送方式按數(shù)據(jù)傳送方式 并行接口:intel8255 串行接口:intel8251p 按功能選擇的靈活性分類按功能選擇的靈活性分類 可編程接口:intel8255、intel8251 不可編程接口:intel8212大連理工大

18、學(xué)軟件學(xué)院 賴曉晨三、接口類型三、接口類型p 按通用性分類按通用性分類 通用接口:intel8255、intel8251 專用接口:intel8279、intel8275p 按數(shù)據(jù)傳送的控制方式分類按數(shù)據(jù)傳送的控制方式分類 中斷接口:intel8259 DMA接口:intel8257大連理工大學(xué)軟件學(xué)院 賴曉晨5.4 程序查詢方式程序查詢方式一、程序查詢流程一、程序查詢流程檢查狀態(tài)標(biāo)記檢查狀態(tài)標(biāo)記1 設(shè)備設(shè)備1 準(zhǔn)備就緒?準(zhǔn)備就緒?檢查狀態(tài)標(biāo)記檢查狀態(tài)標(biāo)記N 設(shè)備設(shè)備N準(zhǔn)備就緒?準(zhǔn)備就緒?處理設(shè)備處理設(shè)備1是是否否否否處理設(shè)備處理設(shè)備N是是1. 查詢流程查詢流程檢查狀態(tài)標(biāo)記檢查狀態(tài)標(biāo)記交換數(shù)據(jù)

19、交換數(shù)據(jù)準(zhǔn)備就緒準(zhǔn)備就緒?是是否否單單個(gè)個(gè)設(shè)設(shè)備備多個(gè)設(shè)備多個(gè)設(shè)備測(cè)測(cè)試試指指令令轉(zhuǎn)轉(zhuǎn)移移指指令令傳傳送送指指令令大連理工大學(xué)軟件學(xué)院 賴曉晨二、程序流程二、程序流程設(shè)置主存緩沖區(qū)首址設(shè)置主存緩沖區(qū)首址設(shè)置計(jì)數(shù)值設(shè)置計(jì)數(shù)值啟動(dòng)外設(shè)啟動(dòng)外設(shè)傳送一個(gè)數(shù)據(jù)傳送一個(gè)數(shù)據(jù)修改主存地址修改主存地址修改計(jì)數(shù)值修改計(jì)數(shù)值結(jié)束結(jié)束I/O傳送傳送準(zhǔn)備好?準(zhǔn)備好?傳送完?傳送完?未完未完是是完完否否傳送一個(gè)數(shù)據(jù)塊傳送一個(gè)數(shù)據(jù)塊大連理工大學(xué)軟件學(xué)院 賴曉晨設(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

20、 10以輸入為例以輸入為例三、查詢方式的接口電路三、查詢方式的接口電路CPU端端外設(shè)端外設(shè)端大連理工大學(xué)軟件學(xué)院 賴曉晨返回大連理工大學(xué)軟件學(xué)院 賴曉晨5.5 程序中斷方式程序中斷方式p 計(jì)算機(jī)在執(zhí)行程序的過(guò)程中,當(dāng)出現(xiàn)異常計(jì)算機(jī)在執(zhí)行程序的過(guò)程中,當(dāng)出現(xiàn)異常情況或特殊請(qǐng)求時(shí),計(jì)算機(jī)情況或特殊請(qǐng)求時(shí),計(jì)算機(jī)停止停止現(xiàn)行程序現(xiàn)行程序的運(yùn)行,的運(yùn)行,轉(zhuǎn)向轉(zhuǎn)向?qū)@些異常情況或特殊請(qǐng)求對(duì)這些異常情況或特殊請(qǐng)求的處理,處理結(jié)束后再的處理,處理結(jié)束后再返回返回到現(xiàn)行程序的到現(xiàn)行程序的間斷處,間斷處,繼續(xù)繼續(xù)執(zhí)行原程序,這就是中斷。執(zhí)行原程序,這就是中斷。大連理工大學(xué)軟件學(xué)院 賴曉晨二、中斷的產(chǎn)生二、中斷的

21、產(chǎn)生發(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以以打打印印機(jī)機(jī)為為例例大連理工大學(xué)軟件學(xué)院 賴曉晨三、中斷接口電路三、中斷接口電路DQ&1INTR 中斷請(qǐng)求觸發(fā)器中斷請(qǐng)求觸發(fā)器INTR = 1 有請(qǐng)求有請(qǐng)求MASK 中斷屏蔽觸發(fā)器中斷屏蔽觸發(fā)器MASK = 1 被屏蔽被屏蔽來(lái)自來(lái)自 CPU 的的中斷查詢信號(hào)中斷查詢信號(hào)受設(shè)

22、備本身控制受設(shè)備本身控制INTR D MASKQD 完成觸發(fā)器完成觸發(fā)器中斷請(qǐng)求中斷請(qǐng)求配置配置中斷請(qǐng)求觸發(fā)器中斷請(qǐng)求觸發(fā)器和和中斷屏蔽觸發(fā)器中斷屏蔽觸發(fā)器大連理工大學(xué)軟件學(xué)院 賴曉晨三、中斷接口電路三、中斷接口電路DQ&1INTR 中斷請(qǐng)求觸發(fā)器中斷請(qǐng)求觸發(fā)器INTR = 1 有請(qǐng)求有請(qǐng)求MASK 中斷屏蔽觸發(fā)器中斷屏蔽觸發(fā)器MASK = 1 被屏蔽被屏蔽來(lái)自來(lái)自 CPU 的的中斷查詢信號(hào)中斷查詢信號(hào)受設(shè)備本身控制受設(shè)備本身控制INTR D MASKQD 完成觸發(fā)器完成觸發(fā)器中斷請(qǐng)求中斷請(qǐng)求配置配置中斷請(qǐng)求觸發(fā)器中斷請(qǐng)求觸發(fā)器和和中斷屏蔽觸發(fā)器中斷屏蔽觸發(fā)器允許男同學(xué)提問(wèn):中斷屏蔽觸發(fā)器允許

23、男同學(xué)提問(wèn):中斷屏蔽觸發(fā)器通過(guò)寫(xiě)紙條提問(wèn):中斷請(qǐng)求觸發(fā)器通過(guò)寫(xiě)紙條提問(wèn):中斷請(qǐng)求觸發(fā)器講話間歇我會(huì)查看是否有紙條講話間歇我會(huì)查看是否有紙條外設(shè)外設(shè)CPU某外設(shè)發(fā)出中斷請(qǐng)求某外設(shè)發(fā)出中斷請(qǐng)求我們開(kāi)始上課啦我們開(kāi)始上課啦大連理工大學(xué)軟件學(xué)院 賴曉晨INTP1INTP2INTP3INTP4INTR1INTR2INTR3INTR4 1& 1& 1& 1& INTR1設(shè)備設(shè)備 1#、2#、3#、4# 優(yōu)先級(jí)優(yōu)先級(jí)按按 降序排列降序排列INTRi = 1 有請(qǐng)求有請(qǐng)求 即即 INTRi = 0排隊(duì)器排隊(duì)器INTR1INTP1INTR2INTP2INTR3INTP3INTR4INTP4鏈?zhǔn)脚抨?duì)器鏈?zhǔn)脚抨?duì)器0

24、 100110大連理工大學(xué)軟件學(xué)院 賴曉晨3、中斷向量地址形成部件、中斷向量地址形成部件入口地址入口地址向量地址向量地址(中斷向量號(hào)中斷向量號(hào))排隊(duì)器輸出排隊(duì)器輸出由軟件產(chǎn)生由軟件產(chǎn)生硬件向量法硬件向量法 顯示器服務(wù)程序 打印機(jī)服務(wù)程序JMP 400JMP 300JMP 200主存主存12 13 14 200300向量地址向量地址入口地址入口地址入口地址入口地址中斷向量地址中斷向量地址 形成部件形成部件 設(shè)備設(shè)備編碼器編碼器0 1 0 000001100詳見(jiàn)第八章詳見(jiàn)第八章由由硬件硬件產(chǎn)生產(chǎn)生向量地址向量地址進(jìn)而找到進(jìn)而找到入口地址入口地址大連理工大學(xué)軟件學(xué)院 賴曉晨設(shè)備選擇電路設(shè)備選擇電路D

25、BR 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 BQQMASK 設(shè)備編碼器設(shè)備編碼器排隊(duì)器排隊(duì)器中斷查詢中斷查詢來(lái)自高一級(jí)來(lái)自高一級(jí) 的排隊(duì)器的排隊(duì)器至低一級(jí)至低一級(jí)的排隊(duì)器的排隊(duì)器向量地址向量地址中斷響應(yīng)中斷響應(yīng) INTA中斷請(qǐng)求中斷請(qǐng)求命令譯碼命令譯碼4. 程序中斷方式接口電路的基本組成程序中斷方式接口電路的基本組成大連理工大學(xué)軟件學(xué)院 賴曉晨四、中斷處理過(guò)程四、中斷處理過(guò)程1、CPU響應(yīng)中斷的條件和時(shí)間響應(yīng)中斷的條件和時(shí)間 條件: CPU允許中斷:中斷允許觸發(fā)器EINT=1。(開(kāi)中斷、關(guān)中斷指令可以改

26、變EINT) 相關(guān)中斷的掩碼(MASK)為0 時(shí)間 每條指令執(zhí)行結(jié)束(CPU發(fā)出中斷查詢信號(hào)INTA(將INTR置1)。大連理工大學(xué)軟件學(xué)院 賴曉晨設(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ì)器排隊(duì)器中斷查詢中斷查詢來(lái)自高一級(jí)來(lái)自高一級(jí) 的排隊(duì)器的排隊(duì)器至低一級(jí)至低一級(jí)的排隊(duì)器的排隊(duì)器向量地址向量地址中斷響應(yīng)中斷響應(yīng) INTA中斷請(qǐng)求中斷請(qǐng)求命令譯碼命令譯碼2. I/O 中斷處理過(guò)程中斷處理過(guò)程10&DBR設(shè)備選擇電路設(shè)備選擇電路01以輸

27、入為例以輸入為例大連理工大學(xué)軟件學(xué)院 賴曉晨3、中斷處理的五個(gè)階段、中斷處理的五個(gè)階段p 中斷請(qǐng)求:中斷請(qǐng)求:INTRp 中斷判優(yōu):鏈?zhǔn)脚抨?duì)中斷判優(yōu):鏈?zhǔn)脚抨?duì)p 中斷響應(yīng):中斷響應(yīng):INTA,得到中斷號(hào),得到中斷號(hào)p 中斷服務(wù):根據(jù)中斷號(hào)查中斷向量表,得中斷服務(wù):根據(jù)中斷號(hào)查中斷向量表,得到中斷入口地址,跳轉(zhuǎn)到中斷服務(wù)程序到中斷入口地址,跳轉(zhuǎn)到中斷服務(wù)程序p 中斷返回:從中斷服務(wù)程序中返回到源程中斷返回:從中斷服務(wù)程序中返回到源程序繼續(xù)執(zhí)行序繼續(xù)執(zhí)行大連理工大學(xué)軟件學(xué)院 賴曉晨五、中斷服務(wù)程序流程五、中斷服務(wù)程序流程p 保護(hù)現(xiàn)場(chǎng)保護(hù)現(xiàn)場(chǎng) 斷點(diǎn)保護(hù): 中斷隱指令完成 保存寄存器值:進(jìn)棧指令p 中

28、斷服務(wù):中斷服務(wù):(視情形開(kāi)中斷)p 恢復(fù)現(xiàn)場(chǎng)恢復(fù)現(xiàn)場(chǎng) 出棧指令p 中斷返回中斷返回 中斷返回指令大連理工大學(xué)軟件學(xué)院 賴曉晨單重中斷與多重中斷單重中斷與多重中斷p 單重中斷:不允許中斷現(xiàn)行的中斷服務(wù)程單重中斷:不允許中斷現(xiàn)行的中斷服務(wù)程序序p 多重中斷(中斷嵌套):允許更高級(jí)別的多重中斷(中斷嵌套):允許更高級(jí)別的中斷源中斷現(xiàn)行的中斷服務(wù)程序中斷源中斷現(xiàn)行的中斷服務(wù)程序大連理工大學(xué)軟件學(xué)院 賴曉晨3. 單重中斷和多重中斷(中斷嵌套)服務(wù)程序流程單重中斷和多重中斷(中斷嵌套)服務(wù)程序流程中斷否?中斷否?保護(hù)現(xiàn)場(chǎng)保護(hù)現(xiàn)場(chǎng)設(shè)備服務(wù)設(shè)備服務(wù)恢復(fù)現(xiàn)場(chǎng)恢復(fù)現(xiàn)場(chǎng) 開(kāi)中斷開(kāi)中斷中斷返回中斷返回取指令取指令執(zhí)

29、行指令執(zhí)行指令中斷服務(wù)程序中斷服務(wù)程序 中斷響應(yīng)中斷響應(yīng) 程序斷點(diǎn)進(jìn)棧程序斷點(diǎn)進(jìn)棧 關(guān)中斷關(guān)中斷 向量地址向量地址 PC中斷周期中斷周期是是中斷返回中斷返回保護(hù)現(xiàn)場(chǎng)保護(hù)現(xiàn)場(chǎng)設(shè)備服務(wù)設(shè)備服務(wù)恢復(fù)現(xiàn)場(chǎng)恢復(fù)現(xiàn)場(chǎng)開(kāi)中斷開(kāi)中斷開(kāi)中斷開(kāi)中斷開(kāi)中斷開(kāi)中斷中斷隱指令中斷隱指令中斷隱指令中斷隱指令否否取指令取指令執(zhí)行指令執(zhí)行指令中斷否?中斷否?否否 中斷響應(yīng)中斷響應(yīng) 程序斷點(diǎn)進(jìn)棧程序斷點(diǎn)進(jìn)棧 關(guān)中斷關(guān)中斷向量地址向量地址 PC中斷周期中斷周期是是中斷服務(wù)程序中斷服務(wù)程序單重單重 多重多重 大連理工大學(xué)軟件學(xué)院 賴曉晨返回大連理工大學(xué)軟件學(xué)院 賴曉晨5.6 DMA方式方式一、一、DMA方式的特點(diǎn)方式的特點(diǎn)1、DM

30、A和程序中斷兩種方式的數(shù)據(jù)通路比較CPU主主存存ACC 中斷接口中斷接口DMA 接口接口I/O 設(shè)設(shè) 備備中斷方式數(shù)據(jù)傳送通路中斷方式數(shù)據(jù)傳送通路輸入輸入輸出輸出DMA方式數(shù)據(jù)傳送通路方式數(shù)據(jù)傳送通路大連理工大學(xué)軟件學(xué)院 賴曉晨2、DMA 與主存交換數(shù)據(jù)的三種方式與主存交換數(shù)據(jù)的三種方式(1)停止)停止CPU訪問(wèn)主存訪問(wèn)主存控制簡(jiǎn)單CPU處于不工作狀態(tài)或保持狀態(tài)主存工作時(shí)間主存工作時(shí)間CPU不執(zhí)行程序不執(zhí)行程序DMA不工作不工作DMA不工作不工作DMA工作工作 CPU控制控制并使用主存并使用主存 DMA控制控制并使用主存并使用主存t大連理工大學(xué)軟件學(xué)院 賴曉晨2、DMA 與主存交換數(shù)據(jù)的三種方

31、式與主存交換數(shù)據(jù)的三種方式(1)停止)停止CPU訪問(wèn)主存訪問(wèn)主存控制簡(jiǎn)單CPU處于不工作狀態(tài)或保持狀態(tài)主存工作時(shí)間主存工作時(shí)間CPU不執(zhí)行程序不執(zhí)行程序DMA不工作不工作DMA不工作不工作DMA工作工作 CPU控制控制并使用主存并使用主存 DMA控制控制并使用主存并使用主存t未充分發(fā)揮未充分發(fā)揮CPU對(duì)主存的利用率對(duì)主存的利用率在在DMA接口中增加高速緩存接口中增加高速緩存CPUDMA控制器控制器設(shè)備設(shè)備高速高速緩存緩存內(nèi)存內(nèi)存大連理工大學(xué)軟件學(xué)院 賴曉晨(2)周期挪用(或周期竊?。┲芷谂灿茫ɑ蛑芷诟`取)p DMA訪問(wèn)主存有三種可能訪問(wèn)主存有三種可能CPU此時(shí)不訪存:總線立刻交給DMACPU此

32、時(shí)正訪存:CPU訪存結(jié)束后總線立刻交DMACPU與DMA同時(shí)請(qǐng)求訪存:總線交DMA 主存工作時(shí)間主存工作時(shí)間 CPU控制控制并使用主存并使用主存 DMA控制控制并使用主存并使用主存t大連理工大學(xué)軟件學(xué)院 賴曉晨(3)DMA與與CPU交替訪問(wèn)交替訪問(wèn)p CPU工作周期分為兩部分:工作周期分為兩部分: C1:專供DMA訪存 C2:專供CPU訪存主存工作時(shí)間主存工作時(shí)間DMA控制控制并使用主存并使用主存CPU控制控制并使用主存并使用主存t不需要不需要 申請(qǐng)建立和歸還申請(qǐng)建立和歸還 總線的使用權(quán)總線的使用權(quán)大連理工大學(xué)軟件學(xué)院 賴曉晨二、二、DMA接口的功能和組成接口的功能和組成1、DMA接口功能接口

33、功能 向CPU申請(qǐng)DMA傳送 處理總線控制權(quán)的轉(zhuǎn)交 管理系統(tǒng)總線、控制數(shù)據(jù)傳送 確定數(shù)據(jù)傳送的首址和長(zhǎng)度 修正傳送過(guò)程中的數(shù)據(jù)地址和長(zhǎng)度 DMA傳送結(jié)束時(shí),給出操作完成信號(hào)大連理工大學(xué)軟件學(xué)院 賴曉晨2、DMA接口組成接口組成DMA接口接口主主存存CPUDMA 控控 制制 邏邏 輯輯 中中 斷斷 機(jī)機(jī) 構(gòu)構(gòu)設(shè)備設(shè)備HLDAARWCDARHRQ中斷請(qǐng)求中斷請(qǐng)求數(shù)據(jù)線數(shù)據(jù)線地址線地址線+1+1溢出信號(hào)溢出信號(hào)DREQDACKBR大連理工大學(xué)軟件學(xué)院 賴曉晨三、三、DMA的工作過(guò)程的工作過(guò)程1、DMA傳送過(guò)程傳送過(guò)程 預(yù)處理、數(shù)據(jù)傳送、后處理(1)預(yù)處理)預(yù)處理 通過(guò)幾條輸入輸出指令預(yù)置如下信息 通

34、知DMA控制邏輯傳送方向(入/出) 設(shè)備地址-DMA的DAR 主存地址-DMA的AR傳送字?jǐn)?shù)-DMA的WC大連理工大學(xué)軟件學(xué)院 賴曉晨(2)DMA傳送過(guò)程示意傳送過(guò)程示意預(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ù)傳送后處理后處理:中斷服務(wù)程序中斷服務(wù)程序做做 DMA 結(jié)束處理結(jié)束處理繼續(xù)執(zhí)行主程序繼續(xù)執(zhí)行主程序CPU允許傳送?允許傳送?主存地址送總線主存地址送總線數(shù)據(jù)送數(shù)據(jù)送I/O設(shè)備(或主存設(shè)備(或主存 )修改修改 主存地址主存地址修改修改

35、 字計(jì)數(shù)器字計(jì)數(shù)器 數(shù)據(jù)塊數(shù)據(jù)塊傳送結(jié)束?傳送結(jié)束?向向CPU申請(qǐng)申請(qǐng) 程序中斷程序中斷DMA請(qǐng)求請(qǐng)求否否否否是是是是數(shù)據(jù)傳送數(shù)據(jù)傳送大連理工大學(xué)軟件學(xué)院 賴曉晨(3)數(shù)據(jù)傳送過(guò)程(輸入)數(shù)據(jù)傳送過(guò)程(輸入)BR設(shè)備設(shè)備DMA 控控 制制 邏邏 輯輯 中中 斷斷 機(jī)機(jī) 構(gòu)構(gòu)ARWCDARDMA接口接口主主存存CPU+1+1DREQHRQHLDA地址線地址線DACK數(shù)據(jù)線數(shù)據(jù)線溢出信號(hào)溢出信號(hào)中斷請(qǐng)求中斷請(qǐng)求ARWC+1+1BRBRBRBRBR大連理工大學(xué)軟件學(xué)院 賴曉晨(4)數(shù)據(jù)傳送過(guò)程(輸出)數(shù)據(jù)傳送過(guò)程(輸出)BR設(shè)備設(shè)備DMA 控控 制制 邏邏 輯輯 中中 斷斷 機(jī)機(jī) 構(gòu)構(gòu)ARWCDARDMA接口接口主主存存CPU+1+1BRDREQHRQHLDA地址線地址線DACK數(shù)據(jù)線數(shù)據(jù)線溢出信號(hào)溢出信號(hào)中斷請(qǐng)求中斷請(qǐng)求ARWC+1+1BRBRBRBR大連理工大學(xué)軟件學(xué)院 賴曉晨(5)后處理

溫馨提示

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