您好,欢迎访问三七文档
12019/10/3关于设备管理管理对象:I/O设备(I/O系统组成)基本任务:完成用户提出的I/O请求,提高I/O速率以及改善I/O设备的利用率。主要功能:缓冲区管理、设备分配、设备处理、虚拟设备及设备独立性等。与硬件紧密相关,本章主要对I/O设备和设备控制器等硬件作扼要阐述。22019/10/3第5章设备管理I/O系统的组成I/O控制方式缓冲管理设备分配设备处理磁盘设备管理32019/10/31、I/O系统的组成包括:需要用于输入、输出和存储信息的设备;需要相应的设备控制器;控制器与CPU连接的高速总线;有的大中型计算机系统,配置I/O通道;42019/10/3控制器与CPU接口控制器与设备接口设备控制器CPUI/O设备数据状态控制数据线地址线控制线总线I/O系统组成52019/10/31)I/O设备的类型I/O设备的类型繁多,从OS的观点,按其重要的性能指标进行分类如下:按传输速率分类:低速、中速、高速(键盘、打印机、磁盘)使用:存储设备、输入输出设备按信息交换的单位分类:块设备:有结构、速率高、可寻址、DMA方式控制字符设备:无结构、速率低、不可寻址、中断方式控制62019/10/3按设备的共享属性分类:独占:打印机共享:一个时刻上仍然是只被一个进程占用。可寻址、可随机访问的色后备。磁盘。虚拟:使一台独占设备变换为若干台逻辑设备,供给若干用户“同时使用”。72019/10/3I/O设备中的接口与控制器的接口有三种类型的信号数据信号线(进出数据转换、缓冲后传送)控制信号线(读\写\移动磁头等控制)状态信号线I/O设备数据缓冲转换器数据状态控制逻辑控制82019/10/32)设备控制器设备并不直接与CPU通信计算机中的一个实体——“设备控制器”负责控制一个或多个I/O设备,以实现I/O设备和计算机之间的数据交换。控制器是CPU与I/O设备之间的接口,作为中间人接收从CPU发来的命令,并去控制I/O设备工作,以使处理机脱离繁杂的设备控制事务。92019/10/3常作成接口卡插入计算机可编址,不同类控制一个设备时只有一个地址,若连接多个设备则含有多个设备地址管理的复杂性因不同设备而异,分为字符设备控制器、块设备控制器。102019/10/3①基本功能1.接收和识别CPU命令(控制寄存器:存放命令和参数)2.标识和报告设备的状态(状态寄存器)3.数据交换(数据寄存器)4.地址识别(控制器识别设备地址、寄存器地址。地址译码器)5.数据缓冲(协调I/O与CPU的速度差距)6.差错控制112019/10/3②组成1.设备控制器与处理机的接口2.设备控制器与设备的接口3.I/O逻辑设备控制器数据线地址线控制线数据状态控制I/O逻辑I/O逻辑控制器与设备接口1控制器与设备接口i数据寄存器控制/状态寄存器数据线地址线控制线与CPU的接口与设备的接口数据数据状态控制状态控制一个接口连接一个设备。每个接口中都有数据、控制和状态三种类型的信号。控制器中的I/O逻辑根据处理机发来的地址信号,去选择一个设备接口。1个或n个1个或n个132019/10/3I/O逻辑通过一组控制线与处理机交互,处理机利用该逻辑向控制器发送I/O命令。I/O逻辑对收到的命令进行译码。CPU要启动一个设备时,将启动命令发送给控制器;同时通过地址线把地址发送给控制器控制器的I/O逻辑对收到的地址和命令进行译码,再根据所译出的命令选择设备进行控制。142019/10/3③处理机与设备控制器间实现CPU与设备控制器之间的通信。共有三类信号线:数据线:数据线通常与两类寄存器相连接,第一类是数据寄存器;第二类是控制/状态寄存器。地址线控制线152019/10/3如图所示,计算机系统中的各部件,如CPU、存储器以及各种I/O设备之间的联系,都是通过总线来实现的。总线的性能用总线的“时钟频率”、“带宽”和相应的总线“传输速率”等指标来衡量。CPU存储器磁盘控制器打印机控制器其他控制器磁盘驱动器打印机系统总线*微机I/O系统中的总线结构162019/10/3总线的发展过程ISA和EISA总线1.ISA(IndustryStandardArchitecture)总线2.EISA(ExtendedISA)总线局部总线(LocalBus)1.VESA(VideoElectronicStandard)总线2.PCI(PeripheralComponentInterface)总线172019/10/33)I/O通道①I/O通道设备的引入设备控制器已大大减少CPU对I/O的干预(如承担了选择设备,数据转换、缓冲等功能)但当主机的外设很多时,CPU的负担仍然很重。在CPU和设备控制器之间增设一个硬件机构:“通道”设置通道后CPU只需向通道发送一条I/O指令即可不再干预后续操作。通道形成通道程序,执行I/O操作,完成后向CPU发中断信号。182019/10/3主要目的:建立更独立的I/O操作,解放CPU。数据传送的独立I/0操作的组织、管理及结束处理也尽量独立。实际上I/O通道是一种特殊的处理机:指令类型单一,只用于I/O操作;通道没有内存,它与CPU共享内存192019/10/3②通道类型根据其控制的外围设备的不同类型,信息交换方式也可分为以下三种类型:1)字节多路通道2)数组选择通道3)数组多路通道202019/10/3字节多路通道一个通道常通过多个子通道连接多个设备控制器多个设备,通过非分配型子通道以字节为单位交叉轮流使用主通道传输自己的数据。(图5-3)控制器A设备控制器B设备A1B1C1…A2B2C2A1A2…B1B2…主通道扫描子通道速率足够快,子通道上的设备速率又不太高时,一般不丢失信息。适用于并行、低速设备212019/10/3数组选择通道针对高速设备:分配型子通道设备利用子通道占用通道后,一段时间内一直独占,直至设备传送完毕释放。利用率低。数组多路通道结合上述两种方式。含多个非分配型子通道。数据传送则按数组方式进行。222019/10/3③“瓶颈”问题由于通道价格昂贵,致使数量较少,使它成为I/O系统的瓶颈,进而造成系统吞吐量的下降。如下例所示:存储器通道1通道2控制器1控制器2控制器3控制器4设备1设备2设备3设备4设备5设备6设备7232019/10/3解决“瓶颈”问题最有效的办法便是增加设备到主机间的通路而不增加通道,如下图所示:存储器通道1通道2控制器1控制器2I/O设备I/O设备I/O设备I/O设备242019/10/32、I/O控制方式程序I/O方式中断驱动I/O方式直接存储器访问DMA(字节—块)I/O通道控制方式(组织传送的独立)宗旨:减少主机对I/O控制的干预,将CPU从繁杂的I/O控制事物中解脱出来。252019/10/3注意数据走向设备(磁盘)--控制器缓冲—进程的内存CPU磁盘Notepad.exe2.txt控制器内存notepaddata工作开销:判断做了多少?做没做完?262019/10/31)程序I/O方式cpu对I/O设备的控制采取程序I/O方式,或称忙—等待方式向控制器发送一条I/O指令;启动输入设备输入数据;把状态寄存器busy=1。然后不断测试标志。为1:表示输入机尚未输完一个字,CPU继续对该标志测试;直到为0:数据已输入控制器数据寄存器中。CPU取控制器中的数据送入内存单元,完成一个字的I/O。高速CPU空闲等待低速I/O设备,致使CPU极大浪费。注:也称作程序查询方式或轮询方式。272019/10/3程序I/O方式流程图向I/O控制器发读命令读I/O控制器的状态从I/O控制器中读入字向存储器中写字检查状态传送完成?出错完成CPU→I/OI/O→CPUI/O→CPUCPU→内存未完未就绪下条指令就绪282019/10/32)中断驱动I/O方式CPU向相应的设备控制器发出一条I/O命令然后立即返回继续执行任务。设备控制器按照命令的要求去控制指定I/O设备。这时CPU与I/O设备并行操作。I/O设备输入数据中,无需CPU干预,因而可使CPU与I/O设备并行工作。从而提高了整个系统的资源利用率及吞吐量。但cpu真的不需要干预么?292019/10/3中断控制方式流程图向I/O控制器发读命令读I/O控制器的状态从I/O控制器中读入字向存储器中写字检查状态传送完成?出错完成CPU→I/OI/O→CPUI/O→CPUCPU→内存未完下条指令就绪CPU做其它事中断需要cpu干预302019/10/3中断方式比程序I/O方式更有效但仍以字(节)为单位进行I/O,每当完成一个字(节),控制器便要请求一次中断。CPU虽然可与I/O并行,但效率不高,存在频繁的中断干扰。改进:CPU下指令通知控制器完成一块数据的I/O,控制器完成后才发中断,而不是每个字节都要向CPU发中断;多字节传输入内存过程不需要CPU搬运,由控制器控制完成(所以称直接存储器访问)——DMA(DirectMemoryAccess)控制方式引入312019/10/3CPU磁盘Notepad.exe2.txtDMA控制器内存notepaddataDMA控制器决定做了多少,做完没有。322019/10/3①该方式的特点是:1)数据传输的基本单位是数据块;2)所传送的数据是从设备直接送入内存的,或者直接从内存进设备;不需要CPU操作。3)CPU干预进一步减少:仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在控制器的控制下完成的。可见DMA方式又是成百倍的减少了CPU对I/O的干预,进一步提高了CPU与I/O设备的并行操作程度。3)直接存储器访问DMA方式332019/10/3②DMA控制器的组成DMA控制器由三部分组成:1.主机与DMA控制器的接口;2.DMA控制器与块设备的接口;3.I/O控制逻辑。如下页图。342019/10/3DMA控制器的示意图I/O控制逻辑DRMARDCCRCPU内存主机—控制器接口控制器与块设备接口系统总线DMA控制器命令count352019/10/3DMA控制器中的寄存器为实现主机与控制器之间块数据的直接交换,必须设置如下四类寄存器:1.数据寄存器DR:暂存设备到内存或从内存到设备的数据。2.内存地址寄存器MAR:它存放把数据从设备传送到内存的起始的目标地址或内存原地址。3.数据计数器DC:存放本次CPU要读或写的字(节)数。4.命令/状态寄存器CR:用于接收从CPU发来的I/O命令或有关控制和状态信息。362019/10/3③DMA工作过程CPU先向磁盘控制器发送一条读命令。该命令被送到命令寄存器CR中。同时发送数据读入到内存的起始地址,该地址被送入MAR中;要读数据的字数则送入数据计数器DC中;将磁盘中的数据原地址直接送入DMA控制器的I/O控制逻辑上,按设备状态启动磁头到相应位置。启动DMA控制器控制逻辑开始进行数据传送DMA控制器读入一个数据到数据寄存器DR中,然后传到内存MAR地址中;接着MAR+1,DC-1,判断DC是否为0,如否,继续,反之控制器发中断请求,传送完毕。以磁盘读数据为例372019/10/3DMA工作方式流程图设置MAR和DC初值启动DMA传送命令挪用存储器周期传送数据字MAR+1DC-1DC=0?请求中断在继续执行用户程序的同时,准备又一次传送382019/10/34)I/O通道控制方式DMA适用于读一个连续的数据块;如一次读多个数据块到内存不同区域,须由CPU分别发送多条I/O指令、进行多次DMA中断处理。再进一步减少CPU的干预(减少中断),引入通道。实现对一组数据块的读(写)及有关的控制和管理为单位的干预。此时,CPU只需发一条I/O指令,给出通道程序的首地址及要访问设备即可。*CPU、通道和I/O设备三者的并行操作,提高整系统资源利用率。392019/10/3通道
本文标题:5章5设备管理
链接地址:https://www.777doc.com/doc-1305734 .html