計(jì)算機(jī)操作系統(tǒng)(第四版)輸入輸出系統(tǒng)_第1頁(yè)
計(jì)算機(jī)操作系統(tǒng)(第四版)輸入輸出系統(tǒng)_第2頁(yè)
計(jì)算機(jī)操作系統(tǒng)(第四版)輸入輸出系統(tǒng)_第3頁(yè)
計(jì)算機(jī)操作系統(tǒng)(第四版)輸入輸出系統(tǒng)_第4頁(yè)
計(jì)算機(jī)操作系統(tǒng)(第四版)輸入輸出系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩41頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1設(shè)備管理設(shè)備管理 教學(xué)目的教學(xué)目的: 設(shè)備管理不但要管理實(shí)際I/O操作的設(shè)備(如磁盤(pán)機(jī)、打印機(jī)),還要管理諸如設(shè)備控制器、DMA控制器、中斷控制器、I/O處理機(jī)(通道)等支持設(shè)備。設(shè)備管理包括各種設(shè)備分配、緩沖區(qū)管理和實(shí)際物理IO設(shè)備操作,通過(guò)管理達(dá)到提高設(shè)備利用率和方便用戶(hù)的目的。 設(shè)備管理是操作系統(tǒng)中最繁雜而且與硬件緊密相關(guān)的部分。2教學(xué)要求: l了解設(shè)備的分類(lèi),熟悉設(shè)備管理的目標(biāo)和功能。l熟悉程序I/O方式、中斷方式、DMA方式和通道方式四種I/O的控制方式;掌握通道的概念,熟悉通道類(lèi)型。l熟悉緩沖的概念,熟悉單緩沖、雙緩沖、多緩沖和緩沖池工作原理,了解UNIX系統(tǒng)的緩沖技術(shù)。l了解在

2、進(jìn)行設(shè)備分配時(shí)應(yīng)考慮的設(shè)備的固有屬性、設(shè)備的分配算法、設(shè)備分配的安全性和設(shè)備的獨(dú)立性等因素;掌握設(shè)備分配中數(shù)據(jù)結(jié)構(gòu),熟悉設(shè)備分配的流程;掌握SPOOLing技術(shù)概念和SPOOLing系統(tǒng)的組成。l熟悉設(shè)備處理程序的功能和處理方式,熟悉設(shè)備處理程序的處理過(guò)程。3 存儲(chǔ)設(shè)備存儲(chǔ)設(shè)備:用來(lái):用來(lái)存放存放各種信息的設(shè)備稱(chēng)為存儲(chǔ)設(shè)備,例如,各種信息的設(shè)備稱(chēng)為存儲(chǔ)設(shè)備,例如,軟盤(pán)、硬盤(pán)、光盤(pán)和磁帶等;軟盤(pán)、硬盤(pán)、光盤(pán)和磁帶等; I/OI/O設(shè)備設(shè)備:用來(lái)向計(jì)算機(jī)用來(lái)向計(jì)算機(jī)輸入和輸出輸入和輸出信息的設(shè)備,如鍵盤(pán)、信息的設(shè)備,如鍵盤(pán)、鼠標(biāo)、顯示器、打印機(jī)等。鼠標(biāo)、顯示器、打印機(jī)等。 在現(xiàn)代計(jì)算機(jī)系統(tǒng)中有些設(shè)

3、備既可以做在現(xiàn)代計(jì)算機(jī)系統(tǒng)中有些設(shè)備既可以做存儲(chǔ)設(shè)備存儲(chǔ)設(shè)備,也可以,也可以做做I/OI/O設(shè)備設(shè)備,例如,軟盤(pán)、硬盤(pán)等。,例如,軟盤(pán)、硬盤(pán)等。 設(shè)備管理就是設(shè)備管理就是I/OI/O管理,它是操作系統(tǒng)的一個(gè)重要的組成部管理,它是操作系統(tǒng)的一個(gè)重要的組成部分,負(fù)責(zé)分,負(fù)責(zé)管理系統(tǒng)中所有的外部設(shè)備管理系統(tǒng)中所有的外部設(shè)備。計(jì)算機(jī)外部設(shè)備:在計(jì)算機(jī)系統(tǒng)中除計(jì)算機(jī)外部設(shè)備:在計(jì)算機(jī)系統(tǒng)中除CPUCPU和內(nèi)存儲(chǔ)和內(nèi)存儲(chǔ)外所有的外所有的設(shè)備和裝置稱(chēng)為計(jì)算機(jī)外部設(shè)備設(shè)備和裝置稱(chēng)為計(jì)算機(jī)外部設(shè)備( (外圍設(shè)備、外圍設(shè)備、I/OI/O設(shè)備設(shè)備) )。4計(jì)算機(jī)外部設(shè)備種類(lèi)繁多,特性各異。主要表現(xiàn)在以下幾個(gè)方面:計(jì)

4、算機(jī)外部設(shè)備種類(lèi)繁多,特性各異。主要表現(xiàn)在以下幾個(gè)方面:1.1.速度速度 不同的外部設(shè)備的傳輸速度的差別相當(dāng)大,如不同的外部設(shè)備的傳輸速度的差別相當(dāng)大,如鍵盤(pán)鍵盤(pán)的傳輸速度不的傳輸速度不過(guò)幾十,上百個(gè)字符,而過(guò)幾十,上百個(gè)字符,而磁盤(pán)磁盤(pán)的傳輸速度則是的傳輸速度則是6060萬(wàn)字節(jié)萬(wàn)字節(jié)/ /每秒。每秒。2.2.傳輸單位傳輸單位 有的設(shè)備的傳輸單位是有的設(shè)備的傳輸單位是字節(jié)字節(jié),如鍵盤(pán)、打印機(jī)、顯示器;,如鍵盤(pán)、打印機(jī)、顯示器; 有的傳輸單位是有的傳輸單位是字符塊字符塊( (數(shù)據(jù)塊數(shù)據(jù)塊) ),如軟盤(pán)、硬盤(pán)、磁帶,如軟盤(pán)、硬盤(pán)、磁帶 有的傳輸單位是有的傳輸單位是位位,如個(gè)人計(jì)算機(jī)中的,如個(gè)人計(jì)算

5、機(jī)中的Serial Port(s) COM1Serial Port(s) COM1、COM2COM23.3.容許的操作(操作特性)容許的操作(操作特性) 設(shè)備完成的設(shè)備完成的操作種類(lèi)各不相同操作種類(lèi)各不相同,如允許,如允許寫(xiě)寫(xiě)操作,只能做操作,只能做讀讀操作操作,既可讀,也可寫(xiě)既可讀,也可寫(xiě)。4.4.出錯(cuò)條件出錯(cuò)條件 不同的設(shè)備,其出錯(cuò)條件也不相同,即數(shù)據(jù)傳輸不同的設(shè)備,其出錯(cuò)條件也不相同,即數(shù)據(jù)傳輸失敗的原因失敗的原因各各種各樣,如打印機(jī)有缺紙錯(cuò),磁盤(pán)種各樣,如打印機(jī)有缺紙錯(cuò),磁盤(pán)I/OI/O有奇偶校驗(yàn)錯(cuò)等有奇偶校驗(yàn)錯(cuò)等。5設(shè)備管理功能設(shè)備管理功能 設(shè)備管理的主要設(shè)備管理的主要任務(wù)任務(wù),是完

6、成用戶(hù)提出的,是完成用戶(hù)提出的I/O請(qǐng)求,為用戶(hù)請(qǐng)求,為用戶(hù)分配分配I/O設(shè)備;提高設(shè)備;提高CPU和和I/O設(shè)備的利用率設(shè)備的利用率;提高提高I/O速度速度;以及;以及方便用方便用戶(hù)戶(hù)使用使用I/O設(shè)備。設(shè)備。設(shè)備管理應(yīng)具有設(shè)備管理應(yīng)具有設(shè)備分配與去配、外圍設(shè)備的啟動(dòng)、磁盤(pán)的驅(qū)動(dòng)調(diào)設(shè)備分配與去配、外圍設(shè)備的啟動(dòng)、磁盤(pán)的驅(qū)動(dòng)調(diào)度、設(shè)備處理和虛擬設(shè)備、緩沖管理等功能。度、設(shè)備處理和虛擬設(shè)備、緩沖管理等功能。設(shè)備分配與去配設(shè)備分配與去配的基本任務(wù)是根據(jù)用戶(hù)的的基本任務(wù)是根據(jù)用戶(hù)的I/OI/O請(qǐng)求,為之分配其所請(qǐng)求,為之分配其所需的設(shè)備。運(yùn)行結(jié)束及時(shí)收回需的設(shè)備。運(yùn)行結(jié)束及時(shí)收回. .設(shè)備處理設(shè)備處

7、理(設(shè)備驅(qū)動(dòng)程序設(shè)備驅(qū)動(dòng)程序)的基本任務(wù)是實(shí)現(xiàn)的基本任務(wù)是實(shí)現(xiàn)CPU和設(shè)備控制器和設(shè)備控制器之間之間的通信。的通信。虛擬設(shè)備虛擬設(shè)備的功能是把的功能是把一個(gè)物理設(shè)備一個(gè)物理設(shè)備變換為變換為多個(gè)對(duì)應(yīng)的邏輯設(shè)備多個(gè)對(duì)應(yīng)的邏輯設(shè)備,以,以使一個(gè)物理設(shè)備能供多個(gè)用戶(hù)共享。使一個(gè)物理設(shè)備能供多個(gè)用戶(hù)共享。緩沖管理緩沖管理的基本任務(wù)是管理好各種類(lèi)型的緩沖區(qū),以的基本任務(wù)是管理好各種類(lèi)型的緩沖區(qū),以緩和緩和CPUCPU和和I/OI/O速度不匹配的矛盾速度不匹配的矛盾,最終達(dá)到提高,最終達(dá)到提高CPUCPU和和I/OI/O設(shè)備利用率。設(shè)備利用率。 6I/O系統(tǒng)系統(tǒng) 把把I/OI/O設(shè)備及其接口線(xiàn)路設(shè)備及其接口

8、線(xiàn)路、控制部件、通道以及管理軟件、控制部件、通道以及管理軟件統(tǒng)稱(chēng)為統(tǒng)稱(chēng)為I/O系統(tǒng)系統(tǒng).主存與處圍設(shè)備之間的信息傳輸操作主存與處圍設(shè)備之間的信息傳輸操作,稱(chēng)為稱(chēng)為I/O操作操作.I/O系統(tǒng)系統(tǒng) 把把I/O設(shè)備及其接口線(xiàn)路、控制部件、通道以及管理軟件統(tǒng)稱(chēng)為設(shè)備及其接口線(xiàn)路、控制部件、通道以及管理軟件統(tǒng)稱(chēng)為I/O系統(tǒng)。主存與外圍設(shè)備之間的信息傳輸操作系統(tǒng)。主存與外圍設(shè)備之間的信息傳輸操作,稱(chēng)為稱(chēng)為I/O操作。操作。 典型的典型的I/O系統(tǒng)具有四級(jí)結(jié)構(gòu)系統(tǒng)具有四級(jí)結(jié)構(gòu):主機(jī)、通道、設(shè)備控制器和主機(jī)、通道、設(shè)備控制器和I/O設(shè)設(shè)備。備。中央處理器(CPU)主存儲(chǔ)器(MM)通道1(CH1)通道2(CH2

9、)通道3(CH3)磁盤(pán)控制器磁盤(pán)機(jī)卡片控制器打印機(jī)控制器卡片機(jī)打印機(jī)磁帶控制器磁帶機(jī)7 I/O I/O設(shè)備的種類(lèi)繁多設(shè)備的種類(lèi)繁多, ,其重要性能指標(biāo)有其重要性能指標(biāo)有: :數(shù)據(jù)傳輸單數(shù)據(jù)傳輸單位位、數(shù)據(jù)傳輸速率數(shù)據(jù)傳輸速率和和設(shè)備的共享屬性設(shè)備的共享屬性等。從不同的角度可等。從不同的角度可以對(duì)以對(duì)I/O設(shè)備進(jìn)行不同分類(lèi):設(shè)備進(jìn)行不同分類(lèi):1 按使用特性分按使用特性分 存儲(chǔ)型存儲(chǔ)型設(shè)備設(shè)備 輸入輸出型輸入輸出型設(shè)備(交互型設(shè)備)設(shè)備(交互型設(shè)備)2 2 按傳輸速率分按傳輸速率分 低速設(shè)備:傳輸速率每秒低速設(shè)備:傳輸速率每秒幾個(gè)字節(jié)幾個(gè)字節(jié)至至數(shù)百個(gè)數(shù)百個(gè)字節(jié);字節(jié); 中速設(shè)備:傳輸速率每秒中速

10、設(shè)備:傳輸速率每秒數(shù)千個(gè)數(shù)千個(gè)字節(jié);字節(jié); 高速設(shè)備:傳輸速率每秒高速設(shè)備:傳輸速率每秒數(shù)百個(gè)千數(shù)百個(gè)千字節(jié)至字節(jié)至千兆千兆字節(jié);字節(jié);I/O設(shè)備分類(lèi)設(shè)備分類(lèi)83 按信息交換的單位分按信息交換的單位分 塊設(shè)備:以塊設(shè)備:以數(shù)據(jù)塊數(shù)據(jù)塊為單位存儲(chǔ)、傳輸信息,如為單位存儲(chǔ)、傳輸信息,如磁盤(pán)、磁帶。磁盤(pán)、磁帶。 字符設(shè)備:以字符設(shè)備:以字符字符為單位存儲(chǔ)、傳輸信息,如為單位存儲(chǔ)、傳輸信息,如打印機(jī)、終端。打印機(jī)、終端。4 4 按設(shè)備的共享屬性分按設(shè)備的共享屬性分 獨(dú)占設(shè)備獨(dú)占設(shè)備:在:在一段時(shí)間一段時(shí)間內(nèi)只能有內(nèi)只能有一個(gè)一個(gè)進(jìn)程使用的設(shè)備,一般為低進(jìn)程使用的設(shè)備,一般為低速速I(mǎi)/OI/O設(shè)備。(如

11、打印機(jī),磁帶等)設(shè)備。(如打印機(jī),磁帶等) 共享設(shè)備共享設(shè)備:在:在一段時(shí)間一段時(shí)間內(nèi)可有內(nèi)可有多個(gè)多個(gè)進(jìn)程共同使用的設(shè)備,多個(gè)進(jìn)進(jìn)程共同使用的設(shè)備,多個(gè)進(jìn)程以程以交叉交叉的方式來(lái)使用設(shè)備,其資源利用率高。(如硬盤(pán))的方式來(lái)使用設(shè)備,其資源利用率高。(如硬盤(pán)) 虛擬設(shè)備虛擬設(shè)備:在一類(lèi)設(shè)備上模擬另一類(lèi)設(shè)備,常用共享設(shè)備模擬獨(dú):在一類(lèi)設(shè)備上模擬另一類(lèi)設(shè)備,常用共享設(shè)備模擬獨(dú)占設(shè)備,用高速設(shè)備模擬低速設(shè)備,占設(shè)備,用高速設(shè)備模擬低速設(shè)備,被模擬的設(shè)備被模擬的設(shè)備稱(chēng)為虛擬設(shè)備。稱(chēng)為虛擬設(shè)備。目目的:將的:將慢速的獨(dú)占設(shè)備慢速的獨(dú)占設(shè)備改造成改造成多個(gè)用戶(hù)可共享的設(shè)備多個(gè)用戶(hù)可共享的設(shè)備,提高設(shè)備的利

12、,提高設(shè)備的利用率。用率。95 5 按外部設(shè)備的從屬關(guān)系分按外部設(shè)備的從屬關(guān)系分 系統(tǒng)設(shè)備系統(tǒng)設(shè)備:指操作系統(tǒng)生成時(shí),登記在系統(tǒng)中的:指操作系統(tǒng)生成時(shí),登記在系統(tǒng)中的標(biāo)準(zhǔn)設(shè)標(biāo)準(zhǔn)設(shè)備備(如終端、打印機(jī)、磁盤(pán)機(jī)等)(如終端、打印機(jī)、磁盤(pán)機(jī)等) 用戶(hù)設(shè)備用戶(hù)設(shè)備:指在系統(tǒng)生成時(shí),未登記在系統(tǒng)中的:指在系統(tǒng)生成時(shí),未登記在系統(tǒng)中的非標(biāo)準(zhǔn)非標(biāo)準(zhǔn)設(shè)備設(shè)備。對(duì)于這類(lèi)設(shè)備的處理程序由用戶(hù)提供,并將其納入。對(duì)于這類(lèi)設(shè)備的處理程序由用戶(hù)提供,并將其納入系統(tǒng),由系統(tǒng)代替用戶(hù)實(shí)施管理。(如系統(tǒng),由系統(tǒng)代替用戶(hù)實(shí)施管理。(如A/DA/D,D/AD/A轉(zhuǎn)換器,轉(zhuǎn)換器,CADCAD所用專(zhuān)用設(shè)備)所用專(zhuān)用設(shè)備)6 6 從程序

