計算機組成原理第七章 輸入輸出系統(tǒng)[一]_第1頁
計算機組成原理第七章 輸入輸出系統(tǒng)[一]_第2頁
計算機組成原理第七章 輸入輸出系統(tǒng)[一]_第3頁
計算機組成原理第七章 輸入輸出系統(tǒng)[一]_第4頁
計算機組成原理第七章 輸入輸出系統(tǒng)[一]_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第七章第七章 輸入輸入 輸出系統(tǒng)輸出系統(tǒng) 7.1 7.1 輸入輸出系統(tǒng)概述輸入輸出系統(tǒng)概述 7.3 7.3 程序中斷方式程序中斷方式 7.4 DMA 7.4 DMA方式方式 7.2 7.2 程序查詢方式程序查詢方式輸入輸出輸入輸出(I/O)(I/O)系統(tǒng)是計算機系統(tǒng)中控制與實現(xiàn)主機與外系統(tǒng)是計算機系統(tǒng)中控制與實現(xiàn)主機與外界交換數(shù)據(jù)的軟、硬件系統(tǒng)界交換數(shù)據(jù)的軟、硬件系統(tǒng). . 它包括輸入輸出設(shè)備、輸入它包括輸入輸出設(shè)備、輸入輸出接口輸出接口( (接口控制器接口控制器) )及相關(guān)控制軟件及相關(guān)控制軟件, ,其中其中I/OI/O接口是用接口是用來連接主機與來連接主機與I/OI/O設(shè)備的設(shè)備的, ,三

2、者的關(guān)系如下三者的關(guān)系如下: :圖圖7.1 7.1 接口與主機、外設(shè)間連接示意圖接口與主機、外設(shè)間連接示意圖7.1 I/O7.1 I/O系統(tǒng)概述系統(tǒng)概述7.1.1 I/O7.1.1 I/O系統(tǒng)組成系統(tǒng)組成 CPUCPU數(shù)據(jù)線數(shù)據(jù)線地址線地址線命令線命令線I/OI/O接口接口數(shù)據(jù)端口數(shù)據(jù)端口狀態(tài)端口狀態(tài)端口控制端口控制端口數(shù)據(jù)線數(shù)據(jù)線狀態(tài)信息狀態(tài)信息命令命令I(lǐng)/OI/O設(shè)備設(shè)備 設(shè)備識別設(shè)備識別控制邏輯電路控制邏輯電路狀態(tài)線狀態(tài)線 I/OI/O接口與端口的定義接口與端口的定義 接口接口(Interface):(Interface):主機和外設(shè)之間實現(xiàn)信息交換的控主機和外設(shè)之間實現(xiàn)信息交換的控制電

3、路制電路. .端口端口(Port):(Port):接口電路中可以被接口電路中可以被CPUCPU直接訪問的寄存直接訪問的寄存器器; ;若干個端口加上相應(yīng)的控制邏輯電路才組成接口若干個端口加上相應(yīng)的控制邏輯電路才組成接口. . CPUCPU數(shù)據(jù)線數(shù)據(jù)線地址線地址線命令線命令線I/OI/O接口接口數(shù)據(jù)端口數(shù)據(jù)端口狀態(tài)端口狀態(tài)端口控制端口控制端口數(shù)據(jù)線數(shù)據(jù)線狀態(tài)信息狀態(tài)信息命令命令I(lǐng)/OI/O設(shè)備設(shè)備 設(shè)備識別設(shè)備識別控制邏輯電路控制邏輯電路圖圖7.1 7.1 接口與主機、外設(shè)間連接示意圖接口與主機、外設(shè)間連接示意圖狀態(tài)線狀態(tài)線圖圖7.1 7.1 接口與主機、外設(shè)間連接示意圖接口與主機、外設(shè)間連接示意

4、圖端口主要分為三類端口主要分為三類: : 狀態(tài)端口狀態(tài)端口: :存放狀態(tài)信息的寄存器存放狀態(tài)信息的寄存器,CPU,CPU對其內(nèi)容只能讀對其內(nèi)容只能讀, ,如如80X8680X86中用輸入指令中用輸入指令(IN AL,(IN AL,狀態(tài)口地址狀態(tài)口地址) )將外設(shè)狀態(tài)標(biāo)志送到將外設(shè)狀態(tài)標(biāo)志送到CPUCPU; 控制端口控制端口: :存放控制命令的寄存器存放控制命令的寄存器,CPU,CPU只能對其寫只能對其寫, ,如如80X8680X86中中用輸出指令用輸出指令(OUT (OUT 狀態(tài)口地址狀態(tài)口地址,AL),AL)將將CPUCPU的各種控制命令發(fā)送外設(shè);的各種控制命令發(fā)送外設(shè); 數(shù)據(jù)端口數(shù)據(jù)端口:

5、存放數(shù)據(jù)信息的寄存器存放數(shù)據(jù)信息的寄存器. CPUCPU數(shù)據(jù)線數(shù)據(jù)線地址線地址線命令線命令線I/OI/O接口接口數(shù)據(jù)端口數(shù)據(jù)端口狀態(tài)端口狀態(tài)端口控制端口控制端口數(shù)據(jù)線數(shù)據(jù)線狀態(tài)信息狀態(tài)信息命令命令I(lǐng)/OI/O設(shè)備設(shè)備 設(shè)備識別設(shè)備識別控制邏輯電路控制邏輯電路狀態(tài)線狀態(tài)線圖圖7.1 7.1 接口與主機、外設(shè)間連接示意圖接口與主機、外設(shè)間連接示意圖 數(shù)據(jù)線數(shù)據(jù)線:I/O:I/O設(shè)備與主機之間數(shù)據(jù)的傳輸線設(shè)備與主機之間數(shù)據(jù)的傳輸線; ; 地址線地址線: :用來傳送設(shè)備號用來傳送設(shè)備號, ,多臺多臺I/OI/O設(shè)備各自有其設(shè)設(shè)備各自有其設(shè)備號備號( (地址地址); ); CPUCPU數(shù)據(jù)線數(shù)據(jù)線地址線

6、地址線命令線命令線I/OI/O接口接口數(shù)據(jù)端口數(shù)據(jù)端口狀態(tài)端口狀態(tài)端口控制端口控制端口數(shù)據(jù)線數(shù)據(jù)線狀態(tài)信息狀態(tài)信息命令命令I(lǐng)/OI/O設(shè)備設(shè)備 設(shè)備識別設(shè)備識別控制邏輯電路控制邏輯電路狀態(tài)線狀態(tài)線圖圖7.1 7.1 接口與主機、外設(shè)間連接示意圖接口與主機、外設(shè)間連接示意圖 命令線命令線: : 傳輸傳輸CPUCPU向設(shè)備發(fā)出的各種命令信號向設(shè)備發(fā)出的各種命令信號( (如如啟動、清除、讀、寫等啟動、清除、讀、寫等) ); 狀態(tài)線狀態(tài)線: :將將I/OI/O設(shè)備的狀態(tài)向主機報告的信號線設(shè)備的狀態(tài)向主機報告的信號線( (如如設(shè)備是否準(zhǔn)備就緒設(shè)備是否準(zhǔn)備就緒, ,是否向是否向CPUCPU發(fā)出中斷請求等發(fā)

7、出中斷請求等) .) . CPUCPU數(shù)據(jù)線數(shù)據(jù)線地址線地址線命令線命令線I/OI/O接口接口數(shù)據(jù)端口數(shù)據(jù)端口狀態(tài)端口狀態(tài)端口控制端口控制端口數(shù)據(jù)線數(shù)據(jù)線狀態(tài)信息狀態(tài)信息命令命令I(lǐng)/OI/O設(shè)備設(shè)備 設(shè)備識別設(shè)備識別控制邏輯電路控制邏輯電路狀態(tài)線狀態(tài)線圖圖7.1 7.1 接口與主機、外設(shè)間連接示意圖接口與主機、外設(shè)間連接示意圖 7.1.2 I/O7.1.2 I/O接口的基本功能接口的基本功能I/OI/O接口處于系統(tǒng)總線與外設(shè)之間接口處于系統(tǒng)總線與外設(shè)之間, ,主要功能包括:主要功能包括:1 1、數(shù)據(jù)的格式轉(zhuǎn)換、數(shù)據(jù)的格式轉(zhuǎn)換接口電路中必須具有實現(xiàn)各類數(shù)據(jù)相互轉(zhuǎn)換的功能接口電路中必須具有實現(xiàn)各類

8、數(shù)據(jù)相互轉(zhuǎn)換的功能. .例如例如, ,并并- -串轉(zhuǎn)換、串串轉(zhuǎn)換、串- -并轉(zhuǎn)換、模并轉(zhuǎn)換、模- -數(shù)轉(zhuǎn)換數(shù)轉(zhuǎn)換 、數(shù)、數(shù)- -模轉(zhuǎn)換及二進(jìn)模轉(zhuǎn)換及二進(jìn)制數(shù)和制數(shù)和ASCIIASCII碼的相互轉(zhuǎn)換等碼的相互轉(zhuǎn)換等. . CPUCPU數(shù)據(jù)線數(shù)據(jù)線地址線地址線命令線命令線I/OI/O接口接口數(shù)據(jù)端口數(shù)據(jù)端口狀態(tài)端口狀態(tài)端口控制端口控制端口數(shù)據(jù)線數(shù)據(jù)線狀態(tài)信息狀態(tài)信息命令命令I(lǐng)/OI/O設(shè)備設(shè)備 設(shè)備識別設(shè)備識別控制邏輯電路控制邏輯電路狀態(tài)線狀態(tài)線2.2.尋址尋址 CPUCPU欲訪問的設(shè)備號通過地址線送至所有設(shè)備的接欲訪問的設(shè)備號通過地址線送至所有設(shè)備的接口口, ,每個接口均具有選址功能每個接口均具

9、有選址功能, ,只有當(dāng)?shù)刂肪€上的設(shè)備只有當(dāng)?shù)刂肪€上的設(shè)備號與本接口的設(shè)備號一致時號與本接口的設(shè)備號一致時, ,相應(yīng)的設(shè)備才能通過命相應(yīng)的設(shè)備才能通過命令線、狀態(tài)線和令線、狀態(tài)線和 數(shù)據(jù)線與主機交換信息數(shù)據(jù)線與主機交換信息. . CPUCPU數(shù)據(jù)線數(shù)據(jù)線地址線地址線命令線命令線I/OI/O接口接口數(shù)據(jù)端口數(shù)據(jù)端口狀態(tài)端口狀態(tài)端口控制端口控制端口數(shù)據(jù)線數(shù)據(jù)線狀態(tài)信息狀態(tài)信息命令命令I(lǐng)/OI/O設(shè)備設(shè)備 設(shè)備識別設(shè)備識別控制邏輯電路控制邏輯電路狀態(tài)線狀態(tài)線圖圖7.1 7.1 接口與主機、外設(shè)間連接示意圖接口與主機、外設(shè)間連接示意圖3.3.傳送主機指令傳送主機指令 只有被選中設(shè)備接口中的只有被選中設(shè)備

