输入输出子系统,查询、中断、DMA方式
目录
IO接口实现主机和外设之间的信息交换。
IO结构功能:
- 设备选址
- 传送命令
- 传送数据
- 反馈IO状态
查询、中断、DMA方式。
查询方式
中断方式
中断更应该使我们关心(不论是裸机中断还是系统(OS)中的中断)。
对于裸机中断和OS中断区别:
在裸机中中断,在某一时刻中断发生,执行中断服务程序,中断服务程序执行完成后,返回中断发生处继续执行其它程序。(保护现场)。
在OS中中断,在某一时刻中断发生,执行中断服务程序,中断服务程序执行完成后,并不是返回中断发生处,而是查询中断优先级高的的程序执行(即中断判优)。
中断作用:
- 实现CPU与I/O设备的并行工作。
- 处理硬件故障和软件错误。
- 实现人机交互,用户干预机器。
- 实现多道程序、分时操作,多道程序的切换。
- 实现实时处理。
- 多处理系统中各个处理器之间的信息交流和任务切换。
中断异常:
中断就不说了,“异常”在这褒义词,可以指任务切换。即中断发生执行了中断服务程序。
中断嵌套实现:是中断屏蔽技术实现。中断嵌套实现两个条件:
- 在中断服务程序中开中断。
- 中断优先级高的有权中断优先级低的中断。
中断屏蔽技术在硬件层实现,有中断屏蔽寄存器,一般不用管,例如我们在 STM32开发中,只需设置优先级即可。
中断处理流程:
- 中断请求。
- 中断响应。
- 中断处理。
可以看出中断请求发生时并非直接执行中断服务程序。
DMA 方式
在DMA方式中,当I/O设备需要进行数据传送时,通过DMA控制器向CPU提出DMA传送请求,CPU响应之后将让出系统总线,由DMA控制器接管总线进行数据传送。(截取程序执行周期)
中断方式与DMA方式比较: