操作系統(tǒng)第5章設(shè)備管理(1)_第1頁
操作系統(tǒng)第5章設(shè)備管理(1)_第2頁
操作系統(tǒng)第5章設(shè)備管理(1)_第3頁
操作系統(tǒng)第5章設(shè)備管理(1)_第4頁
操作系統(tǒng)第5章設(shè)備管理(1)_第5頁
已閱讀5頁,還剩70頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第五章 設(shè)備(shbi)管理操作系統(tǒng)(co zu x tn) 劉 剛7/18/20221共七十五頁第五章 設(shè)備(shbi)管理I/O系統(tǒng)是計(jì)算機(jī)系統(tǒng)的重要組成部分I/O系統(tǒng)包括用于實(shí)現(xiàn)信息輸入、輸出和存儲功能的設(shè)備和相應(yīng)的控制器設(shè)備管理的基本任務(wù)是完成用戶提出的I/O請求(qngqi),提高I/O速率以及改善I/O的利用率設(shè)備管理的主要功能有緩沖區(qū)管理、設(shè)備分配、設(shè)備處理、虛擬設(shè)備及實(shí)現(xiàn)設(shè)備獨(dú)立性7/18/20222共七十五頁內(nèi)容(nirng)(1)I/O組成;(2)I/O控制;指I/O完成的方法。(3)I/O緩沖;(4)I/O分配;(5)I/O處理。指具體I/O命令(mng lng)的完成過

2、程。7/18/20223共七十五頁5.1 I/O 系 統(tǒng) I/O系統(tǒng)(xtng)的組成 在一個(gè)計(jì)算機(jī)系統(tǒng)中,除了需要直接用于I/O和存儲信息的設(shè)備外,還需要有相應(yīng)的設(shè)備控制器。在大、中型計(jì)算機(jī)系統(tǒng)中,還需要I/O通道,這些設(shè)備以及相應(yīng)的總線構(gòu)成了I/O系統(tǒng)。 I/O系統(tǒng)的結(jié)構(gòu)(jigu) 對于不同規(guī)模的計(jì)算機(jī)系統(tǒng),其I/O系統(tǒng)的結(jié)構(gòu)也有所差異。通??蓪/O系統(tǒng)的結(jié)構(gòu)分成兩大類: 1、微型機(jī)I/O系統(tǒng) 2、主機(jī)I/O系統(tǒng)7/18/20224共七十五頁5.1 I/O 系 統(tǒng) I/O系統(tǒng)(xtng)的組成 1、微型機(jī)I/O系統(tǒng) 由于微型機(jī)本身比較簡單,其I/O系統(tǒng)多采用總線(zn xin)I/O系

3、統(tǒng)結(jié)構(gòu)。CPU和內(nèi)存是直接連接到總線(zn xin)上的。I/O設(shè)備是通過設(shè)備控制器連接到總線(zn xin)上,CPU并不直接與I/O設(shè)備進(jìn)行通信,而是與設(shè)備控制器進(jìn)行通信,設(shè)備控制器是處理機(jī)和設(shè)備之間的接口,控制器有磁盤控制器、打印機(jī)控制器等。 2、主機(jī)I/O系統(tǒng) 在I/O系統(tǒng)中采用總線結(jié)構(gòu),而是增加一級I/O通道。其中,I/O系統(tǒng)共分為4級:最低級為I/O設(shè)備,次低級為設(shè)備控制器,次高級為I/O通道,最高級是計(jì)算機(jī)。因而也稱這樣的I/O系統(tǒng)結(jié)構(gòu)為四級結(jié)構(gòu)。7/18/20225共七十五頁第五章 設(shè)備(shbi)管理I/O系統(tǒng) I/O控制方式 緩沖管理 設(shè)備分配(fnpi)設(shè)備處理磁盤存儲器

