計(jì)算機(jī)組成原理:8IO系統(tǒng)_第1頁
計(jì)算機(jī)組成原理:8IO系統(tǒng)_第2頁
計(jì)算機(jī)組成原理:8IO系統(tǒng)_第3頁
計(jì)算機(jī)組成原理:8IO系統(tǒng)_第4頁
計(jì)算機(jī)組成原理:8IO系統(tǒng)_第5頁
已閱讀5頁,還剩117頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第八章、輸入輸出原理,百度上輸入:筆試題目or面試題目DMAor 中斷,計(jì)算機(jī)組成原理 Slide 4,第8章 I/O接口與I/O設(shè)備,8.1 I/O設(shè)備與I/O接口概述 8.2 I/O編址 8.3 I/O接口的控制方法 程序中斷方式(掌握) DMA方式(掌握) 通道方式 8.4 通用I/O標(biāo)準(zhǔn)接口,面臨的挑戰(zhàn)之一I/O墻,面臨的挑戰(zhàn)之一I/O墻 CPU性能:每年增長 60% I/O系統(tǒng)的性能受到機(jī)械延遲的限制(磁盤I/O),每年的性能增長 10% I/O瓶頸 削減了高速CPU的性能 縮短了CPU執(zhí)行程序的有效時(shí)間,I/O系統(tǒng)是連接CPU和I/O設(shè)備的子系統(tǒng),輸入輸出設(shè)備,是計(jì)算機(jī)系統(tǒng)中最具多

2、樣性和復(fù)雜性的組成部分 最典型地反映了軟件與硬件的相互結(jié)合 其復(fù)雜性都隱藏在操作系統(tǒng)中,I/O控制:CPU對(duì)I/O設(shè)備的軟、硬件管理 本章主要從硬件角度討論I/O控制 從軟件角度討論I/O控制是操作系統(tǒng)的主要內(nèi)容之一 作業(yè)管理 進(jìn)程管理 存儲(chǔ)管理 設(shè)備管理 文件管理,輸入輸出設(shè)備,I/O系統(tǒng)的發(fā)展概況,1. 早期,分散連接,CPU 和 I/O 串行 工作,程序查詢方式,2. 接口模塊和 DMA 階段,總線連接,CPU 和 I/O 并行 工作,3. 有通道結(jié)構(gòu)階段,4. 有 I/O 處理機(jī)階段,中斷方式,DMA方式,以CPU為中心,以主存為中心,輸入輸出設(shè)備,I/O設(shè)備的基本介紹 1.1 概述,

3、計(jì)算機(jī)系統(tǒng)中,待運(yùn)行的指令、待處理的數(shù)據(jù)以及處理結(jié)果的顯示/保存/傳遞,都需要通過I/O設(shè)備完成,輸入輸出設(shè)備,1.2 I/O設(shè)備的分類 輸入設(shè)備 鍵盤、掃描儀、字符識(shí)別設(shè)備 輸出設(shè)備 打印機(jī)、顯示器、繪圖儀 外存儲(chǔ)設(shè)備 磁帶、磁盤、光盤、Flash固態(tài)盤 模/數(shù)轉(zhuǎn)換設(shè)備 網(wǎng)絡(luò)通信設(shè)備 網(wǎng)卡、調(diào)制解調(diào)器,輸入輸出設(shè)備,1.3 I/O設(shè)備在計(jì)算機(jī)系統(tǒng)中的地位與作用 (1) I/O設(shè)備是計(jì)算機(jī)系統(tǒng)重要組成部分,相當(dāng)于計(jì)算機(jī)的五官四肢 沒有,計(jì)算機(jī)不能運(yùn)轉(zhuǎn) 不全或性能不好,計(jì)算機(jī)效率低,第一代計(jì)算機(jī)中, I/O設(shè)備在整機(jī)中的造價(jià)比重不到5,第二代機(jī)中迅速上升至3040。第三代機(jī)中已超過50,而現(xiàn)在達(dá)

4、80以上,2) 人機(jī)通信和對(duì)話的工具 了解機(jī)器運(yùn)行狀態(tài),進(jìn)行故障診斷、控制、命令計(jì)算機(jī),都通過I/O設(shè)備。如:鍵盤、顯示器 (3) 不同媒體間信息變換的裝置 (4) 系統(tǒng)軟件及信息資源的駐留地 (5) 推廣應(yīng)用的橋梁,計(jì)算機(jī)普及應(yīng)用促進(jìn)I/O設(shè)備的發(fā)展,而新型I/O設(shè)備的出現(xiàn)又推動(dòng)了計(jì)算機(jī)在不同領(lǐng)域廣泛應(yīng)用,輸入輸出設(shè)備,2. I/O設(shè)備的工作特點(diǎn) 2.1 I/O設(shè)備的特點(diǎn) (1) 慢速性 I/O是機(jī)電、機(jī)械設(shè)備裝置,其速度為ms/s,甚至為s(秒)級(jí)。而主機(jī), 如CPU卻是ns級(jí) 兩者速度差異很大,所以I/O是影響計(jì)算機(jī)系統(tǒng)工作效率的兩大瓶頸之一,輸入輸出設(shè)備,2.1 I/O設(shè)備的特點(diǎn) (2

5、) 多樣性 品種多、功能強(qiáng)、涉及學(xué)科領(lǐng)域多,如機(jī)械、光電、磁、聲、自動(dòng)控制、通信等 (3)復(fù)雜性 傳輸速率差異大 傳輸方式不同 工作原理相差極大 簡單到鼠標(biāo),復(fù)雜到磁盤、光盤、激光打印機(jī),輸入輸出設(shè)備,2.2 I/O操作的特點(diǎn) (1) 異步性 原因1: I/O設(shè)備速度遠(yuǎn)遠(yuǎn)低于主機(jī) 原因2: I/O設(shè)備與主機(jī)間信息交換是隨機(jī)的 I/O設(shè)備通常不使用統(tǒng)一的中央時(shí)鐘,各個(gè)設(shè)備按照自己的時(shí)鐘工作,但又要在某些時(shí)刻接受處理機(jī)的控制 處理機(jī)與I/O設(shè)備之間、 I/O設(shè)備與I/O設(shè)備之間能夠并行工作,輸入輸出設(shè)備,2.2 I/O操作的特點(diǎn) (2) 實(shí)時(shí)性 I/O設(shè)備速度慢,但一經(jīng)啟動(dòng),則以固定速率工作,要求

6、主機(jī)在規(guī)定的時(shí)間內(nèi)完成信息交換 對(duì)于一般I/O設(shè)備:可能丟失數(shù)據(jù),或造成外圍設(shè)備工作的錯(cuò)誤 對(duì)于實(shí)時(shí)控制計(jì)算機(jī)系統(tǒng),例如,工業(yè)過程控制,導(dǎo)彈、衛(wèi)星的控制等,如果處理機(jī)提供的服務(wù)不及時(shí),可能造成巨大的損失,甚至造成人身傷害 對(duì)于處理機(jī)本身的硬件或軟件的錯(cuò)誤:如,電源故障、數(shù)據(jù)校驗(yàn)錯(cuò)、非法指令、地址越界等,處理機(jī)也必須及時(shí)地給予處理,輸入輸出設(shè)備,2.2 I/O操作的特點(diǎn) (3) I/O操作的實(shí)現(xiàn)與設(shè)備的無關(guān)性 I/O設(shè)備雖多種多樣,但I(xiàn)/O操作應(yīng)盡量標(biāo)準(zhǔn)化,使I/O 操作的實(shí)現(xiàn)與設(shè)備無關(guān) 通過簡單的命令即可使用I/O設(shè)備并完成I/O操作 盡可能少地考慮I/O設(shè)備的內(nèi)部細(xì)節(jié),讓外設(shè)的特殊性隱藏在各

7、自的設(shè)備控制器和接口的某些可變部分中 計(jì)算機(jī)系統(tǒng)的使用者,在需要更換I/O設(shè)備時(shí),各種不同型號(hào)、不同生產(chǎn)廠家的設(shè)備都可以直接通過標(biāo)準(zhǔn)接口與計(jì)算機(jī)系統(tǒng)連接 I/O設(shè)備已經(jīng)越來越多地采用了即插即用技術(shù),輸入輸出設(shè)備,數(shù)據(jù)交換的復(fù)雜與多樣性 數(shù)據(jù)交換的對(duì)象種類繁雜 所傳輸?shù)臄?shù)據(jù)類型不一 數(shù)據(jù)傳輸?shù)乃俾氏嗖罹薮?所傳輸?shù)臄?shù)據(jù)格式千差萬別 信號(hào)性質(zhì)不一致,輸入輸出設(shè)備,2.3 I/O設(shè)備的特點(diǎn)要求專門的連接機(jī)制 主機(jī)與I/O設(shè)備之間必須有一層“界面” 滿足I/O工作上的異步、實(shí)時(shí)、設(shè)備無關(guān)等特性 屏蔽數(shù)據(jù)交換的復(fù)雜性與多樣性所帶來巨大差異 這個(gè)“界面”實(shí)際上是一個(gè)非常重要的中間處理環(huán)節(jié) I/O接口,輸入

8、輸出設(shè)備,為什么I/O設(shè)備不直接掛接在系統(tǒng)總線上,而是通過I/O接口作為橋梁實(shí)現(xiàn)與系統(tǒng)總線的連接,輸入輸出設(shè)備,各種I/O設(shè)備使用不同的操作方法,由CPU來直接控制不同的I/O設(shè)備,不切實(shí)際,I/O設(shè)備的數(shù)據(jù)傳送速度比存儲(chǔ)器和處理器的速度慢得多,使用高速的系統(tǒng)總線與慢速的I/O設(shè)備直接連接,不切實(shí)際,I/O設(shè)備經(jīng)常使用與處理器不同的數(shù)據(jù)格式和字長度,輸入輸出接口,I/O接口的基本作用 “I/O接口”是“主機(jī)”與“I/O設(shè)備”之間數(shù)據(jù)交換的界面 I/O接口負(fù)責(zé)完成對(duì)數(shù)據(jù)交換的一致性封裝,鍵盤,I/O接口的基本組成 2.1 I/O接口的邏輯結(jié)構(gòu),輸入輸出接口,2.2 實(shí)例分析向打印機(jī)寫數(shù)據(jù) Ste

9、p 1. 主機(jī)完成待打印數(shù)據(jù)的輸出 將打印機(jī)對(duì)應(yīng)的編碼發(fā)送到“地址線” 將待打印的數(shù)據(jù)通過“數(shù)據(jù)線”寫入I/O接口的“數(shù)據(jù)緩沖器”,并通過“控制線”發(fā)出啟動(dòng)寫入數(shù)據(jù)的命令 Step 2. 接口完成數(shù)據(jù)到打印機(jī)的傳遞,并反饋打印的狀態(tài) I/O接口將數(shù)據(jù)通過“數(shù)據(jù)線#”傳送至打印機(jī),并通過“控制線#”觸發(fā)打印機(jī)開始工作 通過“狀態(tài)線#”將打印機(jī)狀態(tài)通知I/O接口(主機(jī),輸入輸出接口,CPU端,I/O設(shè)備端,I/O接口組成電路及工作過程的簡單示例,輸入輸出接口,以輸入為例,Step 1. 處理器發(fā)出地址信號(hào)以選擇目標(biāo)I/O設(shè)備,同時(shí)給出啟動(dòng)設(shè)備操作的命令 Step 2. 設(shè)備在啟動(dòng)命令的作用下開始工

10、作 Step 3.設(shè)備經(jīng)過一段時(shí)間后,完成所需的工作,并將作為工作結(jié)果的數(shù)據(jù)輸入到I/O接口的數(shù)據(jù)緩沖寄存器中 Step 4. I/O設(shè)備將自身的狀態(tài)報(bào)告給I/O接口 Step 5. I/O設(shè)備就緒狀態(tài)信號(hào)傳遞到處理器相關(guān)的引腳 Step 6. 結(jié)束(或開始下一次傳輸,輸入輸出接口,在微機(jī)系統(tǒng)中,I/O系統(tǒng)表現(xiàn)為南橋芯片,輸入輸出接口,計(jì)算機(jī)組成原理 Slide 27,第8章 I/O接口與I/O設(shè)備,8.1 I/O設(shè)備與I/O接口概述 8.2 I/O編址 8.3 I/O接口的控制方法 程序中斷方式(掌握) DMA方式(掌握) 通道方式 8.4 通用I/O標(biāo)準(zhǔn)接口,I/O接口的編址 為什么要編址

11、? 區(qū)分不同的外設(shè) 區(qū)分同一外設(shè)的不同端口 怎樣編址? 存儲(chǔ)器映射 I/O獨(dú)立編址,存儲(chǔ)器映射的I/O編址 也叫統(tǒng)一編址 描述:存儲(chǔ)器地址與I/O地址統(tǒng)一考慮,地址空間的一部分是存儲(chǔ)器,另一部分是I/O,支持存儲(chǔ)器操作的指令都可用于I/O操作 特點(diǎn) 系統(tǒng)不需要額外地設(shè)置I/O訪問指令,因?yàn)镮/O訪問可以與存儲(chǔ)器訪問共同的存儲(chǔ)器訪問指令 會(huì)使實(shí)際存儲(chǔ)器空間被I/O訪問占用一部分,從而減小可用的容量,實(shí)例,00000000H,FFFFFFFFH,7FFFFFFFH,8FFFFFFFH,000FFFFFH,0FFFFFFFH,CFFFFFFFH,獨(dú)立的I/O編址 又稱為不統(tǒng)一編址,X86使用 描述:

12、存儲(chǔ)器地址與I/O地址分開,將I/O地址視為一個(gè)獨(dú)立于存儲(chǔ)器地址的單獨(dú)空間 問題:怎樣區(qū)分I/O地址空間和存儲(chǔ)器地址空間? 系統(tǒng)總線中具有區(qū)別存儲(chǔ)器讀寫和I/O操作的控制信號(hào),以此區(qū)別是存儲(chǔ)器地址還是I/O地址 特點(diǎn) 需要設(shè)置額外的I/O訪問指令,以區(qū)分程序中的數(shù)據(jù)訪問是針對(duì)存儲(chǔ)器還是針對(duì)I/O設(shè)備,實(shí)例,計(jì)算機(jī)組成原理 Slide 33,第8章 I/O接口與I/O設(shè)備,8.1 I/O設(shè)備與I/O接口概述 8.2 I/O編址 8.3 I/O接口的控制方法 程序中斷方式(掌握) DMA方式(掌握) 通道方式 8.4 通用I/O標(biāo)準(zhǔn)接口,目的:協(xié)調(diào)經(jīng)由I/O接口的數(shù)據(jù)傳輸 采用的方法 無條件方式

13、程序查詢方式 程序中斷方式 DMA方式 IO處理機(jī),I/O接口的控制方法,I/O控制方式,計(jì)算機(jī)組成原理 Slide 36,程序查詢方式,數(shù)據(jù)傳輸完全依賴于程序控制 CPU與外設(shè)之間的操作能夠同步 硬件結(jié)構(gòu)簡單 頻繁的查詢動(dòng)作浪費(fèi)了大量寶貴的CPU時(shí)間 最古老的一種方式,目前很少使用,單片系統(tǒng)仍有使用,計(jì)算機(jī)組成原理 Slide 37,查詢方式CPU處理過程,啟動(dòng)設(shè)備,查詢設(shè)備狀態(tài),傳送數(shù)據(jù),內(nèi)存地址遞增,傳送量計(jì)數(shù),關(guān)閉設(shè)備,準(zhǔn)備好,傳送完,N,N,Y,Y,計(jì)算機(jī)組成原理 Slide 38,程序中斷方式,外圍設(shè)備主動(dòng)通知CPU,準(zhǔn)備數(shù)據(jù)傳輸 當(dāng)中斷發(fā)生時(shí),CPU中斷當(dāng)前的工作,轉(zhuǎn)向中斷處理子

14、程序,該程序用于數(shù)據(jù)傳輸。 提高了CPU的使用效率。 適合隨機(jī)出現(xiàn)的服務(wù) 硬件結(jié)構(gòu)相對(duì)復(fù)雜,服務(wù)開銷時(shí)間大,計(jì)算機(jī)組成原理 Slide 39,直接內(nèi)存訪問DMA方式,用于成組交換數(shù)據(jù)的場合 中斷方式不適合于成組數(shù)據(jù)交換 由硬件執(zhí)行I/O交換的工作方式 DMA控制器從CPU接管總線控制,數(shù)據(jù)交換無須CPU干預(yù),直接在內(nèi)存以及外圍設(shè)備之間進(jìn)行,節(jié)約了中斷開銷 需要更多硬件,計(jì)算機(jī)組成原理 Slide 40,通道方式,分擔(dān)CPU的I/O 處理的功能; 通道是一個(gè)具有特殊功能的處理器IOP; 可以實(shí)現(xiàn)外圍設(shè)備的統(tǒng)一管理和DMA操作 大大提高了CPU工作效率; 花費(fèi)更多的硬件代價(jià),計(jì)算機(jī)組成原理 Sli

15、de 41,外圍處理機(jī)方式(PPU,PPU方式是通道方式的進(jìn)一步延伸; 獨(dú)立于主機(jī)工作,計(jì)算機(jī)組成原理 Slide 42,信息交換方式,程序查詢方式 程序中斷方式 直接內(nèi)存訪問方式 通道方式 外圍處理機(jī)方式,計(jì)算機(jī)組成原理 Slide 43,程序中斷方式,中斷基本概念 程序中斷基本接口 中斷仲裁方式 中斷控制器,計(jì)算機(jī)組成原理 Slide 44,中斷基本概念,CPU暫時(shí)中止現(xiàn)行程序的執(zhí)行,轉(zhuǎn)去執(zhí)行為某個(gè)隨機(jī)事件服務(wù)的中斷處理子程序,處理完畢后自動(dòng)恢復(fù)原程序的執(zhí)行 保存斷點(diǎn),保護(hù)現(xiàn)場; 恢復(fù)現(xiàn)場,返回?cái)帱c(diǎn)。 一條指令結(jié)束時(shí)切換。 保證程序的完整性,計(jì)算機(jī)組成原理 Slide 45,中斷基本概念,

