計(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頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1設(shè)備管理

教學(xué)目的:設(shè)備管理不但要管理實(shí)際I/O操作的設(shè)備(如磁盤機(jī)、打印機(jī)),還要管理諸如設(shè)備控制器、DMA控制器、中斷控制器、I/O處理機(jī)(通道)等支持設(shè)備。設(shè)備管理包括各種設(shè)備分配、緩沖區(qū)管理和實(shí)際物理I/O設(shè)備操作,通過管理達(dá)到提高設(shè)備利用率和方便用戶的目的。 設(shè)備管理是操作系統(tǒng)中最繁雜而且與硬件緊密相關(guān)的部分。2教學(xué)要求:了解設(shè)備的分類,熟悉設(shè)備管理的目標(biāo)和功能。熟悉程序I/O方式、中斷方式、DMA方式和通道方式四種I/O的控制方式;掌握通道的概念,熟悉通道類型。熟悉緩沖的概念,熟悉單緩沖、雙緩沖、多緩沖和緩沖池工作原理,了解UNIX系統(tǒng)的緩沖技術(shù)。了解在進(jìn)行設(shè)備分配時(shí)應(yīng)考慮的設(shè)備的固有屬性、設(shè)備的分配算法、設(shè)備分配的安全性和設(shè)備的獨(dú)立性等因素;掌握設(shè)備分配中數(shù)據(jù)結(jié)構(gòu),熟悉設(shè)備分配的流程;掌握SPOOLing技術(shù)概念和SPOOLing系統(tǒng)的組成。熟悉設(shè)備處理程序的功能和處理方式,熟悉設(shè)備處理程序的處理過程。3

存儲(chǔ)設(shè)備:用來存放各種信息的設(shè)備稱為存儲(chǔ)設(shè)備,例如,軟盤、硬盤、光盤和磁帶等;

I/O設(shè)備:用來向計(jì)算機(jī)輸入和輸出信息的設(shè)備,如鍵盤、鼠標(biāo)、顯示器、打印機(jī)等。在現(xiàn)代計(jì)算機(jī)系統(tǒng)中有些設(shè)備既可以做存儲(chǔ)設(shè)備,也可以做I/O設(shè)備,例如,軟盤、硬盤等。

設(shè)備管理就是I/O管理,它是操作系統(tǒng)的一個(gè)重要的組成部分,負(fù)責(zé)管理系統(tǒng)中所有的外部設(shè)備。計(jì)算機(jī)外部設(shè)備:在計(jì)算機(jī)系統(tǒng)中除CPU和內(nèi)存儲(chǔ)外所有的設(shè)備和裝置稱為計(jì)算機(jī)外部設(shè)備(外圍設(shè)備、I/O設(shè)備)。4計(jì)算機(jī)外部設(shè)備種類繁多,特性各異。主要表現(xiàn)在以下幾個(gè)方面:1.速度

不同的外部設(shè)備的傳輸速度的差別相當(dāng)大,如鍵盤的傳輸速度不過幾十,上百個(gè)字符,而磁盤的傳輸速度則是60萬字節(jié)/每秒。2.傳輸單位

有的設(shè)備的傳輸單位是字節(jié),如鍵盤、打印機(jī)、顯示器;有的傳輸單位是字符塊(數(shù)據(jù)塊),如軟盤、硬盤、磁帶有的傳輸單位是位,如個(gè)人計(jì)算機(jī)中的SerialPort(s)COM1、COM23.容許的操作(操作特性)

設(shè)備完成的操作種類各不相同,如允許寫操作,只能做讀操作,既可讀,也可寫。4.出錯(cuò)條件

不同的設(shè)備,其出錯(cuò)條件也不相同,即數(shù)據(jù)傳輸失敗的原因各種各樣,如打印機(jī)有缺紙錯(cuò),磁盤I/O有奇偶校驗(yàn)錯(cuò)等。5設(shè)備管理功能

設(shè)備管理的主要任務(wù),是完成用戶提出的I/O請(qǐng)求,為用戶分配I/O設(shè)備;提高CPU和I/O設(shè)備的利用率;提高I/O速度;以及方便用戶使用I/O設(shè)備。設(shè)備管理應(yīng)具有設(shè)備分配與去配、外圍設(shè)備的啟動(dòng)、磁盤的驅(qū)動(dòng)調(diào)度、設(shè)備處理和虛擬設(shè)備、緩沖管理等功能。設(shè)備分配與去配的基本任務(wù)是根據(jù)用戶的I/O請(qǐng)求,為之分配其所需的設(shè)備。運(yùn)行結(jié)束及時(shí)收回.設(shè)備處理(設(shè)備驅(qū)動(dòng)程序)的基本任務(wù)是實(shí)現(xiàn)CPU和設(shè)備控制器之間的通信。虛擬設(shè)備的功能是把一個(gè)物理設(shè)備變換為多個(gè)對(duì)應(yīng)的邏輯設(shè)備,以使一個(gè)物理設(shè)備能供多個(gè)用戶共享。緩沖管理的基本任務(wù)是管理好各種類型的緩沖區(qū),以緩和CPU和I/O速度不匹配的矛盾,最終達(dá)到提高CPU和I/O設(shè)備利用率。

6I/O系統(tǒng)

把I/O設(shè)備及其接口線路、控制部件、通道以及管理軟件統(tǒng)稱為I/O系統(tǒng).主存與處圍設(shè)備之間的信息傳輸操作,稱為I/O操作.I/O系統(tǒng)

把I/O設(shè)備及其接口線路、控制部件、通道以及管理軟件統(tǒng)稱為I/O系統(tǒng)。主存與外圍設(shè)備之間的信息傳輸操作,稱為I/O操作。典型的I/O系統(tǒng)具有四級(jí)結(jié)構(gòu):主機(jī)、通道、設(shè)備控制器和I/O設(shè)備。中央處理器(CPU)主存儲(chǔ)器(MM)通道1(CH1)通道2(CH2)通道3(CH3)磁盤控制器磁盤機(jī)卡片控制器打印機(jī)控制器卡片機(jī)打印機(jī)磁帶控制器磁帶機(jī)7I/O設(shè)備的種類繁多,其重要性能指標(biāo)有:數(shù)據(jù)傳輸單位、數(shù)據(jù)傳輸速率和設(shè)備的共享屬性等。從不同的角度可以對(duì)I/O設(shè)備進(jìn)行不同分類:1按使用特性分

存儲(chǔ)型設(shè)備

輸入輸出型設(shè)備(交互型設(shè)備)2按傳輸速率分低速設(shè)備:傳輸速率每秒幾個(gè)字節(jié)至數(shù)百個(gè)字節(jié);中速設(shè)備:傳輸速率每秒數(shù)千個(gè)字節(jié);高速設(shè)備:傳輸速率每秒數(shù)百個(gè)千字節(jié)至千兆字節(jié);I/O設(shè)備分類83按信息交換的單位分塊設(shè)備:以數(shù)據(jù)塊為單位存儲(chǔ)、傳輸信息,如磁盤、磁帶。字符設(shè)備:以字符為單位存儲(chǔ)、傳輸信息,如打印機(jī)、終端。4按設(shè)備的共享屬性分

獨(dú)占設(shè)備:在一段時(shí)間內(nèi)只能有一個(gè)進(jìn)程使用的設(shè)備,一般為低速I/O設(shè)備。(如打印機(jī),磁帶等)

共享設(shè)備:在一段時(shí)間內(nèi)可有多個(gè)進(jìn)程共同使用的設(shè)備,多個(gè)進(jìn)程以交叉的方式來使用設(shè)備,其資源利用率高。(如硬盤)

虛擬設(shè)備:在一類設(shè)備上模擬另一類設(shè)備,常用共享設(shè)備模擬獨(dú)占設(shè)備,用高速設(shè)備模擬低速設(shè)備,被模擬的設(shè)備稱為虛擬設(shè)備。目的:將慢速的獨(dú)占設(shè)備改造成多個(gè)用戶可共享的設(shè)備,提高設(shè)備的利用率。95按外部設(shè)備的從屬關(guān)系分

系統(tǒng)設(shè)備:指操作系統(tǒng)生成時(shí),登記在系統(tǒng)中的標(biāo)準(zhǔn)設(shè)備(如終端、打印機(jī)、磁盤機(jī)等)

用戶設(shè)備:指在系統(tǒng)生成時(shí),未登記在系統(tǒng)中的非標(biāo)準(zhǔn)設(shè)備。對(duì)于這類設(shè)備的處理程序由用戶提供,并將其納入系統(tǒng),由系統(tǒng)代替用戶實(shí)施管理。(如A/D,D/A轉(zhuǎn)換器,CAD所用專用設(shè)備)6從程序使用角度分邏輯設(shè)備物理設(shè)備10I/O設(shè)備一般由機(jī)械和電子兩部分組成。把這兩部分分開處理,以提供更加模塊化,更加通用的設(shè)計(jì)。1.物理設(shè)備機(jī)械部分是設(shè)備本身(物理裝置)。2.設(shè)備控制器(是設(shè)備與CPU的接口)電子部分叫做設(shè)備控制器或適配器、接口卡在小型和微型機(jī)中,它常采用印刷電路卡插入計(jì)算機(jī)中。設(shè)備組成11設(shè)備控制器

通常,外圍設(shè)備并不是直接與CPU進(jìn)行通信,而是與設(shè)備控制器通信.在設(shè)備與設(shè)備控制器之間有一個(gè)接口,通過數(shù)據(jù)線、控制線和狀態(tài)線傳輸數(shù)據(jù)、控制和狀態(tài)三種類型信號(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è)備控制器位于CPU與設(shè)備之間,主要職責(zé)是控制一個(gè)或多個(gè)I/O設(shè)備,以實(shí)現(xiàn)I/O設(shè)備和主機(jī)之間的數(shù)據(jù)交換。它接受從CPU發(fā)來的命令,并去控制I/O設(shè)備工作。設(shè)備控制器是一個(gè)可編址的設(shè)備,當(dāng)它只控制一個(gè)設(shè)備時(shí),它只有一個(gè)唯一的設(shè)備地址;若它控制多個(gè)設(shè)備時(shí),則它含有多個(gè)設(shè)備地址,并使每個(gè)設(shè)備對(duì)應(yīng)一個(gè)設(shè)備地址,以區(qū)別各個(gè)設(shè)備??刂破鞯娜蝿?wù)是把串行的位流轉(zhuǎn)換為字節(jié)塊,并進(jìn)行必要的錯(cuò)誤修正。首先,控制器按位進(jìn)行組裝,然后存入控制器內(nèi)部的緩沖區(qū)中形成以字節(jié)為單位的塊。在對(duì)塊驗(yàn)證檢查和并證明無錯(cuò)誤時(shí),再將它復(fù)制到主存中。設(shè)備控制器可分為兩類:1用于控制字符設(shè)備的控制器2用于控制塊設(shè)備的控制器設(shè)備控制器131接受和識(shí)別命令通過控制器中的控制寄存器來存放和接受CPU發(fā)來的命令和參數(shù),并對(duì)這些命令進(jìn)行譯碼。2數(shù)據(jù)交換通過控制器中的數(shù)據(jù)寄存器來實(shí)現(xiàn)CPU與控制器之間、控制器與設(shè)備之間的數(shù)據(jù)交換。3表示和報(bào)告設(shè)備的狀態(tài)通過控制器中的狀態(tài)寄存器記下設(shè)備的狀態(tài)供CPU了解。僅當(dāng)設(shè)備處于發(fā)送就緒狀態(tài)時(shí),CPU才能啟動(dòng)設(shè)備控制器從中讀出數(shù)據(jù)。設(shè)備控制器基本功能144地址識(shí)別通過控制器中的地址譯碼器來識(shí)別各個(gè)設(shè)備。系統(tǒng)中的每一個(gè)設(shè)備都有一個(gè)地址,用來唯一的標(biāo)示這臺(tái)設(shè)備,為此設(shè)備控制器必須能夠識(shí)別它所控制的每個(gè)設(shè)備的地址。5數(shù)據(jù)緩沖通過控制器中的緩沖器來緩解I/O設(shè)備與CPU之間速率不匹配的矛盾。6差錯(cuò)控制