4、管理7/18/20226共七十五頁I/O系統(tǒng)(xtng)I/O設(shè)備設(shè)備控制器I/O通道總線(zn xin)系統(tǒng)7/18/20227共七十五頁I/O設(shè)備(shbi)I/O設(shè)備的類型 按從屬關(guān)系分類系統(tǒng)(xtng)設(shè)備用戶設(shè)備7/18/20228共七十五頁I/O設(shè)備(shbi)I/O設(shè)備的類型 按傳輸速率分類低速設(shè)備 每秒幾個(gè)字節(jié)(z ji)至數(shù)百字節(jié)(z ji)鍵盤、鼠標(biāo)、語音輸入輸出設(shè)備等中速設(shè)備每秒數(shù)千至數(shù)萬字節(jié)行式打印機(jī)、激光打印機(jī)等高速設(shè)備每秒數(shù)百K至數(shù)十M字節(jié)磁盤機(jī)、磁帶機(jī)、光盤機(jī)等7/18/20229共七十五頁I/O設(shè)備(shbi)I/O設(shè)備的類型(lixng)按信息交換的單位分類塊

5、設(shè)備(Block Device)信息的存取總是以數(shù)據(jù)塊為單位可尋址磁盤,每個(gè)盤塊的大小為512 B4 KB字符設(shè)備(Character Device)基本單位是字符不可尋址交互式終端、打印機(jī)7/18/202210共七十五頁 2) 按信息交換的單位分類 可將I/O設(shè)備分成兩類。 第一類是塊設(shè)備(Block Device) 這類設(shè)備用于存儲信息。由于信息的存取總是以數(shù)據(jù)(shj)塊為單位,故而得名。它屬于有結(jié)構(gòu)設(shè)備。典型的塊設(shè)備是磁盤,每個(gè)盤塊的大小為512B4KB。磁盤設(shè)備的基本特征是其傳輸速率較高,通常每秒鐘為幾兆位;另一特征是可尋址,即對它可隨機(jī)地讀/寫任一塊;此外,磁盤設(shè)備的I/O常采用D

6、MA方式。 第二類是字符設(shè)備(Character Device) 用于數(shù)據(jù)的輸入和輸出。其基本單位是字符,故稱為字符設(shè)備。它屬于無結(jié)構(gòu)設(shè)備。交互式終端、打印機(jī)等。字符設(shè)備的基本特征是:傳輸速率較低;不可尋址;即不能指定輸入時(shí)的源地址及輸出時(shí)的目標(biāo)地址;字符設(shè)備在I/O時(shí),常采用中斷驅(qū)動(dòng)方式。 7/18/202211共七十五頁I/O設(shè)備(shbi)I/O設(shè)備的類型按資源分配角度分類(共享屬性)獨(dú)占設(shè)備多數(shù)低速設(shè)備屬獨(dú)占設(shè)備,如打印機(jī)共享設(shè)備 可供多個(gè)進(jìn)程(jnchng)同時(shí)訪問,如磁盤虛擬設(shè)備通過虛擬技術(shù)將一臺獨(dú)占設(shè)備變換為若干個(gè)邏輯設(shè)備,供若干個(gè)進(jìn)程同時(shí)使用臨界資源7/18/202212共七十

7、五頁I/O設(shè)備(shbi)I/O設(shè)備(shbi)的類型按操作特性存儲設(shè)備存儲信息,如磁盤等I/O設(shè)備用來向CPU傳送信息或輸出加工處理后的信息,如顯示器、打印機(jī)7/18/202213共七十五頁2. 設(shè)備(shbi)與控制器之間的接口 通常,設(shè)備并不是直接與CPU進(jìn)行通信,而是與設(shè)備控制器通信。 因此,在設(shè)備與設(shè)備控制器之間應(yīng)有(yn yu)一接口。7/18/202214共七十五頁I/O設(shè)備(shbi)設(shè)備與控制器之間的接口數(shù)據(jù)信號線用于在設(shè)備和設(shè)備控制器之間傳送數(shù)據(jù)信號控制信號線作為由設(shè)備控制器向I/O設(shè)備發(fā)送控制信號(規(guī)定設(shè)備應(yīng)執(zhí)行的操作)時(shí)的通路狀態(tài)信號線用于傳送(chun sn)指示設(shè)備

