《{设备管理}设备管理概述》由会员分享,可在线阅读,更多相关《{设备管理}设备管理概述(102页珍藏版)》请在金锄头文库上搜索。
1、关于设备管理,管理对象:I/O设备(I/O系统组成) 基本任务:完成用户提出的I/O请求,提高I/O速率以及改善I/O设备的利用率。 主要功能:缓冲区管理、设备分配、设备处理、虚拟设备及设备独立性等。 与硬件紧密相关,本章主要对I/O设备和设备控制器等硬件作扼要阐述。,2020/7/26,1,第5章 设备管理,I/O系统的组成 I/O控制方式 缓冲管理 设备分配 设备处理 磁盘设备管理,2020/7/26,2,1、 I/O系统的组成,包括: 需要用于输入、输出和存储信息的设备; 需要相应的设备控制器; 控制器与CPU连接的高速总线; 有的大中型计算机系统,配置I/O通道;,2020/7/26,
2、3,控制器与CPU接口,控制器与设备接口,设备控制器,CPU,I/O设备,I/O系统组成,2020/7/26,4,1)I/O设备的类型,I/O设备的类型繁多,从OS的观点,按其重要的性能指标进行分类如下: 按传输速率分类: 低速、中速、高速(键盘、打印机、磁盘) 使用:存储设备、输入输出设备 按信息交换的单位分类: 块设备:有结构、速率高、可寻址、DMA方式控制 字符设备:无结构、速率低、不可寻址、中断方式控制,2020/7/26,5,按设备的共享属性分类: 独占:打印机 共享:一个时刻上仍然是只被一个进程占用。可寻址、可随机访问的色后备。磁盘。 虚拟:使一占设备变换为若干台逻辑设备,供给若干
3、用户“同时使用”。,2020/7/26,6,I/O设备中的接口,与控制器的接口有三种类型的信号 数据信号线(进出数据转换、缓冲后传送) 控制信号线(读写移动磁头等控制) 状态信号线,I/O设备,数据,缓冲,转换器,数据,状态,控制逻辑,控制,2020/7/26,7,2)设备控制器,设备并不直接与CPU通信 计算机中的一个实体“设备控制器”负责控制一个或多个I/O设备,以实现I/O设备和计算机之间的数据交换。 控制器是CPU与I/O设备之间的接口,作为中间人接收从CPU发来的命令,并去控制I/O设备工作,以使处理机脱离繁杂的设备控制事务。,2020/7/26,8,常作成接口卡插入计算机 可编址,
4、不同类 控制一个设备时只有一个地址,若连接多个设备则含有多个设备地址 管理的复杂性因不同设备而异,分为字符设备控制器、块设备控制器。,2020/7/26,9,基本功能 接收和识别CPU命令(控制寄存器:存放命令和参数) 标识和报告设备的状态(状态寄存器) 数据交换(数据寄存器) 地址识别(控制器识别设备地址、寄存器地址。地址译码器) 数据缓冲(协调I/O与CPU的速度差距) 差错控制,2020/7/26,10,组成 设备控制器与处理机的接口 设备控制器与设备的接口 I/O逻辑,设备控制器,数据线,地址线,控制线,数据,状态,控制,I/O逻辑,2020/7/26,11,一个接口连接一个设备。 每
5、个接口中都有数据、控制和状态三种类型的信号。,控制器中的I/O逻辑根据处理机发来的地址信号,去选择一个设备接口。,1个或n个,1个或n个,2020/7/26,12,I/O逻辑,通过一组控制线与处理机交互,处理机利用该逻辑向控制器发送I/O命令。I/O逻辑对收到的命令进行译码。 CPU要启动一个设备时, 将启动命令发送给控制器; 同时通过地址线把地址发送给控制器 控制器的I/O逻辑对收到的地址和命令进行译码,再根据所译出的命令选择设备进行控制。,2020/7/26,13,处理机与设备控制器间,实现CPU与设备控制器之间的通信。 共有三类信号线: 数据线:数据线通常与两类寄存器相连接,第一类是数据
6、寄存器;第二类是控制/状态寄存器。 地址线 控制线,2020/7/26,14,如图所示,计算机系统中的各部件,如CPU、存储器以及各种I/O设备之间的联系,都是通过总线来实现的。 总线的性能用总线的“时钟频率”、“带宽”和相应的总线“传输速率”等指标来衡量。,* 微机I/O系统中的总线结构,2020/7/26,15,总线的发展过程,ISA和EISA总线 ISA(Industry Standard Architecture)总线 EISA(Extended ISA)总线 局部总线(Local Bus) VESA(Video Electronic Standard)总线 PCI(Periphera
7、l Component Interface)总线,2020/7/26,16,3)I/O通道,I/O通道设备的引入 设备控制器已大大减少CPU对I/O的干预 (如承担了选择设备,数据转换、缓冲等功能) 但当主机的外设很多时,CPU的负担仍然很重。 在CPU和设备控制器之间增设一个硬件机构:“通道” 设置通道后 CPU只需向通道发送一条I/O指令即可不再干预后续操作。 通道形成通道程序,执行I/O操作,完成后向CPU发中断信号。,2020/7/26,17,主要目的: 建立更独立的I/O操作,解放CPU。 数据传送的独立 I/0操作的组织、管理及结束处理也尽量独立。 实际上I/O通道是一种特殊的处理
8、机: 指令类型单一,只用于I/O操作; 通道没有内存,它与CPU共享内存,2020/7/26,18,通道类型 根据其控制的外围设备的不同类型,信息交换方式也可分为以下三种类型: 字节多路通道 数组选择通道 数组多路通道,2020/7/26,19,字节多路通道 一个通道常通过多个子通道连接多个设备控制器 多个设备,通过非分配型子通道以字节为单位交叉轮流使用主通道传输自己的数据。(图5-3),主通道扫描子通道速率足够快,子通道上的设备速率又不太高时,一般不丢失信息。 适用于并行、低速设备,2020/7/26,20,数组选择通道 针对高速设备:分配型子通道 设备利用子通道占用通道后,一段时间内一直独
9、占,直至设备传送完毕释放。 利用率低。 数组多路通道 结合上述两种方式。 含多个非分配型子通道。数据传送则按数组方式进行。,2020/7/26,21,“瓶颈”问题,由于通道价格昂贵,致使数量较少,使它成为I/O系统的瓶颈,进而造成系统吞吐量的下降。如下例所示:,2020/7/26,22,解决“瓶颈”问题最有效的办法便是增加设备到主机间的通路而不增加通道,如下图所示:,2020/7/26,23,2、 I/O控制方式,程序I/O方式 中断驱动I/O方式 直接存储器访问DMA(字节块) I/O通道控制方式(组织传送的独立) 宗旨:减少主机对I/O控制的干预,将CPU从繁杂的I/O控制事物中解脱出来。
10、,2020/7/26,24,注意数据走向 设备(磁盘)-控制器缓冲进程的内存,CPU,磁盘 Notepad.exe 2.txt,控制器,内存,notepad,data,工作开销:判断做了多少?做没做完?,2020/7/26,25,1)程序I/O方式,cpu对I/O设备的控制采取程序I/O方式,或称忙等待方式 向控制器发送一条I/O指令;启动输入设备输入数据;把状态寄存器busy=1。 然后不断测试标志。为1:表示输入机尚未输完一个字,CPU继续对该标志测试;直到为0:数据已输入控制器数据寄存器中。 CPU取控制器中的数据送入内存单元,完成一个字的I/O 。 高速CPU空闲等待低速I/O设备,致
11、使CPU极大浪费。,注:也称作程序查询方式或轮询方式。,2020/7/26,26,程序I/O方式流程图,2020/7/26,27,2)中断驱动I/O方式,CPU向相应的设备控制器发出一条I/O命令 然后立即返回继续执行任务。 设备控制器按照命令的要求去控制指定I/O设备。 这时CPU与I/O设备并行操作。 I/O设备输入数据中,无需CPU干预,因而可使CPU与I/O设备并行工作。从而提高了整个系统的资源利用率及吞吐量。 但cpu真的不需要干预么?,2020/7/26,28,中断控制方式流程图,需要cpu干预,2020/7/26,29,中断方式比程序I/O方式更有效 但仍以字(节)为单位进行I/
12、O,每当完成一个字(节),控制器便要请求一次中断。 CPU虽然可与I/O并行,但效率不高,存在频繁的中断干扰。 改进: CPU下指令通知控制器完成一块数据的I/O,控制器完成后才发中断,而不是每个字节都要向CPU发中断; 多字节传输入内存过程不需要CPU搬运,由控制器控制完成(所以称直接存储器访问)DMA(Direct Memory Access)控制方式引入,2020/7/26,30,CPU,磁盘 Notepad.exe 2.txt,DMA控制器,内存,notepad,data,DMA控制器决定做了多少,做完没有。,2020/7/26,31,该方式的特点是: 数据传输的基本单位是数据块; 所
13、传送的数据是从设备直接送入内存的,或者直接从内存进设备;不需要CPU操作。 CPU干预进一步减少:仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在控制器的控制下完成的。 可见DMA方式又是成百倍的减少了CPU对I/O的干预,进一步提高了CPU与I/O设备的并行操作程度。,3)直接存储器访问DMA 方式,2020/7/26,32,DMA控制器的组成,DMA控制器由三部分组成: 主机与DMA控制器的接口; DMA控制器与块设备的接口; I/O控制逻辑。 如下页图。,2020/7/26,33,DMA控制器的示意图,I/O 控 制 逻 辑,DR,MAR,DC,CR,CPU,内
14、存,主机控制器 接口,控制器与 块设备接口,系统总线,DMA控制器,命令,count,2020/7/26,34,DMA控制器中的寄存器,为实现主机与控制器之间块数据的直接交换,必须设置如下四类寄存器: 数据寄存器DR:暂存设备到内存或从内存到设备的数据。 内存地址寄存器MAR:它存放把数据从设备传送到内存的起始的目标地址或内存原地址。 数据计数器DC:存放本次CPU要读或写的字(节)数。 命令/状态寄存器CR:用于接收从CPU发来的I/O命令或有关控制和状态信息。,2020/7/26,35,DMA工作过程,CPU先向磁盘控制器发送一条读命令。 该命令被送到命令寄存器CR中。 同时发送数据读入到
15、内存的起始地址,该地址被送入MAR中; 要读数据的字数则送入数据计数器DC中; 将磁盘中的数据原地址直接送入DMA控制器的I/O控制逻辑上,按设备状态启动磁头到相应位置。 启动DMA控制器控制逻辑开始进行数据传送 DMA控制器读入一个数据到数据寄存器DR中,然后传到内存MAR地址中; 接着MAR+1,DC-1,判断DC是否为0,如否,继续,反之控制器发中断请求,传送完毕。,以磁盘读数据为例,2020/7/26,36,DMA工作方式流程图,2020/7/26,37,4)I/O通道控制方式,DMA适用于读一个连续的数据块; 如一次读多个数据块到内存不同区域,须由CPU分别发送多条I/O指令、进行多
16、次DMA中断处理。 再进一步减少CPU的干预(减少中断), 引入通道。 实现对一组数据块的读(写)及有关的控制和管理为单位的干预。 此时,CPU只需发一条I/O指令,给出通道程序的首地址及要访问设备即可。 * CPU、通道和I/O设备三者的并行操作,提高整系统资源利用率。,2020/7/26,38,通道是一种通过执行通道程序管理I/O操作的控制器,它使主机(CPU和内存)与I/O操作之间达到更高的并行程度。由于它的任务是管理实现输入/输出操作,提供一种传送通道,所以将这种部件称作“通道”。,2020/7/26,39,通道程序,通道 通过执行通道程序,与设备控制器共同实现对I/O设备的控制。 通道程序由一系列通道指令构成。 CPU指令设备驱动程序解读通道程序通道 通道指令一般包含下列信息: 操作码。规定指令所执行的操作。 内存地址。 计数。表示本指令所要操作的字节数。 通道程序结束位。用以表示程序是否结束。 记录结束标志。表示该指令是否与下