生產(chǎn)管理——設(shè)備管理的目標(biāo)和任務(wù)課件_第1頁
生產(chǎn)管理——設(shè)備管理的目標(biāo)和任務(wù)課件_第2頁
生產(chǎn)管理——設(shè)備管理的目標(biāo)和任務(wù)課件_第3頁
生產(chǎn)管理——設(shè)備管理的目標(biāo)和任務(wù)課件_第4頁
生產(chǎn)管理——設(shè)備管理的目標(biāo)和任務(wù)課件_第5頁
已閱讀5頁,還剩137頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第七章設(shè)備管理第七章設(shè)備管理n概述概述nI/O軟件的組成軟件的組成nI/O硬件特點硬件特點n設(shè)備處理設(shè)備處理n典型外部設(shè)備典型外部設(shè)備天馬行空官方博客: ;QQ:1318241189;QQ群:175569632一、概述一、概述1、I/O的特點的特點(1 1)I/OI/O性能經(jīng)常成為系統(tǒng)性能的瓶頸性能經(jīng)常成為系統(tǒng)性能的瓶頸nCPUCPU性能不等于系統(tǒng)性能性能不等于系統(tǒng)性能 響應(yīng)時間也是一個重要因素響應(yīng)時間也是一個重要因素nCPUCPU性能越高,與性能越高,與I/OI/O差距越大差距越大 彌補:更多的進程彌補:更多的進程n進程切換多,系統(tǒng)開銷大進程切換多,系統(tǒng)開銷大(2 2)操作系統(tǒng)龐大復(fù)雜的原因

2、之一是:資源)操作系統(tǒng)龐大復(fù)雜的原因之一是:資源多、雜,并發(fā),均來自多、雜,并發(fā),均來自I/OI/O 外設(shè)種類繁多,結(jié)構(gòu)各異外設(shè)種類繁多,結(jié)構(gòu)各異 輸入輸出數(shù)據(jù)信號類型不同輸入輸出數(shù)據(jù)信號類型不同 速度差異很大速度差異很大(3 3)理解)理解I/OI/O的工作過程與結(jié)構(gòu)是理解操作系的工作過程與結(jié)構(gòu)是理解操作系統(tǒng)的工作過程與結(jié)構(gòu)的關(guān)鍵統(tǒng)的工作過程與結(jié)構(gòu)的關(guān)鍵 I/OI/O技術(shù)很實用技術(shù)很實用(4 4)與其他功能聯(lián)系密切,特別是文件系統(tǒng))與其他功能聯(lián)系密切,特別是文件系統(tǒng)1、I/O的特點的特點(1 1)按使用特性分)按使用特性分 存儲型設(shè)備存儲型設(shè)備 輸入型設(shè)備(輸入型設(shè)備(外設(shè)外設(shè)主機主機) 輸

3、出型設(shè)備(主機輸出型設(shè)備(主機外設(shè))外設(shè)) 輸入輸出型設(shè)備(交互型設(shè)備)輸入輸出型設(shè)備(交互型設(shè)備)2、設(shè)備的分類、設(shè)備的分類(2 2)按數(shù)據(jù)組織分)按數(shù)據(jù)組織分 塊設(shè)備塊設(shè)備 以數(shù)據(jù)塊為單位存儲、傳輸信息以數(shù)據(jù)塊為單位存儲、傳輸信息 字符設(shè)備字符設(shè)備 以字符為單位存儲、傳輸信息以字符為單位存儲、傳輸信息(3 3)按外部設(shè)備的從屬關(guān)系分)按外部設(shè)備的從屬關(guān)系分 系統(tǒng)設(shè)備系統(tǒng)設(shè)備 指操作系統(tǒng)生成時,登記在系統(tǒng)中的標(biāo)指操作系統(tǒng)生成時,登記在系統(tǒng)中的標(biāo)準設(shè)備準設(shè)備 (如終端、打印機、磁盤機等)(如終端、打印機、磁盤機等) 用戶設(shè)備用戶設(shè)備 指在系統(tǒng)生成時,未登記在系統(tǒng)中的非指在系統(tǒng)生成時,未登記在系

4、統(tǒng)中的非標(biāo)準設(shè)備。對于這類設(shè)備的處理程序由用標(biāo)準設(shè)備。對于這類設(shè)備的處理程序由用戶提供,并將其納入系統(tǒng),由系統(tǒng)代替用戶提供,并將其納入系統(tǒng),由系統(tǒng)代替用戶實施管理。戶實施管理。 (如(如A/DA/D,D/AD/A轉(zhuǎn)換器,轉(zhuǎn)換器,CADCAD所用專用設(shè)備)所用專用設(shè)備)(4 4)按資源分配角度分)按資源分配角度分 獨占設(shè)備獨占設(shè)備 在一段時間內(nèi)只能有一個進程使用的設(shè)備,一在一段時間內(nèi)只能有一個進程使用的設(shè)備,一般為低速般為低速I/OI/O設(shè)備(如打印機,磁帶等)設(shè)備(如打印機,磁帶等) 共享設(shè)備共享設(shè)備 在一段時間內(nèi)可有多個進程共同使用的設(shè)備,在一段時間內(nèi)可有多個進程共同使用的設(shè)備,多個進程以交

5、叉的方式來使用設(shè)備,其資源利多個進程以交叉的方式來使用設(shè)備,其資源利用率高(如硬盤)用率高(如硬盤)虛設(shè)備虛設(shè)備在一類設(shè)備上模擬另一類設(shè)備,常用共享在一類設(shè)備上模擬另一類設(shè)備,常用共享設(shè)備模擬獨占設(shè)備,用高速設(shè)備模擬低設(shè)備模擬獨占設(shè)備,用高速設(shè)備模擬低速設(shè)備,被模擬的設(shè)備稱為虛設(shè)備速設(shè)備,被模擬的設(shè)備稱為虛設(shè)備 目的:將慢速的獨占設(shè)備改造成多個用戶可共目的:將慢速的獨占設(shè)備改造成多個用戶可共享的設(shè)備,提高設(shè)備的利用率享的設(shè)備,提高設(shè)備的利用率(實例:(實例:SPOOLingSPOOLing技術(shù),利用虛設(shè)備技術(shù)技術(shù),利用虛設(shè)備技術(shù) 用硬盤模擬輸入輸出設(shè)備)用硬盤模擬輸入輸出設(shè)備)SPOOLing

6、SPOOLing技術(shù)技術(shù) 為解決獨立設(shè)備數(shù)量少,速度慢,不能為解決獨立設(shè)備數(shù)量少,速度慢,不能滿足眾多進程的要求,而且在進程獨占設(shè)滿足眾多進程的要求,而且在進程獨占設(shè)備期間,設(shè)備利用率比較低而提出的一種備期間,設(shè)備利用率比較低而提出的一種設(shè)備管理技術(shù)設(shè)備管理技術(shù)(5 5)從程序使用角度分)從程序使用角度分 邏輯設(shè)備、物理設(shè)備邏輯設(shè)備、物理設(shè)備(6 6)按數(shù)據(jù)傳輸率分)按數(shù)據(jù)傳輸率分 高速設(shè)備、低速設(shè)備高速設(shè)備、低速設(shè)備(7 7)按接口分)按接口分 與用戶交流:顯示器,鍵盤,鼠標(biāo),打與用戶交流:顯示器,鍵盤,鼠標(biāo),打印機等印機等 與電子設(shè)備交流:磁盤、磁帶等與電子設(shè)備交流:磁盤、磁帶等 通信:與

7、遠程設(shè)備通信:調(diào)制解調(diào)器通信:與遠程設(shè)備通信:調(diào)制解調(diào)器各類設(shè)備的差別:各類設(shè)備的差別: 數(shù)據(jù)傳輸率數(shù)據(jù)傳輸率 應(yīng)用應(yīng)用 控制的復(fù)雜性控制的復(fù)雜性 傳輸單位傳輸單位 數(shù)據(jù)表示數(shù)據(jù)表示 出錯條件出錯條件(1 1)按照用戶的請求,控制設(shè)備的各種操)按照用戶的請求,控制設(shè)備的各種操作,完成作,完成I/OI/O設(shè)備與內(nèi)存之間的數(shù)據(jù)交換設(shè)備與內(nèi)存之間的數(shù)據(jù)交換(包括設(shè)備分配與回收;設(shè)備驅(qū)動程序;(包括設(shè)備分配與回收;設(shè)備驅(qū)動程序;設(shè)備中斷處理;緩沖區(qū)管理),最終完設(shè)備中斷處理;緩沖區(qū)管理),最終完成用戶的成用戶的I/OI/O請求請求3.3.設(shè)備管理的目標(biāo)和任務(wù)設(shè)備管理的目標(biāo)和任務(wù)n設(shè)備分配與回收設(shè)備分配

