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

下載本文檔

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

文檔簡介

1、1設(shè)備管理設(shè)備管理 教學(xué)目的教學(xué)目的: 設(shè)備管理不但要管理實(shí)際I/O操作的設(shè)備(如磁盤機(jī)、打印機(jī)),還要管理諸如設(shè)備控制器、DMA控制器、中斷控制器、I/O處理機(jī)(通道)等支持設(shè)備。設(shè)備管理包括各種設(shè)備分配、緩沖區(qū)管理和實(shí)際物理IO設(shè)備操作,通過管理達(dá)到提高設(shè)備利用率和方便用戶的目的。 設(shè)備管理是操作系統(tǒng)中最繁雜而且與硬件緊密相關(guān)的部分。2教學(xué)要求: l了解設(shè)備的分類,熟悉設(shè)備管理的目標(biāo)和功能。l熟悉程序I/O方式、中斷方式、DMA方式和通道方式四種I/O的控制方式;掌握通道的概念,熟悉通道類型。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è)備處理程序的處理過程。3 存儲(chǔ)設(shè)備存儲(chǔ)設(shè)備:用來:用來存放存放各種信息的設(shè)備稱為存儲(chǔ)設(shè)備,例如,各種信息的設(shè)備稱為存儲(chǔ)設(shè)備,例如,軟盤、硬盤、光盤和磁帶等;軟盤、硬盤、光盤和磁帶等; I/OI/O設(shè)備設(shè)備:用來向計(jì)算機(jī)用來向計(jì)算機(jī)輸入和輸出輸入和輸出信息的設(shè)備,如鍵盤、信息的設(shè)備,如鍵盤、鼠標(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è)備,例如,軟盤、硬盤等。,例如,軟盤、硬盤等。 設(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è)備和裝置稱為計(jì)算機(jī)外部設(shè)備設(shè)備和裝置稱為計(jì)算機(jī)外部設(shè)備( (外圍設(shè)備、外圍設(shè)備、I/OI/O設(shè)備設(shè)備) )。4計(jì)算機(jī)外部設(shè)備種類繁多,特性各異。主要表現(xiàn)在以下幾個(gè)方面:計(jì)

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

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

6、成用戶提出的,是完成用戶提出的I/O請求,為用戶請求,為用戶分配分配I/O設(shè)備;提高設(shè)備;提高CPU和和I/O設(shè)備的利用率設(shè)備的利用率;提高提高I/O速度速度;以及;以及方便用方便用戶戶使用使用I/O設(shè)備。設(shè)備。設(shè)備管理應(yīng)具有設(shè)備管理應(yīng)具有設(shè)備分配與去配、外圍設(shè)備的啟動(dòng)、磁盤的驅(qū)動(dòng)調(diào)設(shè)備分配與去配、外圍設(shè)備的啟動(dòng)、磁盤的驅(qū)動(dòng)調(diào)度、設(shè)備處理和虛擬設(shè)備、緩沖管理等功能。度、設(shè)備處理和虛擬設(shè)備、緩沖管理等功能。設(shè)備分配與去配設(shè)備分配與去配的基本任務(wù)是根據(jù)用戶的的基本任務(wù)是根據(jù)用戶的I/OI/O請求,為之分配其所請求,為之分配其所需的設(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è)對應(yīng)的邏輯設(shè)備多個(gè)對應(yīng)的邏輯設(shè)備,以,以使一個(gè)物理設(shè)備能供多個(gè)用戶共享。使一個(gè)物理設(shè)備能供多個(gè)用戶共享。緩沖管理緩沖管理的基本任務(wù)是管理好各種類型的緩沖區(qū),以的基本任務(wù)是管理好各種類型的緩沖區(qū),以緩和緩和CPUCPU和和I/OI/O速度不匹配的矛盾速度不匹配的矛盾,最終達(dá)到提高,最終達(dá)到提高CPUCPU和和I/OI/O設(shè)備利用率。設(shè)備利用率。 6I/O系統(tǒng)系統(tǒng) 把把I/OI/O設(shè)備及其接口線路設(shè)備及其接口

8、線路、控制部件、通道以及管理軟件、控制部件、通道以及管理軟件統(tǒng)稱為統(tǒng)稱為I/O系統(tǒng)系統(tǒng).主存與處圍設(shè)備之間的信息傳輸操作主存與處圍設(shè)備之間的信息傳輸操作,稱為稱為I/O操作操作.I/O系統(tǒng)系統(tǒng) 把把I/O設(shè)備及其接口線路、控制部件、通道以及管理軟件統(tǒng)稱為設(shè)備及其接口線路、控制部件、通道以及管理軟件統(tǒng)稱為I/O系統(tǒng)。主存與外圍設(shè)備之間的信息傳輸操作系統(tǒng)。主存與外圍設(shè)備之間的信息傳輸操作,稱為稱為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)磁盤控制器磁盤機(jī)卡片控制器打印機(jī)控制器卡片機(jī)打印機(jī)磁帶控制器磁帶機(jī)7 I/O I/O設(shè)備的種類繁多設(shè)備的種類繁多, ,其重要性能指標(biāo)有其重要性能指標(biāo)有: :數(shù)據(jù)傳輸單數(shù)據(jù)傳輸單位位、數(shù)據(jù)傳輸速率數(shù)據(jù)傳輸速率和和設(shè)備的共享屬性設(shè)備的共享屬性等。從不同的角度可等。從不同的角度可以對以對I/O設(shè)備進(jìn)行不同分類:設(shè)備進(jìn)行不同分類: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è)備分類設(shè)備分類83 按信息交換的單位分按信息交換的單位分 塊設(shè)備:以塊設(shè)備:以數(shù)據(jù)塊數(shù)據(jù)塊為單位存儲(chǔ)、傳輸信息,如為單位存儲(chǔ)、傳輸信息,如磁盤、磁帶。磁盤、磁帶。 字符設(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/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)程以程以交叉交叉的方式來使用設(shè)備,其資源利用率高。(如硬盤)的方式來使用設(shè)備,其資源利用率高。(如硬盤) 虛擬設(shè)備虛擬設(shè)備:在一類設(shè)備上模擬另一類設(shè)備,常用共享設(shè)備模擬獨(dú):在一類設(shè)備上模擬另一類設(shè)備,常用共享設(shè)備模擬獨(dú)占設(shè)備,用高速設(shè)備模擬低速設(shè)備,占設(shè)備,用高速設(shè)備模擬低速設(shè)備,被模擬的設(shè)備被模擬的設(shè)備稱為虛擬設(shè)備。稱為虛擬設(shè)備。目目的:將的:將慢速的獨(dú)占設(shè)備慢速的獨(dú)占設(shè)備改造成改造成多個(gè)用戶可共享的設(shè)備多個(gè)用戶可共享的設(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ī)、磁盤機(jī)等)(如終端、打印機(jī)、磁盤機(jī)等) 用戶設(shè)備用戶設(shè)備:指在系統(tǒng)生成時(shí),未登記在系統(tǒng)中的:指在系統(tǒng)生成時(shí),未登記在系統(tǒng)中的非標(biāo)準(zhǔn)非標(biāo)準(zhǔn)設(shè)備設(shè)備。對于這類設(shè)備的處理程序由用戶提供,并將其納入。對于這類設(shè)備的處理程序由用戶提供,并將其納入系統(tǒng),由系統(tǒng)代替用戶實(shí)施管理。(如系統(tǒng),由系統(tǒng)代替用戶實(shí)施管理。(如A/DA/D,D/AD/A轉(zhuǎn)換器,轉(zhuǎn)換器,CADCAD所用專用設(shè)備)所用專用設(shè)備)6 6 從程序

13、使用角度分從程序使用角度分 邏輯設(shè)備邏輯設(shè)備 物理設(shè)備物理設(shè)備10 I IO O設(shè)備一般由設(shè)備一般由機(jī)械機(jī)械和和電子電子兩部分組成。把這兩部分兩部分組成。把這兩部分分開處理,以提供更加模塊化,更加通用的設(shè)計(jì)。分開處理,以提供更加模塊化,更加通用的設(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è)接口, ,通過通過數(shù)數(shù)據(jù)線據(jù)線、控制線和狀態(tài)線、控制線和狀態(tài)線傳輸傳輸數(shù)據(jù)、控制和狀態(tài)三種類型信數(shù)據(jù)、控制和狀態(tài)三種類型信號(hào)號(hào).轉(zhuǎn)換器緩沖控制邏輯I/O設(shè)備數(shù)據(jù)信號(hào)線狀態(tài)信號(hào)線控制信號(hào)線至設(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ā)來的命令,并去控制發(fā)來的命令,并去控制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è)備對應(yīng)一個(gè)設(shè)備地址,以,并使每個(gè)設(shè)備對應(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é)為單位的塊。在對塊驗(yàn)證檢查。在對塊驗(yàn)證檢查和并證明和并證明無錯(cuò)誤時(shí)無錯(cuò)誤時(shí),再將它,再將它復(fù)制到主存復(fù)制到主存中。中。設(shè)備控制器可分為兩類:設(shè)備控制器可分為兩類:1 用于控制用于控制字符設(shè)備字符設(shè)備的控制器的控制器2 用于控制用于控制塊設(shè)備塊設(shè)備的控制器的控制器設(shè)備控制器設(shè)備控制器131 接受和識(shí)別命令接受和識(shí)別命令 通過控制器中的通過控制器中的控制寄存器控制寄存器來存放和接受來存放和接受CPU發(fā)來發(fā)來的命令和參數(shù),并對這些命令進(jìn)行譯碼。的命令和參數(shù),并對這些命

17、令進(jìn)行譯碼。2 數(shù)據(jù)交換數(shù)據(jù)交換 通過控制器中的通過控制器中的數(shù)據(jù)寄存器數(shù)據(jù)寄存器來實(shí)現(xiàn)來實(shí)現(xiàn)CPU與控制器之與控制器之間、控制器與設(shè)備之間的數(shù)據(jù)交換。間、控制器與設(shè)備之間的數(shù)據(jù)交換。3 表示和報(bào)告設(shè)備的狀態(tài)表示和報(bào)告設(shè)備的狀態(tài) 通過控制器中的通過控制器中的狀態(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í)別 通過控制器中的通過控制器中的地址譯碼器地址譯碼器來識(shí)別各個(gè)設(shè)備。系統(tǒng)來識(shí)別各個(gè)設(shè)備。

18、系統(tǒng)中的每一個(gè)設(shè)備都有一個(gè)地址,用來唯一的標(biāo)示這臺(tái)設(shè)中的每一個(gè)設(shè)備都有一個(gè)地址,用來唯一的標(biāo)示這臺(tái)設(shè)備,為此設(shè)備控制器必須能夠識(shí)別它所控制的每個(gè)設(shè)備備,為此設(shè)備控制器必須能夠識(shí)別它所控制的每個(gè)設(shè)備的地址。的地址。5 數(shù)據(jù)緩沖數(shù)據(jù)緩沖 通過控制器中的通過控制器中的緩沖器緩沖器來緩解來緩解I/O設(shè)備與設(shè)備與CPU之間速之間速率不匹配的矛盾。率不匹配的矛盾。6 差錯(cuò)控制差錯(cuò)控制 設(shè)備控制器兼管數(shù)據(jù)的差錯(cuò)檢查。通過將差錯(cuò)檢測設(shè)備控制器兼管數(shù)據(jù)的差錯(cuò)檢查。通過將差錯(cuò)檢測碼置位來向碼置位來向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ù)線地址線控制線數(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的專門的專門負(fù)責(zé)數(shù)據(jù)輸入負(fù)責(zé)數(shù)據(jù)輸入/ /輸出傳輸輸出傳輸工作工作的的處理機(jī)處理機(jī),對外部設(shè)備實(shí)現(xiàn)統(tǒng)一管理,對外部設(shè)備實(shí)現(xiàn)統(tǒng)一管理,代替代替CPUCPU對輸入對輸入/ /輸出操作進(jìn)輸出操作進(jìn)行控制,從而使輸入行控制,從而使輸入/ /輸出操作輸出操作可與可與CPUCPU并行操作并行操作, ,又稱又稱I/OI/O處理器。處理器。通道工作原理通道工作原理 通道相當(dāng)于一個(gè)通道相當(dāng)于一個(gè)功能簡單的處理機(jī)功能簡單的處理機(jī),包含,包含通道指令通道指令(讀

21、操作,(讀操作,寫操作,控制,轉(zhuǎn)移操作),并寫操作,控制,轉(zhuǎn)移操作),并可執(zhí)行可執(zhí)行用這些指令編寫的用這些指令編寫的通道程序通道程序。 通道程序啟動(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è)備,形成樹,形成樹形交叉連接。形交叉連接。 I/O通道通道212.2.引入通道的目的引入通道的目的 為了使為了使CPUCPU從從I/OI/O事務(wù)中解脫出來,同時(shí)為了提高事務(wù)中解脫出來,同時(shí)為了提高CPUCPU與與設(shè)備設(shè)備,設(shè)備與設(shè)備設(shè)備與設(shè)備之間的并行工作能力。之間的并行工作能力。 建立獨(dú)立的建立獨(dú)立的I/OI/O操作,使一些原來由操作,使一些原來由CPUCPU處理的處理的I/OI/O任務(wù)任務(wù)轉(zhuǎn)由轉(zhuǎn)由通道通道來承擔(dān)。來承擔(dān)。3.3.特點(diǎn)特點(diǎn) 1)1)指令類型單一指令類型單一:所執(zhí)行的命令僅局限于:所執(zhí)行的命令僅局限于與與I/OI/O操作有關(guān)操作

23、有關(guān)的指令。的指令。 2)2)沒有自己的內(nèi)存沒有自己的內(nèi)存:通道:通道與與CPUCPU共享內(nèi)存共享內(nèi)存。224. 4. 分類分類 根據(jù)信息交換的方式不同根據(jù)信息交換的方式不同, ,通道可分為三種類型通道可分為三種類型: :字節(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/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)的通道程序。 主要連接磁盤,磁帶等主要連接磁盤,磁帶等高速高速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è)備。這樣,對于連接多臺(tái)磁盤機(jī)的這樣,對于連接多臺(tái)磁盤機(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í)際上是對上是對通道程序通道程序采用采用多道程序設(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)的處理能力。理能力。 解決解決“瓶頸瓶頸”問題的問題的最有效的方法最有效的方法,便是,便是增增加加設(shè)備到主機(jī)間的設(shè)備到主機(jī)間的通路通路而而不增加通道不增加通道。也就是,。也就是,把一個(gè)設(shè)備連接到多個(gè)控制器上,而一個(gè)控制器把一個(gè)設(shè)備連接到多個(gè)控制器上,而一個(gè)控制器又連接到多個(gè)通道上。又連接到多個(gè)通道上。 “瓶頸瓶頸”問題問題272829總線總線:控制器和設(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è)等)相互連接的的線路線路,且連接是共享的。,且連接是共享的。優(yōu)點(diǎn):優(yōu)點(diǎn):低成本低成本(一線多用)(一線多用) 靈活性靈活性(易于增加設(shè)備易于增加設(shè)備,便于兩個(gè)計(jì)算機(jī),便于兩個(gè)計(jì)算機(jī)系統(tǒng)之間共享外設(shè)系統(tǒng)之間共享外設(shè))總線分類:總線分類: 數(shù)據(jù)總線數(shù)據(jù)總線(DB)(DB)、地址總線、地址總線(AB)(AB)、控制總線、控制總線(CB)(CB)總線總線30I/O控制方式控制方式 按照按照I/O控制器功能的強(qiáng)弱以及和控制器功能的強(qiáng)弱以及和CPU之間聯(lián)系之間聯(lián)系方式的不同,把方式的不同,把I/O設(shè)備的控制方式分為以下四類設(shè)備的控制方式分為以下四類:1 程序程

