第5章 输入输出系统
文章目录
1.熟知输出输入系统的组成以及I/O设备与主机的联系方式。
输入输出系统的发展概况
- 早期
- 分散连接: CPU和I/O设备串行工作 程序查询方式
- 接口模块和DMA阶段
- 总线连接: CPU和I/O设备并行工作
- 中断方式
- DMA方式
- 总线连接: CPU和I/O设备并行工作
- 具有通道结构阶段
- 具有I/O处理机的阶段
输入输出系统的组成
-
I/O软件
-
I/O指令 CPU指令的一部分
- 将数据从I/O设备输入主机
- 将数据从主机输出至I/O设备
- 状态测试
- 形成某些操作指令
-
通道指令 通道自身的指令
指出数据组的首地址, 传送字数, 操作命令
-
-
I/O硬件
- 设备 I/O接口
- 设备 设备控制器 通道
I/O设备与主机的联系方式
-
I/O设备编址方式
- 统一编址 用取数, 存数指令
- 不统一编址 有专门的I/O指令
-
设备寻址
用设备选择电路识别是否被选中
-
传送方式
-
串行
-
并行
-
-
联络方式
- 立即响应
- 异步工作采用应答信号
- 同步工作采用同步时标
2.理解I/O设备和主机交换信息的控制方式(程序查询方式、程序中断方式、DMA方式、通道方式、I/O处理机方式)以及各自的特点(包括他们之间的区别、联系以及对CPU工作效率的影响等)。
程序查询方式
程序查询方式是由CPU通过程序查询I/O设备是否已做好准备, 从而控制I/O设备与主机交换信息.
过程
-
程序先向I/O设备发出I/O命令字;
-
读取I/O设备工作状态信息;
-
检查状态字中的标志, 看是否可以进行数据交换;
-
若设备未准备就绪, 则返回到上一步, 重复查询;
否则, 发出设备准备就绪信号;
-
CPU与I/O接口的数据缓冲寄存器进行数据交换,
与此同时, 将接口中的状态标志复位.
特点
何时对何设备进行输入输出操作完全受CPU控制, 外围设备与CPU处于异步工作关系, 数据的输入/输出都要经过CPU.
优点
计算机与外设之间可以同步, 控制简单, 硬件简单.
缺点
CPU的大量时间用来查询外设状态.
程序查询流程
程序流程
程序中断方式
当外设准备好后, 主动通知CPU并进行接收或输出数据的方法;
CPU接收到外设的通知后暂停现行的工作, 转入中断服务程序, 和外设交换数据. 等中断程序处理完毕之后, 再返回到被中断的原程序中继续执行之前被暂停的工作.
优点
节约CPU时间, 实时性好.
缺点
控制电路相对复杂, 服务开销较大( 现场和断电保护).
中断类型
- 内部中断: 来自于CPU内部的指令中断请求, 分为软件中断和异常.
- 外部中断: 中断请求来自CPU外部, 又分为可屏蔽中断和不可屏蔽中断.
中断系统的基本功能
-
中断请求信号保持与清除
由硬件实现, 当来了中断请求之后, 通过触发器将它保持起来; 中断处理后用清零信号将它清零.
-
中断优先级: 是指CPU响应和处理中断请求的先后顺序.
- 硬件响应优先序: 由硬件实现, 用户不能更改
- 软件服务优先序: 软件实现
-
中断源识别
中断号: 是系统分配给每个中断源的代号, 以便识别和处理. 中断号在处理过程中起到很重要的作用.
中断号的获取: CPU对系统中不同类型的中断源, 获取它们的中断号是不同的, 可以通过软件和硬件.
-
中断的处理
-
中断控制
中断触发方式: 是指外设以什么逻辑信号去申请中断, 即边沿触发和电平触发两种方式.
中断排队方式: 优先级高的现服务
中断嵌套: 当CPU正在处理某个中断时, 当出现优先级更高的中断会暂时打断正在执行的程序, 转向优先级更高的中断. 但相同优先级不可中断.
中断屏蔽: 处理器用指令来控制中断屏蔽触发器的状态, 从而控制是否接受某个特殊外设的中断请求. 处理器内部也有一个允许触发器, 只有当其为" 1 " 时, CPU才能响应外部中断.
中断服务程序流程
- 保护现场
- 程序断电的保护 中断隐指令完成
- 寄存器内容的保护 进栈的指令
- 中断服务
- 对不同的I/O设备具有不同内容的设备服务
- 恢复现场 出栈指令
- 中断返回 中断返回指令
单重中断和多重中断的服务程序流程
DMA方式
是一种完全由硬件执行的I/O交换方式
当外设准备好后, 通知DMA控制器, DMA控制器从CPU接管总线, 并完成外设和内存之间的大量数据传输; 传输完成后DMA控制器将总线的控制权交还给CPU, 整个数据交换过程不需要CPU参与.
优点
既有中断的优点, 同时又降低了服务开销.
缺点
控制电路更加复杂
DMA传输步骤
- 申请阶段: 一个设备接口试图通过总线直接向另一个设备发送数据( 一般是大批量的数据), 它会先向CPU发送DMA请求信号;
- 响应阶段: CPU收到DMA请求信号后, 在当前的总线周期后, 会按DMA信号的优先级和提出DMA请求的先后顺序响应DMA信号;
- 数据传送阶段: DMA得到总线控制权进行数据传送;
- 传输结束阶段: DMA返回总线控制权.
DMA操作类型
- 数据传送: 把源地址的数据传输到目的地址去
- 数据校验: 不进行传输数据, 只对数据块内部的每个字节进行校验
- 数据检索: 不进行数据传输, 只是在指定区域内查找某个关键字节.
DMA操作方式
- 单字节传输模式: 每次DMA操作传送一个字节后, 接着释放总线.
- 块传输模式: 连续传送多个字节, 直到当前字节计算器归零, 然后释放总线.
- 请求传输模式: DMA控制器询问外设, 当请求信号有效后传输数据.
- 级联传输模式: 多片DMA控制器联级, 构成主从式DMA系统.
DMA与主存交换数据的三种方式
-
停止CPU访问主存 控制简单
CPU处于不工作状态或保持状态, 未充分发挥CPU对主存的利用率.
-
周期挪用 ( 或周期窃取)
DMA访问主存有三种可能
-
CPU此时不访问
-
CPU正在访问
-
CPU与DMA同时请求访问
此时CPU将总线控制权交给DMA
-
-
DMA与CPU交替访问
DMA接口的功能和组成
-
DMA接口功能
-
向CPU 申请 DMA传送
-
处理总线 控制权的转交
-
管理 系统总线, 控制数据传送
-
确定数据传送的首地址和长度
修正 传送过程中的数据 地址和长度
-
DMA传送结束时, 给出操作完成信号
-
-
DMA接口组成
DMA的工作过程
-
DMA传送过程
-
预处理
通过几条输入输出指令预置如下信息
- 通知DMA控制逻辑传送方向(入/出)
- 设备地址 DMA的DAR
- 主存地址 DMA的AR
- 传输字数 DMA的WC
-
数据传送
-
后处理
当DMA的中断请求得到响应后, CPU停止原程序的执行, 转去执行中断服务程序, 做一些DMA的结束工作.
- 校验送入主存的数是否正确
- 是否继续使用DMA
- 测试传送过程中是否正确, 错则转诊断程序
-
中断方式和DMA方式的比较
通道方式
通道是能够专门执行I/O指令的处理机, 它可以实现对外围设备的统一管理, 以及外设与主存之间的数据传输.
I/O处理机方式
I/O处理机又称为外围处理机, 它基本独立于主机工作, 即可完成I/O通道要完成I/O控制, 有可以完成码制变换, 格式处理, 数据块检错,纠错等操作.