8、與回收 記錄設(shè)備的狀態(tài)記錄設(shè)備的狀態(tài) 根據(jù)用戶的請求和設(shè)備的類型,采用一定根據(jù)用戶的請求和設(shè)備的類型,采用一定的分配算法,選擇一條數(shù)據(jù)通路的分配算法,選擇一條數(shù)據(jù)通路 n建立統(tǒng)一的獨立于設(shè)備的接口建立統(tǒng)一的獨立于設(shè)備的接口n完成設(shè)備驅(qū)動程序,實現(xiàn)真正的完成設(shè)備驅(qū)動程序,實現(xiàn)真正的I/OI/O操作操作n處理外部設(shè)備的中斷處理處理外部設(shè)備的中斷處理n管理管理I/OI/O緩沖區(qū)緩沖區(qū)功能功能(2 2)向用戶提供使用外部設(shè)備的方便)向用戶提供使用外部設(shè)備的方便接口,使用戶擺脫繁瑣的編程負擔(dān)接口,使用戶擺脫繁瑣的編程負擔(dān)n 方便性方便性n 友好界面友好界面n 透明性透明性 邏輯設(shè)備與物理設(shè)備、屏蔽硬件細

9、節(jié)邏輯設(shè)備與物理設(shè)備、屏蔽硬件細節(jié)(設(shè)備的物理細節(jié),錯誤處理,不同(設(shè)備的物理細節(jié),錯誤處理,不同I/OI/O的差異性)的差異性)(3)充分利用各種技術(shù)(通道,中斷,緩)充分利用各種技術(shù)(通道,中斷,緩沖等)提高沖等)提高CPU與設(shè)備、設(shè)備與設(shè)備之與設(shè)備、設(shè)備與設(shè)備之間的并行工作能力,充分利用資源,提間的并行工作能力,充分利用資源,提高資源利用率高資源利用率n 并行性并行性n 均衡性(使設(shè)備充分忙碌)均衡性(使設(shè)備充分忙碌)(4)保證在多道程序環(huán)境下,當(dāng)多個)保證在多道程序環(huán)境下,當(dāng)多個進程競爭使用設(shè)備時,按一定策略進程競爭使用設(shè)備時,按一定策略分配和管理各種設(shè)備,使系統(tǒng)能有分配和管理各種設(shè)備

10、,使系統(tǒng)能有條不紊的工作條不紊的工作(5)保護)保護 設(shè)備傳送或管理的數(shù)據(jù)應(yīng)該是安全的、設(shè)備傳送或管理的數(shù)據(jù)應(yīng)該是安全的、不被破壞的、保密的不被破壞的、保密的(6)與設(shè)備無關(guān)性(設(shè)備獨立性)與設(shè)備無關(guān)性(設(shè)備獨立性) 用戶在編制程序時,使用邏輯設(shè)備名,由用戶在編制程序時,使用邏輯設(shè)備名,由系統(tǒng)實現(xiàn)從邏輯設(shè)備到物理設(shè)備(實際系統(tǒng)實現(xiàn)從邏輯設(shè)備到物理設(shè)備(實際設(shè)備)的轉(zhuǎn)換設(shè)備)的轉(zhuǎn)換 用戶能獨立于具體物理設(shè)備而方便的使用用戶能獨立于具體物理設(shè)備而方便的使用設(shè)備設(shè)備 用戶申請使用設(shè)備時,只需要指定設(shè)備類用戶申請使用設(shè)備時,只需要指定設(shè)備類型,而無須指定具體物理設(shè)備,系統(tǒng)根型,而無須指定具體物理設(shè)備,

11、系統(tǒng)根據(jù)當(dāng)前的請求,及設(shè)備分配的情況,在據(jù)當(dāng)前的請求,及設(shè)備分配的情況,在相同類別設(shè)備中,選擇一個空閑設(shè)備,相同類別設(shè)備中,選擇一個空閑設(shè)備,并將其分配給一個申請進程并將其分配給一個申請進程統(tǒng)一性:統(tǒng)一性: 對不同的設(shè)備采取統(tǒng)一的操作方式,在對不同的設(shè)備采取統(tǒng)一的操作方式,在用戶程序中使用的是邏輯設(shè)備用戶程序中使用的是邏輯設(shè)備優(yōu)點:優(yōu)點: n設(shè)備忙碌或設(shè)備故障時,用戶不必修改設(shè)備忙碌或設(shè)備故障時,用戶不必修改程序程序n改善了系統(tǒng)的可適應(yīng)性和可擴展性改善了系統(tǒng)的可適應(yīng)性和可擴展性 IO軟件的基本思想是按分層的思想構(gòu)成,軟件的基本思想是按分層的思想構(gòu)成,較低層軟件要使較高層軟件獨立于硬件較低層軟件

12、要使較高層軟件獨立于硬件的特性,較高層軟件則要向用戶提供一的特性,較高層軟件則要向用戶提供一個友好的、清晰的、簡單的、功能更強個友好的、清晰的、簡單的、功能更強的接口的接口二、二、I/OI/O軟件的組成軟件的組成 在設(shè)計在設(shè)計I IO O軟件時的一個關(guān)鍵概念是設(shè)備軟件時的一個關(guān)鍵概念是設(shè)備獨立性。用戶在編寫使用軟盤或硬盤上獨立性。用戶在編寫使用軟盤或硬盤上文件的程序時,無需為不同的設(shè)備類型文件的程序時,無需為不同的設(shè)備類型而修改程序就可以使用而修改程序就可以使用 與設(shè)備獨立性密切相關(guān)的是統(tǒng)一命名這與設(shè)備獨立性密切相關(guān)的是統(tǒng)一命名這一目標(biāo)。一個文件或一個設(shè)備的名字只一目標(biāo)。一個文件或一個設(shè)備的名

13、字只應(yīng)是一個簡單的字符串或一個整數(shù),不應(yīng)是一個簡單的字符串或一個整數(shù),不應(yīng)依賴于設(shè)備應(yīng)依賴于設(shè)備1. I1. IO O軟件的目標(biāo)軟件的目標(biāo) 出錯處理是出錯處理是I IO O軟件的另一個目標(biāo)。一般來軟件的另一個目標(biāo)。一般來說,數(shù)據(jù)傳輸中的錯誤應(yīng)盡可能地在接近硬說,數(shù)據(jù)傳輸中的錯誤應(yīng)盡可能地在接近硬件層上處理件層上處理 最后一個問題是可共享設(shè)備和獨占設(shè)備的處最后一個問題是可共享設(shè)備和獨占設(shè)備的處理問題理問題2.2.中斷處理程序中斷處理程序 每個進程在啟動一個每個進程在啟動一個I IO O操作后阻塞操作后阻塞 直到直到I IO O操作完成并產(chǎn)生一個中斷操作完成并產(chǎn)生一個中斷 由操作系統(tǒng)接管由操作系統(tǒng)

14、接管CPUCPU后喚醒該進程為止后喚醒該進程為止3.3.設(shè)備驅(qū)動程序設(shè)備驅(qū)動程序 與設(shè)備密切相關(guān)的代碼放在設(shè)備驅(qū)動程序中,與設(shè)備密切相關(guān)的代碼放在設(shè)備驅(qū)動程序中,每個設(shè)備驅(qū)動程序處理一種設(shè)備類型每個設(shè)備驅(qū)動程序處理一種設(shè)備類型 每一個控制器都設(shè)有一個或多個設(shè)備寄存器,每一個控制器都設(shè)有一個或多個設(shè)備寄存器,用來存放向設(shè)備發(fā)送的命令和參數(shù)。設(shè)備驅(qū)用來存放向設(shè)備發(fā)送的命令和參數(shù)。設(shè)備驅(qū)動程序負責(zé)釋放這些命令,并監(jiān)督它們正確動程序負責(zé)釋放這些命令,并監(jiān)督它們正確執(zhí)行執(zhí)行 一般,設(shè)備驅(qū)動程序的任務(wù)是接收來自與設(shè)一般,設(shè)備驅(qū)動程序的任務(wù)是接收來自與設(shè)備無關(guān)的上層軟件的抽象請求,并執(zhí)行這個備無關(guān)的上層軟件