10、接口中的“控制端口控制端口”才能接才能接受和識別主機傳送來的命令受和識別主機傳送來的命令,并將命令傳送到并將命令傳送到設(shè)備設(shè)備. CPUCPU數(shù)據(jù)線數(shù)據(jù)線地址線地址線命令線命令線I/OI/O接口接口數(shù)據(jù)端口數(shù)據(jù)端口狀態(tài)端口狀態(tài)端口控制端口控制端口數(shù)據(jù)線數(shù)據(jù)線狀態(tài)信息狀態(tài)信息命令命令I(lǐng)/OI/O設(shè)備設(shè)備 設(shè)備識別設(shè)備識別控制邏輯電路控制邏輯電路狀態(tài)線狀態(tài)線圖圖7.1 7.1 接口與主機、外設(shè)間連接示意圖接口與主機、外設(shè)間連接示意圖4.4.傳送傳送數(shù)據(jù)及緩沖數(shù)據(jù)及緩沖 (1) (1) 接口中必須有數(shù)據(jù)通路接口中必須有數(shù)據(jù)通路, ,完成數(shù)據(jù)傳送完成數(shù)據(jù)傳送; ; (2) (2) 接口應(yīng)具有對數(shù)據(jù)信息

11、傳送速度的緩沖作接口應(yīng)具有對數(shù)據(jù)信息傳送速度的緩沖作用用, ,即能將數(shù)據(jù)暫存在即能將數(shù)據(jù)暫存在“數(shù)據(jù)端口數(shù)據(jù)端口”中中, ,以實現(xiàn)以實現(xiàn)速度上的匹配速度上的匹配. . CPUCPU數(shù)據(jù)線數(shù)據(jù)線地址線地址線命令線命令線I/OI/O接口接口數(shù)據(jù)端口數(shù)據(jù)端口狀態(tài)端口狀態(tài)端口控制端口控制端口數(shù)據(jù)線數(shù)據(jù)線狀態(tài)信息狀態(tài)信息命令命令I(lǐng)/OI/O設(shè)備設(shè)備 設(shè)備識別設(shè)備識別控制邏輯電路控制邏輯電路狀態(tài)線狀態(tài)線圖圖7.1 7.1 接口與主機、外設(shè)間連接示意圖接口與主機、外設(shè)間連接示意圖 5. 5. 反映設(shè)備工作狀態(tài)反映設(shè)備工作狀態(tài) 接口設(shè)置一些反映設(shè)備工作狀態(tài)的觸發(fā)器接口設(shè)置一些反映設(shè)備工作狀態(tài)的觸發(fā)器, ,以以

12、便能隨時采集并保存設(shè)備的工作狀態(tài)便能隨時采集并保存設(shè)備的工作狀態(tài)( (如如“忙忙”、“就緒就緒”、”、“錯誤錯誤”、“中斷中斷請求請求”等等), ),以備主機查詢以備主機查詢. . CPUCPU數(shù)據(jù)線數(shù)據(jù)線地址線地址線命令線命令線I/OI/O接口接口數(shù)據(jù)端口數(shù)據(jù)端口狀態(tài)端口狀態(tài)端口控制端口控制端口數(shù)據(jù)線數(shù)據(jù)線狀態(tài)信息狀態(tài)信息命令命令I(lǐng)/OI/O設(shè)備設(shè)備 設(shè)備識別設(shè)備識別控制邏輯電路控制邏輯電路狀態(tài)線狀態(tài)線圖圖7.1 7.1 接口與主機、外設(shè)間連接示意圖接口與主機、外設(shè)間連接示意圖 7.1.3 I/O7.1.3 I/O端口的編址方式端口的編址方式 1 1、存儲器統(tǒng)一編址方式、存儲器統(tǒng)一編址方式(

13、 (存儲器映射方式存儲器映射方式Memory-Memory-mapping Address Codingmapping Address Coding) ) 將將I/OI/O端口看成是存儲空間的一個組成部分端口看成是存儲空間的一個組成部分, ,按照存按照存儲單元的編址方法統(tǒng)一編排地址號儲單元的編址方法統(tǒng)一編排地址號, ,每個每個I/OI/O端口占用一端口占用一個地址。劃給外設(shè)的這部分區(qū)域不能配置存儲器芯片。個地址。劃給外設(shè)的這部分區(qū)域不能配置存儲器芯片。 優(yōu)點優(yōu)點: :訪存指令都能訪問訪存指令都能訪問I/OI/O端口,故不設(shè)置專門的端口,故不設(shè)置專門的輸入輸出指令;由于訪問存儲單元的指令有較多的

14、尋址輸入輸出指令;由于訪問存儲單元的指令有較多的尋址方式,所以方式,所以I/OI/O程序編制靈活。程序編制靈活。 缺點缺點: :需占用小部分存儲器空間;機器語言或匯編需占用小部分存儲器空間;機器語言或匯編源程序中的源程序中的I/OI/O部分難以閱讀及修改。部分難以閱讀及修改。存儲器統(tǒng)一編址方式示意圖見下圖:存儲器統(tǒng)一編址方式示意圖見下圖:I/OI/O端口端口存儲器存儲器圖圖7.2 7.2 存儲器映射的存儲器映射的I/OI/O設(shè)備編址方式設(shè)備編址方式2 2、I/OI/O端口單獨編址方式端口單獨編址方式(Isolated I/O Address Coding)(Isolated I/O Addre

15、ss Coding) 存儲單元與存儲單元與I/OI/O接口寄存器的地址分別編址,各自有自接口寄存器的地址分別編址,各自有自己的譯碼部件,設(shè)計專門的己的譯碼部件,設(shè)計專門的I/OI/O指令去訪問端口。指令去訪問端口。 優(yōu)點:不占用存儲空間;優(yōu)點:不占用存儲空間;I/OI/O指令與存儲器指令有明顯指令與存儲器指令有明顯區(qū)別,程序結(jié)構(gòu)清晰,便于理解。區(qū)別,程序結(jié)構(gòu)清晰,便于理解。 缺點:缺點:需專門的需專門的I/OI/O指令指令,其尋址方式較簡單,指令功,其尋址方式較簡單,指令功能較弱,編程靈活性稍差;能較弱,編程靈活性稍差;CPUCPU需要提供存儲器讀需要提供存儲器讀/ /寫、寫、I/OI/O設(shè)備

16、讀設(shè)備讀/ /寫兩套控制信號寫兩套控制信號,增加了控制的復(fù)雜性。,增加了控制的復(fù)雜性。 例:例:I/OI/O的編址方式采用統(tǒng)一編址時的編址方式采用統(tǒng)一編址時, ,存儲單元存儲單元和和I/OI/O設(shè)備是靠設(shè)備是靠( )( )加以區(qū)分加以區(qū)分. . A. A. 不同的地址線不同的地址線 B.B.不同的地址碼不同的地址碼 C. C. 不同的控制線不同的控制線 例:例: I/OI/O采用統(tǒng)一編址時采用統(tǒng)一編址時, ,進(jìn)行輸入輸出操作的進(jìn)行輸入輸出操作的指令是指令是( ).( ). A. A. 控制指令控制指令 B.B.訪存指令訪存指令 C. C. 輸入輸出指令輸入輸出指令 例:例: I/OI/O采用不

17、統(tǒng)一編址時采用不統(tǒng)一編址時, , 進(jìn)行輸入輸出操作進(jìn)行輸入輸出操作的指令是的指令是( ).( ). A. A. 控制指令控制指令 B.B.訪存指令訪存指令 C. C. 輸入輸出指令輸入輸出指令 7.1.4 CPU7.1.4 CPU與外設(shè)之間數(shù)據(jù)傳送控制方式與外設(shè)之間數(shù)據(jù)傳送控制方式 I/OI/O系統(tǒng)主要是解決主機與外設(shè)間的數(shù)據(jù)交系統(tǒng)主要是解決主機與外設(shè)間的數(shù)據(jù)交換問題換問題, ,使外設(shè)與主機能協(xié)調(diào)一致地工作使外設(shè)與主機能協(xié)調(diào)一致地工作. .為減為減少處理機對外設(shè)的控制干預(yù)少處理機對外設(shè)的控制干預(yù), ,在計算機發(fā)展過程在計算機發(fā)展過程中人們先后采用了以下方法:中人們先后采用了以下方法: 1 1、

18、由程序控制的數(shù)據(jù)傳送、由程序控制的數(shù)據(jù)傳送 程序查詢方式程序查詢方式 程序中斷方式程序中斷方式 2 2、由專有硬件控制的數(shù)據(jù)傳送由專有硬件控制的數(shù)據(jù)傳送 DMADMA方式方式 通道方式通道方式 外圍處理機方式外圍處理機方式 第七章第七章 輸入輸入 輸出系統(tǒng)輸出系統(tǒng) 7.1 7.1 輸入輸出系統(tǒng)概述輸入輸出系統(tǒng)概述 7.3 7.3 程序中斷方式程序中斷方式 7.4 DMA 7.4 DMA方式方式 7.2 7.2 程序查詢方式程序查詢方式.1程序查詢方式程序查詢方式( (程序直接控制方式程序直接控制方式(Program Direct Control(Program Direct C

19、ontrol,PDC)PDC) )流程流程 由由CPUCPU執(zhí)行一段輸入輸出程序來控制實執(zhí)行一段輸入輸出程序來控制實現(xiàn)主機與外設(shè)之間的數(shù)據(jù)傳送現(xiàn)主機與外設(shè)之間的數(shù)據(jù)傳送. .一旦某外設(shè)被一旦某外設(shè)被選中并啟動之后選中并啟動之后, ,主機將查詢這個外設(shè)的某些主機將查詢這個外設(shè)的某些狀態(tài)位狀態(tài)位, ,看其是否準(zhǔn)備就緒看其是否準(zhǔn)備就緒? ?若外設(shè)未準(zhǔn)備就若外設(shè)未準(zhǔn)備就緒緒, ,主機將再次查詢主機將再次查詢; ;若準(zhǔn)備就緒若準(zhǔn)備就緒, ,則執(zhí)行一次則執(zhí)行一次I/OI/O操作操作. . 單個設(shè)備的查詢流程見下圖單個設(shè)備的查詢流程見下圖. . 主程序主程序需要需要I/OI/O時時檢查狀態(tài)標(biāo)記檢查狀態(tài)標(biāo)記就

20、緒否就緒否交換數(shù)據(jù)交換數(shù)據(jù)否否是是繼續(xù)運行繼續(xù)運行圖圖7.3 7.3 單個單個I/OI/O設(shè)備的查詢流程設(shè)備的查詢流程為正確完成這種查詢?yōu)檎_完成這種查詢, ,通常執(zhí)行通常執(zhí)行如下如下3 3條指令條指令: : (1) (1)測試指令測試指令: :用來查詢用來查詢I/OI/O設(shè)設(shè)備是否準(zhǔn)備就緒備是否準(zhǔn)備就緒; ; (2) (2)傳送指令傳送指令: :當(dāng)當(dāng)I/OI/O設(shè)備已經(jīng)設(shè)備已經(jīng)準(zhǔn)備就緒時準(zhǔn)備就緒時, ,執(zhí)行傳送指令執(zhí)行傳送指令; ; (3) (3)轉(zhuǎn)移指令轉(zhuǎn)移指令: :當(dāng)當(dāng)I/OI/O設(shè)備未準(zhǔn)設(shè)備未準(zhǔn)備就緒時備就緒時, ,執(zhí)行轉(zhuǎn)移指令執(zhí)行轉(zhuǎn)移指令, ,繼續(xù)測繼續(xù)測試試I/OI/O設(shè)備的狀態(tài)設(shè)

21、備的狀態(tài). . (4) (4) 數(shù)據(jù)輸入輸出要經(jīng)過數(shù)據(jù)輸入輸出要經(jīng)過CPUCPU控制控制,CPU,CPU與設(shè)備、與設(shè)備、設(shè)備與設(shè)備均不能實現(xiàn)并行工作設(shè)備與設(shè)備均不能實現(xiàn)并行工作; ; (5) (5) 用于連接低速外設(shè)用于連接低速外設(shè). .主程序主程序需要需要I/OI/O時時檢查狀態(tài)標(biāo)記檢查狀態(tài)標(biāo)記就緒否就緒否交換數(shù)據(jù)交換數(shù)據(jù)否否是是繼續(xù)運行繼續(xù)運行體會體會“程序程序直接直接控制控制”和和“程序程序查詢查詢方式方式”的名稱的名稱由來。由來。特點:特點: (1) (1)簡單;簡單;(2) I/O(2) I/O時間預(yù)知性;時間預(yù)知性;(3)(3)不能發(fā)現(xiàn)和處理預(yù)先無法不能發(fā)現(xiàn)和處理預(yù)先無法估計的錯誤

22、和異常情況;估計的錯誤和異常情況;圖圖7.3 7.3 單個單個I/OI/O設(shè)備的查詢流程設(shè)備的查詢流程7.2.2 7.2.2 程序查詢方式的接口電路程序查詢方式的接口電路數(shù)據(jù)端口數(shù)據(jù)端口設(shè)備選擇電路設(shè)備選擇電路地址線地址線&D DQQQQB B啟動命令啟動命令準(zhǔn)備就緒準(zhǔn)備就緒數(shù)據(jù)線數(shù)據(jù)線輸入數(shù)據(jù)輸入數(shù)據(jù)啟動設(shè)備啟動設(shè)備設(shè)備工作設(shè)備工作結(jié)束結(jié)束圖圖7.4 7.4 程序查詢方式接口程序查詢方式接口電路電路( (輸入輸入) )的基本組成的基本組成SELSEL 當(dāng)?shù)刂肪€上的設(shè)備號與本設(shè)備號相符時當(dāng)?shù)刂肪€上的設(shè)備號與本設(shè)備號相符時,SEL,SEL有有效效, ,可以接收命令可以接收命令; ;數(shù)據(jù)端

23、口用于存放數(shù)據(jù)端口用于存放 欲傳送的欲傳送的數(shù)據(jù)數(shù)據(jù);D;D是完成觸發(fā)器是完成觸發(fā)器,B,B是是 工作觸發(fā)器工作觸發(fā)器. . 以輸入設(shè)備以輸入設(shè)備 為例為例, ,接口工作如下接口工作如下: : CPUCPU通過通過I/OI/O指令啟動輸入設(shè)備時指令啟動輸入設(shè)備時, ,指令的設(shè)指令的設(shè)備碼字段通過地址線備碼字段通過地址線 送至送至 設(shè)備設(shè)備 選擇電路選擇電路; ; 若該接口地址碼與地址線上的地址碼吻合若該接口地址碼與地址線上的地址碼吻合,其輸出其輸出SELSEL有效有效; ; I/OI/O指令的啟動命令經(jīng)過指令的啟動命令經(jīng)過“與非與非”門將門將B B置置“1 1”, ,將將D D置置“0 0”;

24、 由由B B觸發(fā)器啟動設(shè)備觸發(fā)器啟動設(shè)備 工作工作; ; 輸入設(shè)備將數(shù)據(jù)送至輸入設(shè)備將數(shù)據(jù)送至 數(shù)據(jù)端口數(shù)據(jù)端口; 由設(shè)備發(fā)設(shè)備工作結(jié)束信號由設(shè)備發(fā)設(shè)備工作結(jié)束信號, ,置置D D為為“1 1”;B;B為為“0 0”, ,表示外設(shè)準(zhǔn)備就緒表示外設(shè)準(zhǔn)備就緒; ; D D觸發(fā)器以觸發(fā)器以“準(zhǔn)備就緒準(zhǔn)備就緒”狀態(tài)通知狀態(tài)通知CPU,CPU,表表示示“數(shù)據(jù)緩沖滿數(shù)據(jù)緩沖滿”; CPUCPU執(zhí)行輸入指令執(zhí)行輸入指令, ,將數(shù)據(jù)端口中的數(shù)據(jù)送將數(shù)據(jù)端口中的數(shù)據(jù)送至至CPUCPU的通用寄存器,再存入主存單元的通用寄存器,再存入主存單元. .例例: :在程序查詢的在程序查詢的I/OI/O系統(tǒng)中系統(tǒng)中, ,有三