13、使用角度分從程序使用角度分 邏輯設(shè)備邏輯設(shè)備 物理設(shè)備物理設(shè)備10 I IO O設(shè)備一般由設(shè)備一般由機(jī)械機(jī)械和和電子電子兩部分組成。把這兩部分兩部分組成。把這兩部分分開(kāi)處理,以提供更加模塊化,更加通用的設(shè)計(jì)。分開(kāi)處理,以提供更加模塊化,更加通用的設(shè)計(jì)。1.1.物理設(shè)備物理設(shè)備 機(jī)械部分是設(shè)備本身(物理裝置)。機(jī)械部分是設(shè)備本身(物理裝置)。2.2.設(shè)備控制器(設(shè)備控制器(是設(shè)備與是設(shè)備與CPU的的接口接口) 電子部分叫做電子部分叫做設(shè)備控制器設(shè)備控制器或或適配器適配器、接口卡接口卡 在小型和微型機(jī)中,它常采用在小型和微型機(jī)中,它常采用印刷電路卡印刷電路卡插入計(jì)算機(jī)中。插入計(jì)算機(jī)中。設(shè)備組成設(shè)備

14、組成11設(shè)備控制器設(shè)備控制器 通常通常, ,外圍設(shè)備并不是直接與外圍設(shè)備并不是直接與CPUCPU進(jìn)行通信進(jìn)行通信, ,而是與設(shè)備而是與設(shè)備控制器通信控制器通信. .在設(shè)備與設(shè)備控制器之間有一個(gè)接口在設(shè)備與設(shè)備控制器之間有一個(gè)接口, ,通過(guò)通過(guò)數(shù)數(shù)據(jù)線(xiàn)據(jù)線(xiàn)、控制線(xiàn)和狀態(tài)線(xiàn)、控制線(xiàn)和狀態(tài)線(xiàn)傳輸傳輸數(shù)據(jù)、控制和狀態(tài)三種類(lèi)型信數(shù)據(jù)、控制和狀態(tài)三種類(lèi)型信號(hào)號(hào).轉(zhuǎn)換器緩沖控制邏輯I/O設(shè)備數(shù)據(jù)信號(hào)線(xiàn)狀態(tài)信號(hào)線(xiàn)控制信號(hào)線(xiàn)至設(shè)備控制器信號(hào)數(shù)據(jù)設(shè)備與控制器之間的接口12 設(shè)備控制器位于設(shè)備控制器位于CPU與設(shè)備與設(shè)備之間之間,主要主要職責(zé)職責(zé)是控制一個(gè)或是控制一個(gè)或多個(gè)多個(gè)I/O設(shè)備,以實(shí)現(xiàn)設(shè)備,以實(shí)現(xiàn)I/O設(shè)

15、備設(shè)備和和主機(jī)主機(jī)之間的數(shù)據(jù)交換。它接受之間的數(shù)據(jù)交換。它接受從從CPU發(fā)來(lái)的命令,并去控制發(fā)來(lái)的命令,并去控制I/O設(shè)備工作。設(shè)備工作。 設(shè)備控制器是一個(gè)設(shè)備控制器是一個(gè)可編址可編址的設(shè)備,當(dāng)它的設(shè)備,當(dāng)它只控制一個(gè)只控制一個(gè)設(shè)備時(shí),設(shè)備時(shí),它只有一個(gè)它只有一個(gè)唯一的設(shè)備地址唯一的設(shè)備地址;若它控制;若它控制多個(gè)設(shè)備多個(gè)設(shè)備時(shí),則它含時(shí),則它含有有多個(gè)設(shè)備地址多個(gè)設(shè)備地址,并使每個(gè)設(shè)備對(duì)應(yīng)一個(gè)設(shè)備地址,以,并使每個(gè)設(shè)備對(duì)應(yīng)一個(gè)設(shè)備地址,以區(qū)別區(qū)別各個(gè)設(shè)備各個(gè)設(shè)備。 控制器的控制器的任務(wù)任務(wù)是把串行的是把串行的位流位流轉(zhuǎn)換為轉(zhuǎn)換為字節(jié)塊字節(jié)塊,并進(jìn)行必,并進(jìn)行必要的要的錯(cuò)誤修正錯(cuò)誤修正。首先,

16、控制器按位進(jìn)行。首先,控制器按位進(jìn)行組裝組裝,然后,然后存入存入控制控制器內(nèi)部的器內(nèi)部的緩沖區(qū)中緩沖區(qū)中形成以形成以字節(jié)為單位的塊字節(jié)為單位的塊。在對(duì)塊驗(yàn)證檢查。在對(duì)塊驗(yàn)證檢查和并證明和并證明無(wú)錯(cuò)誤時(shí)無(wú)錯(cuò)誤時(shí),再將它,再將它復(fù)制到主存復(fù)制到主存中。中。設(shè)備控制器可分為兩類(lèi):設(shè)備控制器可分為兩類(lèi):1 用于控制用于控制字符設(shè)備字符設(shè)備的控制器的控制器2 用于控制用于控制塊設(shè)備塊設(shè)備的控制器的控制器設(shè)備控制器設(shè)備控制器131 接受和識(shí)別命令接受和識(shí)別命令 通過(guò)控制器中的通過(guò)控制器中的控制寄存器控制寄存器來(lái)存放和接受來(lái)存放和接受CPU發(fā)來(lái)發(fā)來(lái)的命令和參數(shù),并對(duì)這些命令進(jìn)行譯碼。的命令和參數(shù),并對(duì)這些命

17、令進(jìn)行譯碼。2 數(shù)據(jù)交換數(shù)據(jù)交換 通過(guò)控制器中的通過(guò)控制器中的數(shù)據(jù)寄存器數(shù)據(jù)寄存器來(lái)實(shí)現(xiàn)來(lái)實(shí)現(xiàn)CPU與控制器之與控制器之間、控制器與設(shè)備之間的數(shù)據(jù)交換。間、控制器與設(shè)備之間的數(shù)據(jù)交換。3 表示和報(bào)告設(shè)備的狀態(tài)表示和報(bào)告設(shè)備的狀態(tài) 通過(guò)控制器中的通過(guò)控制器中的狀態(tài)寄存器狀態(tài)寄存器記下設(shè)備的狀態(tài)供記下設(shè)備的狀態(tài)供CPU了解。僅當(dāng)設(shè)備處于發(fā)送就緒狀態(tài)時(shí),了解。僅當(dāng)設(shè)備處于發(fā)送就緒狀態(tài)時(shí),CPU才能啟動(dòng)設(shè)才能啟動(dòng)設(shè)備控制器從中讀出數(shù)據(jù)。備控制器從中讀出數(shù)據(jù)。設(shè)備控制器設(shè)備控制器基本功能基本功能144 地址識(shí)別地址識(shí)別 通過(guò)控制器中的通過(guò)控制器中的地址譯碼器地址譯碼器來(lái)識(shí)別各個(gè)設(shè)備。系統(tǒng)來(lái)識(shí)別各個(gè)設(shè)備。

18、系統(tǒng)中的每一個(gè)設(shè)備都有一個(gè)地址,用來(lái)唯一的標(biāo)示這臺(tái)設(shè)中的每一個(gè)設(shè)備都有一個(gè)地址,用來(lái)唯一的標(biāo)示這臺(tái)設(shè)備,為此設(shè)備控制器必須能夠識(shí)別它所控制的每個(gè)設(shè)備備,為此設(shè)備控制器必須能夠識(shí)別它所控制的每個(gè)設(shè)備的地址。的地址。5 數(shù)據(jù)緩沖數(shù)據(jù)緩沖 通過(guò)控制器中的通過(guò)控制器中的緩沖器緩沖器來(lái)緩解來(lái)緩解I/O設(shè)備與設(shè)備與CPU之間速之間速率不匹配的矛盾。率不匹配的矛盾。6 差錯(cuò)控制差錯(cuò)控制 設(shè)備控制器兼管數(shù)據(jù)的差錯(cuò)檢查。通過(guò)將差錯(cuò)檢測(cè)設(shè)備控制器兼管數(shù)據(jù)的差錯(cuò)檢查。通過(guò)將差錯(cuò)檢測(cè)碼置位來(lái)向碼置位來(lái)向CPU報(bào)告數(shù)據(jù)出錯(cuò)。報(bào)告數(shù)據(jù)出錯(cuò)。15設(shè)備控制器的組成設(shè)備控制器的組成設(shè)備控制器與設(shè)備控制器與CPU的接口的接口:實(shí)

19、現(xiàn):實(shí)現(xiàn)CPU與控制器之間的通信;與控制器之間的通信;設(shè)備控制器與設(shè)備控制器與設(shè)備設(shè)備的接口的接口:用于與設(shè)備的連接,一個(gè)設(shè)備控制器:用于與設(shè)備的連接,一個(gè)設(shè)備控制器上可以連接多個(gè)設(shè)備,因而一個(gè)設(shè)備控制器便有上可以連接多個(gè)設(shè)備,因而一個(gè)設(shè)備控制器便有多個(gè)設(shè)備接口多個(gè)設(shè)備接口,一個(gè)接口連接一個(gè)設(shè)備;一個(gè)接口連接一個(gè)設(shè)備; I/O邏輯邏輯:實(shí)現(xiàn)設(shè)備的控制;:實(shí)現(xiàn)設(shè)備的控制; 16數(shù)據(jù)寄存器控制/狀態(tài)寄存器I/O邏輯控制器與設(shè)備接口1控制器與設(shè)備接口 n.數(shù)據(jù)線(xiàn)地址線(xiàn)控制線(xiàn)數(shù)據(jù)狀態(tài)控制數(shù)據(jù)狀態(tài)控制CPU與控制器接口控制器與設(shè)備接口設(shè)備控制器的組成設(shè)備控制器的組成17I/OCPU內(nèi)內(nèi)存存18CPU內(nèi)內(nèi)

20、存存設(shè)備設(shè)備控制器控制器I/O19CPU內(nèi)內(nèi)存存設(shè)備設(shè)備控制器控制器通道通道I/O20 1. 1.定義定義:I/OI/O通道是獨(dú)立于通道是獨(dú)立于CPUCPU的專(zhuān)門(mén)的專(zhuān)門(mén)負(fù)責(zé)數(shù)據(jù)輸入負(fù)責(zé)數(shù)據(jù)輸入/ /輸出傳輸輸出傳輸工作工作的的處理機(jī)處理機(jī),對(duì)外部設(shè)備實(shí)現(xiàn)統(tǒng)一管理,對(duì)外部設(shè)備實(shí)現(xiàn)統(tǒng)一管理,代替代替CPUCPU對(duì)輸入對(duì)輸入/ /輸出操作進(jìn)輸出操作進(jìn)行控制,從而使輸入行控制,從而使輸入/ /輸出操作輸出操作可與可與CPUCPU并行操作并行操作, ,又稱(chēng)又稱(chēng)I/OI/O處理器。處理器。通道工作原理通道工作原理 通道相當(dāng)于一個(gè)通道相當(dāng)于一個(gè)功能簡(jiǎn)單的處理機(jī)功能簡(jiǎn)單的處理機(jī),包含,包含通道指令通道指令(讀

21、操作,(讀操作,寫(xiě)操作,控制,轉(zhuǎn)移操作),并寫(xiě)操作,控制,轉(zhuǎn)移操作),并可執(zhí)行可執(zhí)行用這些指令編寫(xiě)的用這些指令編寫(xiě)的通道程序通道程序。 通道程序啟動(dòng)通道程序啟動(dòng)I/OI/O設(shè)備,執(zhí)行完畢后設(shè)備,執(zhí)行完畢后, ,如果還有下一條指令,則如果還有下一條指令,則繼續(xù)執(zhí)行繼續(xù)執(zhí)行, , 否則表示傳輸完成。否則表示傳輸完成。 執(zhí)行執(zhí)行通道程序,向控制器通道程序,向控制器發(fā)出命令發(fā)出命令,并具有向,并具有向CPUCPU發(fā)中斷信號(hào)發(fā)中斷信號(hào)的功能。的功能。 一旦一旦CPUCPU發(fā)出指令,啟動(dòng)通道,則通道發(fā)出指令,啟動(dòng)通道,則通道獨(dú)立于獨(dú)立于CPUCPU工作工作。一個(gè)通道一個(gè)通道可連接多個(gè)控制器可連接多個(gè)控制器

22、,一個(gè)控制器,一個(gè)控制器可連接多個(gè)設(shè)備可連接多個(gè)設(shè)備,形成樹(shù),形成樹(shù)形交叉連接。形交叉連接。 I/O通道通道212.2.引入通道的目的引入通道的目的 為了使為了使CPUCPU從從I/OI/O事務(wù)中解脫出來(lái),同時(shí)為了提高事務(wù)中解脫出來(lái),同時(shí)為了提高CPUCPU與與設(shè)備設(shè)備,設(shè)備與設(shè)備設(shè)備與設(shè)備之間的并行工作能力。之間的并行工作能力。 建立獨(dú)立的建立獨(dú)立的I/OI/O操作,使一些原來(lái)由操作,使一些原來(lái)由CPUCPU處理的處理的I/OI/O任務(wù)任務(wù)轉(zhuǎn)由轉(zhuǎn)由通道通道來(lái)承擔(dān)。來(lái)承擔(dān)。3.3.特點(diǎn)特點(diǎn) 1)1)指令類(lèi)型單一指令類(lèi)型單一:所執(zhí)行的命令僅局限于:所執(zhí)行的命令僅局限于與與I/OI/O操作有關(guān)操作