16、計(jì)算機(jī)在運(yùn)行過程中,可能會(huì)發(fā)生運(yùn)算溢出、除數(shù)為零、無休止循環(huán)或電壓下降等事先無法預(yù)料的故障,這些都是運(yùn)行中非正常的現(xiàn)象。 外部設(shè)備要求傳送信息,盡管是系統(tǒng)運(yùn)行的正?,F(xiàn)象,但是對(duì)CPU來說是隨機(jī)的,不可能預(yù)先規(guī)定傳送的時(shí)刻。 中斷技術(shù)賦于計(jì)算機(jī)應(yīng)變能力,將有序的運(yùn)行和無序的事件統(tǒng)一起來,大大增強(qiáng)了系統(tǒng)的處理能力,計(jì)算機(jī)組成原理 Slide 46,程序中斷處理示意圖,主程序,A請(qǐng)求中斷,B請(qǐng)求中斷,C請(qǐng)求中斷,A中斷服務(wù)子程序,B中斷服務(wù)子程序,C中斷服務(wù)子程序,計(jì)算機(jī)組成原理 Slide 47,中斷程序與子程序,中斷程序轉(zhuǎn)移類似于子程序調(diào)用 子程序調(diào)用是由主程序安排在特定位置上的,通常是完成主程

17、序的特定功能,與主程序存在必然聯(lián)系。 而中斷是隨機(jī)發(fā)生的,可以在程序任何一個(gè)位置切換,而這沒有直接聯(lián)系,計(jì)算機(jī)組成原理 Slide 48,中斷作用,實(shí)現(xiàn)主機(jī)和外部設(shè)備準(zhǔn)備階段的并行工作 使用中斷技術(shù)后,CPU原來用于查詢外設(shè)狀態(tài)的時(shí)間被充分地利用起來了,其工作效率得到了顯著的提高,主程序,啟動(dòng)設(shè)備,設(shè)備請(qǐng)求中斷,設(shè)備準(zhǔn)備,中斷服務(wù),計(jì)算機(jī)組成原理 Slide 49,兩種控制方式中CPU運(yùn)行軌跡,計(jì)算機(jī)組成原理 Slide 50,中斷作用,故障處理 系統(tǒng)能在故障出現(xiàn)時(shí)發(fā)出中斷信號(hào),調(diào)用相應(yīng)的處理程序,將故障的危害降到最低程度,并請(qǐng)求系統(tǒng)管理員排除故障。 實(shí)時(shí)處理 計(jì)算機(jī)在現(xiàn)場測試和控制、網(wǎng)絡(luò)通訊

18、、人機(jī)對(duì)話時(shí)都具有強(qiáng)烈的實(shí)時(shí)性,中斷技術(shù)能確保實(shí)時(shí)信號(hào)的處理,計(jì)算機(jī)組成原理 Slide 51,中斷的類型,中斷,內(nèi)中斷,外中斷,強(qiáng)迫中斷,自愿中斷,指令中斷,強(qiáng)迫中斷,硬件故障,軟件出錯(cuò),不可屏蔽中斷,可屏蔽中斷,計(jì)算機(jī)組成原理 Slide 52,中斷優(yōu)先級(jí),當(dāng)多個(gè)設(shè)備同時(shí)產(chǎn)生中斷請(qǐng)求時(shí),CPU就必須采用一定的策略進(jìn)行響應(yīng),通常采用優(yōu)先級(jí)的策略。 優(yōu)先級(jí)是CPU響應(yīng)并處理中斷請(qǐng)求的先后次序 當(dāng)多個(gè)設(shè)備同時(shí)有中斷請(qǐng)求時(shí),優(yōu)先級(jí)高的先響應(yīng),優(yōu)先級(jí)低的后響應(yīng)。 當(dāng)CPU正在為某設(shè)備服務(wù)時(shí),優(yōu)先級(jí)高的中斷請(qǐng)求可以中斷CPU當(dāng)前所服務(wù)的程序,計(jì)算機(jī)組成原理 Slide 53,中斷優(yōu)先級(jí),CPU優(yōu)先級(jí)隨

19、不同中斷服務(wù)程序而改變,如執(zhí)行某設(shè)備服務(wù)程序,CPU優(yōu)先級(jí)就與該設(shè)備的優(yōu)先級(jí)一樣。 低于或者等于當(dāng)前優(yōu)先級(jí)的設(shè)備請(qǐng)求均要屏蔽。 CPU在程序開始執(zhí)行時(shí),就設(shè)置設(shè)備接口中的中斷屏蔽觸發(fā)器(INM)狀態(tài)。如CPU當(dāng)前優(yōu)先級(jí)是3級(jí)(0為最高級(jí)),則將3級(jí)以上的低優(yōu)先級(jí)設(shè)備接口中的INM置“1”即屏蔽,其他置“0,計(jì)算機(jī)組成原理 Slide 54,劃分優(yōu)先級(jí)的一般規(guī)律,硬件故障中斷屬于最高級(jí),其次是程序錯(cuò)誤中斷。 非屏蔽中斷優(yōu)于可屏蔽中斷。 DMA請(qǐng)求優(yōu)先于I/O設(shè)備傳送的中斷請(qǐng)求。 高速設(shè)備優(yōu)于低速設(shè)備,輸入設(shè)備的中斷優(yōu)于輸出設(shè)備,實(shí)時(shí)設(shè)備優(yōu)先于普通設(shè)備。 同一優(yōu)先等級(jí)中可以包括多臺(tái)設(shè)備,這些設(shè)備中

