“输入/输出(I/O)系统”学习提纲
前言
计算机组成原理的知识抽象、晦涩、不易理解并记忆,在此对“输入/输出(I/O)系统”一章中重点知识总结成提纲。
输入/输出(I/O)系统的组成
- 输入/输出(I/O)硬件
- 输入/输出(I/O)软件
输入/输出(I/O)系统的控制方式
- 程序查询方式
- 程序中断方式
- 直接存储器访问(DMA)方式
- 通道方式
程序查询方式的过程
对中央处理器(CPU):
- 执行初始化程序,预置传送参数(计数器参数和数据首地址)
- 向输入/输出(I/O)接口发送命令字,启动输入/输出(I/O)设备
- 从输入/输出(I/O)接口接收输入/输出(I/O)设备的状态信息
- 不断查询输入/输出(I/O)设备的状态,直到设备准备就绪
- 与输入/输出(I/O)设备传送一次数据
- 修改传送参数(计数器参数和数据首地址)
- 判断数据传送是否结束(计数器参数是否归零),若未结束(未归零)则转第3步;若结束(归零)则结束相应程序
中断技术/系统的功能
- 实现中央处理器(CPU)和输入/输出(I/O)设备的并行工作
- 实现处理硬件故障和软件错误
- 实现应用程序和操作系统的切换(软中断)
- 实现人机交互
- 实现多道程序、分时操作
- 实现实时处理
- 实现多处理器系统中各处理器之间的信息交流和任务切换
中断的流程
- 中断请求
- 中断响应
- 中断处理
中央处理器(CPU)响应中断的条件
- 中央处理器(CPU)允许中断/开中断(不可屏蔽中断、异常不受限制)(中断屏蔽触发器置位)
- 一条指令执行完毕(异常不受限制),且无更紧迫的任务
- 中断源有中断请求(中断请求触发器、中断允许触发器置位)
中断的优先级
中断优先级=中断响应优先级(不易改变)+中断处理优先级(可由中断屏蔽字动态改变)
- 不可屏蔽中断>内部异常>可屏蔽中断
- 内部异常中,硬件故障>软件中断
- 直接存储器访问(DMA)>输入/输出(I/O)设备
- 输入/输出(I/O)设备中,高速设备>低速设备,输入设备>输出设备,实时设备>普通设备
中断识别的类型
- 向量中断(硬件向量法)
- 非向量中断(软件查询法)
向量中断/硬件向量法的过程
- 识别中断源
- 获取中断类型号
- 计算中断向量地址
- 依据中断向量地址从中断向量表中获取中断服务程序的入口地址(间接寻址)
单重中断的响应、处理过程
- 关中断
- 保存断点(硬件实现)
- 寻址中断服务程序
- 保存现场(软件实现)
- 执行中断服务程序
- 恢复现场和屏蔽字
- 开中断
- 中断返回
注意:中断的断点是下一条指令的地址,异常的断点是当前指令的地址
第1-3步由硬件/中断隐指令实现,4-8步由软件/中断服务程序实现
中央处理器(CPU)能够多重中断的条件
- 中断服务程序中提前设置开中断指令
- 优先级高的中断源有权中断优先级低的中断源
多重中断的响应、处理过程
- 关中断
- 保存断点(硬件实现)
- 寻址中断服务程序
- 保存现场和屏蔽字(软件实现)
- 开中断(允许多重中断/中断嵌套)
- 执行中断服务程序
- 关中断
- 恢复现场和屏蔽字
- 开中断
- 中断返回
第1-3步由硬件/中断隐指令实现,4-10步由软件/中断服务程序实现
直接存储器访问(DMA)控制器(DMAC)的组成
- 直接存储器访问(DMA)请求触发器
- 控制/状态逻辑电路
- 主存储器(MM)地址计数器
- 传送长度计数器
- 数据缓冲寄存器(DBR)
- 中断机构
直接存储器访问(DMA)控制器(DMAC)的工作过程
- 接收输入/输出(I/O)设备的直接存储器访问(DMA)请求(狭义)
- 向中央处理器(CPU)发送总线请求
- 中央处理器(CPU)响应总线请求,向直接存储器访问(DMA)控制器(DMAC)发送总线响应信号
- 接管总线控制权,进入直接存储器访问(DMA)操作周期
- 确定传送数据的主存储器地址和传送长度,自动修改地址和长度计数
- 规定数据在主存储器和输入/输出(I/O)设备的传送方向,发送读写等控制信号,执行数据传送操作
- 向中央处理器(CPU)报告直接存储器访问(DMA)操作结束
广义直接存储器访问(DMA)请求=输入/输出(I/O)设备向直接存储器访问(DMA)控制器(DMAC)发送的直接存储器访问(DMA)请求(狭义)+直接存储器访问(DMA)控制器(DMAC)向中央处理器(CPU)发送的总线请求
直接存储器访问(DMA)的传送方式
- 停止中央处理器(CPU)访存
- 中央处理器(CPU)和直接存储器访问(DMA)交替访存
- 周期挪用/窃取
直接存储器访问(DMA)的数据传送过程
- 预处理
- 数据传送
- 后处理
外部设备举例
输入设备:
- 键盘
- 鼠标
输出设备:
- 显示器
存在显示存储器(VRAM)
- 打印机
外部存储器(辅存):
- 磁表面存储器(磁盘、磁带、磁鼓存储器)
- 光盘存储器
- 固态硬盘(SSD)
输入/输出(I/O)接口的功能
- 地址译码和设备选择
- 通信联络控制
- 数据缓冲
- 信号格式转换
- 控制命令和状态信息传送
或:
- 设备选址
- 命令传送
- 数据传送
- 输入/输出(I/O)设备的工作状态反馈
输入/输出(I/O)接口的分类
按数据传送方式(输入/输出(I/O)接口和外部设备一侧):
- 串行接口
- 并行接口
因为中央处理器(CPU)速度快,所以输入/输出(I/O)接口和主机一侧一定是并行接口
按主机访问输入/输出(I/O)设备的控制方式:
- 程序查询接口
- 程序中断接口
- 直接存储器访问(DMA)接口
- 通道接口
按功能选择的灵活性:
- 可编程接口
- 不可编程接口
输入/输出(I/O)接口的结构
- 内部接口(输入/输出(I/O)接口和主机一侧)
- 外部接口(输入/输出(I/O)接口和外部设备一侧)
- 控制逻辑电路
- 状态/控制寄存器
- 数据缓冲寄存器(DBR)
- 设备选择电路
- 命令寄存器和命令译码器
输入/输出(I/O)端口的组成
注意:输入/输出(I/O)端口指接口电路中可以被中央处理器(CPU)直接访问、进行读/写的寄存器;输入/输出(I/O)接口=若干输入/输出(I/O)端口+控制逻辑电路
- 控制端口,只写
- 状态端口,只读
- 数据端口,可读写
输入/输出(I/O)端口的编址方式
- (与存储器)统一编址/存储器映射方式
- (与存储器)独立编址/输入/输出(I/O)映射方式
总结
计算机组成原理的知识抽象、晦涩、不易理解并记忆,在此对“输入/输出(I/O)系统”一章中重点知识总结成提纲。
参考资料
- 《2023年计算机组成原理考研复习指导》组编:王道论坛
- 哔哩哔哩平台《王道计算机考研 计算机组成原理》视频课
作者的话
- 感谢参考资料的作者/博主
- 作者:夜悊
- 版权所有,转载请注明出处,谢谢~
- 如果文章对你有帮助,请点个赞或加个粉丝吧,你的支持就是作者的动力~
- 文章在描述时有疑惑的地方,请留言,定会一一耐心讨论、解答
- 文章在认识上有错误的地方, 敬请批评指正
- 望读者们都能有所收获
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 夜悊的技术小宅!