23、有關(guān)的指令。的指令。 2)2)沒(méi)有自己的內(nèi)存沒(méi)有自己的內(nèi)存:通道:通道與與CPUCPU共享內(nèi)存共享內(nèi)存。224. 4. 分類(lèi)分類(lèi) 根據(jù)信息交換的方式不同根據(jù)信息交換的方式不同, ,通道可分為三種類(lèi)型通道可分為三種類(lèi)型: :字節(jié)多字節(jié)多路通道路通道、數(shù)組選擇通道數(shù)組選擇通道和和數(shù)組多路通道。數(shù)組多路通道。1) 1) 字節(jié)多路通道字節(jié)多路通道 字節(jié)多路通道以字節(jié)多路通道以字節(jié)字節(jié)為單位傳輸信息,它可以為單位傳輸信息,它可以分時(shí)地分時(shí)地執(zhí)行多個(gè)通道程序。當(dāng)一個(gè)通道程序控制某臺(tái)設(shè)備傳送執(zhí)行多個(gè)通道程序。當(dāng)一個(gè)通道程序控制某臺(tái)設(shè)備傳送一個(gè)一個(gè)字節(jié)字節(jié)后,后,通道硬件通道硬件就控制轉(zhuǎn)去執(zhí)行另一個(gè)通道程序,

24、控制另就控制轉(zhuǎn)去執(zhí)行另一個(gè)通道程序,控制另一臺(tái)設(shè)備傳送信息。一臺(tái)設(shè)備傳送信息。 主要連接以主要連接以字節(jié)字節(jié)為單位的為單位的低速低速I(mǎi)/OI/O設(shè)備。設(shè)備。如打印機(jī),終如打印機(jī),終端。以字節(jié)為單位交叉?zhèn)鬏?,?dāng)一臺(tái)傳送一個(gè)字節(jié)后,立即端。以字節(jié)為單位交叉?zhèn)鬏?,?dāng)一臺(tái)傳送一個(gè)字節(jié)后,立即轉(zhuǎn)去為另一臺(tái)傳送字節(jié)轉(zhuǎn)去為另一臺(tái)傳送字節(jié)23子通道子通道子通道子通道控制器A控制器B控制器C控制器N設(shè)備主通道字節(jié)多路通道的工作原理字節(jié)多路通道的工作原理24 2) 2)數(shù)組選擇通道數(shù)組選擇通道 數(shù)組選擇通道是以數(shù)組選擇通道是以塊為單位成批傳送數(shù)據(jù)塊為單位成批傳送數(shù)據(jù),即每次,即每次傳送傳送一批數(shù)據(jù)一批數(shù)據(jù),故,故

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

26、道的優(yōu)點(diǎn)。它先為一臺(tái)設(shè)備執(zhí)行一條通道指令,然后自動(dòng)轉(zhuǎn)接,為另一臺(tái)設(shè)備執(zhí)行一條通道指令。指令,然后自動(dòng)轉(zhuǎn)接,為另一臺(tái)設(shè)備執(zhí)行一條通道指令。 主要連接主要連接高速設(shè)備。高速設(shè)備。這樣,對(duì)于連接多臺(tái)磁盤(pán)機(jī)的這樣,對(duì)于連接多臺(tái)磁盤(pán)機(jī)的數(shù)組多路通道,它可以啟動(dòng)它們同時(shí)執(zhí)行移動(dòng)定位操作,數(shù)組多路通道,它可以啟動(dòng)它們同時(shí)執(zhí)行移動(dòng)定位操作,然后,按序交叉地傳輸一批批數(shù)據(jù)。數(shù)據(jù)多路通道實(shí)際然后,按序交叉地傳輸一批批數(shù)據(jù)。數(shù)據(jù)多路通道實(shí)際上是對(duì)上是對(duì)通道程序通道程序采用采用多道程序設(shè)計(jì)多道程序設(shè)計(jì)的硬件實(shí)現(xiàn)。的硬件實(shí)現(xiàn)。26 由于由于通道的價(jià)格較貴通道的價(jià)格較貴,致使計(jì)算機(jī)系統(tǒng)中通,致使計(jì)算機(jī)系統(tǒng)中通道的數(shù)量遠(yuǎn)比