15、的抽象請求,并執(zhí)行這個請求請求 在設(shè)備驅(qū)動程序的進程釋放一條或多條命令在設(shè)備驅(qū)動程序的進程釋放一條或多條命令后,系統(tǒng)有兩種處理方式,多數(shù)情況下,執(zhí)后,系統(tǒng)有兩種處理方式,多數(shù)情況下,執(zhí)行設(shè)備驅(qū)動程序的進程必須等待命令完成,行設(shè)備驅(qū)動程序的進程必須等待命令完成,這樣,在命令開始執(zhí)行后,它阻塞自已,直這樣,在命令開始執(zhí)行后,它阻塞自已,直到中斷處理時將它解除阻塞為止。而在其它到中斷處理時將它解除阻塞為止。而在其它情況下,命令執(zhí)行不必延遲就很快完成情況下,命令執(zhí)行不必延遲就很快完成 4.4.設(shè)備獨立的軟件設(shè)備獨立的軟件 雖然雖然I IO O軟件中一部分是設(shè)備專用的,但大軟件中一部分是設(shè)備專用的,但大

16、部分軟件是與設(shè)備無關(guān)的。設(shè)備驅(qū)動程序與部分軟件是與設(shè)備無關(guān)的。設(shè)備驅(qū)動程序與設(shè)備獨立軟件之間的確切界限是依賴于具體設(shè)備獨立軟件之間的確切界限是依賴于具體系統(tǒng)的系統(tǒng)的 1. 1.獨立于設(shè)備的軟件的基本任務(wù)是實現(xiàn)所有獨立于設(shè)備的軟件的基本任務(wù)是實現(xiàn)所有設(shè)備都需要的功能,并且向用戶級軟件提供設(shè)備都需要的功能,并且向用戶級軟件提供一個統(tǒng)一的接口一個統(tǒng)一的接口 2.2.如何給文件和設(shè)備這樣的對象命名是操作如何給文件和設(shè)備這樣的對象命名是操作系統(tǒng)中的一個主要課題。獨立于設(shè)備的軟件系統(tǒng)中的一個主要課題。獨立于設(shè)備的軟件負責(zé)把設(shè)備的符號名映射到正確的設(shè)備驅(qū)動負責(zé)把設(shè)備的符號名映射到正確的設(shè)備驅(qū)動上上 3.3.

17、設(shè)備保護設(shè)備保護 系統(tǒng)如何防止無權(quán)存取設(shè)備的用戶存取設(shè)備系統(tǒng)如何防止無權(quán)存取設(shè)備的用戶存取設(shè)備呢?呢? 4. 4.不同的磁盤可以采用不同的扇區(qū)尺寸。向不同的磁盤可以采用不同的扇區(qū)尺寸。向較高層軟件掩蓋這一事實并提供大小統(tǒng)一的較高層軟件掩蓋這一事實并提供大小統(tǒng)一的塊尺寸,這正是設(shè)備獨立軟件的一個任務(wù)。塊尺寸,這正是設(shè)備獨立軟件的一個任務(wù)。它可將若干扇區(qū)合成一個邏輯塊。這樣,較它可將若干扇區(qū)合成一個邏輯塊。這樣,較高層的軟件只與抽象設(shè)備打交道,獨立于物高層的軟件只與抽象設(shè)備打交道,獨立于物理扇區(qū)的尺寸而使用等長的邏輯塊理扇區(qū)的尺寸而使用等長的邏輯塊 5.5.緩沖技術(shù)緩沖技術(shù) 6.6.設(shè)備分配設(shè)備分

18、配 7.7.出錯處理出錯處理 5.5.用戶空間的用戶空間的I IO O軟件軟件 盡管大部分盡管大部分I IO O軟件都包含在操作系統(tǒng)中,軟件都包含在操作系統(tǒng)中,但仍有一小部分是由與用戶程序連接在一起但仍有一小部分是由與用戶程序連接在一起的庫過程,甚至完全由運行于核外的程序構(gòu)的庫過程,甚至完全由運行于核外的程序構(gòu)成。系統(tǒng)調(diào)用,包括成。系統(tǒng)調(diào)用,包括I IO O系統(tǒng)調(diào)用,通常由系統(tǒng)調(diào)用,通常由庫過程實現(xiàn)庫過程實現(xiàn) 這些過程所做的工作只是將系統(tǒng)調(diào)用時所用這些過程所做的工作只是將系統(tǒng)調(diào)用時所用的參數(shù)放在合適的位置,由其它的的參數(shù)放在合適的位置,由其它的I IO O過程過程實際實現(xiàn)真正的操作實際實現(xiàn)真正

19、的操作(1 1)用戶進程層執(zhí)行輸入輸出系統(tǒng)調(diào)用,對)用戶進程層執(zhí)行輸入輸出系統(tǒng)調(diào)用,對I IO O數(shù)據(jù)進行格式化,為假脫機輸入輸出數(shù)據(jù)進行格式化,為假脫機輸入輸出作準備作準備(2 2)獨立于設(shè)備的軟件實現(xiàn)設(shè)備的命名、設(shè))獨立于設(shè)備的軟件實現(xiàn)設(shè)備的命名、設(shè)備的保護、成塊處理、緩沖技術(shù)和設(shè)備分配備的保護、成塊處理、緩沖技術(shù)和設(shè)備分配(3 3)設(shè)備驅(qū)動程序設(shè)置設(shè)備寄存器、檢查設(shè))設(shè)備驅(qū)動程序設(shè)置設(shè)備寄存器、檢查設(shè)備的執(zhí)行狀態(tài)備的執(zhí)行狀態(tài)(4 4)中斷處理程序負責(zé))中斷處理程序負責(zé)I IO O完成時,喚醒設(shè)完成時,喚醒設(shè)備驅(qū)動程序進程,進行中斷處理備驅(qū)動程序進程,進行中斷處理(5 5)硬件層實現(xiàn)物理)

20、硬件層實現(xiàn)物理I IO O的操作的操作1.1.設(shè)備組成設(shè)備組成 I IO O設(shè)備一般由機械和電子兩部分組成設(shè)備一般由機械和電子兩部分組成 把這兩部分分開處理,以提供更加模塊化,把這兩部分分開處理,以提供更加模塊化,更加通用的設(shè)計更加通用的設(shè)計三、三、I/OI/O硬件特點硬件特點 (1 1)物理設(shè)備)物理設(shè)備 機械部分是設(shè)備本身(物理裝置)機械部分是設(shè)備本身(物理裝置)(2 2)設(shè)備控制器)設(shè)備控制器 電子部分叫做設(shè)備控制器或適配器。電子部分叫做設(shè)備控制器或適配器。 在小型和微型機中,它常采用印刷電路卡在小型和微型機中,它常采用印刷電路卡插入計算機中(接口)插入計算機中(接口) 完成設(shè)備與主機間

21、的連接和通訊完成設(shè)備與主機間的連接和通訊 控制器卡上通常有一個插座,通過電纜與設(shè)控制器卡上通常有一個插座,通過電纜與設(shè)備相連備相連 控制器和設(shè)備之間的接口是一個標(biāo)準接口,控制器和設(shè)備之間的接口是一個標(biāo)準接口,它符合它符合ANSIANSI、IEEEIEEE或或ISOISO這樣的國際標(biāo)準這樣的國際標(biāo)準CPU外部設(shè)備控控制制邏邏輯輯電電路路控制寄存器控制寄存器狀態(tài)寄存器狀態(tài)寄存器數(shù)據(jù)寄存器數(shù)據(jù)寄存器I/OI/O設(shè)備特點:設(shè)備特點:(1 1)操作異步性)操作異步性(2 2)設(shè)備自治性)設(shè)備自治性(3 3)接口通用性)接口通用性 關(guān)注點:對該硬件如何進行程序設(shè)計,不考慮設(shè)備關(guān)注點:對該硬件如何進行程序設(shè)

22、計,不考慮設(shè)備內(nèi)部如何工作內(nèi)部如何工作 程序員:軟件接口程序員:軟件接口 即硬件所接受的命令,它所完成的功能,報回的錯即硬件所接受的命令,它所完成的功能,報回的錯誤誤2.2.設(shè)備接口設(shè)備接口 一個一個I/OI/O過程由四步組成:過程由四步組成: 準備準備 啟動啟動 測試和等待測試和等待 結(jié)果檢查和錯誤處理結(jié)果檢查和錯誤處理 通過對設(shè)備接口寄存器組的讀寫完成通過對設(shè)備接口寄存器組的讀寫完成 設(shè)備接口復(fù)雜繁瑣設(shè)備接口復(fù)雜繁瑣 操作系統(tǒng)將命令寫入控制器寄存器中,以實操作系統(tǒng)將命令寫入控制器寄存器中,以實現(xiàn)輸入輸出現(xiàn)輸入輸出 例如:例如:IBM PCIBM PC的軟盤控制器可接收的軟盤控制器可接收15

23、15條命令,條命令,READREAD、WRITEWRITE、FORMATFORMAT、SEEKSEEK、RECALIBRATERECALIBRATE,命令可以帶參數(shù)。它們被一起送入控制器的命令可以帶參數(shù)。它們被一起送入控制器的寄存器中寄存器中 當(dāng)控制器接受一條命令后,可獨立于當(dāng)控制器接受一條命令后,可獨立于CPUCPU完成完成指定操作,指定操作,CPUCPU可以轉(zhuǎn)去執(zhí)行其它運算。命可以轉(zhuǎn)去執(zhí)行其它運算。命令完成時,控制器產(chǎn)生一個中斷,令完成時,控制器產(chǎn)生一個中斷,CPUCPU響應(yīng)響應(yīng)中斷,控制轉(zhuǎn)給操作系統(tǒng)。中斷,控制轉(zhuǎn)給操作系統(tǒng)。CPUCPU通過讀控制通過讀控制器寄存器中的信息,獲得操作結(jié)果和

24、設(shè)備狀器寄存器中的信息,獲得操作結(jié)果和設(shè)備狀態(tài)態(tài) 控制器與設(shè)備之間的接口常常是一個低級控制器與設(shè)備之間的接口常常是一個低級接口。例如磁盤,可以按每個磁道接口。例如磁盤,可以按每個磁道8 8扇區(qū),扇區(qū),每個扇區(qū)每個扇區(qū)512512個字節(jié)進行格式化。然而,個字節(jié)進行格式化。然而,實際從驅(qū)動器出來的卻是一連串的位流,實際從驅(qū)動器出來的卻是一連串的位流,以一個頭標(biāo)(以一個頭標(biāo)(preamblepreamble)開始,然后是一)開始,然后是一個扇區(qū)的個扇區(qū)的40964096位(位(5125128 8),最后是檢查),最后是檢查和或錯誤校驗碼(和或錯誤校驗碼(ErrorCErrorC一一C C:ECCEC

25、C)。)。頭標(biāo)是在對磁盤格式化時寫上的,它包括頭標(biāo)是在對磁盤格式化時寫上的,它包括柱面和扇區(qū)數(shù),扇區(qū)的大小和類似的一些柱面和扇區(qū)數(shù),扇區(qū)的大小和類似的一些數(shù)據(jù)數(shù)據(jù) 控制器的任務(wù)是把串行的位流轉(zhuǎn)換為字節(jié)控制器的任務(wù)是把串行的位流轉(zhuǎn)換為字節(jié)塊,并進行必要的錯誤修正。首先,控塊,并進行必要的錯誤修正。首先,控制器按位進行組裝,然后存入控制器內(nèi)制器按位進行組裝,然后存入控制器內(nèi)部的緩沖區(qū)中形成以字節(jié)為單位的塊。部的緩沖區(qū)中形成以字節(jié)為單位的塊。在對塊驗證檢查和并證明無錯誤時,再在對塊驗證檢查和并證明無錯誤時,再將它復(fù)制到主存中將它復(fù)制到主存中3.3.設(shè)備連接模式設(shè)備連接模式 指指I/OI/O設(shè)備與設(shè)備

26、與CPUCPU之間的連接方式,亦即將設(shè)之間的連接方式,亦即將設(shè)備連接到一個計算機系統(tǒng)上的方式備連接到一個計算機系統(tǒng)上的方式 在一個確定的連接模式下,從在一個確定的連接模式下,從I/OI/O設(shè)備到設(shè)備到CPUCPU間的所有連接成分構(gòu)成了一條間的所有連接成分構(gòu)成了一條I/OI/O路徑(路徑(I/OI/O鏈)鏈)設(shè)備與主機間最基本的連接方式設(shè)備與主機間最基本的連接方式 四個要素:四個要素: 設(shè)備接口形式設(shè)備接口形式 I/OI/O指令形式指令形式 I/OI/O地址空間分配及譯碼地址空間分配及譯碼 連線問題連線問題(1)(1)設(shè)備接口形式設(shè)備接口形式 * * 端口地址譯碼端口地址譯碼 * * 按照主機與

27、設(shè)備的約定格式和過程接受或按照主機與設(shè)備的約定格式和過程接受或發(fā)送數(shù)據(jù)和信號發(fā)送數(shù)據(jù)和信號 計算機計算機 設(shè)備設(shè)備 設(shè)備設(shè)備 計算機計算機 * * 將計算機的數(shù)字信號轉(zhuǎn)換為機械部分能識將計算機的數(shù)字信號轉(zhuǎn)換為機械部分能識別的模擬信號,或反過來別的模擬信號,或反過來 * * 實現(xiàn)一些諸如設(shè)備內(nèi)部硬件緩沖存儲、數(shù)實現(xiàn)一些諸如設(shè)備內(nèi)部硬件緩沖存儲、數(shù)據(jù)加工的提高性能或增強功能的任務(wù)據(jù)加工的提高性能或增強功能的任務(wù)(2)(2)端口編址方法端口編址方法 接口電路中:多個寄存器接口電路中:多個寄存器 一個寄存器有唯一的一個地址,每個地一個寄存器有唯一的一個地址,每個地址為址為I/OI/O端口,該地址稱為端

28、口,該地址稱為I/OI/O端口地址。端口地址。 I/OI/O指令形式與指令形式與I/OI/O地址是相互關(guān)聯(lián)的,地址是相互關(guān)聯(lián)的,主要有兩種形式:主要有兩種形式: 內(nèi)存映像編址(內(nèi)存映像內(nèi)存映像編址(內(nèi)存映像I/OI/O模式)模式) I/OI/O獨立編址(獨立編址(I/OI/O專用指令)專用指令)I/O獨立編址獨立編址n分配給系統(tǒng)中所有端口的地址空間是完全獨立的,分配給系統(tǒng)中所有端口的地址空間是完全獨立的,與內(nèi)存的地址空間沒有關(guān)系與內(nèi)存的地址空間沒有關(guān)系n主機使用專門的主機使用專門的I/O指令對端口進行操作指令對端口進行操作n優(yōu)點優(yōu)點n外部設(shè)備不占用內(nèi)存的地址空間外部設(shè)備不占用內(nèi)存的地址空間n程

29、序設(shè)計時,易于區(qū)分是對內(nèi)存操作還是對程序設(shè)計時,易于區(qū)分是對內(nèi)存操作還是對I/O端口操作端口操作n缺點:缺點:對對I/O端口操作的指令類型少,操作不靈活端口操作的指令類型少,操作不靈活n例子:例子:8086/8088,分配給,分配給I/O端口的地址空間端口的地址空間64K,0000H0FFFFH,只能用,只能用IN和和OUT指令對其進行指令對其進行讀寫操作讀寫操作存儲映像編址存儲映像編址n分配給系統(tǒng)中所有端口的地址空間與內(nèi)存的地分配給系統(tǒng)中所有端口的地址空間與內(nèi)存的地址空間統(tǒng)一編址址空間統(tǒng)一編址n主機把主機把I/O端口看作一個存儲單元,對端口看作一個存儲單元,對I/O的讀的讀寫操作等同于對存儲

