苏泽
“弃工从研”的路上很孤独,于是我记下了些许笔记相伴,希望能够帮助到大家
目录
IO方式:程序查询方式
工作原理
程序查询方式的详细流程:
1. 初始化阶段
2. 发送I/O命令
3. 循环检查状态
4. 数据传输
5. 继续查询
6. 操作完成
为什么如此效率低下!?
特点
优点
缺点
应用场景
与其他I/O方式的比较
IO方式:中断方式
什么是中断方式?
中断方式的工作原理
中断方式的优势
中断方式的组成部分
应用
向量中断
其实说白了就是个地址罢了 别被名字吓到了
I/O方式:中断方式的中断处理流程
1. 中断请求
2. 中断判优
3. 响应条件
4. 中断隐指令
5. 查询中断服务程序的入口地址
6. 中断处理
7. 恢复现场
8. 中断返回
做个总结吧
IO方式:程序查询方式
程序查询方式是一种基本的I/O操作方式,它依赖于CPU不断检查(查询)I/O设备的状态,以确定设备是否准备好进行数据传输。以下是对程序查询方式的详细讲解:
工作原理
-
查询状态:CPU通过发送查询指令来检查I/O设备的状态,判断设备是否准备好接收或发送数据。
-
等待设备就绪:如果设备尚未准备好,CPU将继续执行查询,直到设备状态表明它可以接受或发送数据。
-
数据传输:一旦设备就绪,CPU将启动数据传输过程,读取或写入数据。
程序查询方式的详细流程:
1. 初始化阶段
- 在I/O操作开始之前,CPU初始化I/O设备,设置好相关的控制信息,如设备地址等。
2. 发送I/O命令
- CPU向I/O设备发送读取或写入命令,告知设备即将进行的操作类型。
3. 循环检查状态
- CPU通过程序不断查询I/O设备的状态,检查设备是否已经准备好进行数据传输。这一步骤是程序查询方式的核心,也是效率较低的原因。(这里有另外一种查询方式:定时查询 就不是一直忙等 而是过一会过来询问准备好没有)
4. 数据传输
- 一旦I/O设备状态表明它已经准备好,CPU便开始数据的读取或写入操作。
5. 继续查询
- 在数据传输完成后,CPU继续循环检查设备状态,以确保数据已正确传输,或准备下一次数据传输。
6. 操作完成
- 当所有数据传输任务完成后,CPU停止查询,结束I/O操作。
为什么如此效率低下!?
刚刚第三步说了cpu一直在忙等 但是他为什么会这样 原因是因为 IO设备的数据寄存器是易失性的,只要在他准备好之后 不马上传输 数据就会消失!!!这是很重要的特点 大题基本上就是靠这个知识点去想的 选择题也是靠他来排除选项
特点
- 简单性:程序查询方式的实现相对简单,不需要额外的硬件支持。
- CPU资源占用:由于CPU需要不断查询设备状态,这可能导致CPU资源的浪费,尤其是在设备响应较慢时。
优点
- 实现容易:不需要复杂的硬件支持,适用于简单的I/O操作。
缺点
- 效率低:在设备响应时间较长的情况下,CPU的查询操作可能导致效率低下。
- CPU利用率低:由于CPU需要不断查询,可能无法执行其他任务,降低了CPU的利用率。
应用场景
程序查询方式通常用于对实时性要求不高、I/O设备速度较慢的场景。
与其他I/O方式的比较
与中断方式和DMA(Direct Memory Access)方式相比,程序查询方式在数据传输效率和CPU资源利用上存在劣势。中断方式允许I/O设备在准备好时通知CPU,而DMA方式允许数据在不经过CPU的情况下直接在内存和I/O设备之间传输,这两种方式都能更有效地利用CPU资源。
IO方式:中断方式
在计算机系统中,I/O(输入/输出)操作是连接外部设备与CPU的重要桥梁。中断方式是实现高效I/O操作的一种机制。
什么是中断方式?
中断方式是一种允许I/O设备在需要时主动通知CPU进行服务的机制。这种方式使得CPU不必在每次I/O操作时都持续检查设备状态,从而可以更高效地利用CPU资源。
中断方式的工作原理
-
中断请求:当I/O设备需要CPU服务时,它会向CPU发送一个中断请求信号。
-
中断判优:如果CPU当前没有处理更高优先级的中断,它会根据中断请求的优先级来决定是否立即响应。
-
响应条件:CPU响应中断的条件包括:中断请求已被提出,CPU允许中断且中断功能未被屏蔽,且当前没有执行更高优先级的任务。
-
中断隐指令:一旦决定响应中断,CPU会执行一系列隐含指令,包括保存当前任务的状态,切换到中断服务程序。
-
中断处理:中断服务程序执行具体的I/O操作,完成后会恢复CPU的状态,使CPU可以回到被中断的任务。
中断方式的优势
- CPU资源的高效利用:CPU无需在每次I/O操作期间不断检查设备状态,可以执行其他任务。
- 实时性:中断机制可以快速响应外部设备的服务请求。
- 灵活性:可以根据中断请求的优先级灵活处理多个I/O设备。
中断方式的组成部分
- 中断请求:I/O设备向CPU发出的请求信号。
- 中断判优:硬件电路决定的优先级判断机制。
- 中断服务程序:处理中断请求的程序代码。
- 中断隐指令:CPU在响应中断时自动执行的指令序列。
应用
键盘 鼠标 打印机等等
向量中断
这里的“向量”可以理解成 就像c语言里面的指向那样的作用 所以就用了“向量”一词
其实说白了就是个地址罢了 别被名字吓到了
I/O方式:中断方式的中断处理流程
中断方式是计算机系统中一种高效的I/O操作机制,允许I/O设备在需要时主动通知CPU进行服务。以下是中断处理流程的详细步骤:
1. 中断请求
- 当I/O设备需要CPU服务时,它向CPU发出中断请求信号。
2. 中断判优
- 如果CPU当前没有处理更高优先级的中断,它会根据中断请求的优先级来决定是否立即响应。
3. 响应条件
- CPU响应中断的条件包括:
- 中断源提出中断请求。
- CPU允许中断并且中断功能未被屏蔽。
- 一条指令执行完毕且没有更紧迫的任务。
4. 中断隐指令
- 一旦决定响应中断,CPU会执行一系列隐含指令,包括:
- 保存断点:记录当前CPU的状态,以便中断处理完毕后能恢复执行。
- 引出中断服务程序:切换到处理该中断的程序。
- 完成关中断:在中断服务程序执行期间,可能需要暂时关闭中断,以避免新的中断请求干扰当前处理。
5. 查询中断服务程序的入口地址
- 中断向量用于查询中断服务程序的入口地址,以便CPU能够跳转到正确的中断处理代码。
6. 中断处理
- 执行中断服务程序,进行必要的I/O操作。
7. 恢复现场
- 中断服务程序完成后,CPU需要恢复之前保存的状态,以便能够从中断点继续执行。
8. 中断返回
- 中断处理完毕后,CPU返回到被中断的任务继续执行。
做个总结吧
另外,利用了工作之余的一点点时间,整理了一套考研408的知识图谱,
我根据这一套知识图谱打造了这样一个408知识图谱问答系统
里面的每一个回答都是根据考研408的考点回复的
目前暂时只接入了微信,如果大家对这个问答系统感兴趣的话可以在我的主页里找到我的微信号
找我拉进测试群免费体验哦