25、個不同的外設(shè)有三個不同的外設(shè). .假定一個查詢操作需要假定一個查詢操作需要5050個時鐘周期個時鐘周期,CPU,CPU的的時鐘頻率為時鐘頻率為10MHz.10MHz.求求CPUCPU在以下三種情況下在以下三種情況下為為I/OI/O查詢所花費的時間比率查詢所花費的時間比率( (百分比百分比), ),假定必假定必須進(jìn)行足夠的查詢以免丟失數(shù)據(jù)并假定不考須進(jìn)行足夠的查詢以免丟失數(shù)據(jù)并假定不考慮各設(shè)備的相互等待即分別計算慮各設(shè)備的相互等待即分別計算. .(1)(1)對對終端終端每秒進(jìn)行每秒進(jìn)行3030次查詢次查詢. .解解: : 每秒花在終端查詢上的時鐘周期數(shù)為每秒花在終端查詢上的時鐘周期數(shù)為 30 3

26、0 50=150050=1500; 根據(jù)根據(jù)CPUCPU的時鐘頻率為的時鐘頻率為10MHz,10MHz,即每秒即每秒101010106 6個時鐘周期個時鐘周期, ,占用占用CPUCPU時間比率為時間比率為 1500/10M=0.015%1500/10M=0.015% 結(jié)論結(jié)論 終端查詢基本不影響終端查詢基本不影響CPUCPU性能性能. .(2)CPU(2)CPU向向打印機打印機的數(shù)據(jù)傳輸按字節(jié)進(jìn)行的數(shù)據(jù)傳輸按字節(jié)進(jìn)行, ,即每即每1 1個字節(jié)被個字節(jié)被CPUCPU查詢一次查詢一次, ,數(shù)據(jù)傳輸數(shù)據(jù)傳輸率為率為10KB/s.10KB/s.解:解: 每秒查詢次數(shù)為每秒查詢次數(shù)為10KB/1B=10

27、K10KB/1B=10K次;次; 查詢所需時鐘數(shù)為查詢所需時鐘數(shù)為 10K 10K 50=500K 50=500K 占用占用CPUCPU的時間比率為的時間比率為 500K/10M=500 500K/10M=500 1000/10 1000/107 7=5%=5% 結(jié)論結(jié)論 打印機的打印機的查詢開銷查詢開銷大于終端大于終端, ,尚可承受尚可承受. .(3)(3)硬盤硬盤傳輸數(shù)據(jù)以字節(jié)為單位傳輸數(shù)據(jù)以字節(jié)為單位, ,即每即每1 1個字個字節(jié)被節(jié)被CPUCPU查詢一次傳輸率為查詢一次傳輸率為200KB/s.200KB/s.解解: : 每秒查詢次數(shù)為每秒查詢次數(shù)為200K200K; 查詢所用時鐘周期數(shù)

28、為查詢所用時鐘周期數(shù)為 200K 200K 50=10000K 50=10000K次次 占用占用CPUCPU的時間比率為的時間比率為 10000 10000 1000/10 1000/107 7=100%=100% 結(jié)論結(jié)論 CPU CPU需要將全部時間用于對硬盤查詢才需要將全部時間用于對硬盤查詢才能滿足硬盤傳輸?shù)囊竽軡M足硬盤傳輸?shù)囊? ,即程序查詢方式即程序查詢方式只適合與低速外設(shè)只適合與低速外設(shè). .第七章第七章 輸入輸入 輸出系統(tǒng)輸出系統(tǒng) 7.1 7.1 輸入輸出系統(tǒng)概述輸入輸出系統(tǒng)概述 7.3 7.3 程序中斷方式程序中斷方式 7.4 DMA 7.4 DMA方式方式 7.2 7.2

29、 程序查詢方式程序查詢方式 7.3 7.3 程序中斷方式程序中斷方式 中斷:中斷:在接到隨機請求后在接到隨機請求后,CPU,CPU暫停暫停執(zhí)行原來的程序執(zhí)行原來的程序, ,轉(zhuǎn)去執(zhí)行更加緊迫事件轉(zhuǎn)去執(zhí)行更加緊迫事件的中斷服務(wù)程序的中斷服務(wù)程序, ,待處理完畢后待處理完畢后CPUCPU恢復(fù)恢復(fù)原程序的繼續(xù)執(zhí)行原程序的繼續(xù)執(zhí)行, ,這個過程稱為中斷這個過程稱為中斷. . 中斷系統(tǒng)中斷系統(tǒng): :在計算機內(nèi)部自動處理中在計算機內(nèi)部自動處理中斷的系統(tǒng)稱為中斷系統(tǒng)斷的系統(tǒng)稱為中斷系統(tǒng),含軟件和硬件兩含軟件和硬件兩部分部分. 中斷技術(shù)中斷技術(shù):實現(xiàn)此功能所需的軟硬件實現(xiàn)此功能所需的軟硬件技術(shù)技術(shù). 7.3.1

30、 7.3.1 中斷的基本概念中斷的基本概念一、程序中斷方式的基本思路一、程序中斷方式的基本思路 依賴中斷系統(tǒng)依賴中斷系統(tǒng) 計算機系統(tǒng)中引入中斷功能后計算機系統(tǒng)中引入中斷功能后, ,各部件并行工作各部件并行工作成為可能成為可能, ,其中包括其中包括CPUCPU與外設(shè)并行及外設(shè)與外設(shè)與外設(shè)并行及外設(shè)與外設(shè)并行并行. . CPU CPU變變主動查詢主動查詢?yōu)闉楸粍禹憫?yīng)被動響應(yīng) 在外設(shè)準(zhǔn)備的時間里在外設(shè)準(zhǔn)備的時間里,CPU,CPU執(zhí)行現(xiàn)行程序;執(zhí)行現(xiàn)行程序; 直到外設(shè)準(zhǔn)備好直到外設(shè)準(zhǔn)備好, ,發(fā)出中斷請求;發(fā)出中斷請求; CPUCPU響應(yīng)后響應(yīng)后中斷現(xiàn)行程序中斷現(xiàn)行程序轉(zhuǎn)而執(zhí)行與外設(shè)交換數(shù)轉(zhuǎn)而執(zhí)行與外

31、設(shè)交換數(shù)據(jù)的中斷服務(wù)程序;據(jù)的中斷服務(wù)程序; 之后再回到原來程序運行之后再回到原來程序運行. .中斷方式原理示意如圖中斷方式原理示意如圖7.47.4所示:所示:主程序主程序( (需要需要I/OI/O時時) )啟動外設(shè)啟動外設(shè)中斷服務(wù)程序中斷服務(wù)程序在其中完成在其中完成I/OI/OCPUCPU與外設(shè)并行與外設(shè)并行圖圖7.5 7.5 程序中斷方式示意圖程序中斷方式示意圖理解中斷時應(yīng)注意以下幾個問題理解中斷時應(yīng)注意以下幾個問題:(1):(1)中中斷過程實質(zhì)上是一種程序切換過程斷過程實質(zhì)上是一種程序切換過程, ,必必須處理好保存舊現(xiàn)場、建立新現(xiàn)場的須處理好保存舊現(xiàn)場、建立新現(xiàn)場的問題問題;(2);(2

32、)中斷具有隨機性中斷具有隨機性, ,故必須及時故必須及時檢測中斷請求信號檢測中斷請求信號, ,以便能夠及時處理以便能夠及時處理中斷中斷;(3);(3)中斷不具備重復(fù)性中斷不具備重復(fù)性;(4) ;(4) 程序中程序中斷與調(diào)用子程序的異同斷與調(diào)用子程序的異同. .例:設(shè)某外設(shè)向例:設(shè)某外設(shè)向CPUCPU傳送信息的最高頻率為傳送信息的最高頻率為40K40K次次/ /秒秒, ,而相應(yīng)中斷處理程序的執(zhí)行時間而相應(yīng)中斷處理程序的執(zhí)行時間為為4040S. S.問該外設(shè)可否采用中斷方式工作問該外設(shè)可否采用中斷方式工作? ?為為什么什么? ?解:解:該外設(shè)傳送一個數(shù)據(jù)的時間為該外設(shè)傳送一個數(shù)據(jù)的時間為1/40=

33、251/40=25S S,即,即請求中斷的周期為請求中斷的周期為2525S S,2525S40S40S, S,會丟會丟失數(shù)據(jù)失數(shù)據(jù), ,所以該設(shè)備不能采用中斷方式工作所以該設(shè)備不能采用中斷方式工作. .結(jié)論:程序中斷方式一般用于連接低速設(shè)備結(jié)論:程序中斷方式一般用于連接低速設(shè)備. . 7.3.1 7.3.1 中斷的基本概念中斷的基本概念二、中斷系統(tǒng)的作用二、中斷系統(tǒng)的作用1 1、使、使CPUCPU與與I/OI/O設(shè)備并行工作設(shè)備并行工作 下圖為由打印機引起的下圖為由打印機引起的I/OI/O中斷時中斷時,CPU,CPU與打印機并行與打印機并行工作的時間示意圖工作的時間示意圖. .CPUCPU執(zhí)行

34、主程序執(zhí)行主程序啟動啟動打印機打印機繼續(xù)執(zhí)行繼續(xù)執(zhí)行主程序主程序響應(yīng)中斷響應(yīng)中斷傳輸傳輸數(shù)據(jù)數(shù)據(jù)響應(yīng)返回響應(yīng)返回繼續(xù)執(zhí)行繼續(xù)執(zhí)行主程序主程序響應(yīng)中斷響應(yīng)中斷傳輸傳輸數(shù)據(jù)數(shù)據(jù)響應(yīng)返回響應(yīng)返回打印機打印機空閑空閑準(zhǔn)備準(zhǔn)備發(fā)中斷請求發(fā)中斷請求發(fā)中斷請求發(fā)中斷請求接收接收數(shù)據(jù)數(shù)據(jù)打印打印接收接收數(shù)據(jù)數(shù)據(jù)打印打印圖圖7.6CPU7.6CPU與打印機與打印機并行工作并行工作的時間示的時間示意圖意圖二、中斷系統(tǒng)的作用二、中斷系統(tǒng)的作用2 2、使計算機系統(tǒng)擁有應(yīng)急能力、使計算機系統(tǒng)擁有應(yīng)急能力 如計算機運行中出現(xiàn)突然掉電如計算機運行中出現(xiàn)突然掉電, ,需利用中斷技術(shù)立即需利用中斷技術(shù)立即啟動另一備份電源啟動另