30、器的操作寫操作等同于對存儲器的操作n優(yōu)點優(yōu)點n凡是可對存儲器操作的指令都可對凡是可對存儲器操作的指令都可對I/O端口端口操作操作n不需要專門的不需要專門的I/O指令指令nI/O端口可占有較大的地址空間端口可占有較大的地址空間n缺點:占用內(nèi)存空間缺點:占用內(nèi)存空間 設(shè)備完成技術(shù):系統(tǒng)如何知道設(shè)備的一次設(shè)備完成技術(shù):系統(tǒng)如何知道設(shè)備的一次I/OI/O操作是否完成?操作是否完成? 對對CPUCPU編程的編程的I/OI/O技術(shù):技術(shù):CPUCPU必須親自完成必須親自完成I/OI/O的啟動與完成的處理,親自執(zhí)行所有的啟動與完成的處理,親自執(zhí)行所有數(shù)據(jù)在內(nèi)存和設(shè)備之間的實際物理傳送數(shù)據(jù)在內(nèi)存和設(shè)備之間的實

31、際物理傳送4.4.要考慮的幾個問題要考慮的幾個問題 一次一次I/O I/O 傳送過程:傳送過程: 準備準備傳送傳送后處理后處理例:一個打印機有兩個例:一個打印機有兩個I/OI/O設(shè)備寄存器設(shè)備寄存器 狀態(tài)寄存器狀態(tài)寄存器 數(shù)據(jù)寄存器數(shù)據(jù)寄存器設(shè)備完成技術(shù)設(shè)備完成技術(shù)設(shè)備的一次操作是否完成?設(shè)備的一次操作是否完成? 測試設(shè)備的一個硬件信號測試設(shè)備的一個硬件信號幾種測試模式:幾種測試模式:(1 1)I/OI/O測試指令測試指令(2 2)中斷技術(shù))中斷技術(shù)使使CPUCPU利用率盡可能不被利用率盡可能不被I/OI/O降低降低 使使CPUCPU盡可能擺脫盡可能擺脫I/OI/On 提高提高I/OI/O本身

32、的絕對速度本身的絕對速度n 減少或緩解速度差距減少或緩解速度差距 n 使使CPUCPU不等待不等待I/O I/O 進一步改善進一步改善提高設(shè)備利用率提高設(shè)備利用率在設(shè)備與主機的硬連接上,引入總線,節(jié)在設(shè)備與主機的硬連接上,引入總線,節(jié)省連線并提供配置擴充與改變時的靈活性;省連線并提供配置擴充與改變時的靈活性;引入控制器,擴大設(shè)備與主機間的相互適引入控制器,擴大設(shè)備與主機間的相互適用范圍用范圍小結(jié):控制器與設(shè)備的分離,循環(huán)測試到小結(jié):控制器與設(shè)備的分離,循環(huán)測試到中斷,對中斷,對CPUCPU編程式的編程式的I/OI/O到到DMADMA,聯(lián)機,聯(lián)機I/OI/O到假脫機到假脫機四、設(shè)備有關(guān)技術(shù)四、設(shè)

33、備有關(guān)技術(shù)1.Spooling1.Spooling(虛擬設(shè)備)技術(shù)(虛擬設(shè)備)技術(shù) 一個虛擬設(shè)備一個虛擬設(shè)備 一個資源轉(zhuǎn)換技術(shù)一個資源轉(zhuǎn)換技術(shù)(用空間,如輸入,輸出等換取(用空間,如輸入,輸出等換取CPUCPU時間)時間)解決問題:解決問題: 在進程所需物理設(shè)備不存在或被占用時使用在進程所需物理設(shè)備不存在或被占用時使用該設(shè)備該設(shè)備假若進程打開打印機特殊文件后幾小時內(nèi)無所事事,假若進程打開打印機特殊文件后幾小時內(nèi)無所事事,其他進程什么都打印不了!其他進程什么都打印不了!解決方案:解決方案:n創(chuàng)建值班(精靈)進程(創(chuàng)建值班(精靈)進程(daemondaemon)、)、SPOOLingSPOOLin

34、g目錄目錄n進程首先生成要打印的文件,放入進程首先生成要打印的文件,放入SPOOLingSPOOLing目錄目錄n值班進程:唯一獲準使用打印機特殊文件的進程值班進程:唯一獲準使用打印機特殊文件的進程 用以打印用以打印SPOOLingSPOOLing目錄里的文件目錄里的文件n通過禁止對特殊文件的直接使用、提高了使用效率通過禁止對特殊文件的直接使用、提高了使用效率打印機的打印機的SPOOLingSPOOLing值班進程值班進程網(wǎng)絡(luò)的網(wǎng)絡(luò)的SPOOLingSPOOLing值班進程值班進程SPOOLingSPOOLing技術(shù)今天仍被廣泛使用技術(shù)今天仍被廣泛使用n網(wǎng)絡(luò)文件傳送網(wǎng)絡(luò)文件傳送 先把文件送到網(wǎng)

35、絡(luò)先把文件送到網(wǎng)絡(luò)SPOOLingSPOOLing目錄,然后網(wǎng)絡(luò)值班進目錄,然后網(wǎng)絡(luò)值班進程把它取出并傳遞到目標(biāo)地址程把它取出并傳遞到目標(biāo)地址nInternetInternet電子郵件系統(tǒng)電子郵件系統(tǒng) 為了寄郵,調(diào)用電子郵件程序為了寄郵,調(diào)用電子郵件程序 待發(fā)信存在待發(fā)信存在SPOOLingSPOOLing中供以后傳輸中供以后傳輸n注意:注意:SPOOLingSPOOLing只提高設(shè)備利用率,縮短用戶程序執(zhí)只提高設(shè)備利用率,縮短用戶程序執(zhí)行時間,并不提高行時間,并不提高CPUCPU利用率利用率(1)定義:通道是獨立于定義:通道是獨立于CPUCPU的專門的專門負責(zé)數(shù)據(jù)輸入負責(zé)數(shù)據(jù)輸入/ /輸出傳

36、輸工作的處理輸出傳輸工作的處理機,對外部設(shè)備實現(xiàn)統(tǒng)一管理,代機,對外部設(shè)備實現(xiàn)統(tǒng)一管理,代替替CPUCPU對輸入對輸入/ /輸出操作進行控制,輸出操作進行控制,從而使輸入,輸出操作可與從而使輸入,輸出操作可與CPUCPU并行并行操作。操作。 可以執(zhí)行通道程序可以執(zhí)行通道程序2.通道技術(shù)通道技術(shù)(2)引入通道的目的)引入通道的目的 為了使為了使CPU從從I/O事務(wù)中解脫出來,同時事務(wù)中解脫出來,同時為了提高為了提高CPU與設(shè)備,設(shè)備與設(shè)備之間與設(shè)備,設(shè)備與設(shè)備之間的并行工作能力的并行工作能力n字節(jié)多路通道字節(jié)多路通道 字節(jié)多路通道以字節(jié)為單位傳輸信息,它可以字節(jié)多路通道以字節(jié)為單位傳輸信息,它可

37、以分時地執(zhí)行多個通道程序。當(dāng)一個通道程序控分時地執(zhí)行多個通道程序。當(dāng)一個通道程序控制某臺設(shè)備傳送一個字節(jié)后,通道硬件就控制制某臺設(shè)備傳送一個字節(jié)后,通道硬件就控制轉(zhuǎn)去執(zhí)行另一個通道程序,控制另一臺設(shè)備傳轉(zhuǎn)去執(zhí)行另一個通道程序,控制另一臺設(shè)備傳送信息送信息 主要連接以字節(jié)為單位的低速主要連接以字節(jié)為單位的低速I/OI/O設(shè)備。如打設(shè)備。如打印機,終端。印機,終端。 以字節(jié)為單位交叉?zhèn)鬏敚?dāng)一臺傳送一個字節(jié)以字節(jié)為單位交叉?zhèn)鬏敚?dāng)一臺傳送一個字節(jié)后,立即轉(zhuǎn)去為另一臺傳送字節(jié)后,立即轉(zhuǎn)去為另一臺傳送字節(jié)(3)分類)分類n選擇通道選擇通道 選擇通道是以成組方式工作的,即每次傳送選擇通道是以成組方式工作

38、的,即每次傳送一批數(shù)據(jù),故傳送速度很高。選擇通道在一一批數(shù)據(jù),故傳送速度很高。選擇通道在一段時間內(nèi)只能執(zhí)行一個通道程序,只允許一段時間內(nèi)只能執(zhí)行一個通道程序,只允許一臺設(shè)備進行數(shù)據(jù)傳輸臺設(shè)備進行數(shù)據(jù)傳輸 當(dāng)這臺設(shè)備數(shù)據(jù)傳輸完成后,再選擇與通道當(dāng)這臺設(shè)備數(shù)據(jù)傳輸完成后,再選擇與通道連接的另一臺設(shè)備,執(zhí)行它的相應(yīng)的通道程連接的另一臺設(shè)備,執(zhí)行它的相應(yīng)的通道程序序 主要連接磁盤,磁帶等高速主要連接磁盤,磁帶等高速I/OI/O設(shè)備設(shè)備選擇通道選擇通道n成組多路通道成組多路通道 它結(jié)合了選擇通道傳送速度高和字節(jié)多路通道能進它結(jié)合了選擇通道傳送速度高和字節(jié)多路通道能進行分時并行操作的優(yōu)點。它先為一臺設(shè)備執(zhí)

39、行一條行分時并行操作的優(yōu)點。它先為一臺設(shè)備執(zhí)行一條通道指令,然后自動轉(zhuǎn)接,為另一臺設(shè)備執(zhí)行一條通道指令,然后自動轉(zhuǎn)接,為另一臺設(shè)備執(zhí)行一條通道指令通道指令 主要連接高速設(shè)備主要連接高速設(shè)備 這樣,對于連接多臺磁盤機的數(shù)組多路通道,它可這樣,對于連接多臺磁盤機的數(shù)組多路通道,它可以啟動它們同時執(zhí)行移臂定位操作,然后,按序交以啟動它們同時執(zhí)行移臂定位操作,然后,按序交叉地傳輸一批批數(shù)據(jù)。數(shù)據(jù)多路通道實際上是對通叉地傳輸一批批數(shù)據(jù)。數(shù)據(jù)多路通道實際上是對通道程序采用多道程序設(shè)計的硬件實現(xiàn)道程序采用多道程序設(shè)計的硬件實現(xiàn)(4)硬件連接結(jié)構(gòu))硬件連接結(jié)構(gòu) 通道:通道:執(zhí)行通道程序,向控制器發(fā)出命令,并執(zhí)

40、行通道程序,向控制器發(fā)出命令,并具有向具有向CPUCPU發(fā)中斷信號的功能。發(fā)中斷信號的功能。 一旦一旦CPUCPU發(fā)出發(fā)出指令,啟動通道,則通道獨立于指令,啟動通道,則通道獨立于CPUCPU工作。一工作。一個通道可連接多個控制器,一個控制器可連接個通道可連接多個控制器,一個控制器可連接多個設(shè)備,形成樹形交叉連接多個設(shè)備,形成樹形交叉連接 主要目的是啟動外設(shè)時:主要目的是啟動外設(shè)時:提高了控制器效率提高了控制器效率提高可靠性提高可靠性提高并行度提高并行度交叉連接交叉連接(5)通道工作原理通道工作原理 通道相當(dāng)于一個功能簡單的處理機,包含通道相當(dāng)于一個功能簡單的處理機,包含通道指令(空操作,讀操作

41、,寫操作,通道指令(空操作,讀操作,寫操作,控制,轉(zhuǎn)移操作),并可執(zhí)行用這些指控制,轉(zhuǎn)移操作),并可執(zhí)行用這些指令編寫的通道程序令編寫的通道程序n通道運算控制部件通道運算控制部件通道地址字通道地址字 CAW: 記錄通道程序在內(nèi)存中的地址記錄通道程序在內(nèi)存中的地址通道命令字通道命令字 CCW: 保存正在執(zhí)行的通道指令保存正在執(zhí)行的通道指令通道狀態(tài)字通道狀態(tài)字 CSW: 存放通道執(zhí)行后的返回結(jié)果存放通道執(zhí)行后的返回結(jié)果通道數(shù)據(jù)字通道數(shù)據(jù)字 CDW:存放傳輸數(shù)據(jù):存放傳輸數(shù)據(jù) 通道和通道和CPU共用內(nèi)存,通過周期竊取方式取得共用內(nèi)存,通過周期竊取方式取得n通道命令及格式通道命令及格式 用于用于I/O

42、I/O操作的命令主要有兩種:操作的命令主要有兩種: I/OI/O指令:啟動通道程序指令:啟動通道程序 通道命令:對通道命令:對I/OI/O操作進行控制操作進行控制 讀、反讀、寫、測試設(shè)備狀態(tài)的數(shù)據(jù)傳讀、反讀、寫、測試設(shè)備狀態(tài)的數(shù)據(jù)傳輸命令、用于設(shè)備控制的命令(磁帶反輸命令、用于設(shè)備控制的命令(磁帶反繞、換頁)、實現(xiàn)通道程序內(nèi)部控制的繞、換頁)、實現(xiàn)通道程序內(nèi)部控制的轉(zhuǎn)移命令轉(zhuǎn)移命令 命令格式一般包括:操作碼、數(shù)據(jù)傳輸命令格式一般包括:操作碼、數(shù)據(jù)傳輸內(nèi)存地址、特征位、計數(shù)器內(nèi)存地址、特征位、計數(shù)器 編制一個通道程序,從磁帶機上讀入編制一個通道程序,從磁帶機上讀入200200字節(jié)的信息,送入內(nèi)存

43、(字節(jié)的信息,送入內(nèi)存(10001000)16 16 開始開始的單元。的單元。 通道命令碼:通道命令碼:“07”07”反繞反繞 “02”02”讀讀 CCW1 X “07” CCW1 X “07” * * X “40” 1 X “40” 1; CCW2 X “02” 1000 X “00” 200CCW2 X “02” 1000 X “00” 200;n工作原理工作原理 CPUCPU:執(zhí)行用戶程序,當(dāng)遇到:執(zhí)行用戶程序,當(dāng)遇到I/OI/O請求時,請求時,可根據(jù)該請求生成通道程序放入內(nèi)存可根據(jù)該請求生成通道程序放入內(nèi)存(也可事先編好放入內(nèi)存),并將該通(也可事先編好放入內(nèi)存),并將該通道程序的首地

44、址放入道程序的首地址放入CAWCAW中;之后執(zhí)行中;之后執(zhí)行“啟動啟動I/O”I/O”指令,啟動通道工作指令,啟動通道工作 通道:接收到通道:接收到“啟動啟動I/O”I/O”指令后,從指令后,從CAWCAW中取出通道程序的首地址,并根據(jù)首地中取出通道程序的首地址,并根據(jù)首地址取出第一條指令放入址取出第一條指令放入CCWCCW中,同時向中,同時向CPUCPU發(fā)回答信號,使發(fā)回答信號,使CPUCPU可繼續(xù)執(zhí)行其他可繼續(xù)執(zhí)行其他程序,而通道則開始執(zhí)行通道程序,完程序,而通道則開始執(zhí)行通道程序,完成傳輸工作成傳輸工作(通道程序完成實際(通道程序完成實際I/OI/O,啟動,啟動I/OI/O設(shè)備,設(shè)備,執(zhí)

45、行完畢后執(zhí)行完畢后, ,如果還有下一條指令,則繼如果還有下一條指令,則繼續(xù)執(zhí)行續(xù)執(zhí)行, , 否則表示傳輸完成)否則表示傳輸完成) 當(dāng)通道傳輸完成最后一條指令時,向當(dāng)通道傳輸完成最后一條指令時,向CPU發(fā)發(fā)I/O中斷,并且通道停止工作。中斷,并且通道停止工作。CPU接收中斷信號,從接收中斷信號,從CSW中取得有關(guān)中取得有關(guān)信息,決定下一步做什么信息,決定下一步做什么通道的發(fā)展通道的發(fā)展n新的通道思想綜合了許多新的技術(shù)新的通道思想綜合了許多新的技術(shù)n在個人計算機中,芯片組中專門在個人計算機中,芯片組中專門I/O處理的芯片,稱為處理的芯片,稱為IOP(IO Processor),發(fā)揮通道的作用),發(fā)

46、揮通道的作用nIBM 390 中,沿用了輸入輸出通道概念中,沿用了輸入輸出通道概念 IBM于于1998年推出光纖通道技術(shù)(稱為年推出光纖通道技術(shù)(稱為FICON),可),可通過通過 FICON 連接多達連接多達127個大容量個大容量I/O設(shè)備。傳輸速度設(shè)備。傳輸速度是是333MHzs,未來將達到,未來將達到1GHzs。 光纖通道技術(shù)具有數(shù)據(jù)傳輸速率高、傳輸距離遠,可簡光纖通道技術(shù)具有數(shù)據(jù)傳輸速率高、傳輸距離遠,可簡化大型存儲系統(tǒng)設(shè)計的優(yōu)點化大型存儲系統(tǒng)設(shè)計的優(yōu)點 在大容量高速存儲,如大型數(shù)據(jù)庫、多媒體、數(shù)字影在大容量高速存儲,如大型數(shù)據(jù)庫、多媒體、數(shù)字影像等應(yīng)用領(lǐng)域,有廣泛前景像等應(yīng)用領(lǐng)域,有

47、廣泛前景3.DMA技術(shù)技術(shù) 數(shù)據(jù)在內(nèi)存與數(shù)據(jù)在內(nèi)存與I/OI/O設(shè)備間的直接成塊傳送設(shè)備間的直接成塊傳送 CPUCPU在開始時向設(shè)備發(fā)在開始時向設(shè)備發(fā)“傳送一塊傳送一塊”命令,命令,結(jié)束時進行相應(yīng)處理,實際操作由結(jié)束時進行相應(yīng)處理,實際操作由DMADMA硬件硬件直接完成直接完成 DMADMA能夠通過系統(tǒng)總線代替能夠通過系統(tǒng)總線代替CPUCPU管理數(shù)據(jù)的存管理數(shù)據(jù)的存入或取出入或取出n 當(dāng)當(dāng)CPUCPU不需要系統(tǒng)總線時可以使用總線不需要系統(tǒng)總線時可以使用總線n DMADMA可以強迫可以強迫CPUCPU暫時延遲其他操作,獲暫時延遲其他操作,獲取一個總線周期(周期竊取)取一個總線周期(周期竊取)DM

48、A方式與中斷的主要區(qū)別方式與中斷的主要區(qū)別n中斷方式是在數(shù)據(jù)緩沖寄存區(qū)滿后,發(fā)中斷中斷方式是在數(shù)據(jù)緩沖寄存區(qū)滿后,發(fā)中斷請求,請求,CPU進行中斷處理進行中斷處理 DMA方式則是在所要求傳送的數(shù)據(jù)塊全部方式則是在所要求傳送的數(shù)據(jù)塊全部傳送結(jié)束時要求傳送結(jié)束時要求CPU進行中斷處理進行中斷處理 大大減少了大大減少了CPU進行中斷處理的次數(shù)進行中斷處理的次數(shù)n中斷方式的數(shù)據(jù)傳送是由中斷方式的數(shù)據(jù)傳送是由CPU控制完成的控制完成的 而而DMA方式則是在方式則是在DMA控制器的控制下不控制器的控制下不經(jīng)過經(jīng)過CPU控制完成的控制完成的 不用不用DMADMA時,磁盤如何讀:時,磁盤如何讀: 首先,控制器

49、從磁盤驅(qū)動器串行地一位一位地首先,控制器從磁盤驅(qū)動器串行地一位一位地讀一個塊,直到將整塊信息放入控制器的內(nèi)部讀一個塊,直到將整塊信息放入控制器的內(nèi)部緩沖區(qū)中緩沖區(qū)中 其次,它做和校驗計算,以核實沒有讀錯誤發(fā)其次,它做和校驗計算,以核實沒有讀錯誤發(fā)生生 然后控制器產(chǎn)生一個中斷。然后控制器產(chǎn)生一個中斷。CPUCPU響應(yīng)中斷,控響應(yīng)中斷,控制轉(zhuǎn)給操作系統(tǒng)。當(dāng)操作系統(tǒng)開始運行時,它制轉(zhuǎn)給操作系統(tǒng)。當(dāng)操作系統(tǒng)開始運行時,它重復(fù)地從控制器緩沖區(qū)中一次一個字節(jié)或一個重復(fù)地從控制器緩沖區(qū)中一次一個字節(jié)或一個字地讀這個磁盤塊的信息,并將其送入內(nèi)存中字地讀這個磁盤塊的信息,并將其送入內(nèi)存中 采用采用DMADMA方

50、式時,允許方式時,允許DMADMA控制器接管地址控制器接管地址線的控制權(quán),直接控制線的控制權(quán),直接控制DMADMA控制器與內(nèi)存控制器與內(nèi)存的數(shù)據(jù)交換。從而使磁盤設(shè)備與儲器之的數(shù)據(jù)交換。從而使磁盤設(shè)備與儲器之間的數(shù)據(jù)傳送不需要間的數(shù)據(jù)傳送不需要CPUCPU介入,因而減輕介入,因而減輕了了CPUCPU負擔(dān)負擔(dān) 當(dāng)采用當(dāng)采用DMADMA時,除向控制器提供要讀塊的時,除向控制器提供要讀塊的磁盤地址外,還要向控制器提供兩個信磁盤地址外,還要向控制器提供兩個信息:要讀塊送往內(nèi)存的起始地址和要傳息:要讀塊送往內(nèi)存的起始地址和要傳送的字節(jié)數(shù)送的字節(jié)數(shù) 當(dāng)當(dāng)DMADMA硬件控制磁盤與存儲器之間進行信息交換硬件控

51、制磁盤與存儲器之間進行信息交換時,每當(dāng)磁盤把一個數(shù)據(jù)讀入控制器的數(shù)據(jù)緩時,每當(dāng)磁盤把一個數(shù)據(jù)讀入控制器的數(shù)據(jù)緩沖區(qū)時,沖區(qū)時,DMADMA控制器取代控制器取代CPUCPU,接管地址總線的,接管地址總線的控制權(quán),并按照控制權(quán),并按照DMADMA控制器中的存儲器地址寄控制器中的存儲器地址寄存器內(nèi)容把數(shù)據(jù)送入相應(yīng)的內(nèi)存單元中。然后,存器內(nèi)容把數(shù)據(jù)送入相應(yīng)的內(nèi)存單元中。然后,DMADMA硬件自動地把傳送字節(jié)計數(shù)器減硬件自動地把傳送字節(jié)計數(shù)器減1 1,把存儲,把存儲器地址寄存器加器地址寄存器加1 1,并恢復(fù),并恢復(fù)CPUCPU對內(nèi)存的控制權(quán),對內(nèi)存的控制權(quán),DMADMA控制器對每一個傳送的數(shù)據(jù)重復(fù)上述過

52、程,控制器對每一個傳送的數(shù)據(jù)重復(fù)上述過程,直到傳送字節(jié)計數(shù)器為直到傳送字節(jié)計數(shù)器為“0”0”時,向時,向CPUCPU產(chǎn)生一產(chǎn)生一個中斷信號。當(dāng)操作系統(tǒng)接管個中斷信號。當(dāng)操作系統(tǒng)接管CPUCPU控制權(quán)時,控制權(quán)時,再無需做塊復(fù)制的工作了再無需做塊復(fù)制的工作了控制器按照指定存儲器地址,把第一個字節(jié)送入主存控制器按照指定存儲器地址,把第一個字節(jié)送入主存然后,按指定字節(jié)數(shù)進行數(shù)據(jù)傳送然后,按指定字節(jié)數(shù)進行數(shù)據(jù)傳送每當(dāng)傳送一個字節(jié)后,字節(jié)計數(shù)器值減每當(dāng)傳送一個字節(jié)后,字節(jié)計數(shù)器值減1 1,直到字節(jié)計數(shù)器等于,直到字節(jié)計數(shù)器等于0 0此時,控制器引發(fā)中斷,通知操作系統(tǒng),操作完成此時,控制器引發(fā)中斷,通知操

53、作系統(tǒng),操作完成CPUCPU提供提供被讀取塊磁盤地址被讀取塊磁盤地址目標(biāo)存儲地址目標(biāo)存儲地址待讀取字節(jié)數(shù)待讀取字節(jié)數(shù)整塊數(shù)據(jù)讀進緩沖區(qū)整塊數(shù)據(jù)讀進緩沖區(qū)核準校驗核準校驗DMADMA工作示例工作示例(以硬盤為例)(以硬盤為例) 存放輸入數(shù)據(jù)的內(nèi)存起始地址、要傳送的字節(jié)數(shù)存放輸入數(shù)據(jù)的內(nèi)存起始地址、要傳送的字節(jié)數(shù) 送入送入DMADMA控制器的內(nèi)存地址寄存器和傳送字節(jié)計數(shù)器控制器的內(nèi)存地址寄存器和傳送字節(jié)計數(shù)器 中斷允許位和啟動位置成中斷允許位和啟動位置成1 1,啟動設(shè)備,啟動設(shè)備n 發(fā)出傳輸要求的進程進入等待狀態(tài)發(fā)出傳輸要求的進程進入等待狀態(tài)n 執(zhí)行指令被暫時掛起,進程調(diào)度其他進程占據(jù)執(zhí)行指令被暫