設(shè)備控制器兼管數(shù)據(jù)的差錯(cuò)檢查。通過將差錯(cuò)檢測碼置位來向CPU報(bào)告數(shù)據(jù)出錯(cuò)。15設(shè)備控制器的組成設(shè)備控制器與CPU的接口:實(shí)現(xiàn)CPU與控制器之間的通信;設(shè)備控制器與設(shè)備的接口:用于與設(shè)備的連接,一個(gè)設(shè)備控制器上可以連接多個(gè)設(shè)備,因而一個(gè)設(shè)備控制器便有多個(gè)設(shè)備接口,一個(gè)接口連接一個(gè)設(shè)備;

I/O邏輯:實(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è)備控制器的組成17I/OCPU內(nèi)存18CPU內(nèi)存設(shè)備控制器I/O19CPU內(nèi)存設(shè)備控制器通道I/O201.定義:I/O通道是獨(dú)立于CPU的專門負(fù)責(zé)數(shù)據(jù)輸入/輸出傳輸工作的處理機(jī),對(duì)外部設(shè)備實(shí)現(xiàn)統(tǒng)一管理,代替CPU對(duì)輸入/輸出操作進(jìn)行控制,從而使輸入/輸出操作可與CPU并行操作,又稱I/O處理器。通道工作原理

