I/O控制方式
程序查询方式
CPU和I/O设备串行工作。CPU不断查询I/O设备的状态
程序中断方式
CPU和I/O设备串行工作。
思想:CPU在程序中安排好在某一时刻启动一台外设,然后CPU继续执行原来的程序,不再等待外设就绪,一旦外设完成数据传输的准备工作,外设再主动向CPU发送中断请求。
中断处理流程:(1~3由中断隐指令实现,其余由中断程序完成)
- 关中断
- 保存断点
- 中断服务程序寻址
- 保存现场和屏蔽字
- 开中断
- 执行中断服务程序
- 关中断
- 恢复现场和屏蔽字
- 开中断
- 中断返回
DMA方式
用于高速设备。DMA传送数据不需要经过CPU。
DMA的传送方式:
- 停止CPU访问主存
- DMA与CPU交替访存
- 周期挪用
DMA传送过程
- 预处理
- 请求:CPU 对DMA控制器初始化,并向IO放出操作命令,I/O接口提出DMA请求
- 响应:DMA控制器对DMA请求判别优先级及屏蔽,向总线裁决逻辑提出总线请求。当CPU执行完当前总线周期即可释放总线控制权。当总线逻辑输出总线应答的时候,表示DMA已经响应,通过DMA控制器通知IO接口开始DMA传输。
- 数据传送
- 后处理
- 完成传输后,DMA释放总线控制权,向IO接口发出结束信号。
- 当IO接口收到结束信号后,停止IO设备工作的同时,向CPU提出中断请求,使CPU不介入
- 检查本次DMA传输操作的正确性
通道方式
I/O 接口的功能
- 实现主机和外设的通信联络控制
- 进行地址译码和设备选择
- 实现数据缓冲
- 信号格式的转化
- 传送控制命令和状态信息
I/O 接口的编址
- 统一编址
- 独立编址:需要设置专门的输入/输出指令访问端口