27、設(shè)備少。這樣,往往因道的數(shù)量遠(yuǎn)比設(shè)備少。這樣,往往因通道數(shù)量不通道數(shù)量不足足,產(chǎn)生一種,產(chǎn)生一種“瓶頸瓶頸”現(xiàn)象,影響整個(gè)系統(tǒng)的處現(xiàn)象,影響整個(gè)系統(tǒng)的處理能力。理能力。 解決解決“瓶頸瓶頸”問(wèn)題的問(wèn)題的最有效的方法最有效的方法,便是,便是增增加加設(shè)備到主機(jī)間的設(shè)備到主機(jī)間的通路通路而而不增加通道不增加通道。也就是,。也就是,把一個(gè)設(shè)備連接到多個(gè)控制器上,而一個(gè)控制器把一個(gè)設(shè)備連接到多個(gè)控制器上,而一個(gè)控制器又連接到多個(gè)通道上。又連接到多個(gè)通道上。 “瓶頸瓶頸”問(wèn)題問(wèn)題272829總線(xiàn)總線(xiàn):控制器和設(shè)備之間的:控制器和設(shè)備之間的接口接口以及計(jì)算機(jī)系統(tǒng)以及計(jì)算機(jī)系統(tǒng)中的中的各個(gè)子系統(tǒng)各個(gè)子系統(tǒng)(C

28、PUCPU、內(nèi)存、外設(shè)等)相互連接、內(nèi)存、外設(shè)等)相互連接的的線(xiàn)路線(xiàn)路,且連接是共享的。,且連接是共享的。優(yōu)點(diǎn):優(yōu)點(diǎn):低成本低成本(一線(xiàn)多用)(一線(xiàn)多用) 靈活性靈活性(易于增加設(shè)備易于增加設(shè)備,便于兩個(gè)計(jì)算機(jī),便于兩個(gè)計(jì)算機(jī)系統(tǒng)之間共享外設(shè)系統(tǒng)之間共享外設(shè))總線(xiàn)分類(lèi):總線(xiàn)分類(lèi): 數(shù)據(jù)總線(xiàn)數(shù)據(jù)總線(xiàn)(DB)(DB)、地址總線(xiàn)、地址總線(xiàn)(AB)(AB)、控制總線(xiàn)、控制總線(xiàn)(CB)(CB)總線(xiàn)總線(xiàn)30I/O控制方式控制方式 按照按照I/O控制器功能的強(qiáng)弱以及和控制器功能的強(qiáng)弱以及和CPU之間聯(lián)系之間聯(lián)系方式的不同,把方式的不同,把I/O設(shè)備的控制方式分為以下四類(lèi)設(shè)備的控制方式分為以下四類(lèi):1 程序程

29、序I/O方式方式2 中斷驅(qū)動(dòng)中斷驅(qū)動(dòng)I/O控制方式控制方式3 直接存儲(chǔ)器訪(fǎng)問(wèn)直接存儲(chǔ)器訪(fǎng)問(wèn)(DMA)I/O控制方式控制方式4 I/O通道控制方式通道控制方式 I/OI/O控制方式發(fā)展的目標(biāo)控制方式發(fā)展的目標(biāo)是盡量減少主機(jī)對(duì)是盡量減少主機(jī)對(duì)I/OI/O控制的干預(yù),更多地進(jìn)行數(shù)據(jù)處理,提高計(jì)算機(jī)效控制的干預(yù),更多地進(jìn)行數(shù)據(jù)處理,提高計(jì)算機(jī)效率和資源的利用率。率和資源的利用率。主要差別主要差別在于在于CPUCPU與外圍設(shè)備并與外圍設(shè)備并行工作的方式不同,并行工作的程度不同。行工作的方式不同,并行工作的程度不同。31程序程序I/O方式方式 程序程序I/O控制方式控制方式是指由程序是指由程序直接控制內(nèi)存

30、直接控制內(nèi)存或或CPU和和外圍設(shè)備外圍設(shè)備之間進(jìn)行信息傳送的方式。通常又稱(chēng)為之間進(jìn)行信息傳送的方式。通常又稱(chēng)為“忙忙/等等待待”方式方式或或詢(xún)問(wèn)方式詢(xún)問(wèn)方式。 以數(shù)據(jù)輸入為例,當(dāng)用戶(hù)進(jìn)程需要輸入數(shù)據(jù)時(shí),由以數(shù)據(jù)輸入為例,當(dāng)用戶(hù)進(jìn)程需要輸入數(shù)據(jù)時(shí),由處理機(jī)處理機(jī)向設(shè)備控制器向設(shè)備控制器發(fā)出發(fā)出I/OI/O指令指令啟動(dòng)設(shè)備進(jìn)行輸入,同啟動(dòng)設(shè)備進(jìn)行輸入,同時(shí)把狀態(tài)寄存器中的時(shí)把狀態(tài)寄存器中的忙忙/ /閑狀態(tài)閑狀態(tài)busybusy置為置為1 1。在設(shè)備。在設(shè)備輸入期輸入期間間,CPUCPU通過(guò)通過(guò)循環(huán)執(zhí)行測(cè)試指令循環(huán)執(zhí)行測(cè)試指令不間斷地檢測(cè)不間斷地檢測(cè)設(shè)備狀態(tài)寄設(shè)備狀態(tài)寄存器存器的值,當(dāng)狀態(tài)寄存器的值

31、顯示設(shè)備的值,當(dāng)狀態(tài)寄存器的值顯示設(shè)備輸入完成時(shí)輸入完成時(shí),處理,處理機(jī)將機(jī)將數(shù)據(jù)寄存器數(shù)據(jù)寄存器中的數(shù)據(jù)中的數(shù)據(jù)取走取走,送入內(nèi)存指定單元送入內(nèi)存指定單元,然后,然后再啟動(dòng)再啟動(dòng)設(shè)備去設(shè)備去讀下一個(gè)數(shù)據(jù)讀下一個(gè)數(shù)據(jù)。反之,當(dāng)用戶(hù)進(jìn)程需要向設(shè)。反之,當(dāng)用戶(hù)進(jìn)程需要向設(shè)備輸出數(shù)據(jù)時(shí),也必須同樣備輸出數(shù)據(jù)時(shí),也必須同樣發(fā)啟動(dòng)命令發(fā)啟動(dòng)命令啟動(dòng)設(shè)備輸出并啟動(dòng)設(shè)備輸出并等等待輸出待輸出操作完成。操作完成。32向I/O控制器發(fā)讀命令讀I/O控制器的狀態(tài)檢查狀態(tài)?從I/O控制器讀入字向主存中寫(xiě)字傳送完成?下條指令完成忙就緒未完CPU I/OI/O CPU出錯(cuò)I/O CPUCPU 主存程序I/O方式33 (

32、1) (1)把一個(gè)啟動(dòng)位為把一個(gè)啟動(dòng)位為“1 1”的控制字寫(xiě)入該設(shè)備的的控制字寫(xiě)入該設(shè)備的控制控制狀態(tài)寄存器狀態(tài)寄存器; (2)(2)將需輸出數(shù)據(jù)的將需輸出數(shù)據(jù)的一個(gè)字一個(gè)字( (節(jié)節(jié)) )送到送到數(shù)據(jù)緩沖寄存器數(shù)據(jù)緩沖寄存器; (3)(3)測(cè)試控制狀態(tài)寄存器中的測(cè)試控制狀態(tài)寄存器中的“busybusy”,若為,若為1 1,轉(zhuǎn),轉(zhuǎn)(2)(2),否則轉(zhuǎn)否則轉(zhuǎn)(4)(4); (4)(4)輸出設(shè)備將輸出設(shè)備將數(shù)據(jù)緩沖寄存器數(shù)據(jù)緩沖寄存器中的數(shù)據(jù)取走進(jìn)行實(shí)中的數(shù)據(jù)取走進(jìn)行實(shí)際的輸出。際的輸出。直接控制方式的輸出數(shù)據(jù)時(shí)的工作過(guò)程:直接控制方式的輸出數(shù)據(jù)時(shí)的工作過(guò)程:優(yōu)點(diǎn)優(yōu)點(diǎn):控制簡(jiǎn)單:控制簡(jiǎn)單,不需要多