通道相當(dāng)于一個(gè)功能簡單的處理機(jī),包含通道指令(讀操作,寫操作,控制,轉(zhuǎn)移操作),并可執(zhí)行用這些指令編寫的通道程序。

通道程序啟動(dòng)I/O設(shè)備,執(zhí)行完畢后,如果還有下一條指令,則繼續(xù)執(zhí)行,否則表示傳輸完成。

執(zhí)行通道程序,向控制器發(fā)出命令,并具有向CPU發(fā)中斷信號(hào)的功能。一旦CPU發(fā)出指令,啟動(dòng)通道,則通道獨(dú)立于CPU工作。一個(gè)通道可連接多個(gè)控制器,一個(gè)控制器可連接多個(gè)設(shè)備,形成樹形交叉連接。

I/O通道212.引入通道的目的

為了使CPU從I/O事務(wù)中解脫出來,同時(shí)為了提高CPU與設(shè)備,設(shè)備與設(shè)備之間的并行工作能力。

建立獨(dú)立的I/O操作,使一些原來由CPU處理的I/O任務(wù)轉(zhuǎn)由通道來承擔(dān)。3.特點(diǎn)

1)指令類型單一:所執(zhí)行的命令僅局限于與I/O操作有關(guān)的指令。

2)沒有自己的內(nèi)存:通道與CPU共享內(nèi)存。224.分類根據(jù)信息交換的方式不同,通道可分為三種類型:字節(jié)多路通道、數(shù)組選擇通道和數(shù)組多路通道。1)字節(jié)多路通道

字節(jié)多路通道以字節(jié)為單位傳輸信息,它可以分時(shí)地執(zhí)行多個(gè)通道程序。當(dāng)一個(gè)通道程序控制某臺(tái)設(shè)備傳送一個(gè)字節(jié)后,通道硬件就控制轉(zhuǎn)去執(zhí)行另一個(gè)通道程序,控制另一臺(tái)設(shè)備傳送信息。主要連接以字節(jié)為單位的低速I/O設(shè)備。如打印機(jī),終端。以字節(jié)為單位交叉?zhèn)鬏敚?dāng)一臺(tái)傳送一個(gè)字節(jié)后,立即轉(zhuǎn)去為另一臺(tái)傳送字節(jié)23子通道子通道子通道子通道控制器A控制器B控制器C控制器N……設(shè)備主通道字節(jié)多路通道的工作原理242)數(shù)組選擇通道數(shù)組選擇通道是以塊為單位成批傳送數(shù)據(jù),即每次傳送一批數(shù)據(jù),故傳送速度很高。選擇通道在一段時(shí)間內(nèi)只能執(zhí)行一個(gè)通道程序,只允許一臺(tái)設(shè)備進(jìn)行數(shù)據(jù)傳輸,當(dāng)一臺(tái)設(shè)備數(shù)據(jù)傳輸完成后,再選擇與通道連接的另一臺(tái)設(shè)備,執(zhí)行它的相應(yīng)的通道程序。

主要連接磁盤,磁帶等高速I/O設(shè)備。選擇通道253)數(shù)組多路通道

它結(jié)合了選擇通道傳送速度高和字節(jié)多路通道能進(jìn)行分時(shí)并行操作的優(yōu)點(diǎn)。它先為一臺(tái)設(shè)備執(zhí)行一條通道指令,然后自動(dòng)轉(zhuǎn)接,為另一臺(tái)設(shè)備執(zhí)行一條通道指令。

主要連接高速設(shè)備。這樣,對(duì)于連接多臺(tái)磁盤機(jī)的數(shù)組多路通道,它可以啟動(dòng)它們同時(shí)執(zhí)行移動(dòng)定位操作,然后,按序交叉地傳輸一批批數(shù)據(jù)。數(shù)據(jù)多路通道實(shí)際上是對(duì)通道程序采用多道程序設(shè)計(jì)的硬件實(shí)現(xiàn)。26

由于通道的價(jià)格較貴,致使計(jì)算機(jī)系統(tǒng)中通道的數(shù)量遠(yuǎn)比設(shè)備少。這樣,往往因通道數(shù)量不足,產(chǎn)生一種“瓶頸”現(xiàn)象,影響整個(gè)系統(tǒng)的處理能力。解決“瓶頸”問題的最有效的方法,便是增加設(shè)備到主機(jī)間的通路而不增加通道。也就是,把一個(gè)設(shè)備連接到多個(gè)控制器上,而一個(gè)控制器又連接到多個(gè)通道上。

“瓶頸”問題272829總線:控制器和設(shè)備之間的接口以及計(jì)算機(jī)系統(tǒng)中的各個(gè)子系統(tǒng)(CPU、內(nèi)存、外設(shè)等)相互連接的線路,且連接是共享的。優(yōu)點(diǎn):低成本(一線多用)靈活性(易于增加設(shè)備,便于兩個(gè)計(jì)算機(jī)系統(tǒng)之間共享外設(shè))總線分類:

數(shù)據(jù)總線(DB)、地址總線(AB)、控制總線(CB)總線30I/O控制方式

按照I/O控制器功能的強(qiáng)弱以及和CPU之間聯(lián)系方式的不同,把I/O設(shè)備的控制方式分為以下四類:1程序I/O方式2中斷驅(qū)動(dòng)I/O控制方式3直接存儲(chǔ)器訪問(DMA)I/O控制方式4I/O通道控制方式

I/O控制方式發(fā)展的目標(biāo)是盡量減少主機(jī)對(duì)I/O控制的干預(yù),更多地進(jìn)行數(shù)據(jù)處理,提高計(jì)算機(jī)效率和資源的利用率。主要差別在于CPU與外圍設(shè)備并行工作的方式不同,并行工作的程度不同。31程序I/O方式

程序I/O控制方式是指由程序直接控制內(nèi)存或CPU和外圍設(shè)備之間進(jìn)行信息傳送的方式。通常又稱為“忙/等待”方式或詢問方式。

以數(shù)據(jù)輸入為例,當(dāng)用戶進(jìn)程需要輸入數(shù)據(jù)時(shí),由處理機(jī)向設(shè)備控制器發(fā)出I/O指令啟動(dòng)設(shè)備進(jìn)行輸入,同時(shí)把狀態(tài)寄存器中的忙/閑狀態(tài)busy置為1。在設(shè)備輸入期間,CPU通過循環(huán)執(zhí)行測試指令不間斷地檢測設(shè)備狀態(tài)寄存器的值,當(dāng)狀態(tài)寄存器的值顯示設(shè)備輸入完成時(shí),處理機(jī)將數(shù)據(jù)寄存器中的數(shù)據(jù)取走,送入內(nèi)存指定單元,然后再啟動(dòng)設(shè)備去讀下一個(gè)數(shù)據(jù)。反之,當(dāng)用戶進(jìn)程需要向設(shè)備輸出數(shù)據(jù)時(shí),也必須同樣發(fā)啟動(dòng)命令啟動(dòng)設(shè)備輸出并等待輸出操作完成。32向I/O控制器發(fā)讀命令讀I/O控制器的狀態(tài)檢查狀態(tài)?從I/O控制器讀入字向主存中寫字傳送完成?下條指令完成忙就緒未完CPUI/OI/OCPU出錯(cuò)I/OCPUCPU主存程序I/O方式33(1)把一個(gè)啟動(dòng)位為“1”的控制字寫入該設(shè)備的控制狀態(tài)寄存器;

(2)將需輸出數(shù)據(jù)的一個(gè)字(節(jié))送到數(shù)據(jù)緩沖寄存器;

(3)測試控制狀態(tài)寄存器中的“busy”,若為1,轉(zhuǎn)(2),否則轉(zhuǎn)(4);

(4)輸出設(shè)備將數(shù)據(jù)緩沖寄存器中的數(shù)據(jù)取走進(jìn)行實(shí)際的輸出。直接控制方式的輸出數(shù)據(jù)時(shí)的工作過程:優(yōu)點(diǎn):控制簡單,不需要多少硬件支持。(循環(huán)測試方式)缺點(diǎn):CPU和外設(shè)只能串行工作,CPU利用率低。設(shè)備之間不能并行工作。(忙—等待方式)34

為了提高CPU和設(shè)備的利用率,就應(yīng)使CPU與設(shè)備并行工作。在現(xiàn)代計(jì)算機(jī)系統(tǒng)中,對(duì)I/O設(shè)備的控制廣泛采用I/O中斷方式。采用這種方式要求CPU與設(shè)備之間有相應(yīng)的中斷請(qǐng)求線,且在控制寄存器中有一個(gè)中斷位。中斷驅(qū)動(dòng)I/O控制方式

計(jì)算機(jī)在運(yùn)行過程中,可能會(huì)發(fā)生運(yùn)算溢出、除數(shù)為零、無休止循環(huán)或電壓下降等事先無法預(yù)料的故障,這些都是運(yùn)行中非正常的現(xiàn)象。

CPU收到中斷請(qǐng)求后轉(zhuǎn)相應(yīng)事件處理程序的過程稱為中斷響應(yīng)。35向I/O控制器發(fā)讀命令讀I/O控制器的狀態(tài)檢查狀態(tài)?從I/O控制器讀字向主存中寫字傳送完成?下條指令完成就緒未完CPUI/OI/OCPU出錯(cuò)I/OCPUCPU主存CPU做其他事中斷中斷驅(qū)動(dòng)方式流程36

優(yōu)點(diǎn):實(shí)現(xiàn)主機(jī)和外部設(shè)備并行工作,CPU原來用于查詢外設(shè)狀態(tài)的時(shí)間被充分地利用起來了,其工作效率得到了顯著的提高,大大地提高了CPU的利用效率。

缺點(diǎn):傳送信息的單位通常是一個(gè)字(節(jié)),對(duì)于塊設(shè)備(磁盤、磁帶)數(shù)據(jù)交換是成批的,且單位數(shù)據(jù)之間的時(shí)間間隔較短,如果也采用程序中斷方式,將造成信息的丟失。且每傳送一個(gè)字符或一個(gè)字,都要發(fā)生一次中斷。37DMA方式又稱直接存儲(chǔ)器訪問I/O控制方式

程序中斷控制方式提高了主機(jī)和外設(shè)并行工作的效率,但是每傳送一個(gè)字或一個(gè)字節(jié)的數(shù)據(jù)就要執(zhí)行一遍中斷服務(wù)程序,數(shù)據(jù)傳送時(shí)仍然要占用CPU的時(shí)間,整個(gè)系統(tǒng)的效率還是沒有充分發(fā)揮。對(duì)于一些高速傳送的外部設(shè)備,這種傳送方式的傳輸速度就顯得太低了。其基本思想是在外設(shè)和主存之間開辟直接的數(shù)據(jù)交換通路。如圖所示,使CPU不介入傳送時(shí)的操作,數(shù)據(jù)也不經(jīng)過CPU。這樣就減少了CPU的開銷,系統(tǒng)效率得到了提高。CPU主存DMA接口接口38向I/O控制器發(fā)布讀塊命令CPUDMACPU做其他事讀DMA控制器的狀態(tài)中斷DMACPU下條指令DMA方式39DMA方式的特點(diǎn)是:

(1)數(shù)據(jù)傳送的基本單位是數(shù)據(jù)塊。(2)所傳送的數(shù)據(jù)是從設(shè)備送內(nèi)存,或者相反。(3)僅在傳送一個(gè)或多個(gè)數(shù)據(jù)塊的開始和結(jié)束時(shí),才需中斷CPU,請(qǐng)求干預(yù),整塊數(shù)據(jù)的傳送是在DMA控制器控制下完成的。

采用DMA方式時(shí),允許DMA控制器接管地址線的控制權(quán),直接控制DMA控制器與內(nèi)存的數(shù)據(jù)交換。從而使磁盤設(shè)備與存儲(chǔ)器之間的數(shù)據(jù)傳送不需要CPU介入,因而減輕了CPU負(fù)擔(dān)。當(dāng)采用DMA時(shí),除向控制器提供要讀塊的磁盤地址外,還要向控制器提供兩個(gè)信息:要讀塊送往內(nèi)存的起始地址和要傳送的字節(jié)數(shù)40DMA方式與中斷方式的主要區(qū)別

1)中斷方式是每傳送一個(gè)字節(jié)之后發(fā)中斷請(qǐng)求,請(qǐng)求CPU進(jìn)行中斷處理;

DMA方式則是在所要求傳送的數(shù)據(jù)塊全部傳送結(jié)束時(shí)要求CPU進(jìn)行中斷處理,大大減少了CPU進(jìn)行中斷處理的次數(shù)

2)中斷方式的數(shù)據(jù)傳送是由CPU控制完成的;

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

當(dāng)DMA要求訪問主存時(shí),CPU暫時(shí)停頓一個(gè)存儲(chǔ)周期。一個(gè)數(shù)據(jù)傳送結(jié)束后,CPU立即繼續(xù)運(yùn)行。由于CPU現(xiàn)場并沒有變動(dòng),只是延緩了對(duì)指令的執(zhí)行,因此,這種技術(shù)稱為周期挪用,或稱周期竊取。思考:M1M2

存儲(chǔ)周期

M3DMA挪用42

雖然DMA方式比中斷驅(qū)動(dòng)方式已顯著地減少了CPU的干預(yù),即由以字(節(jié))為單位的干預(yù)減少到以數(shù)據(jù)塊為單位的干預(yù)。但是CPU每發(fā)出一條I/O指令,也只能去讀(或?qū)懀┮粋€(gè)連續(xù)的數(shù)據(jù)塊。而當(dāng)我們需要一次去讀多個(gè)離散的數(shù)據(jù)塊且將它們分別傳送到不同的內(nèi)存區(qū)域,或者相反時(shí),則需由CPU分別發(fā)出多條I/O指令及進(jìn)行多次中斷處理,才能完成。I/O通道控制方式的引入

由于DMA每次只能執(zhí)行一條I/O指令,不能滿足復(fù)雜的I/O操作要求。在大、中型計(jì)算機(jī)系統(tǒng)中,普遍采用由專用的I/O處理器來接受CPU的委托,獨(dú)立執(zhí)行自己的通道程序來實(shí)現(xiàn)I/O設(shè)備與內(nèi)存之間的信息交換,這就是通道技術(shù)。

通道技

溫馨提示

  • 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)論