1.熟知输出输入系统的组成以及I/O设备与主机的联系方式。
输入输出系统的发展概况
- 早期
- 分散连接: CPU和I/O设备串行工作 程序查询方式
- 接口模块和DMA阶段
- 具有通道结构阶段
- 具有I/O处理机的阶段
输入输出系统的组成
- I/O软件
- I/O指令 CPU指令的一部分
- 将数据从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才能响应外部中断.
中断服务程序流程
- 保护现场
- 程序断电的保护 中断隐指令完成
- 寄存器内容的保护 进栈的指令
- 中断服务
- 恢复现场 出栈指令
- 中断返回 中断返回指令
单重中断和多重中断的服务程序流程
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控制逻辑传送方向(入/出)
- 设备地址→ \to→DMA的DAR
- 主存地址→ \to→DMA的AR
- 传输字数→ \to→DMA的WC
- 数据传送
- 后处理
当DMA的中断请求得到响应后, CPU停止原程序的执行, 转去执行中断服务程序, 做一些DMA的结束工作.
- 校验送入主存的数是否正确
- 是否继续使用DMA
- 测试传送过程中是否正确, 错则转诊断程序
中断方式和DMA方式的比较
通道方式
通道是能够专门执行I/O指令的处理机, 它可以实现对外围设备的统一管理, 以及外设与主存之间的数据传输.
I/O处理机方式
I/O处理机又称为外围处理机, 它基本独立于主机工作, 即可完成I/O通道要完成I/O控制, 有可以完成码制变换, 格式处理, 数据块检错,纠错等操作.