54、時掛起,進程調(diào)度其他進程占據(jù)CPUCPUn 輸入設(shè)備不斷竊取輸入設(shè)備不斷竊取CPUCPU工作周期,數(shù)據(jù)不斷寫入內(nèi)存工作周期,數(shù)據(jù)不斷寫入內(nèi)存n 傳送完畢,發(fā)出中斷信號傳送完畢,發(fā)出中斷信號n CPUCPU接到中斷信號轉(zhuǎn)入中斷處理程序處理接到中斷信號轉(zhuǎn)入中斷處理程序處理n 中斷處理結(jié)束,中斷處理結(jié)束,CPUCPU返回原進程或切換到新的進程返回原進程或切換到新的進程DMA工作原理工作原理竊取總線控制權(quán)竊取總線控制權(quán)CPU向控制器發(fā)出啟動向控制器發(fā)出啟動DMA通知和有關(guān)參數(shù)通知和有關(guān)參數(shù)控制器向內(nèi)存發(fā)出詢問請求控制器向內(nèi)存發(fā)出詢問請求訪問內(nèi)存(讀、寫)訪問內(nèi)存(讀、寫)計數(shù)器減計數(shù)器減1結(jié)束否結(jié)束否

55、發(fā)中斷發(fā)中斷NYDMA的實現(xiàn)流程的實現(xiàn)流程(1 1)緩沖技術(shù)的引入)緩沖技術(shù)的引入 凡是數(shù)據(jù)到達和離去速度不匹配的地方均凡是數(shù)據(jù)到達和離去速度不匹配的地方均可采用緩沖技術(shù)。可采用緩沖技術(shù)。 在操作系統(tǒng)中采用緩沖是為了實現(xiàn)數(shù)據(jù)的在操作系統(tǒng)中采用緩沖是為了實現(xiàn)數(shù)據(jù)的I/OI/O操作,以緩解操作,以緩解CPUCPU與外部設(shè)備之間速與外部設(shè)備之間速度不匹配的矛盾,提高資源利用率度不匹配的矛盾,提高資源利用率n減少了減少了I/OI/O設(shè)備對處理器的中斷請求次數(shù)設(shè)備對處理器的中斷請求次數(shù)n簡化了中斷機制簡化了中斷機制n節(jié)省了系統(tǒng)開銷節(jié)省了系統(tǒng)開銷4. 緩沖技術(shù)緩沖技術(shù)(2)緩沖區(qū)設(shè)置)緩沖區(qū)設(shè)置 硬緩沖:

56、硬緩沖:在設(shè)備中設(shè)置緩沖區(qū),由硬件實現(xiàn)在設(shè)備中設(shè)置緩沖區(qū),由硬件實現(xiàn) 軟緩沖:軟緩沖:在內(nèi)存中開辟一個空間,用作緩沖區(qū)在內(nèi)存中開辟一個空間,用作緩沖區(qū)(3)緩沖區(qū)管理)緩沖區(qū)管理 單緩沖單緩沖 雙緩沖雙緩沖 緩沖池:緩沖池: 多個緩沖區(qū)連接起來統(tǒng)一管理,常采用多多個緩沖區(qū)連接起來統(tǒng)一管理,常采用多緩沖管理緩沖管理(4)例子)例子 終端輸入軟件中的鍵盤驅(qū)動程序終端輸入軟件中的鍵盤驅(qū)動程序 任務(wù)之一:收集字符任務(wù)之一:收集字符 兩種常見的字符緩沖方法:兩種常見的字符緩沖方法:n公共緩沖池(驅(qū)動程序中)公共緩沖池(驅(qū)動程序中)n終端數(shù)據(jù)結(jié)構(gòu)緩沖終端數(shù)據(jù)結(jié)構(gòu)緩沖終端終端數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)公共公共緩沖池緩

57、沖池終端終端0123終端終端數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)終端終端01終端終端0的緩沖區(qū)的緩沖區(qū)終端終端1的緩沖區(qū)的緩沖區(qū)公共緩沖池公共緩沖池 終端固定緩沖區(qū)終端固定緩沖區(qū)新一代計算機出現(xiàn),帶來了總線技術(shù)的更新新一代計算機出現(xiàn),帶來了總線技術(shù)的更新(1)總線)總線的基本概念:的基本概念: 在計算機系統(tǒng)內(nèi)各種子系統(tǒng)在計算機系統(tǒng)內(nèi)各種子系統(tǒng) 如如CPUCPU、內(nèi)存、內(nèi)存、I/OI/O設(shè)備等之間設(shè)備等之間 構(gòu)建公用的信號或數(shù)據(jù)傳輸通道構(gòu)建公用的信號或數(shù)據(jù)傳輸通道 這種可共享連接的傳輸通道稱為總線這種可共享連接的傳輸通道稱為總線5. 總線技術(shù)總線技術(shù)總線的分類總線的分類CPU-內(nèi)存總線內(nèi)存總線I/O總線總線數(shù)據(jù)總線

58、數(shù)據(jù)總線地址總線地址總線控制總線控制總線(非本課程范圍)(非本課程范圍)(2)總線的分類)總線的分類微型計算機微型計算機總線的種類和發(fā)展總線的種類和發(fā)展PCXT總線總線ISA總線總線MCA總線總線EISA總線總線VESA總線總線 PCI總線總線USB總線總線.(?)(?)(過時過時)1394總線總線SCSI總線總線USB(Universal Serial Bus)通用串行總線,是一種連接)通用串行總線,是一種連接I/O串行設(shè)備的技術(shù)標(biāo)準串行設(shè)備的技術(shù)標(biāo)準n沖破了計算機技術(shù)發(fā)展的兩個歷史局限性:沖破了計算機技術(shù)發(fā)展的兩個歷史局限性: (1)由于)由于I/O設(shè)備的接口標(biāo)準的不一致和有限的接口設(shè)備的

59、接口標(biāo)準的不一致和有限的接口數(shù)量已無法滿足各種應(yīng)用迫切需要數(shù)量已無法滿足各種應(yīng)用迫切需要 (2)傳統(tǒng)的)傳統(tǒng)的I/O設(shè)備的接口無法滿足實時數(shù)據(jù)傳輸與設(shè)備的接口無法滿足實時數(shù)據(jù)傳輸與多媒體應(yīng)用的需求多媒體應(yīng)用的需求nUSB以以WDM(Windows Driver Model)模型為基礎(chǔ),)模型為基礎(chǔ),WDM包含一套通用的包含一套通用的I/O服務(wù)和二進制兼容的設(shè)備驅(qū)服務(wù)和二進制兼容的設(shè)備驅(qū)動程序動程序 6. USB技術(shù)技術(shù)nUSB支持同步數(shù)據(jù)傳輸方式和異步數(shù)據(jù)傳輸方支持同步數(shù)據(jù)傳輸方式和異步數(shù)據(jù)傳輸方式,其數(shù)據(jù)傳輸率有低速式,其數(shù)據(jù)傳輸率有低速15Mbps和全速和全速12Mbps兩種,比標(biāo)準串口快

60、兩種,比標(biāo)準串口快100倍,比標(biāo)準并倍,比標(biāo)準并口快口快10倍倍nUSB可以主動為外部設(shè)備提供電源,允許外部可以主動為外部設(shè)備提供電源,允許外部設(shè)備快速連接,具有即插即用的功能設(shè)備快速連接,具有即插即用的功能n允許外部設(shè)備的熱插拔允許外部設(shè)備的熱插拔USB的結(jié)構(gòu)的結(jié)構(gòu)n控制器:控制器主要負責(zé)執(zhí)行由控制器驅(qū)動程序發(fā)出控制器:控制器主要負責(zé)執(zhí)行由控制器驅(qū)動程序發(fā)出的命令的命令n控制器驅(qū)動程序:控制器驅(qū)動程序在控制器與控制器驅(qū)動程序:控制器驅(qū)動程序在控制器與USB設(shè)設(shè)備之間建立通信信道備之間建立通信信道nUSB芯片驅(qū)動程序:芯片驅(qū)動程序:USB芯片驅(qū)動程序提供了對芯片驅(qū)動程序提供了對USB的支持的支

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論