29、序I/O方式方式2 中斷驅(qū)動(dòng)中斷驅(qū)動(dòng)I/O控制方式控制方式3 直接存儲(chǔ)器訪問直接存儲(chǔ)器訪問(DMA)I/O控制方式控制方式4 I/O通道控制方式通道控制方式 I/OI/O控制方式發(fā)展的目標(biāo)控制方式發(fā)展的目標(biāo)是盡量減少主機(jī)對是盡量減少主機(jī)對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)行信息傳送的方式。通常又稱為之間進(jìn)行信息傳送的方式。通常又稱為“忙忙/等等待待”方式方式或或詢問方式詢問方式。 以數(shù)據(jù)輸入為例,當(dāng)用戶進(jìn)程需要輸入數(shù)據(jù)時(shí),由以數(shù)據(jù)輸入為例,當(dāng)用戶進(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通過通過循環(huán)執(zhí)行測試指令循環(huán)執(zhí)行測試指令不間斷地檢測不間斷地檢測設(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)用戶進(jìn)程需要向設(shè)。反之,當(dāng)用戶進(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控制器讀入字向主存中寫字傳送完成?下條指令完成忙就緒未完CPU I/OI/O CPU出錯(cuò)I/O CPUCPU 主存程序I/O方式33 (

32、1) (1)把一個(gè)啟動(dòng)位為把一個(gè)啟動(dòng)位為“1 1”的控制字寫入該設(shè)備的的控制字寫入該設(shè)備的控制控制狀態(tài)寄存器狀態(tài)寄存器; (2)(2)將需輸出數(shù)據(jù)的將需輸出數(shù)據(jù)的一個(gè)字一個(gè)字( (節(jié)節(jié)) )送到送到數(shù)據(jù)緩沖寄存器數(shù)據(jù)緩沖寄存器; (3)(3)測試控制狀態(tài)寄存器中的測試控制狀態(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í)的工作過程:直接控制方式的輸出數(shù)據(jù)時(shí)的工作過程:優(yōu)點(diǎn)優(yōu)點(diǎn):控制簡單:控制簡單,不需要多

33、少硬件支持。不需要多少硬件支持。(循環(huán)測試方式循環(huán)測試方式)缺點(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)中,對。在現(xiàn)代計(jì)算機(jī)系統(tǒng)中,對I/O設(shè)備的控制設(shè)備的控制廣泛采用廣泛采用I/O中斷方式中斷方式。采用這種方式要求。采用這種方式要求CPU與設(shè)備之間有相應(yīng)的與設(shè)備之間有相應(yīng)的中斷請求線,且在控制寄存器中有一個(gè)中斷位。中斷請求線,且在控制寄存器中有一個(gè)中斷位。中斷驅(qū)動(dòng)中

34、斷驅(qū)動(dòng)I/O控制方式控制方式 計(jì)算機(jī)在運(yùn)行過程中,可能會(huì)發(fā)生運(yùn)算溢出、除數(shù)為計(jì)算機(jī)在運(yùn)行過程中,可能會(huì)發(fā)生運(yùn)算溢出、除數(shù)為零、無休止循環(huán)或電壓下降等零、無休止循環(huán)或電壓下降等事先無法預(yù)料的故障事先無法預(yù)料的故障,這些,這些都是運(yùn)行中非正常的現(xiàn)象。都是運(yùn)行中非正常的現(xiàn)象。 CPU收到中斷請求后轉(zhuǎn)相應(yīng)事件處理程序的過程稱為收到中斷請求后轉(zhuǎn)相應(yīng)事件處理程序的過程稱為中斷響應(yīng)中斷響應(yīng)。35向I/O控制器發(fā)讀命令讀I/O控制器的狀態(tài)檢查狀態(tài)?從I/O控制器讀字向主存中寫字傳送完成?下條指令完成就緒未完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原來用于查原來用于查詢外設(shè)狀態(tài)的時(shí)間被充分地利用起來了,其工作效率得到了詢外設(shè)狀態(tài)的時(shí)間被充分地利用起來了,其工作效率得到了顯著的提高,大大地顯著的提高,大大地提高了提高了CPUCPU的利用效率的利用效率。 缺點(diǎn)缺點(diǎn):傳送信息的單位通常是:傳送信息的單位通常是一個(gè)字一個(gè)字( (節(jié)節(jié)) ),對于,對于塊設(shè)塊設(shè)備備( (磁盤、磁帶磁盤、磁帶) )數(shù)據(jù)交換是成批的,且數(shù)據(jù)交換是成批的,且單位數(shù)據(jù)之間的時(shí)間單位數(shù)據(jù)之間的時(shí)間間隔較短間隔較短,如果也采用程序中斷方式,將,如果也采用程序中斷方式,將造成信息的丟失。造成

36、信息的丟失。且每傳送一個(gè)字符或一個(gè)字且每傳送一個(gè)字符或一個(gè)字, ,都要發(fā)生一次中斷。都要發(fā)生一次中斷。37 DMA方式又稱直接存儲(chǔ)器訪問又稱直接存儲(chǔ)器訪問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)的效率還是沒有還是沒有充分發(fā)揮充分發(fā)揮。對于一些高速傳送的外部設(shè)備,這種傳送方式的傳。對于一些高速傳送的外部設(shè)備,這種傳送

37、方式的傳輸速度就顯得太低了。輸速度就顯得太低了。其基本思想其基本思想是在是在外設(shè)外設(shè)和和主存主存之間開辟之間開辟直接的數(shù)據(jù)交換通路直接的數(shù)據(jù)交換通路。如。如圖所示,使圖所示,使CPUCPU不介入不介入傳送時(shí)的操作,數(shù)據(jù)也不經(jīng)過傳送時(shí)的操作,數(shù)據(jù)也不經(jīng)過CPUCPU。這樣。這樣就減少了就減少了CPUCPU的開銷,系統(tǒng)效率得到了提高。的開銷,系統(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ù)塊的開始和結(jié)束時(shí)開始和結(jié)束時(shí),才需中才需中斷斷CPU,請求干預(yù),整塊數(shù)據(jù)的傳送是在,請求干預(yù),整塊數(shù)據(jù)的傳送是在DMA控制器控制控制器控制下完成的。下完成的。 采用采用DMADMA方式時(shí),允許方式時(shí),允許DMADMA控制器控制器接管地址線的控制權(quán)接管地址線的控制權(quán),直接控制直接控制DMADMA控制器控制器與內(nèi)存的數(shù)據(jù)交換與內(nèi)存的數(shù)據(jù)交換。從而使磁盤設(shè)備與。從而使磁盤設(shè)備與存儲(chǔ)器之間的數(shù)據(jù)傳送不需要存儲(chǔ)器之間的數(shù)據(jù)傳送不需要CPUCPU介入,因而減輕了介

39、入,因而減輕了CPUCPU負(fù)負(fù)擔(dān)。擔(dān)。 當(dāng)采用當(dāng)采用DMADMA時(shí),除向控制器時(shí),除向控制器提供提供要讀塊的要讀塊的磁盤地址磁盤地址外,外,還要向控制器提供兩個(gè)信息:要讀塊送往還要向控制器提供兩個(gè)信息:要讀塊送往內(nèi)存的起始地址內(nèi)存的起始地址和要和要傳送的字節(jié)數(shù)傳送的字節(jié)數(shù)40DMADMA方式與中斷方式的主要區(qū)別方式與中斷方式的主要區(qū)別 1 1)中斷方式是每傳送)中斷方式是每傳送一個(gè)字節(jié)一個(gè)字節(jié)之后發(fā)中斷請求,請求之后發(fā)中斷請求,請求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)過的控制下不經(jīng)過CPUCPU控制完成的控制完成的41 DMA方式的一個(gè)顯著特點(diǎn)是方式的一個(gè)顯著特點(diǎn)是數(shù)據(jù)傳送時(shí),數(shù)據(jù)傳送時(shí),CPU仍然執(zhí)仍然執(zhí)行主程序,行主程序,那么,有可能那么,有可能DMA控制邏輯與控制邏輯與CPU同時(shí)要訪同時(shí)要訪問主存問主存,引起主存使用權(quán)的沖突。如何處理這種沖突呢?,引起主存使用權(quán)的沖突。如何處理這種沖突呢?周期挪用法周期

41、挪用法: : 當(dāng)當(dāng)DMADMA要求訪問主存時(shí),要求訪問主存時(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)場現(xiàn)場并沒有變動(dòng),只是并沒有變動(dòng),只是延緩了對指令的執(zhí)行延緩了對指令的執(zhí)行,因此,這種技術(shù),因此,這種技術(shù)稱為稱為周期挪用周期挪用,或稱,或稱周期竊取周期竊取。思考:思考: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指令指令,不能滿足復(fù)雜的,不能滿足復(fù)雜的I/OI/O操作操作要求。在大、中型計(jì)算機(jī)系統(tǒng)中,普遍采用由要求。在大、中型計(jì)算機(jī)系統(tǒng)中,普遍采用由專用的專用的I/OI/O處理器處理器來來接受接受CPUCPU的委托,獨(dú)立執(zhí)行自己的通道程序來的委托,獨(dú)立執(zhí)行自己的通道程序來實(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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論