第五章 输入输出系统
发展
早期串行 DMA(Direct Memory Access) IO和主存之间有一条直接数据通路 通道 通道指令,受CPU的IO指令控制 IBM/360系统一个通道可以连8个设备控制器,一个设备控制器可以连8个设备 IO处理机 外围处理机PPU
按照IO设备工作速度的不同,分三种联络方式
立即响应方式 异步工作采用应答信号联络 异步并行 IO接口向IO设备发送Ready信号后,立即从接口中取出数据 IO设备向IO接口发Strobe信号,并让接口转告CPU,接口中的数据已经被取走 串行传送 同步工作采用同步时标联络 要求IO设备和CPU的工作速度完全同步
IO设备和主机的连接方式
辐射式 要求每台IO设备都有一套控制线路和一组信号线,初期 总线式 一组总线(包括地址线、数据线、控制线等)
5.1.4 IO和主机信息传送的控制方式
五种控制方式
程序查询方式* CPU和IO串行工作 程序中断方式* CPU启动IO设备后,对设备是否已准备就绪不过问,继续执行自身程序,需要IO设备准备就绪向CPU发出中断请求 直接存储器存取方式DMA* IO设备能直接与主存交换信息而不占用CPU DMA方式中,主存与IO设备之间有一条数据通路,无需中断,就可以交换信息 DMA占用的存取周期–窃取周期或挪用周期,此时CPU还能继续内部操作 IO通道方式 IO处理机方式
外部设备
设备控制器,机、电磁、光部等外部设备
其他外部设备
5.3 IO接口
总线连接方式的IO接口电路
IO总线包括数据线、设备选择线、命令线和状态线
- 主机侧
- 通过I/O总线与内存、CPU相连。
- 主机侧有数据线、地址线、控制线
- 地址线用于给出要访问的I/O接口中寄存器地址,与读写控制信号一起送到I/O控制逻辑部件
- 设备侧
- 通过接口电缆连接外设,设备侧的数据双向传输,状态寄存器外传内,控制寄存器内传外。
- I/O控制逻辑
- 对控制寄存器中命令字进行译码,得到控制信号通过外设洁面控制逻辑送到外设
- 同时负责数据缓冲寄存器和外设之间的双向数据传输
- 还要收集外设状态到内部状态寄存器
- 数据缓冲寄存器
- 状态/控制寄存器
- 外设界面控制逻辑
- I/O指令是特权指令
接口的功能和组成
选址功能 传送命令 传送数据 接口中通常设有数据缓冲寄存器DBR,暂存 反映IO设备工作状态 完成触发器D和工作触发器B标志状态 D0 B0,暂停 D1 B0,准备就绪 D0 B1,设备处于准备状态 中断技术,接口电路中一般还设有中断请求触发器INTR,为1时,表示该IO设备正向CPU发送中断请求,接口内还有屏蔽触发器MASK,与中断请求触发器配合使用,完成屏蔽功能 8.4节*
IO接口组成框图
1、设备选择电路 2、命令寄存器和命令译码器 3、数据缓冲寄存器DBR 4、设备状态标记 需要通过 控制逻辑电路 协调时序 接口一端连接CPU,一端连接外部设备 数据线双向,地址线单向 状态线把IO接口状态,外部设备的状态,传输给CPU
5.3.3 接口类型
按数据传送方式分类
- 并行 Intel 8255
- 串行 Intel 8251
功能选择的灵活性分类
- 可编程和不可编程
通用性分类(按主机访问I/O设备的控制方式)
- 程序查询接口
- 较慢的IO
- DMA式接口
- 高速IO
- 中断接口
I/O端口及其编址
若干端口加上对应的控制逻辑电路组成接口
- 数据端口,cpu能读写
- 状态端口,cpu只能读
- 控制端口,cpu只能写
I/O端口的编址方式
- 统一编址(存储器映射方式)
- 只用统一访存指令即可,不需要I/O指令
- I/O端口占用存储器地址,内存容量变小
- 独立编址
- I/O地址空间和主存地址空间独立,无法从地址码上区分,需要I/O指令
5.4 程序查询方式
CPU不断查询IO设备状态,直到就绪,传送一次数据,修改地址和计数器
200 程序查询方式流程 测试指令 检查设备时候准备就绪 传送指令 转移指令 接口电路
5.5 程序中断方式
外设准备就绪,就主动向CPU发出中断请求,请求CPU为自己服务
- 中断请求
- 中断请求标记触发器,(1表示中断源有请求)
- INTR线发出的是可屏蔽中断,优先级最低
- NMI线发出的是不可屏蔽中断,优先级最高
- 中断请求判优
- 响应优先级是固定的,处理优先级可以利用中断屏蔽技术动态调整
- CPU响应中断条件
- CPU内部的中断屏蔽触发器开放
- 外设有中断请求时,中断请求触发器必须是1,保持中断请求信号
- 外设中断允许触发器必须为1,才能将外设中断请求送到CPU
- 满足以上三个条件,CPU在现行指令结束的最后一个状态周期响应中断
- 中断响应过程
- 中断响应优先级一般固定,不可改变
- 中断隐指令
- 保存断点,异常指令保存的是当前指令的位置,中断指令保存的是下一条指令的地址
- 中断向量
- 中断识别:向量中断和非向量中断(软件查询法)(chap5?)
- 中断-中断类型号-中断服务程序-入口地址(中断向量)
- 中断向量表
- 中断处理过程
- 中断处理优先级可以由中断屏蔽字来改变,屏蔽位为0,对新中断开放
- 多重中断和中断屏蔽
- 中断优先级DACB,屏蔽字
- 执行轨迹
5.6 DMA方式
外设和内存之间有一条“直接数据通道”
特点
- 主存既可被CPU访问,又可被外设访问
- 主存地址确定、传送数据计数直接由硬件电路实现
- 内存中专有缓冲区
- DMA速度快,CPU和外设并行
- DMA传送前预处理,结束后中断方式后处理
组成
I/O设备通过DMA控制器(DMA接口)向CPU提出请求,CPU响应后让出系统总线,由DMA控制器接管总线。
传送方式
- 停止CPU访存
- 周期挪用(周期窃取)
- DMA和CPU交替访存
DMA和中断的区别
- 中断是程序切换,DMA不占用CPU
- 中断的响应只在指令执行结束后,DMA的响应可以在每个机器周期结束时(取址、间址、执行)
- DMA传送不需要CPU,高速有效
- DMA请求优先级高于中断请求
- 中断可以处理异常,DMA仅有I/O操作
- 中断是程序传送,DMA是硬件传送数据