5.1 概述
5.1.1 输入输出系统的发展
输入输出系统的发展步骤:
- 分散连接:
- I/O接口和DMA方式
- 通道通信方式
- I/O处理机
5.1.2 输入输出系统的组成
输入输出系统的组成包括一下两点:
I/O软件包括一下几个方面:
- I/O指令包含 操作码、命令码、设备码 其中操作码是是否是I/O指令的标志,命令码确认操作是传入传出,以及状态的反应、设备码确认I/O设备地址
- 通道指令包括 数据起始地址、数据总长度、数据传输方向、I/O设备地址等
I/O硬件包括:
- 如果是接口方式则为:I/O设备和I/O接口
- 如果是通道方式则为:通道包含多个子通道,子通道包含多个I/O设备控制器,设备控制器包含多个I/O设备
5.1.3 I/O设备与主机的连接方式
1.设备编制方式:
- 统一编制:就是在地址中划分一块区域作为I/O设备地址,这种编制方式不需要有专门的I/O指令
- 不统一编制:
2.设备寻址方式:通过设备选择电路进行I/O地址确认
3.设备通信方式:串行通信/并行通信
4.设备联络方式:
- 立即应答
- 异步工作采用应答方式
- 同步工作采用同步时标
5. I/O设备与主机连接方式:
- 辐射式连接(即分散连接)
- 总线式连接方式
5.1.4 I/O设备与主机的之间的控制方式
1.程序查询方式
2.程序中断方式
3.DMA方式
5.2 I/O设备
I/O设备通过I/O接口和主机进行交互。
I/O设备主要包括:
- 人机交互设备:输入输出设备,如:键盘、鼠标、屏幕等
- 计算机存储设备:磁盘存储器、磁带存储器、光盘存储器等
- 机与机交互设备:调制调节器、网卡等
5.3 I/O接口
1. I/O接口的作用
- 进行设备选址
- 通过数据缓冲来达到速度匹配
- 实现串/并行数据转化
- 实现电平格式转化
- 传送控制命令
- 反映设备状态
2.I/O接口的功能和组成
连接线路包括:地址线、数据线、命令线、状态线
接口内部包括:数据缓存寄存器、命令缓冲器和命令译码器、设备选择电路、设备状态触发器(完成触发器D、工作触发器B、中断触发器Interrupt、屏蔽触发器Mask)、设备逻辑控制器
3.I/O设备分类
- 按数据传输方式:串行接口和并行接口
- 按功能灵活性:可编程接口和不可编程接口
- 按通用行:通用接口和专用接口
- 按主机设备控制方式:中断接口和DMA接口
5.4 程序查询方式
程序查询方式的主要特点是,执行I/O指令后,CPU进入原地踏步阶段,一直查询I/O设备是否准备好数据进行数据传输。
5.5 程序中断方式
- 什么是中断服务程序
中断服务程序是指CPU执行程序过程中如果遇到错误信息或者特殊信息,会中断现行的程序,执行中断服务程序
- 中断服务程序是怎么工作
- 中断接口的组成
中断接口主要包括:中断触发器(inter)和屏蔽中断触发器(mask)、排队器、中断向量地址形成部件
排队器负责对多个I/O设备中断请求的进行优先级排序,并且输出中断信号
中断向量地址形成部件:排队器输出的中断信号经过中断向量地址形成部件译码以后,形成中断向量地址
中断向量地址:中断服务程序在主存中的起始地址
- 中断处理过程
1. CPU 响应中断请求的条件
(1) I/O接口发出中断请求、CPU进行中断查询设置 开中断或者关中断
(2) I/O接口中断请求的处理时间:CPU会在指令执行结束之前确认是否发起中断请求
- 中断服务程序流程
1. 中断服务程序处理流程
(1)保护现场:保存原程序断点和CPU寄存器信息(可放入内存或者堆栈中)
(2)执行中断程序:每个I/O设备的中断程序可能不一样
(3)还原现场:恢复原程序断点和数据
(4)中断返回
2. 单重中断和多重中断的区别是:单重中断在中断返回之前才设置开中断,多重中断在保护现场阶段之后就设置开中断
5.6 DMA方式
5.6.1 DMA方式的特点
DMA方式相比程序中断方式:数据传输不需要经过CPU,对CPU的利用率更高。
DMA方式与主存交互方式:
- 停止CPU访问主存
- 周期窃取
- CPU和DMA交互方式
5.6.2 DMA接口的功能和组成
DMA接口的工作:
- 向CPU申请主线使用权
- 处理主线控制权的转交
- 管理总线,处理总线数据传输
- 确认数据起始地址,数据位数,在传输过程中更新主存地址和数据位数
- 传输完成之后,发出DMA结束信号
DMA接口的组成: AR(地址寄存器)、 WC(数据位数)、 DAR(设备地址)、DR(数据寄存器)、 DMA逻辑控制器、中断机构
5.6.3 DMA工作过程
DMA的工作过程:
- 预处理:获取主存起始地址、数据位数、设备地址、数据传输方向
- 数据输入输出
- 后处理:校验数据的准确性、确认数据是否传输完成、检查传输过程中是否出现错误
DMA接口的判优控制: (ps:类似总线判优控制)
- 链式查询
- 计数器查询
- 独立查询方式
DMA与中断查询方式的区别:
DMA方式 中断查询方式 数据传输控制 硬件控制 软件控制 CPU响应时间 存储周期完成 指令执行完成 有没有处理异常的能力 没有 可能 中断程序 后处理状态下执行,负责完成DMA后续工作 中断当前程序,传输数据 优先级 高 低
5.6.4 DMA接口的类型
DMA接口分为:
- 选择型接口: 物理上是多个接口,逻辑上是一个接口,同一时刻,DMA接口只为一个设备服务
- 多路型接口:物理上是多个接口,逻辑上也是一个接口,多个设备可以同时工作