33、少硬件支持。不需要多少硬件支持。(循環(huán)測(cè)試方式循環(huán)測(cè)試方式)缺點(diǎn)缺點(diǎn):CPU和和外設(shè)外設(shè)只能只能串行工作串行工作,CPU利用率低利用率低。設(shè)。設(shè)備之間備之間不能并行工作不能并行工作 。(忙忙等待方式等待方式) 34 為了提高為了提高CPU和設(shè)備的利用率,就應(yīng)使和設(shè)備的利用率,就應(yīng)使CPU與與設(shè)備并設(shè)備并行工作行工作。在現(xiàn)代計(jì)算機(jī)系統(tǒng)中,對(duì)。在現(xiàn)代計(jì)算機(jī)系統(tǒng)中,對(duì)I/O設(shè)備的控制設(shè)備的控制廣泛采用廣泛采用I/O中斷方式中斷方式。采用這種方式要求。采用這種方式要求CPU與設(shè)備之間有相應(yīng)的與設(shè)備之間有相應(yīng)的中斷請(qǐng)求線(xiàn),且在控制寄存器中有一個(gè)中斷位。中斷請(qǐng)求線(xiàn),且在控制寄存器中有一個(gè)中斷位。中斷驅(qū)動(dòng)中

34、斷驅(qū)動(dòng)I/O控制方式控制方式 計(jì)算機(jī)在運(yùn)行過(guò)程中,可能會(huì)發(fā)生運(yùn)算溢出、除數(shù)為計(jì)算機(jī)在運(yùn)行過(guò)程中,可能會(huì)發(fā)生運(yùn)算溢出、除數(shù)為零、無(wú)休止循環(huán)或電壓下降等零、無(wú)休止循環(huán)或電壓下降等事先無(wú)法預(yù)料的故障事先無(wú)法預(yù)料的故障,這些,這些都是運(yùn)行中非正常的現(xiàn)象。都是運(yùn)行中非正常的現(xiàn)象。 CPU收到中斷請(qǐng)求后轉(zhuǎn)相應(yīng)事件處理程序的過(guò)程稱(chēng)為收到中斷請(qǐng)求后轉(zhuǎn)相應(yīng)事件處理程序的過(guò)程稱(chēng)為中斷響應(yīng)中斷響應(yīng)。35向I/O控制器發(fā)讀命令讀I/O控制器的狀態(tài)檢查狀態(tài)?從I/O控制器讀字向主存中寫(xiě)字傳送完成?下條指令完成就緒未完CPU I/OI/O CPU出錯(cuò)I/O CPUCPU 主存CPU做其他事中斷中斷驅(qū)動(dòng)方式流程中斷驅(qū)動(dòng)方式

35、流程36 優(yōu)點(diǎn)優(yōu)點(diǎn):實(shí)現(xiàn):實(shí)現(xiàn)主機(jī)主機(jī)和和外部設(shè)備并行工作外部設(shè)備并行工作,CPUCPU原來(lái)用于查原來(lái)用于查詢(xún)外設(shè)狀態(tài)的時(shí)間被充分地利用起來(lái)了,其工作效率得到了詢(xún)外設(shè)狀態(tài)的時(shí)間被充分地利用起來(lái)了,其工作效率得到了顯著的提高,大大地顯著的提高,大大地提高了提高了CPUCPU的利用效率的利用效率。 缺點(diǎn)缺點(diǎn):傳送信息的單位通常是:傳送信息的單位通常是一個(gè)字一個(gè)字( (節(jié)節(jié)) ),對(duì)于,對(duì)于塊設(shè)塊設(shè)備備( (磁盤(pán)、磁帶磁盤(pán)、磁帶) )數(shù)據(jù)交換是成批的,且數(shù)據(jù)交換是成批的,且單位數(shù)據(jù)之間的時(shí)間單位數(shù)據(jù)之間的時(shí)間間隔較短間隔較短,如果也采用程序中斷方式,將,如果也采用程序中斷方式,將造成信息的丟失。造成

36、信息的丟失。且每傳送一個(gè)字符或一個(gè)字且每傳送一個(gè)字符或一個(gè)字, ,都要發(fā)生一次中斷。都要發(fā)生一次中斷。37 DMA方式又稱(chēng)直接存儲(chǔ)器訪(fǎng)問(wèn)又稱(chēng)直接存儲(chǔ)器訪(fǎng)問(wèn)I/O控制方式控制方式 程序中斷控制方式提高了程序中斷控制方式提高了主機(jī)主機(jī)和和外設(shè)并行工作的效率外設(shè)并行工作的效率,但,但是每傳送一個(gè)字或一個(gè)字節(jié)的數(shù)據(jù)是每傳送一個(gè)字或一個(gè)字節(jié)的數(shù)據(jù)就要執(zhí)行一遍中斷服務(wù)程序就要執(zhí)行一遍中斷服務(wù)程序,數(shù)據(jù)傳送時(shí)仍然要占用數(shù)據(jù)傳送時(shí)仍然要占用CPUCPU的時(shí)間,整個(gè)系統(tǒng)的效率的時(shí)間,整個(gè)系統(tǒng)的效率還是沒(méi)有還是沒(méi)有充分發(fā)揮充分發(fā)揮。對(duì)于一些高速傳送的外部設(shè)備,這種傳送方式的傳。對(duì)于一些高速傳送的外部設(shè)備,這種傳送

37、方式的傳輸速度就顯得太低了。輸速度就顯得太低了。其基本思想其基本思想是在是在外設(shè)外設(shè)和和主存主存之間開(kāi)辟之間開(kāi)辟直接的數(shù)據(jù)交換通路直接的數(shù)據(jù)交換通路。如。如圖所示,使圖所示,使CPUCPU不介入不介入傳送時(shí)的操作,數(shù)據(jù)也不經(jīng)過(guò)傳送時(shí)的操作,數(shù)據(jù)也不經(jīng)過(guò)CPUCPU。這樣。這樣就減少了就減少了CPUCPU的開(kāi)銷(xiāo),系統(tǒng)效率得到了提高。的開(kāi)銷(xiāo),系統(tǒng)效率得到了提高。CPU主存DMA接口接口38向I/O控制器發(fā)布讀塊命令CPU DMACPU做其他事讀DMA控制器的狀態(tài)中斷DMA CPU下條指令DMA方式39DMA方式的特點(diǎn)是:方式的特點(diǎn)是: (1)數(shù)據(jù)傳送的基本單位是)數(shù)據(jù)傳送的基本單位是數(shù)據(jù)塊數(shù)據(jù)塊。

38、 (2)所傳送的數(shù)據(jù)是從)所傳送的數(shù)據(jù)是從設(shè)備設(shè)備送送內(nèi)存內(nèi)存,或者相反。,或者相反。 (3)僅在傳送一個(gè)或多個(gè)數(shù)據(jù)塊的)僅在傳送一個(gè)或多個(gè)數(shù)據(jù)塊的開(kāi)始和結(jié)束時(shí)開(kāi)始和結(jié)束時(shí),才需中才需中斷斷CPU,請(qǐng)求干預(yù),整塊數(shù)據(jù)的傳送是在,請(qǐng)求干預(yù),整塊數(shù)據(jù)的傳送是在DMA控制器控制控制器控制下完成的。下完成的。 采用采用DMADMA方式時(shí),允許方式時(shí),允許DMADMA控制器控制器接管地址線(xiàn)的控制權(quán)接管地址線(xiàn)的控制權(quán),直接控制直接控制DMADMA控制器控制器與內(nèi)存的數(shù)據(jù)交換與內(nèi)存的數(shù)據(jù)交換。從而使磁盤(pán)設(shè)備與。從而使磁盤(pán)設(shè)備與存儲(chǔ)器之間的數(shù)據(jù)傳送不需要存儲(chǔ)器之間的數(shù)據(jù)傳送不需要CPUCPU介入,因而減輕了介

39、入,因而減輕了CPUCPU負(fù)負(fù)擔(dān)。擔(dān)。 當(dāng)采用當(dāng)采用DMADMA時(shí),除向控制器時(shí),除向控制器提供提供要讀塊的要讀塊的磁盤(pán)地址磁盤(pán)地址外,外,還要向控制器提供兩個(gè)信息:要讀塊送往還要向控制器提供兩個(gè)信息:要讀塊送往內(nèi)存的起始地址內(nèi)存的起始地址和要和要傳送的字節(jié)數(shù)傳送的字節(jié)數(shù)40DMADMA方式與中斷方式的主要區(qū)別方式與中斷方式的主要區(qū)別 1 1)中斷方式是每傳送)中斷方式是每傳送一個(gè)字節(jié)一個(gè)字節(jié)之后發(fā)中斷請(qǐng)求,請(qǐng)求之后發(fā)中斷請(qǐng)求,請(qǐng)求CPUCPU進(jìn)行中斷處理;進(jìn)行中斷處理; DMADMA方式則是在所要求傳送的方式則是在所要求傳送的數(shù)據(jù)塊數(shù)據(jù)塊全部傳送結(jié)束時(shí)要求全部傳送結(jié)束時(shí)要求CPUCPU進(jìn)行中

40、斷處理,大大進(jìn)行中斷處理,大大減少了減少了CPUCPU進(jìn)行中斷處理的次數(shù)進(jìn)行中斷處理的次數(shù) 2 2)中斷方式的)中斷方式的數(shù)據(jù)傳送數(shù)據(jù)傳送是由是由CPUCPU控制完成控制完成的;的; DMADMA方式則是在方式則是在DMADMA控制器控制器的控制下不經(jīng)過(guò)的控制下不經(jīng)過(guò)CPUCPU控制完成的控制完成的41 DMA方式的一個(gè)顯著特點(diǎn)是方式的一個(gè)顯著特點(diǎn)是數(shù)據(jù)傳送時(shí),數(shù)據(jù)傳送時(shí),CPU仍然執(zhí)仍然執(zhí)行主程序,行主程序,那么,有可能那么,有可能DMA控制邏輯與控制邏輯與CPU同時(shí)要訪(fǎng)同時(shí)要訪(fǎng)問(wèn)主存問(wèn)主存,引起主存使用權(quán)的沖突。如何處理這種沖突呢?,引起主存使用權(quán)的沖突。如何處理這種沖突呢?周期挪用法周期

41、挪用法: : 當(dāng)當(dāng)DMADMA要求訪(fǎng)問(wèn)主存時(shí),要求訪(fǎng)問(wèn)主存時(shí),CPUCPU暫時(shí)停頓一個(gè)存儲(chǔ)周期暫時(shí)停頓一個(gè)存儲(chǔ)周期。一個(gè)數(shù)據(jù)傳送結(jié)束后,一個(gè)數(shù)據(jù)傳送結(jié)束后,CPUCPU立即立即繼續(xù)運(yùn)行繼續(xù)運(yùn)行。由于。由于 CPUCPU現(xiàn)場(chǎng)現(xiàn)場(chǎng)并沒(méi)有變動(dòng),只是并沒(méi)有變動(dòng),只是延緩了對(duì)指令的執(zhí)行延緩了對(duì)指令的執(zhí)行,因此,這種技術(shù),因此,這種技術(shù)稱(chēng)為稱(chēng)為周期挪用周期挪用,或稱(chēng),或稱(chēng)周期竊取周期竊取。思考:思考:M1 M2 存儲(chǔ)周期存儲(chǔ)周期 M3DMA挪用挪用42 雖然雖然 DMADMA方式比中斷驅(qū)動(dòng)方式已顯著地減少了方式比中斷驅(qū)動(dòng)方式已顯著地減少了CPUCPU的干預(yù),即的干預(yù),即由以由以字(節(jié))字(節(jié))為單位的干預(yù)

42、減少到以為單位的干預(yù)減少到以數(shù)據(jù)塊數(shù)據(jù)塊為單位的干預(yù)。但是為單位的干預(yù)。但是CPUCPU每發(fā)出一條每發(fā)出一條I/OI/O指令,也只能去讀(或?qū)懀┮粋€(gè)連續(xù)的數(shù)據(jù)塊。指令,也只能去讀(或?qū)懀┮粋€(gè)連續(xù)的數(shù)據(jù)塊。而當(dāng)我們需要而當(dāng)我們需要一次去讀多個(gè)離散的數(shù)據(jù)塊一次去讀多個(gè)離散的數(shù)據(jù)塊且將它們分別且將它們分別傳送到不同傳送到不同的內(nèi)存區(qū)域的內(nèi)存區(qū)域,或者相反時(shí),則需由,或者相反時(shí),則需由CPUCPU分別發(fā)出多條分別發(fā)出多條I/OI/O指令及進(jìn)行指令及進(jìn)行多次中斷處理,才能完成。多次中斷處理,才能完成。I/O通道控制方式的引入通道控制方式的引入 由于由于DMADMA每次只能執(zhí)行一條每次只能執(zhí)行一條I/OI/O指令指令,不能滿(mǎn)足復(fù)雜的,不能滿(mǎn)足復(fù)雜的I/OI/O操作操作要求。在大、中型計(jì)算機(jī)系統(tǒng)中,普遍采用由要求。在大、中型計(jì)算機(jī)系統(tǒng)中,普遍采用由專(zhuān)用的專(zhuān)用的I/OI/O處理器處理器來(lái)來(lái)接受接受CPUCPU的委托,獨(dú)立執(zhí)行自己的通道程序來(lái)的委托,獨(dú)立執(zhí)行自己的通道程序來(lái)實(shí)現(xiàn)實(shí)現(xiàn)I/OI/O設(shè)備與內(nèi)存之設(shè)備與內(nèi)存之間間的信息交換,這就是的信息交換,這就是通道技術(shù)通道技術(shù)。 通道技術(shù)可以進(jìn)一步減少通道技術(shù)可以進(jìn)一步減少 CPUCPU的干預(yù),即把的干預(yù)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論