设备管理——I/O硬件

一、设备控制器
1、引
①、I/O设备通常包含一个机械部件和一个电子部件。电子部件被称作I/O部件或设备控制器
②、早期CPU直接控制外部设备,在引入I/O部件后,I/O指令功能加强,才将CPU逐渐从与外设的交互细节中解放出来
③、操作系统一般只与控制器打交道,而非设备本身
2、组成

3、各部件连接模型

注:SCSI是一种智能的通用接口标准
4、控制器任务
在外部设备与(内存、CPU)之间完成(比特流、外部信号)和(字节块、字节流)的转换


5、IBM PC的I/O地址
每个控制器都有一些用来与CPU通讯的I/O寄存器,操作系统通过向这些寄存器写命令来实现I/O功能

二、DMA
DMA控制器内部结构及外部接口

注:
①、DMA的功能可以以独立的I/O部件在系统I/O总线上完成,也可以整合到I/O部件中完成
②、读写内存时,DMA控制器需要控制总线,CPU可能在涉及存储访问时因此而忙等待

三、I/O通道
通道是独立于CPU的专门负责数据输入/输出传输工作的处理机,对外部设备实现统一管理,代替CPU对输入/输出操作进行控制,从而使输入输出可与CPU并行操作,又称输入输出处理机
注: 可以理解为一个低级的、专用的CPU
1、目的
使CPU从I/O事务中解脱出来,同时提高了CPU与设备,设备与设备的并行能力
2、类型
(1)、字节多路通道:通常按字节交叉的方式工作,适用于低速I/O设备
以字节为单位交叉传输,可以分时的执行多个通道程序,当某设备传送一个字节后,立即转去为另一设备传送字节。主要连接以字节为单位的低速I/O设备,如打印机、终端

(2)、数组选择通道:按成组方式进行数据传输,适用于高速I/O设备
每次传送一批数据,选择通道在这段时间只能执行一个通道程序,当此设备数据传输完成后,再选择另一设备,执行其通道程序。主要连接磁盘、磁带等高速I/O设备

(3)、数组多路通道:综合两者优点,数据传送率和通道利用率都较高
先为一台设备执行一条通道指令,然后自动为另一设备执行一条通道指令。对于连接多台磁盘机的数组多路通道,可以同时执行移臂定位操作,然后,按序交叉的传输一批批数据。主要连接高速设备

注:实际是对通道程序采用多道程序设计的硬件实现
3、原理
通道相当于1个功能简单的处理机,包含通道指令:空操作、读操作、写操作、控制操作、转移操作,并可以执行用这些指令编写的通道程序
(1)、运算控制部件
①、CAW:通道地址字,记录通道程序在内存中的地址
②、CCW:通道命令字,保存正在执行的通道指令
③、CSW:通道状态字,存放通道执行后的返回结果
④、CDW:通道数据字,存放传输数据
注:通道和CPU共用内存,通过周期窃取方式取得
(2)、通道命令
用于I/O操作的命令主要有2种:
①、I/O指令:启动通道程序
②、通道命令:对I/O操作进行控制,分为:
读、反读、写、测试设备状态的数据传输命令
用于设备控制的命令,如:磁带反绕、换页
实现通道程序内部控制的转移命令
(3)、命令格式
一般包括:操作码、数据传输内存地址、特征位、计数器
(4)、工作原理
①、CPU:执行用户程序,当遇到I/O请求时,可根据请求生成通道程序放入内存,也可事先编号放入内存,并将该通道程序的首地址放入CAW中。之后执行启动I/O指令,启动通道工作
②、通道:收到启动I/O指令后,从CAW中取出通道程序首地址,并根据首地址取出第一条指令放入CCW中,同时向CPU发回答信号,使CPU可继续执行其他程序,而通道则开始执行通道程序,完成传输工作。当通道传输完成最后一条指令后,向CPU发I/O中断,并且通道停止工作。CPU接收中断信号,从CSW中取得有关信息,决定下一步做什么
4、通道与CPU关系
①、主从关系
②、可并行工作
③、有通信方式
④、作用不同:通道-I/O、CPU-计算
5、通道传送与中断传送的区别
①、中断传送由中断控制器发出中断信息,中止CPU现行程序,转去执行中断服务程序。通道则是通过执行通道程序来实现
②、中断服务程序与CPU的现行程序是串行工作的,而通道程序的执行与CPU的现行程序是并行工作的
③、中断传送以CPU为中心,而通道和DMA以内存为中心
6、通道传送与DMA传送的区别
①、DMA主要靠专用接口硬件实现数据传送,而通道则靠执行通道程序实现数据传送
②、DMA一般用来控制高速外设成组传送,而通道既可控制高速外设成组传送,也可控制低速外设进行字或字节交叉传送

四、I/O设备分类
1、按数据组织
①、块设备
②、字符设备
2、从资源分配角度
①、独占设备
②、共享设备
③、虚拟设备
3、按传输速率
①、低速设备
②、中速设备
③、高速设备

五、I/O控制方式
1、发展过程

2程序直接控制方式
需要CPU直接控制I/O操作全过程,包括发送读写命令、传输数据、测试设备状态。处理机指令集应包括控制类、测试类、读写类I/O指令。I/O部件接收到响应的指令后,将I/O状态写在寄存器的相应位置上。随操作的执行更改状态位,由CPU执行相应指令读取I/O完成状态。I/O数据通过CPU寄存器转发
3、中断方式
CPU向I/O部件发出指令后,转去做其他有用的工作。当I/O部件准备好数据后,利用中断通知CPU,在由CPU完成数据传输
①、优点:CPU不必反复测试寄存器状态,节约了时间
②、缺点:中断控制方式仍然消耗大量的CPU时间,因为每个字的传输都必须经过CPU寄存器转发
4、DMA方式
负责完成整个I/O操作,无需再经CPU寄存器转发,并在全部传输结束后向CPU发中断信号
①、程序直接控制方式与中断控制方式的缺陷
I/O的传输速率受CPU测试或中断响应的速度限制
CPU为管理I/O耗费大量时间
②、流程
CPU向DMA部件发送I/O指令后,即可进行其他工作。该指令应包括:操作类别、I/O设备地址、读写数据在内存中的首地址、字数
5、通道方式
执行通道程序,向控制器发出命令,并具有向CPU发中断信号的功能。一旦COU发出指令启动通道,则通道独立于CPU工作。一个通道可以连接多个控制器,一个控制器可以连接多个设备,形成树形交叉连接
作用;提高了控制器效率、提高了可靠性、提高了并行度

猜你喜欢

转载自blog.csdn.net/qq_43581718/article/details/106586093
今日推荐