35、一備份電源, ,并迅速進(jìn)行一些必要處理并迅速進(jìn)行一些必要處理. .3 3、便于進(jìn)行人、便于進(jìn)行人機聯(lián)系機聯(lián)系 如人們在機器運行過程中想隨機抽查計算的中間結(jié)果如人們在機器運行過程中想隨機抽查計算的中間結(jié)果. .4 4、使多道程序處理成為可能、使多道程序處理成為可能 如計算機實現(xiàn)多道程序運行時如計算機實現(xiàn)多道程序運行時, ,可通過分配給每道程可通過分配給每道程序一個固定時間片序一個固定時間片, ,利用時鐘定時發(fā)中斷進(jìn)行程序切換利用時鐘定時發(fā)中斷進(jìn)行程序切換. .5 5、實現(xiàn)實時控制、實現(xiàn)實時控制 要求要求CPUCPU即時響應(yīng)外來信號的請求即時響應(yīng)外來信號的請求, ,并能完成相應(yīng)操并能完成相應(yīng)操作作

36、. .三、基本概念三、基本概念1 1、中斷源、中斷源: :凡能向凡能向CPUCPU提出中斷請求的各種因素提出中斷請求的各種因素. . 如人為設(shè)置的中斷如人為設(shè)置的中斷( (自愿中斷自愿中斷), ),程序性事故程序性事故( (定點溢出、定點溢出、非法除法等非法除法等), ),硬件故障硬件故障( (電源掉電、磁表面損壞等電源掉電、磁表面損壞等) )、I/OI/O設(shè)備、外部事件設(shè)備、外部事件( (用戶通過鍵盤中斷現(xiàn)行程序用戶通過鍵盤中斷現(xiàn)行程序) )2 2、內(nèi)中斷與外中斷、內(nèi)中斷與外中斷 內(nèi)中斷:內(nèi)中斷:CPUCPU內(nèi)部硬件或軟件原因引起的中斷內(nèi)部硬件或軟件原因引起的中斷, ,分為強迫中斷和自愿中斷

37、分為強迫中斷和自愿中斷. .自愿中斷自愿中斷( (程序自中斷程序自中斷): ):計算機系統(tǒng)為方便用戶調(diào)計算機系統(tǒng)為方便用戶調(diào)試軟件試軟件, , 在程序中安排了相關(guān)指令在程序中安排了相關(guān)指令, ,這些指令可以使這些指令可以使機器進(jìn)入中斷處理的過程機器進(jìn)入中斷處理的過程, ,如如:80X86:80X86指令系統(tǒng)中的指令系統(tǒng)中的軟中斷指令軟中斷指令I(lǐng)NT n.INT n.非隨機的非隨機的. .強迫中斷強迫中斷: :隨機隨機產(chǎn)生的待處理緊急事件所引起的中產(chǎn)生的待處理緊急事件所引起的中斷斷. .分為硬件故障和軟件中斷分為硬件故障和軟件中斷( (如溢出等如溢出等). ).三、基本概念三、基本概念2 2、內(nèi)

38、中斷與外中斷、內(nèi)中斷與外中斷 外中斷:外中斷:CPUCPU以外的以外的部件引起的中斷部件引起的中斷, ,均為強均為強迫中斷迫中斷. . 分為不可屏蔽中斷和可屏蔽中斷分為不可屏蔽中斷和可屏蔽中斷. . 不可屏蔽中斷不可屏蔽中斷: :用于應(yīng)急處理用于應(yīng)急處理, ,如掉電、主存如掉電、主存讀寫校驗錯等讀寫校驗錯等, ,優(yōu)先級別高優(yōu)先級別高. . 可屏蔽中斷可屏蔽中斷: :用于一般用于一般I/OI/O設(shè)備的數(shù)據(jù)傳送設(shè)備的數(shù)據(jù)傳送, ,優(yōu)先級別較低優(yōu)先級別較低. . 例例: :下列選項中下列選項中, ,能引起外部中斷的事件是能引起外部中斷的事件是( ).( ). A. A.鍵盤輸入鍵盤輸入 B.B.除數(shù)

39、為除數(shù)為0 0 C. C.浮點數(shù)運算下溢浮點數(shù)運算下溢 D.D.訪存缺頁訪存缺頁3 3、向量中斷與非向量中斷、向量中斷與非向量中斷 中斷向量中斷向量(Interrupt Vector)(Interrupt Vector) 中斷過程是由一個程序切換到另一個程序的過中斷過程是由一個程序切換到另一個程序的過程程, ,切換的實質(zhì)是舊切換的實質(zhì)是舊PC(PC(內(nèi)容內(nèi)容) )與與PSWPSW的保護(hù)及新的保護(hù)及新PCPC與與PSWPSW的裝入的裝入. .某中斷服務(wù)程序的某中斷服務(wù)程序的( (新的新的)PC)PC和和PSWPSW共稱共稱為該中斷的中斷向量為該中斷的中斷向量, ,或理解為或理解為: :中斷服務(wù)程序入口中斷服務(wù)程序入口地址即為中斷向量地址即為中斷向量. .PSWPSWPCPCSPSP內(nèi)存中的內(nèi)存中的堆棧區(qū)堆棧區(qū)CPUCPUPSWPSWPCPC存放各中斷存放各中斷向量的內(nèi)存區(qū)向量的內(nèi)存區(qū)新新PCPC新新PSWPSW圖圖7.7 7.7 切換的示意圖切換的示意圖 中斷向量地址中斷向量地址( (向量地址向量地址VA)VA) 將各個中斷源的中斷向量組織成一個表將各個中斷源的中斷向量組織成一個表 稱為稱為向量表向量表, ,向向量表通常在內(nèi)存中開辟的一塊存儲區(qū)域量表通常在內(nèi)存中開辟的一塊存儲區(qū)域, ,如下圖所示如下圖所示. . 圖圖7.8 7.8 中斷

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論