8、當(dāng)前狀態(tài)的信號設(shè)備控制器是CPU與I/O設(shè)備之間的接口由外界輸入的信號經(jīng)轉(zhuǎn)換器轉(zhuǎn)換后送入緩沖器,數(shù)據(jù)達(dá)到一定的字符數(shù)后,再從緩沖器通過一組數(shù)據(jù)信號線送到控制器從設(shè)備控制器經(jīng)過數(shù)據(jù)信號線傳送來的數(shù)據(jù)先暫存在緩沖器,經(jīng)轉(zhuǎn)換器經(jīng)過適當(dāng)轉(zhuǎn)換后,逐個(gè)字符輸出信號規(guī)定設(shè)備要執(zhí)行的操作指示設(shè)備當(dāng)前狀態(tài),正在讀、寫或完成7/18/202215共七十五頁I/O系統(tǒng)(xtng)I/O設(shè)備設(shè)備控制器I/O通道(tngdo)總線系統(tǒng)7/18/202216共七十五頁設(shè)備(shbi)控制器設(shè)備控制器是CPU與I/O設(shè)備之間的接口(ji ku)接收CPU發(fā)來的命令,控制一個(gè)或多個(gè)I/O設(shè)備工作,以實(shí)現(xiàn)I/O設(shè)備和計(jì)算機(jī)之間

9、的數(shù)據(jù)交換,減輕CPU的負(fù)擔(dān)設(shè)備控制器是一個(gè)可編址的設(shè)備設(shè)備控制器分類控制字符設(shè)備控制塊設(shè)備7/18/202217共七十五頁設(shè)備(shbi)控制器基本功能接收和識別(shbi)命令應(yīng)有控制寄存器存放接受的命令和參數(shù),并對其譯碼 數(shù)據(jù)交換 實(shí)現(xiàn)CPU與控制器、控制器與設(shè)備之間的數(shù)據(jù)交換,需設(shè)置數(shù)據(jù)寄存器標(biāo)識和報(bào)告設(shè)備的狀態(tài):需設(shè)置狀態(tài)寄存器地址識別 識別所控制的設(shè)備,需設(shè)置地址譯碼器數(shù)據(jù)緩沖 :解決I/O設(shè)備速率低的問題差錯(cuò)控制 :對I/O設(shè)備發(fā)送的數(shù)據(jù)7/18/202218共七十五頁2. 設(shè)備(shbi)控制器的組成 由于設(shè)備(shbi)控制器處于CPU與設(shè)備(shbi)之間,它既要與CPU通

10、信,又要與設(shè)備(shbi)通信,還應(yīng)具有按照CPU所發(fā)來的命令去控制設(shè)備(shbi)的工作功能。 因此,現(xiàn)有的大多數(shù)控制器都是由以下三部分組成的: (1)設(shè)備控制器與處理機(jī)的接口。 (2)設(shè)備控制器與設(shè)備的接口 (3)I/O邏輯7/18/202219共七十五頁設(shè)備(shbi)控制器設(shè)備控制器的組成設(shè)備控制器與處理機(jī)的接口實(shí)現(xiàn)CPU與設(shè)備控制器之間通信三類信號線數(shù)據(jù)線:連接(linji)數(shù)據(jù)寄存器:存放設(shè)備或CPU送來的數(shù)據(jù)控制/狀態(tài)寄存器:存放CPU送來的控制信息或設(shè)備的狀態(tài)信息地址線控制線7/18/202220共七十五頁設(shè)備(shbi)控制器設(shè)備控制器的組成設(shè)備控制器與設(shè)備的接口一個(gè)設(shè)備控制

11、器可連接一個(gè)或多個(gè)設(shè)備控制器中則有一個(gè)或多個(gè)設(shè)備接口接口中存在數(shù)據(jù)、控制、狀態(tài)(zhungti)信號I/O邏輯根據(jù)處理機(jī)發(fā)來的地址信號選擇一個(gè)設(shè)備接口7/18/202221共七十五頁設(shè)備(shbi)控制器設(shè)備控制器的組成I/O邏輯:實(shí)現(xiàn)對設(shè)備的控制處理機(jī)利用它向控制器發(fā)送I/O命令I(lǐng)/O邏輯對接受到的命令進(jìn)行譯碼 CPU發(fā)送同時(shí)啟動(dòng)命令及地址(dzh)(通過地址(dzh)線)發(fā)送給控制器,控制器的I/O邏輯對地址(dzh)譯碼,在根據(jù)命令對所選設(shè)備進(jìn)行控制7/18/202222共七十五頁設(shè)備(shbi)控制器設(shè)備(shbi)控制器的組成7/18/202223共七十五頁I/O系統(tǒng)(xtng)I/

12、O設(shè)備(shbi)設(shè)備控制器I/O通道總線系統(tǒng)7/18/202224共七十五頁I/O通道(tngdo)I/O通道(I/O Channel)設(shè)備的引入是一種特殊處理機(jī),專門負(fù)責(zé)輸入/輸出工作有自己簡單的指令系統(tǒng),只有數(shù)據(jù)傳送指令和設(shè)備控制指令主要目的是為了建立獨(dú)立的I/O操作,使有關(guān)對I/O操作的組織、管理及其結(jié)束處理也獨(dú)立于CPUCPU向I/O通道發(fā)送I/O命令,由通道執(zhí)行程序通道與一般(ybn)處理機(jī)的區(qū)別指令單一沒有獨(dú)立的內(nèi)存 7/18/202225共七十五頁5.1.3 I/O通道(tngdo) 1. I/O通道(tngdo)(I/O Channel)設(shè)備的引入 其主要目的是為了建立獨(dú)立的

13、I/O操作,其目的是使一些原來由CPU處理的I/O任務(wù)轉(zhuǎn)由通道來承擔(dān),實(shí)際上,I/O通道是一種特殊的處理機(jī)。它具有執(zhí)行I/O指令的能力,并通過執(zhí)行通道(I/O)程序來控制I/O操作。但I(xiàn)/O通道又與一般的處理機(jī)不同,主要表現(xiàn)在以下兩個(gè)方面: 一是其指令類型單一,這是由于通道硬件比較簡單, 其所能執(zhí)行的命令,主要局限于與I/O操作有關(guān)的指令; 再就是通道沒有自己的內(nèi)存,通道所執(zhí)行的通道程序是放在主機(jī)的內(nèi)存中的, 換言之,是通道與CPU共享內(nèi)存。 7/18/202226共七十五頁2. 通道(tngdo)類型 字節(jié)多路通道(tngdo)(Byte Multiplexor Channel) 數(shù)組選擇通

14、道(Block Selector Channel)數(shù)組多路通道(Block Multiplexor Channel)7/18/202227共七十五頁2. 通道(tngdo)類型 字節(jié)(z ji)多路通道(Byte Multiplexor Channel) 這些通道按時(shí)間片輪轉(zhuǎn)方式共享主通道。當(dāng)所有子通道輪轉(zhuǎn)一周后,重又返回來由第一個(gè)子通道去使用。通過字節(jié)多路通道來連接低速或中速設(shè)備時(shí),便不能丟失信息。7/18/202228共七十五頁I/O通道(tngdo)通道類型字節(jié)多路通道(Byte Multiplexor Channel)以字節(jié)交換方式工作,分時(shí)并行操作主要(zhyo)用來連接多個(gè)中低速設(shè)

15、備7/18/202229共七十五頁I/O通道(tngdo)通道類型數(shù)組選擇通道(Block Selector Channel)以成組方式工作,高速傳輸數(shù)據(jù)可以連接多臺高速設(shè)備僅含有一個(gè)分配型子通道,在一段時(shí)間內(nèi)只能(zh nn)執(zhí)行一個(gè)通道程序,控制一臺I/O設(shè)備由設(shè)備獨(dú)占使用,利用率較低7/18/202230共七十五頁2) 數(shù)組選擇(xunz)通道(Block Selector Channel) 字節(jié)(z ji)多路通道不適于連接高速設(shè)備,這推動(dòng)了按數(shù)組方式進(jìn)行數(shù)據(jù)傳送的數(shù)組選擇通道的形成。這種通道雖然可以連接多臺高速設(shè)備,但由于它只含有一個(gè)分配型子通道,在一段時(shí)間內(nèi)只能執(zhí)行一道通道程序,控

16、制一臺設(shè)備進(jìn)行數(shù)據(jù)傳送,致使當(dāng)某臺設(shè)備占用了該通道后,便一直由它獨(dú)占, 即使是它無數(shù)據(jù)傳送,通道被閑置,也不允許其它設(shè)備使用該通道,直至該設(shè)備傳送完畢釋放該通道??梢?,這種通道的利用率很低。 7/18/202231共七十五頁I/O通道(tngdo)通道類型數(shù)組多路通道(Block Multiplexor Channel)將數(shù)組選擇通道傳輸速率高和字節(jié)多路通道分時(shí)并行操作的優(yōu)點(diǎn)相結(jié)合而形成的一種新通道它含有多個(gè)非分配型子通道, 因而這種通道既具有(jyu)很高的數(shù)據(jù)傳輸速率,又能獲得令人滿意的通道利用率7/18/202232共七十五頁I/O通道(tngdo)瓶頸(pn jn)問題7/18/202

17、233共七十五頁I/O通道(tngdo)7/18/202234共七十五頁I/O系統(tǒng)(xtng)I/O設(shè)備設(shè)備控制器I/O通道(tngdo)總線系統(tǒng)7/18/202235共七十五頁I/O系統(tǒng)(xtng)的組成 1、微型機(jī)I/O系統(tǒng) 由于微型機(jī)本身比較簡單,其I/O系統(tǒng)多采用總線I/O系統(tǒng)結(jié)構(gòu)。CPU和內(nèi)存是直接連接到總線上的。I/O設(shè)備是通過設(shè)備控制器連接到總線上,CPU并不直接與I/O設(shè)備進(jìn)行通信,而是與設(shè)備控制器進(jìn)行通信,設(shè)備控制器是處理機(jī)和設(shè)備之間的接口,控制器有磁盤控制器、打印機(jī)控制器等。 2、主機(jī)I/O系統(tǒng) 在I/O系統(tǒng)中采用總線結(jié)構(gòu),而是增加一級I/O通道。其中,I/O系統(tǒng)共分為4級

18、:最低級為I/O設(shè)備,次低級為設(shè)備控制器,次高級為I/O通道,最高級是計(jì)算機(jī)。因而也稱這樣(zhyng)的I/O系統(tǒng)結(jié)構(gòu)為四級結(jié)構(gòu)。7/18/202236共七十五頁總線(zn xin)系統(tǒng)在計(jì)算機(jī)系統(tǒng)中的各部件,如CPU、存儲器以及(yj)各種I/O設(shè)備之間都是通過總線來聯(lián)系7/18/202237共七十五頁5.1.4 總線(zn xin)系統(tǒng) 2、主機(jī)I/O系統(tǒng)(xtng)(大、中型)(四級結(jié)構(gòu))計(jì)算機(jī)I/O通道I/O控制器設(shè)備I/O通道相當(dāng)于對總線的擴(kuò)展,即多總線方式,且通道有一定的智能性,能與CPU并行,解決其負(fù)擔(dān)。ISA/EISA/LocalBUS/VESA/PCI 7/18/20223

19、8共七十五頁 1. ISA和EISA總線 1) ISA(Industry Standard Architecture)總線 這是為了1984年推出的80286型微機(jī)而設(shè)計(jì)的總線結(jié)構(gòu)。 其總線的帶寬為8位,最高傳輸速率為2Mb/s。之后不久又推出了16位的(EISA)總線,其最高傳輸速率為8Mb/s,后又升至16Mb/s,能連接12臺設(shè)備。 2) EISA(Extended ISA)總線 到80年代(nindi)末期,ISA總線已難于滿足帶寬和傳輸速率的要求,于是人們又開發(fā)出擴(kuò)展ISA(EISA)總線,其帶寬為32位,總線的傳輸速率高達(dá)32Mb/s,同樣可以連接12臺外部設(shè)備。 7/18/202

20、239共七十五頁總線(zn xin)系統(tǒng)ISA和EISA總線ISA(Industry Standard Architecture)總線1984年為80286型微機(jī)(wi j)設(shè)計(jì)帶寬為8位最高傳輸速率為2 Mb/sEISA(Extended ISA)總線帶寬為32位傳輸速率32 Mb/s7/18/202240共七十五頁總線(zn xin)系統(tǒng)局部總線(Local Bus)局部總線是指將多媒體卡、高速(o s)網(wǎng)卡、高性能圖形板等從ISA總線上卸下來,再通過局部總線控制器直接接到CPU總線上VESA(Video Electronic Standard Association)總線 帶寬32位最高

21、傳輸速率為132 Mb/s PCI(Peripheral Component Interface)總線在CPU和外設(shè)間 插入一復(fù)雜的管理層,用于協(xié)調(diào)數(shù)據(jù)傳輸和提供一致的接口7/18/202241共七十五頁設(shè)備管理(gunl)功能設(shè)備分配按設(shè)備類型和分配算法將I/O設(shè)備、控制器及通道分配給用戶進(jìn)程對不能得到資源的進(jìn)程進(jìn)行阻塞(zs)緩沖區(qū)管理在CPU和設(shè)備之間進(jìn)行速度匹配設(shè)備的I/O操作生成通道程序并啟動(dòng)和控制通道完成I/O操作未設(shè)置通道的系統(tǒng)應(yīng)對相應(yīng)設(shè)備I/O進(jìn)行必要的處理7/18/202242共七十五頁第五章 設(shè)備(shbi)管理I/O系統(tǒng) I/O控制(kngzh)方式 緩沖管理 設(shè)備分配設(shè)

22、備處理磁盤存儲器管理7/18/202243共七十五頁5.2 I/O控制(kngzh)方式 系統(tǒng)中引入中斷機(jī)制后,使I/O方式從最簡單的程序I/O方式發(fā)展為中斷驅(qū)動(dòng)方式;DMA控制器的出現(xiàn),字節(jié)為傳輸(chun sh)單位擴(kuò)大到以數(shù)據(jù)塊為傳輸(chun sh)單位。5.2.1 程序I/O方式5.2.2 中斷驅(qū)動(dòng)I/O控制方式 5.2.3 直接存儲器訪問DMA I/O控制方式5.2.4 I/O通道控制方式7/18/202244共七十五頁I/O控制(kngzh)方式 程序I/O方式中斷(zhngdun)驅(qū)動(dòng)I/O方式直接存儲器訪問DMA I/O控制方式I/O通道控制方式7/18/202245共七十五

23、頁程序(chngx)I/O方式處理機(jī)對I/O設(shè)備的控制采用程序I/O(Programmed I/O)方式,或稱為忙-等方式CPU通過I/O測試指令測試設(shè)備接口中的狀態(tài)位,當(dāng)為“忙”時(shí)則一直測試,當(dāng)為“閑”時(shí),可進(jìn)行數(shù)據(jù)傳送,每次傳送一個(gè)字符CPU的絕大部分時(shí)間都處于等待I/O設(shè)備完成數(shù)據(jù)I/O的循環(huán)測試中外設(shè)不能合理使用(shyng),也無法支持多道程序7/18/202246共七十五頁程序(chngx)I/O方式向I/O控制器發(fā)讀命令讀I/O控制器的狀態(tài)檢查狀態(tài)?從I/O控制器中讀入字向存儲器中寫字傳送完成?未就緒就緒出錯(cuò)CPUI/OI/OCPUI/OCPUCPU內(nèi)存下條指令完成未完(a) 程

24、序I/O方式缺點(diǎn):獨(dú)占(dzhn)CPU,始終繁忙工作過程 處理機(jī)對I/O設(shè)備的控制,采取程序I/O(Programmed I/O)方式或稱為忙等待方式。即: (1)在處理機(jī)向控制器發(fā)出一條I/O指令啟動(dòng)輸入設(shè)備輸入數(shù)據(jù)時(shí),要同時(shí)把狀態(tài)寄存器的忙/閑標(biāo)志busy置為1,然后不斷地循環(huán)測試busy: 當(dāng)busy=1時(shí),表示尚未輸入完一個(gè)字符,處理機(jī)應(yīng)繼續(xù)對該標(biāo)志進(jìn)行測試,直至busy=0表明已將數(shù)據(jù)送入控制寄存器中。 此時(shí),處理機(jī)從DR中取走數(shù)據(jù),送入內(nèi)存指定單元中,便完成了一個(gè)字符的I/O。 (2)再去啟動(dòng)讀下一個(gè)數(shù)據(jù),并置busy=1。7/18/202247共七十五頁5.2 I/O控制(kn

25、gzh)方式 5.2.1 程序(chngx)I/O方式 在程序I/O方式中,由于CPU的高速性和I/O設(shè)備的低速性,致使CPU的絕大部分時(shí)間都處于等待I/O設(shè)備完成數(shù)據(jù)I/O的循環(huán)測試中,造成對CPU的極大浪費(fèi)。在該方式中,CPU之所以要不斷地測試I/O設(shè)備的狀態(tài),就是因?yàn)樵贑PU中無中斷機(jī)構(gòu),使I/O設(shè)備無法向CPU報(bào)告它已完成了一個(gè)字符的輸入操作。 7/18/202248共七十五頁I/O控制(kngzh)方式 程序(chngx)I/O方式中斷驅(qū)動(dòng)I/O方式直接存儲器訪問DMA I/O控制方式I/O通道控制方式7/18/202249共七十五頁中斷(zhngdun)驅(qū)動(dòng)I/O方式中斷驅(qū)動(dòng)(In

26、terrupt Driven)方式,即當(dāng)某進(jìn)程要啟動(dòng)某個(gè)I/O設(shè)備工作時(shí),便由CPU向相應(yīng)的設(shè)備控制器發(fā)出(fch)一條I/O命令,然后立即返回繼續(xù)執(zhí)行原來的任務(wù)設(shè)備控制器按命令要求去控制指定的I/O設(shè)備,完成后,通過中斷向CPU發(fā)送一中斷信號在I/O設(shè)備輸入數(shù)據(jù)的過程中,無須CPU干預(yù),每次傳送一個(gè)字符7/18/202250共七十五頁中斷(zhngdun)驅(qū)動(dòng)I/O方式向I/O控制器發(fā)讀命令讀I/O控制器的狀態(tài)檢查狀態(tài)?從I/O控制器中讀字向內(nèi)存中寫字傳送完成?就緒出錯(cuò)CPUI/OI/OCPUI/OCPUCPU內(nèi)存下條指令完成未完中斷CPU(b) 中斷驅(qū)動(dòng)方式做其它事優(yōu)點(diǎn)(yudin):提高

27、了CPU的利用率(成百倍)缺點(diǎn):每I/O一個(gè)數(shù)據(jù)都要中斷一次CPU,在一次數(shù)據(jù)傳送中斷多次,耗去大量CPU處理時(shí)間對I/O設(shè)備的控制,當(dāng)某進(jìn)程要啟動(dòng)某個(gè)I/O設(shè)備工作時(shí),便由CPU向相應(yīng)的設(shè)備控制器發(fā)出一條I/O命令,然后立即返回繼續(xù)執(zhí)行原任務(wù)。設(shè)備控制器便按照該命令的要求去控制I/O設(shè)備。 7/18/202251共七十五頁5.2.2 中斷驅(qū)動(dòng)(q dn)I/O控制方式 在I/O設(shè)備輸入每個(gè)數(shù)據(jù)的過程中,由于無須CPU干預(yù),因而可使CPU與I/O設(shè)備并行工作。僅當(dāng)輸完一個(gè)數(shù)據(jù)時(shí),才需CPU花費(fèi)極短的時(shí)間去做些中斷處理??梢姡@樣可使CPU和I/O設(shè)備都處于忙碌狀態(tài)(zhungti),從而提高了

28、整個(gè)系統(tǒng)的資源利用率及吞吐量。 例如,從終端輸入一個(gè)字符的時(shí)間約為100ms,而將字符送入終端緩沖區(qū)的時(shí)間小于0.1ms。若采用程序I/O方式,CPU約有99.9ms的時(shí)間處于忙等待中。采用中斷驅(qū)動(dòng)方式后,CPU可利用這99.9ms的時(shí)間去做其它事情,而僅用0.1ms的時(shí)間來處理由控制器發(fā)來的中斷請求??梢?,中斷驅(qū)動(dòng)方式可以成百倍地提高CPU的利用率。 7/18/202252共七十五頁I/O控制(kngzh)方式 程序I/O方式中斷驅(qū)動(dòng)(q dn)I/O方式直接存儲器訪問DMA I/O控制方式I/O通道控制方式7/18/202253共七十五頁DMA方式(fngsh)特點(diǎn)數(shù)據(jù)傳輸?shù)幕締挝皇菙?shù)據(jù)

29、塊所傳送的數(shù)據(jù)是從設(shè)備直接送入內(nèi)存的,或者(huzh)相反僅在傳送一個(gè)或多個(gè)數(shù)據(jù)塊的開始和結(jié)束時(shí)才需CPU干預(yù)除了具有中斷機(jī)構(gòu)外,還增加了DMA控制器數(shù)據(jù)傳送方向、存放數(shù)據(jù)的內(nèi)存地址及傳送數(shù)據(jù)長度需CPU控制每個(gè)設(shè)備需配置一個(gè)DMA控制器7/18/202254共七十五頁DMA方式(fngsh)向I/O控制器發(fā)布讀塊命令CPUDMACPU做其它事讀DMA控制器的狀態(tài)中斷DMACPU下條指令(c) DMA方式7/18/202255共七十五頁DMA方式(fngsh)DMA控制器的組成主機(jī)(zhj)與DMA控制器的接口DMA控制器與塊設(shè)備的接口I/O控制邏輯7/18/202256共七十五頁DMA方式(

30、fngsh)DMA控制器中四類寄存器命令/狀態(tài)寄存器CR接收CPU發(fā)送的I/O命令或有關(guān)控制信息,或設(shè)備狀態(tài)內(nèi)存地址寄存器MAR輸入時(shí):數(shù)據(jù)存放到內(nèi)存的起始(q sh)目標(biāo)地址輸出時(shí):存放數(shù)據(jù)由內(nèi)存到設(shè)備的內(nèi)存源地址數(shù)據(jù)寄存器DR暫存從設(shè)備到內(nèi)存/內(nèi)存到設(shè)備的數(shù)據(jù)數(shù)據(jù)計(jì)數(shù)器DC存放本次CPU要讀或?qū)懙淖郑ü?jié))數(shù)7/18/202257共七十五頁DMA方式(fngsh)DMA控制器的組成主機(jī)與DMA控制器的接口DMA控制器與塊設(shè)備的接口I/O控制(kngzh)邏輯7/18/202258共七十五頁3. DMA工作(gngzu)過程 (1)CPU從磁盤(c pn)讀入一個(gè)數(shù)據(jù)塊時(shí),向磁盤(c pn)控

31、制器發(fā)送一條讀命令。該命令被送到其中的命令寄存器CR中;將發(fā)送數(shù)據(jù)的內(nèi)存始址放到MAR中;要讀的數(shù)據(jù)的字節(jié)數(shù)送入DC中,將磁盤(c pn)中的源地址送到I/O控制邏輯上。 (2)啟動(dòng)DMA控制器進(jìn)行數(shù)據(jù)傳送,此時(shí)CPU可去處理其他任務(wù)。(整個(gè)數(shù)據(jù)傳送過程由DMA控制器進(jìn)行控制)。7/18/202259共七十五頁3. DMA工作(gngzu)過程 DMA控制過程為: (1)當(dāng)DMA控制器已從磁盤中讀入一個(gè)字節(jié)的數(shù)據(jù)并送入數(shù)據(jù)寄存器DR中,再挪用(nuyng)一個(gè)存儲器周期,將該字節(jié)傳送到MAR所指示的內(nèi)存單元中。 (2)對MAR加1,將DC內(nèi)容減1,若減1后,DC內(nèi)容不為0,表示傳送未完,便繼續(xù)

32、傳送下一個(gè)字節(jié);否則,由DMA控制器發(fā)出中斷請求。7/18/202260共七十五頁DMA方式(fngsh)DMA方式的工作流程設(shè)置MAR和DC初值啟動(dòng)DMA傳送命令挪用存儲器周期傳送數(shù)據(jù)字存儲器地址增1字計(jì)數(shù)寄存器減1DC0?請求中斷在繼續(xù)執(zhí)行用戶程序的同時(shí),準(zhǔn)備又一次傳送否是7/18/202261共七十五頁DMA7/18/202262共七十五頁DMA7/18/202263共七十五頁DMA7/18/202264共七十五頁DMA方式(fngsh)DMA與中斷(zhngdun)方式的主要區(qū)別中斷方式在每個(gè)數(shù)據(jù)傳送完后中斷CPU,DMA方式則是在所要求傳送的一批數(shù)據(jù)全部傳送完時(shí)中斷CPU中斷方式的數(shù)據(jù)傳送時(shí)在中斷處理時(shí)由CPU控制完成的,而DMA則是在DMA控制下完成的DMA方式的局限性:傳送方向、始址、長度等由CPU控制,一個(gè)設(shè)備一個(gè)DMA,成本高7/18/202265共七十五頁I/O控制(kngzh)方式 程序I/O方式中斷驅(qū)動(dòng)I/O方式直接(zhji)存儲器訪問DMA I/O控制方式I/O通道控制方式7/18/202266共七十五頁I/O通道(tngdo)控制方式I/O通道控制方式的引入 與DMA類似,是以內(nèi)存為中心的數(shù)據(jù)交換方式進(jìn)一步減少了CPU的干預(yù),把對一個(gè)數(shù)據(jù)塊的讀(或?qū)?為單位的干預(yù),減少為對一組數(shù)據(jù)塊的讀(或?qū)?及有關(guān)的控制和管理為單位的干預(yù)一個(gè)通道控制多臺設(shè)

溫馨提示

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

評論

0/150

提交評論