I/O控制方式
数据传输率低的外设:
程序查询方式
程序中断方式:外设准备就绪则主动向CPU发送中断请求
数据传输率高的外设:
DMA方式:主存和I/O设备有一条直接数据通路,无需调用中断
通道方式:每个通道挂接若干外设,主机执行I/O命令时,启动有关通道
I/O接口
功能
地址译码和设备选择、主机和外设的通信联络控制、数据缓冲、信号格式转换、传送控制命令和状态信息
I/O端口
接口:若干端口+相应的控制逻辑
端口:接口电路中可以进行读/写的寄存器
I/O端口:接口电路中可被CPU直接访问的寄存器,主要有数据端口(读写)、状态端口(只读)、控制端口(只写)
编址:I/O端口想要被CPU访问,需要每个端口对应一个端口地址
统一编址(存储器映射方式):把I/O端口当作存储器的单元进行地址分配
独立编址(I/O映射方式):I/O端口的地址空间和主存地址空间是两个独立的地址空间,无法从地址码的形式上区分,需要设置专门的I/O指令访问I/O端口
I/O方式
程序中断方式
中断隐指令:CPU响应中断后,经过某些硬件实现的操作,转去执行中断服务程序
包括关中断、保存断点、引出中断服务程序
中断响应判优:
不可屏蔽中断 > 内部异常(硬件故障 > 软件中断) > 可屏蔽中断
DMA中断请求 > I/O设备传送的中断请求(高速>低速、输入>输出、实时>普通)
DMA方式(直接存储器存取方式)
完全由硬件进行成组信息传送
DMA方式中,中断的作用仅限于故障和正常传送结束时的处理
特点
主存与CPU脱钩(主存也可被外设访问)
主存地址的确定和传送数据的计数由硬件电路实现
主存中开辟专用缓冲区
传送快(CPU和外设并行工作)
传送开始前预处理、结束后通过中断方式后处理
DMA控制器(DMA接口)
DMA方式中,对数据传送过程中进行控制的硬件
功能:
DMA控制器具有控制系统总线能力。DMA传送过程中,接管CPU的地址总线、数据总线、控制总线;DMA传送结束后,恢复CPU的权利
DMA的传送方式:停止CPU访存、周期挪用(周期窃取)、DMA与CPU交替访存
DMA的传送过程:
中断方式和DMA方式的区别
(1)DMA处理预处理和后处理,其他时刻不占用CPU的任何资源
(2)DMA不需要CPU干预,传输率高
(3)DMA的请求优先级高于中断请求
(4)中断靠程序传送,DMA靠硬件传送
(5)中断具有对异常事件的处理能力,DMA仅限于传送数据块的I/O操作
(6)对中断请求的响应发送在每条指令执行完毕时,对DMA请求的响应可以发生在每个机器周期结束时