第六章 输入输出系统——I/O系统
I/O系统的组成:
- 需要用于输入、输出和存储信息的设备;
- 需要相应的设备控制器;
- 控制器与CPU连接的高速总线;
- 有的大中型计算机系统,配置I/O通道;
设备管理器: - 管理对象:
- I/O设备和相应的设备控制器(I/O系统组成) - 基本任务:
- 完成用户提出的I/O请求,
- 提高I/O速率、改善I/O设备的利用率。
- 为更高层进程方便使用设备提供手段
I/O设备的类型:
- 按传输速率分类:
- 低速、中速、高速(键盘、打印机、磁盘) - 按使用:存储设备、输入输出设备
- 按信息交换的单位分类:
- 块设备:有结构、速率高、可寻址、DMA方式控制
- 字符设备:无结构、速率低、不可寻址、中断方式控制 - 按设备的共享属性分类:
- 独占:打印机
- 共享:一个时刻上仍然是只被一个进程占用。可寻址、可随机访问的色后备。磁盘。
- 虚拟:使一*占设备变换为若干台逻辑设备,供给若干用户“同时使用”
I/O系统接口:
- 块设备接口
- 流设备接口
- 网络通信接口
I/O设备中的接口:
- 数据信号线(进出数据转换、缓冲后传送)
- 控制信号线(读\写\移动磁头等控制)
- 状态信号线
设备控制器:
- 设备并不直接与CPU通信
- 计算机中的一个实体——“设备控制器”负责控制一个或多个I/O设备,以实现I/O- 设备和计算机之间的数据交换。
- 控制器是CPU与I/O设备之间的接口,作为中间人接收从CPU发来的命令,并去控制I/O设备工作,以使处理机脱离繁杂的设备控制事务
- 常作成接口卡插入计算机
- 可编址,不同类
① 基本功能:
- 接收和识别CPU命令(控制寄存器:存放命令和参数)
- 标识和报告设备的状态(状态寄存器)
- 数据交换(数据寄存器)
- 地址识别(控制器识别设备地址、寄存器地址。地址译码器)
- 数据缓冲(协调I/O与CPU的速度差距)
- 差错控制
② 组成:
- 设备控制器与处理机的接口
- 设备控制器与设备的接口
- I/O逻辑
③ 处理机与设备控制器间:
-实现CPU与设备控制器之间的通信。
- 共有三类信号线:数据线、地址线、控制线
I/O通道
设置通道后
- CPU只需向通道发送一条I/O指令即可不再干预后续操作。
- 通道形成通道程序,执行I/O操作,完成后向CPU发中断信号
主要目的:
- 建立更独立的I/O操作,解放CPU。
- 数据传送的独立
- I/0操作的组织、管理及结束处理也尽量独立。 - 实际上I/O通道是一种特殊的处理机:
- 指令类型单一,只用于I/O操作;
- 通道没有内存,它与CPU共享内存
通道类型:
- 字节多路通道
- 数组选择通道
- 数组多路通道
中断机构与处理
中断:CPU对I/O设备发来的中断信号的一种响应,中断是由外部设备引起的,又称外中断。
陷入:由CPU内部事件所引起的中断,通常把这类中断称为内中断或陷入(trap)。
中断和陷入的主要区别:是信号的来源。
对多中断源的处理方式:
- ①屏蔽(禁止)中断:
- ②嵌套中断:
中断处理程序
主要工作
①进行进程上下文的切换
②对处理中断信号源进行测试
③读取设备状态
④修改进程状态
中断处理流程
- 测定是否有未响应的中断信号
- 保护被中断进程的CPU环境
- 转入相应的设备处理程序
- 中断处理
- 恢复CPU的现场
直接存储器访问DMA方式
①该方式的特点是:
- 数据传输的基本单位是数据块;
- 所传送的数据是从设备直接送入内存的,或者直接从内存进设备;不需要CPU操作。
- CPU干预进一步减少:仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在控制器的控制下完成的。
可见DMA方式又是成百倍的减少了CPU对I/O的干预,进一步提高了CPU与I/O设备的并行操作程度。
②DMA控制器的组成
DMA控制器由三部分组成:
- 主机与DMA控制器的接口;
- DMA控制器与块设备的接口;
- I/O控制逻辑
设备分配
所需数据结构:
- 设备控制表
- 控制器控制表
- 通道控制表
- 系统设备(总)表
分配设备:
分配控制器: