目录
I/O大题解题方法
I/O接口
各种I/O方式的特点
I/O端口编址
程序查询方式
中断控制方式
DMA控制方式
程序中断的工作流程
程序中断的工作流程
DMA方式和中断方式的区别
I/O大题解题方法
CPU |
|
I/O接口的类型 |
|
设备 |
|
传输总线 |
|
CPU每次介入的动作 |
|
数据丢失问题 |
|
I/O接口
I/O接口【也叫I/O控制器】
I/O接口的功能 |
| ||||||
I/O接口的基本结构 |
| ||||||
I/O接口的类型 |
|
常见的I/O接口:打印机适配器、网络控制器、可编程中断控制器
各种I/O方式的特点
程序查询 | 完全采用软件的方式实现。 |
中断方式 | 通过中断服务程序实现数据传送,但中断处理需要相关硬件的实现。 |
DMA方式 | 完全采用硬件控制数据交换的过程。 |
通道 | 采用软硬件结合的方法,通过执行通道程序(由通道指令组成)控制数据交换的过程。 |
I/O端口编址
| 统一编址(存储器映射方式) | 独立编址(I/O映射方式) |
定义 |
|
|
特点 |
|
|
优点 |
|
|
缺点 |
|
|
程序查询方式
- 程序查询方式
- 每次检查IO接口的数据是否准备完毕
- 一次程序查询的时间开销:需要执行多少指令?需要多少个时钟周期?
- CPU的介入频率
- 取决于查询程序上CPU的时间频率
中断控制方式
- 中断控制方式
- 中断响应(隐指令)
- 时间开销
- 通常以时钟数作为条件
- 中断服务程序
- 时钟数
- 指令总数、结合CPI
- CPU介入的频率
- 取决于IO接口发来中断的频率
- 中断响应(隐指令)
DMA控制方式
- DMA控制方式
- 预处理
- 让DMA接口输入一块数据
- 数据传输前由DMA控制器请求总线的使用权
- 数据传输:
- 由DMA控制器直接控制总线完成
- 后处理
- 一整块数据传输完成后DMA接口给CPU传递中断信号,CPU处理中断
- CPU介入的频率
- 每传一块介入一次
- 预处理
- DMA请求 VS DMA中断:
- 缓冲区充满请求一次
- 一整块传输完中断一次
程序中断的工作流程
程序中断的工作流程
- 中断请求
- 中断响应判优
- ⚠️中断的响应判优是硬件排队器实现的,是固定的
- 中断的处理优先级可以通过中断屏蔽技术动态调整
- CPU响应中断的条件
- 中断响应的过程:
DMA方式和中断方式的区别
DMA | 中断方式 |
DMA方式靠硬件传送 | 中断方式靠程序【软件】传送 |
请求的是总线的使用权 | 请求的是CPU处理时间 |
DMA方式除了预处理和后处理,其他时候不占用CPU资源 | 中断方式是程序的切换,需要保护和恢复现场 |
对DMA请求的响应可以发生在每个机器周期结束时,在取指周期、间址周期、执行周期后都可以【一个总线事务后】 | 对中断请求的响应只能发生在每条指令执行完毕时 即指令的执行周期后 |
DMA传送过程不需要CPU的干预,因此数据传输率非常高,适合于高速外设的成组数据传送 | 中断传送过程需要CPU的干预 |
DMA方式仅局限于传送数据块的I/O操作 | 中断方式具有对异常事件的处理能力 |