IO 系统 ######################################## 概述 **************************************** .. image:: assets/IO设备的组成.png 外部设备大致分为三类 #. 人机交互设备。键盘、鼠标、打印机等 #. 计算机信息存储设备。磁盘、光盘、磁带等 #. 机 — 机 通信设备。调制解调器等 输入输出系统按以下阶段进行发展: #. 早期 CPU 和 IO 设备串行工作,通过程序查询方式进行 IO 访问 #. 而后 CPU 与 IO 设备通过中断方式或者 DMA 方式并行工作 #. CPU 中加入通道结构 #. 具有 IO 处理机的阶段 IO 设备与主机信息传送的控制方式 **************************************** 程序查询方式 ======================================== .. image:: assets/程序查询方式.png 程序查询方式最大的弊端在于在 IO 设备准备数据的阶段,CPU 在原地踏步等待,不断查询 IO 设备是否准备好数据 程序流程: .. image:: assets/程序查询方式-程序流程.png 程序中断方式 ======================================== 在程序中断方式中配置由中断请求触发器和中断屏蔽触发器。当中断屏蔽触发器 MASK 被置为1的时候,表示中断被屏蔽,所有可屏蔽中断将被屏蔽掉。当中断请求触发器,INTR 被置为1的时候,说明CPU接收到了中断请求。 .. important:: CPU会在指令周期结束之后检查是否发生了中断 .. image:: assets/中断服务程序流程.png .. image:: assets/程序中断方式.png 程序中断方式中,CPU 不存在踏步等待的情况 .. image:: assets/中断访问流程.png .. image:: assets/单重中断和多重中断的服务程序流程.png DMA 方式 ======================================== 主存和 IO 之间有一条直接的数据通道,不中断现行程序。 DMA 方式周期窃取窃取的是存储周期 DMA 接口功能: #. 向CPU申请DMA传送 #. 处理总线控制权的转交 #. 管理系统总线、控制数据传送 #. 确定数据传送的首地址和长度、修正传送过程中的数据地址和长度 #. DMA传送结束时,给出操作完成信号 .. image:: assets/DMA\ 接口组成.png .. image:: assets/DMA\ 传送过程示意.png .. image:: assets/数据传送过程(输出).png 后处理的工作: - 校验送入主存的数是否正确 - 是否继续用DMA - 测试传送过程是否正确,错则转诊断程序由中断服务程序完成 DMA接口与系统的连接方式 .. image:: assets/具有公共请求线的DMA请求.png .. image:: assets/独立的DMA请求.png .. csv-table:: :header: , 中断方式, DMA 方式 数据传送 , 程序 , 硬件 响应时间 , 指令执行结束 , 存取周期结束 处理异常情况 , 能 , 不能 中断请求 , 传送数据 , 后处理 优先级 , 低 , 高 .. image:: assets/三种\ IO\ 工作效率的比较.png 从程序查询方式到 DMA 方式,IO 系统的自治能力越来越强 IO 接口的基本组成 **************************************** .. image:: assets/IO接口的基本组成.png 接口的类型: .. image:: assets/IO接口类型.png