计算机组成原理【CO】Ch7 I/O大题
目录
I/O大题解题方法
I/O接口
各种I/O方式的特点
I/O端口编址
程序查询方式
中断控制方式
DMA控制方式
程序中断的工作流程
程序中断的工作流程
DMA方式和中断方式的区别
I/O大题解题方法
| CPU | |
| I/O接口的类型 | - 按字传输:每次传输一个字
- 按块传输:每次传输一整块
|
| 设备 | - 霸道总裁型:
- IO设备按自己的节奏往IO缓冲区冲入数据
- 如果CPU不及时取走数据,就可能会导致数据的丢失
- 乖乖听话型:
- IO设备会根据CPU的指挥,往IO缓冲区冲入数据
- CPU从缓冲区中取走一个字的数据后,会指挥IO设备输入下一个字的数据,不会有数据丢失的问题
|
| 传输总线 | |
| CPU每次介入的动作 | - 程序查询方式
- 每次检查IO接口的数据是否准备完毕
- 一次程序查询的时间开销:需要执行多少指令?需要多少个时钟周期?
- CPU的介入频率
- 中断控制方式
- 中断响应(隐指令)
- 中断服务程序
- CPU介入的频率
- DMA控制方式
- 预处理
- 后处理
- 一整块数据传输完成后DMA接口给CPU中断,CPU处理中断
- CPU介入的频率
|
| 数据丢失问题 | - 程序查询方式
- 当IO接口缓冲区大小有限时,每一次数据冲入后,CPU都需要及时把数据取走,防止丢失
- 若CPU每次查询的时间开销太久,跟不上数据冲入的速度,则数据可能丢失
- 中断控制方式
- 判断是否会数据丢失:中断处理的时间总共花了多少?是否大于IO接口冲入一次数据的时间?
- 若中断处理的时间太久,可能导致IO接口数据被覆盖
- DMA控制方式
|
I/O接口
I/O接口【也叫I/O控制器】
| I/O接口的功能 | - 地址译码、设备选择:通过CPU中来的外设的地址码,找到指定的设备
- 主机和外设的通信联络控制:时序配合,协调不同工作速度的外设和主机之间交换信息
- 数据缓冲:CPU与外设之间的速度不匹配,设置数据缓冲寄存器,避免丢失数据
- 信号格式的转换:电平转换、串/并转换、数/模转换
- 控制命令、状态信息:
- CPU要启动外设时,通过I/O接口重点命令寄存器向外设发出启动命令
- 外设准备就绪后,将“准备好”的转台信息送回I/O接口中的状态寄存器,并反馈给CPU
|
| I/O接口的基本结构 | - 端口(Port):接口电路中可以进行读写的寄存器
- 接口(Interface):若干端口加上相应的控制逻辑
- I/O指令:对数据缓冲寄存器、状态/控制寄存器的进行访问操作的指令
- 只能在OS内核的底层I/O软件中使用
- I/O指令实现的数据传送通常发生在通用寄存器和I/O端口之间
- 是一种特权指令
- 数据线:【双向传输】
- 命令字、状态字、中断类型号
- 外设将状态信息传中到CPU
- 发往CPU的中断类型号
- 【因为是从外部设备传输到CPU,故只能从数据线传输】
- 地址线:【单向传输】
- 控制线:【单向传输】
- I/O总线:
- 控制线、地址线:单向传输,从CPU传送给IO接口
- 数据线:双向传输,命令字、状态字、中断类型号均是IO接口发往CPU
|  | |
| I/O接口的类型 | | 按数据传输方式分 | 📢接口要完成数据格式的转换 📢这里的数据传送方式是指外设和接口一侧的传送方式 - 并行接口:一个字节或一个字的所有位同时传送
- 串行接口:一位一位地传送
| | 按主机访问I/O设备的控制方式分 | | | 按功能选择的灵活性分 | | |
常见的I/O接口:打印机适配器、网络控制器、可编程中断控制器
各种I/O方式的特点
| 程序查询 | 完全采用软件的方式实现。 |
| 中断方式 | 通过中断服务程序实现数据传送,但中断处理需要相关硬件的实现。 |
| DMA方式 | 完全采用硬件控制数据交换的过程。 |
| 通道 | 采用软硬件结合的方法,通过执行通道程序(由通道指令组成)控制数据交换的过程。 |
I/O端口编址
| | 统一编址(存储器映射方式) | 独立编址(I/O映射方式) |
| 定义 | - 把I/O端口当做存储器的单元进行地址分配
- CPU不需要设置专门的I/O指令,用统一的访存指令就可以访问I/O端口
| - I/O端口的地址空间与主存地址空间无法从地址码的形式上区分
- 需要设置专门的I/O指令来访存I/O端口
|
| 特点 | | |
| 优点 | - 不需要专门的I/O指令
- 可以使CPU访问I/O的操作更灵活、更方便
- 还可以使端口有较大的编址空间
| - 输入/输出指令与存储器指令有明显区别
- 程序编制清晰,便于理解
|
| 缺点 | - 端口占用存储器地址,使内存容量变小
- I/O设备进行数据输入/输出操作时,执行速度较慢
| - 输入/输出指令少,一般只能对端口进行传送操作
- 尤其需要CPU提供存储器读/写、I/O设备读/写两组控制信号增
加了控制的复杂性
|
程序查询方式
- 程序查询方式
- 每次检查IO接口的数据是否准备完毕
- 一次程序查询的时间开销:需要执行多少指令?需要多少个时钟周期?
- CPU的介入频率

中断控制方式
- 中断控制方式
- 中断响应(隐指令)
- 中断服务程序
- CPU介入的频率

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操作 | 中断方式具有对异常事件的处理能力 |
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/826581.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!