20、離計(jì)算機(jī)近的優(yōu)先,形成了二維優(yōu)先等級(jí),計(jì)算機(jī)組成原理 Slide 55,二維優(yōu)先級(jí)示意圖,計(jì)算機(jī)組成原理 Slide 56,中斷屏蔽,中斷屏蔽技術(shù)可動(dòng)態(tài)改變各設(shè)備的優(yōu)先級(jí)。 響應(yīng)優(yōu)先級(jí) CPU對(duì)各設(shè)備中斷請(qǐng)求進(jìn)行響應(yīng),并準(zhǔn)備好處理的先后次序,這種次序往往在硬件線路上已固定,不便于變動(dòng)。 處理優(yōu)先級(jí) CPU實(shí)際對(duì)各中斷請(qǐng)求處理的先后次序。如果不使用屏蔽技術(shù),響應(yīng)的優(yōu)先次序就是處理的優(yōu)先次序,計(jì)算機(jī)組成原理 Slide 57,中斷屏蔽方式,計(jì)算機(jī)組成原理 Slide 58,中斷屏蔽位,CPU響應(yīng)中斷后,正在執(zhí)行中斷服務(wù)子程序時(shí),可能有另外一個(gè)設(shè)備也發(fā)出中斷請(qǐng)求,為了不發(fā)生混亂,中斷管理部件中必須有

21、一個(gè)中斷屏蔽寄存器。 設(shè)置1為設(shè)置屏蔽,否則取消屏蔽,計(jì)算機(jī)組成原理 Slide 59,屏蔽碼,通過控制各設(shè)備接口的屏蔽觸發(fā)器狀態(tài),達(dá)到改變處理次序的目的。CPU送往各設(shè)備接口屏蔽觸發(fā)器狀態(tài)信息的集合,稱為屏蔽碼,計(jì)算機(jī)組成原理 Slide 60,單級(jí)中斷與多級(jí)中斷,當(dāng)幾個(gè)設(shè)備同時(shí)產(chǎn)生中斷請(qǐng)求時(shí),CPU響應(yīng)即優(yōu)先級(jí)高的中斷請(qǐng)求。 但當(dāng)CPU正在處理低優(yōu)先級(jí)設(shè)備時(shí),出現(xiàn)了高優(yōu)先級(jí)設(shè)備的中斷請(qǐng)求,那是不是一定要中斷運(yùn)行中的程序呢? 出于對(duì)系統(tǒng)硬件、軟件開銷的權(quán)衡,有兩種解決方式,即單級(jí)中斷處理和多重中斷處理,計(jì)算機(jī)組成原理 Slide 61,多級(jí)中斷,優(yōu)先級(jí)高的中斷級(jí)可以打斷優(yōu)先級(jí)低的中斷服務(wù)程序

22、,以實(shí)現(xiàn)中斷程序的嵌套,主程序 A B C,計(jì)算機(jī)組成原理 Slide 62,同時(shí)中斷請(qǐng)求的處理方法,計(jì)算機(jī)組成原理 Slide 63,信息交換的中斷過程,外圍設(shè)備在數(shù)據(jù)準(zhǔn)備就緒后,發(fā)出請(qǐng)求中斷信號(hào),請(qǐng)求CPU中斷目前正在執(zhí)行的程序而進(jìn)行數(shù)據(jù)交換。 CPU響應(yīng)這個(gè)中斷,暫停當(dāng)前執(zhí)行的主程序,并自動(dòng)轉(zhuǎn)移到該設(shè)備的中斷服務(wù)子程序。(該程序用于數(shù)據(jù)交換) 中斷服務(wù)子程序結(jié)束以后,CPU又回到原來的主程序,計(jì)算機(jī)組成原理 Slide 64,中斷處理過程,計(jì)算機(jī)組成原理 Slide 65,中斷處理中的問題,中斷時(shí)機(jī) 保存現(xiàn)場 中斷屏蔽 中斷過程由軟硬件結(jié)合完成,計(jì)算機(jī)組成原理 Slide 66,中斷識(shí)別

23、,非向量中斷 將服務(wù)程序入口組織在查詢程序中; 響應(yīng)時(shí)執(zhí)行查詢程序查詢中斷源,轉(zhuǎn)入相應(yīng)服務(wù)程序。 向量中斷 將服務(wù)程序入口(中斷向量)組織在中斷向量表中;響應(yīng)時(shí)由硬件直接產(chǎn)生相應(yīng)向量地址,按地址查表,取得服務(wù)程序入口,轉(zhuǎn)入相應(yīng)服務(wù)程序,計(jì)算機(jī)組成原理 Slide 67,中斷識(shí)別,程序識(shí)別 單線查詢法 中斷向量法,計(jì)算機(jī)組成原理 Slide 68,程序識(shí)別,計(jì)算機(jī)組成原理 Slide 69,單線查詢法,計(jì)算機(jī)組成原理 Slide 70,中斷向量法,計(jì)算機(jī)組成原理 Slide 71,中斷仲裁方式,同一時(shí)刻可能有多個(gè)設(shè)備同時(shí)發(fā)出中斷請(qǐng)求,如何選擇適當(dāng)?shù)脑O(shè)備進(jìn)行中斷響應(yīng)?(與總線仲裁方式類似) 鏈?zhǔn)讲?/p>

24、詢 獨(dú)立請(qǐng)求 分組鏈?zhǔn)浇Y(jié)構(gòu),計(jì)算機(jī)組成原理 Slide 72,鏈?zhǔn)讲樵兎绞?IG,IR,IR,中斷請(qǐng)求,IG,中斷許可,CPU,設(shè)備,n,設(shè)備,1,計(jì)算機(jī)組成原理 Slide 73,獨(dú)立請(qǐng)求方式,計(jì)算機(jī)組成原理 Slide 74,分組鏈?zhǔn)?計(jì)算機(jī)組成原理 Slide 75,中斷方式接口,計(jì)算機(jī)組成原理 Slide 76,工作過程,主機(jī)啟動(dòng)設(shè)備 設(shè)備準(zhǔn)備傳送 發(fā)中斷請(qǐng)求信號(hào) 主機(jī)響應(yīng)中斷 數(shù)據(jù)傳送,例1.A、B、C是與主機(jī)連接的3臺(tái)設(shè)備,在硬件排隊(duì)線路中, 它們的響應(yīng)優(yōu)先級(jí)是ABCCPU, 為改變中斷處理的次序,將它們的中斷屏蔽字設(shè)為,請(qǐng)按下圖所示時(shí)間軸給出的設(shè)備中斷請(qǐng)求時(shí)刻,畫出CPU執(zhí)行程序

25、的軌跡。A、B、C中斷服務(wù)程序的時(shí)間寬度均為20 s,計(jì)算機(jī)組成原理 Slide 78,解:從中斷屏蔽字看出,其處理優(yōu)先級(jí)為: ACB 故CPU運(yùn)行軌跡如下,A服務(wù),B服務(wù),C服務(wù),CPU,A,B,C,20 40 60 80,計(jì)算機(jī)組成原理 Slide 79,DMA方式,DMA基本概念 DMA傳輸方式 基本DMA控制器,計(jì)算機(jī)組成原理 Slide 80,DMA基本概念,中斷方式提高了主機(jī)和外設(shè)并行工作的效率,但是每傳送一個(gè)字或一個(gè)字節(jié)的數(shù)據(jù)就要執(zhí)行一次中斷服務(wù)程序,數(shù)據(jù)傳送時(shí)仍然要占用CPU的時(shí)間,不適合于高速傳輸?shù)南到y(tǒng)。 DMA在外設(shè)與主存之間建立一個(gè)由硬件管理的數(shù)據(jù)通路,如圖所示,使CPU

26、不介入傳送時(shí)的操作,數(shù)據(jù)也不經(jīng)過CPU。這樣就減少了CPU的開銷,系統(tǒng)效率得到了提高,CPU,主存,DMA,接口,接口,計(jì)算機(jī)組成原理 Slide 81,內(nèi)存爭用,DMA方式進(jìn)行數(shù)據(jù)傳送時(shí),CPU仍執(zhí)行主程序,此時(shí)DMA控制邏輯與CPU可能同時(shí)要訪問主存,引起主存使用權(quán)的沖突。 如何處理這種沖突呢? 停止CPU使用主存 DMA與CPU交替使用主存 周期挪用法,計(jì)算機(jī)組成原理 Slide 82,停止CPU使用主存,當(dāng)DMA傳送數(shù)據(jù)時(shí),CPU停止工作,把主存使用權(quán)交給DMA控制邏輯。在這批數(shù)據(jù)傳送結(jié)束后,DMA再交還主存使用權(quán)。 在DMA傳送數(shù)據(jù)過程中,CPU處于等待狀態(tài)。 這種方法最簡單,計(jì)算機(jī)

27、組成原理 Slide 83,停止CPU訪內(nèi),由于外設(shè)傳送兩個(gè)數(shù)據(jù)間的時(shí)間間隔大于存儲(chǔ)周期,所以在DMA控制內(nèi)存期間,內(nèi)存沒有得到充分利用,內(nèi)存工作,CPU訪內(nèi),DMA訪內(nèi),計(jì)算機(jī)組成原理 Slide 84,DMA與CPU交替使用主存,每個(gè)CPU工作周期分成兩個(gè)時(shí)間段,一段用于 DMA訪問主存,一段用于CPU訪問主存。 CPU和DMA都能訪問主存,沒有主存使用權(quán)移交過程,所以這種方式的效率較高,但是硬件投資較大,而且要求 CPU工作周期比存儲(chǔ)周期長很多,計(jì)算機(jī)組成原理 Slide 85,周期挪用法,DMA要求訪問主存時(shí),CPU暫停一個(gè)或多個(gè)存儲(chǔ)周期。一個(gè)數(shù)據(jù)傳送結(jié)束后,CPU繼續(xù)運(yùn)行。 CPU現(xiàn)

28、場并沒有變動(dòng),只是延緩了對(duì)指令的執(zhí)行,這種技術(shù)稱為周期挪用,或稱周期竊取。 如發(fā)生訪存沖突,則DMA優(yōu)先訪問,計(jì)算機(jī)組成原理 Slide 86,DMA主要操作過程(準(zhǔn)備階段,主機(jī)通過指令向DMA接口發(fā)送必要的傳送參數(shù),并啟動(dòng) DMA工作。這些參數(shù)的作用是 指出數(shù)據(jù)傳送的方向,即指出是主機(jī)將數(shù)據(jù)傳送給設(shè)備,還是由設(shè)備傳給主機(jī)。 指出數(shù)據(jù)塊在主存的首地址。 指出數(shù)據(jù)在外設(shè)存儲(chǔ)介質(zhì)上的地址。 指出數(shù)據(jù)的傳送量,計(jì)算機(jī)組成原理 Slide 87,DMA主要操作過程(傳送階段,從宏觀上看DMA接口連續(xù)傳送一批數(shù)據(jù)。從微觀上看,每傳送一個(gè)數(shù)據(jù),發(fā)一次DMA請(qǐng)求,經(jīng)歷一個(gè)循環(huán)操作。循環(huán)操作的主要內(nèi)容有: 設(shè)

29、備準(zhǔn)備好一個(gè)數(shù)據(jù)的傳送后,接口向主機(jī)發(fā)出DMA請(qǐng)求。 CPU中DMA控制邏輯響應(yīng)DMA請(qǐng)求,將主存使用權(quán)讓給DMA。DMA送來主存單元地址、讀或?qū)懨?。若是寫命令,DMA還送來數(shù)據(jù)。 DMA挪用一個(gè)周期對(duì)主存進(jìn)行讀寫操作。周期挪用結(jié)束后給DMA接口應(yīng)答信號(hào)。 DMA接口接到應(yīng)答信號(hào),撤除DMA請(qǐng)求,將主存數(shù)據(jù)緩沖區(qū)地址指示器加 1,指向下一個(gè)數(shù)據(jù)要傳送的單元地址,字?jǐn)?shù)計(jì)數(shù)器減1。 DMA接口控制邏輯判斷數(shù)據(jù)是否全部傳送完。若傳送完畢,則進(jìn)入結(jié)束階段;若沒傳完則又開始下一個(gè)循環(huán)操作,計(jì)算機(jī)組成原理 Slide 88,DMA主要操作過程(結(jié)束階段,DMA在兩種情況下都進(jìn)入結(jié)束階段。 正常結(jié)束,一批

30、數(shù)據(jù)傳送完畢; 非正常結(jié)束,DMA發(fā)生了故障,也要進(jìn)入結(jié)束階段 不論是哪一種情況進(jìn)入結(jié)束階段,DMA都向主機(jī)發(fā)出中斷請(qǐng)求,CPU執(zhí)行服務(wù)程序,查詢DMA接口狀態(tài),根據(jù)狀態(tài)進(jìn)行不同處理,計(jì)算機(jī)組成原理 Slide 89,一個(gè)數(shù)據(jù)塊的傳送過程(停止訪內(nèi)方式,DMA請(qǐng)求,DMA響應(yīng),傳送一個(gè)字,DMA結(jié)束,N,Y,傳送完,修改地址指針和字計(jì)數(shù)器,發(fā)送內(nèi)存地址,計(jì)算機(jī)組成原理 Slide 90,DMA控制器,計(jì)算機(jī)組成原理 Slide 91,工作過程,設(shè)備準(zhǔn)備好,發(fā)啟動(dòng)信號(hào),數(shù)據(jù)數(shù)據(jù)緩沖寄存器; 置“1”請(qǐng)求標(biāo)志,發(fā)DMA請(qǐng)求; 控制邏輯向CPU發(fā)保持HOLD請(qǐng)求; CPU響應(yīng)后,向DMA控制器發(fā)HL

31、DA響應(yīng); 控制邏輯發(fā)DMA響應(yīng)信號(hào)使請(qǐng)求標(biāo)志復(fù)位為“0”,準(zhǔn)備交換一個(gè)字 在系統(tǒng)總線中的ABUS上發(fā)內(nèi)存地址,DBUS上發(fā)送數(shù)據(jù); 在寫命令控制下,把數(shù)據(jù)寫入指定地址; 內(nèi)存地址+1,字計(jì)數(shù)器1. 傳送第二個(gè)字.直至字計(jì)數(shù)器為0,DMA結(jié)束,計(jì)算機(jī)組成原理 Slide 92,DMA與程序中斷的區(qū)別,中斷通過程序?qū)崿F(xiàn)數(shù)據(jù)傳送;DMA靠硬件來實(shí)現(xiàn)。 中斷時(shí)機(jī)為兩指令之間;DMA響應(yīng)時(shí)機(jī)為兩存儲(chǔ)周期之間。 中斷不僅具有數(shù)據(jù)傳送能力,還能處理異常事件;DMA只能進(jìn)行數(shù)據(jù)傳送。 DMA僅挪用了一個(gè)存儲(chǔ)周期,不改變CPU現(xiàn)場。 DMA請(qǐng)求的優(yōu)先權(quán)比中斷請(qǐng)求高。CPU優(yōu)先響應(yīng)DMA請(qǐng)求,是為了避免DMA所

32、連接的高速外設(shè)丟失數(shù)據(jù)。 DMA利用了中斷技術(shù),計(jì)算機(jī)組成原理 Slide 93,通道方式,通道的功能 通道類型 通道結(jié)構(gòu)的發(fā)展,計(jì)算機(jī)組成原理 Slide 94,通道方式,DMA方式依賴硬件邏輯支持,隨著設(shè)備數(shù)量的增加,DMA控制器增加,成本也相應(yīng)增加。必須找出一種方法使DMA技術(shù)被更多的設(shè)備共享。 DMA接口的起始準(zhǔn)備仍需CPU執(zhí)行一段程序完成。高速設(shè)備的信息是成批傳送的,一批數(shù)據(jù)包含了相當(dāng)多的數(shù)據(jù)塊,每一數(shù)據(jù)塊都要使DMA接口初始化。數(shù)據(jù)塊連續(xù)頻繁地傳送,其占用CPU的時(shí)間就不可忽視了,計(jì)算機(jī)組成原理 Slide 95,通道方式,為此設(shè)置一種專用的輸入輸出處理機(jī),分擔(dān)主機(jī)對(duì)輸入輸出管理的

33、全部或大部分工作。而且不僅能管理高速設(shè)備,還能管理低速設(shè)備。這種專用處理機(jī)稱為通道。 通道吸取了DMA硬件技術(shù),并增加了軟件管理。它設(shè)有專用的通道指令。盡管這些指令的功能有限,但能獨(dú)立管理和控制輸入輸出操作。 一個(gè)主機(jī)可以連接多個(gè)通道,一個(gè)通道可以管理多個(gè)設(shè)備控制器。而一個(gè)設(shè)備控制器又可以控制多臺(tái)設(shè)備。這樣就形成了一個(gè)較完整的 IO系統(tǒng),并具有明顯的層次性,計(jì)算機(jī)組成原理 Slide 96,通道功能,根據(jù)CPU要求,組織設(shè)備與系統(tǒng)連接和通信; 選取通道指令,通過設(shè)備控制器向設(shè)備發(fā)出操作命令; 指出數(shù)據(jù)在設(shè)備中的位置和在主存緩沖區(qū)內(nèi)的位置,組織設(shè)備與主存間的數(shù)據(jù)傳輸。 檢查設(shè)備和設(shè)備控制器的工作

34、狀態(tài)。向CPU反映設(shè)備、設(shè)備控制器及通道本身的狀態(tài)信息。 將外設(shè)和通道本身的中斷請(qǐng)求,按次序及時(shí)報(bào)告CPU。 設(shè)備控制器介于通道與設(shè)備之間,是通道對(duì)外部設(shè)備實(shí)行具體控制的機(jī)構(gòu)。將通道發(fā)送的命令轉(zhuǎn)換為設(shè)備能接受的控制信號(hào),向通道反映設(shè)備的狀態(tài),將設(shè)備的各種電平信號(hào)轉(zhuǎn)換成通道能識(shí)別的標(biāo)準(zhǔn)邏輯信號(hào),計(jì)算機(jī)組成原理 Slide 97,通道分類,根據(jù)設(shè)備共享通道的情況及信息傳送速度的要求,通道分為3類: 字節(jié)多路通道 選擇通道 數(shù)組多路通道,計(jì)算機(jī)組成原理 Slide 98,字節(jié)多路通道,包括若干子通道,每個(gè)子通道服務(wù)于一個(gè)設(shè)備。在一段時(shí)間內(nèi)能交替執(zhí)行多個(gè)設(shè)備的通道子程序,從而使這些設(shè)備并行工作,計(jì)算機(jī)

35、組成原理 Slide 99,選擇通道,對(duì)那些傳輸速率很高的設(shè)備,如硬盤,不適合使用字節(jié)多路通道,通道傳送兩個(gè)字節(jié)之間的空閑時(shí)間很少,故只宜為一臺(tái)設(shè)備單獨(dú)服務(wù)。 選擇通道規(guī)定,設(shè)備以成批數(shù)據(jù)連續(xù)傳送方式占用通道,直到指定數(shù)量的數(shù)據(jù)全部傳送完畢,通道才轉(zhuǎn)為其它設(shè)備服務(wù)。選擇通道在物理上可以連接多個(gè)設(shè)備,但這些設(shè)備不能同時(shí)工作。選擇通道只有一個(gè)子通道,它適用于大批量數(shù)據(jù)的高速傳送,計(jì)算機(jī)組成原理 Slide 100,選擇通道,計(jì)算機(jī)組成原理 Slide 101,數(shù)組多路通道,通道能高速傳送數(shù)據(jù),但設(shè)備輔助操作時(shí)間不能有效利用 如硬盤啟動(dòng)后,平均等待時(shí)間10ms左右,磁帶機(jī)磁頭定位時(shí)間更長,可達(dá)幾分鐘

36、。這樣長時(shí)間通道處于等待狀態(tài)。 為利用這段時(shí)間,將上述字節(jié)多路通道和選擇通道的特點(diǎn)結(jié)合起來,形成一種新的通道形式,稱為數(shù)組多路通道。 數(shù)組多路通道規(guī)定多個(gè)設(shè)備以數(shù)據(jù)組(塊)為單位交叉使用通道。某設(shè)備占用通道時(shí),連續(xù)傳送一組數(shù)據(jù),然后將通道讓給其它設(shè)備。數(shù)據(jù)組的大小因設(shè)備而異,有256B、512B或1KB等,計(jì)算機(jī)組成原理 Slide 102,通道在某設(shè)備執(zhí)行輔助操作時(shí),暫時(shí)斷開與該設(shè)備的連接,掛起與該設(shè)備對(duì)應(yīng)的通道程序,轉(zhuǎn)為其它設(shè)備服務(wù)。等到該設(shè)備完成了輔助操作,并且其它設(shè)備完成一組數(shù)據(jù)的傳送后,通道才轉(zhuǎn)為該設(shè)備服務(wù)。 數(shù)組多路通道也包含若干個(gè)子通道。當(dāng)幾個(gè)子通道同時(shí)要求通道為自己服務(wù)時(shí)。用優(yōu)

37、先級(jí)排隊(duì)方法裁決。數(shù)組多路通道適用于中、高速設(shè)備,如磁帶機(jī)、磁盤等。 能充分發(fā)揮傳送效率,但在一批數(shù)據(jù)傳送過程中,要多次與設(shè)備斷開和連接,而又不能像字節(jié)多路通道服務(wù)于低速設(shè)備那樣,有足夠時(shí)間借用主機(jī)部件工作,因此、通道的硬件結(jié)構(gòu)比較復(fù)雜,計(jì)算機(jī)組成原理 Slide 103,字節(jié)多路通道與數(shù)組多路通道,數(shù)組多路通道同時(shí)只允許一個(gè)設(shè)備進(jìn)行傳輸型的工作,其他設(shè)備只能進(jìn)行控制型的工作,字節(jié)多路通道沒有此限制。 傳送的基本數(shù)據(jù)數(shù)據(jù)單位不同,計(jì)算機(jī)組成原理 Slide 104,第8章 I/O接口與I/O設(shè)備,8.1 I/O設(shè)備與I/O接口概述 8.2 I/O編址 8.3 I/O接口的控制方法 程序中斷方式

38、(掌握) DMA方式(掌握) 通道方式 8.4 通用I/O標(biāo)準(zhǔn)接口,計(jì)算機(jī)組成原理 Slide 105,通用I/O標(biāo)準(zhǔn)接口,SCSI接口 IEEE1394接口,計(jì)算機(jī)組成原理 Slide 106,SCSI小型計(jì)算機(jī)系統(tǒng)接口,Small Computer System Interface) 設(shè)計(jì)思想來源于IBM大型機(jī)的I/O通道結(jié)構(gòu),目的是使CPU擺脫對(duì)各種設(shè)備的控制。 從通道發(fā)展而來 傳輸速度快 靈活性好(適用于各種外設(shè)) 設(shè)備獨(dú)立性 采用高級(jí)命令系統(tǒng) 主要用來連接外設(shè)設(shè)備以提高系統(tǒng)性能或增加新的功能,例如硬盤、光驅(qū)、掃描儀、磁帶機(jī)。 SCSI接口卡和設(shè)備非常昂貴,所以SCSI主要用于工作站、

39、服務(wù)器等中高檔設(shè)備為主,計(jì)算機(jī)組成原理 Slide 107,SCSI的發(fā)展,計(jì)算機(jī)組成原理 Slide 108,操作狀態(tài),計(jì)算機(jī)組成原理 Slide 109,IEEE1394,又稱 FireWire,是在USB 1.1之后研發(fā)出來的。 是 Apple 開發(fā)的一個(gè)名為 FireWire 的高速實(shí)時(shí)串行標(biāo)準(zhǔn)。它支持不經(jīng)HUB的點(diǎn)對(duì)點(diǎn)的連接,無需集線器,最多允許63個(gè)相同速度的設(shè)備連接到同一總線上,最多允許1023條總線相互連接。 IEEE 1394是一種與平臺(tái)無關(guān)的串行通信協(xié)議。1987年Apple發(fā)布了第一個(gè)完整規(guī)格,該標(biāo)準(zhǔn)稍后在1995年縮改為 IEEE1394,1394接口配置,CPU,主端口,圖像、立體聲接

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論