2024.9.25
直接程序控制是指外设数据的输入/输出过程是在CPU执行程序的控制下完成的。直接程序控制的两种情况:程序查询方式
在此情况下,利用查询方式进行输入/输出,就是通过CPU执行程序来查询外设的状态,判断外设是否准
备好接受数据或准备好向CPU输入数据两大缺点
降低了CPU的效率
对外部的突发事件无法做出实时响应无条件传送
在此情况下,外设总是准备好的,它可以无条件地随时接受CPU发来的输出数据,也能够无条件地随时向
CPU提供需要的输入数据
中断方式即由程序控制I/O的方法,缺点在于CPU必须等待I/O系统完成数据的传输任务,而且要定期查询I/O系统的状态,确认传输是否完成。因此大大降低了整个系统的性能。
- 中断处理方法:多中断信号线法、中断软件查询法、菊花链法、总线仲裁法、中断向量表法
- 中断优先级控制:
当不同优先级的多个中断源同时提出中断请求时,CPU应优先响应优先级最高的中断源
当CPU在对某一个中断源服务时,有比它优先级更高的中断源提出中断请求,CPU应暂时中断正在执行的中断服务程序而转去对优先级更高的中断源服务,结束后再回到之前被中断的优先级较低的中断源服务程序继续执行,这种情况称为中断嵌套,即一个中断服务程序中嵌套着另一个中断服务程序
直接内存存取(DMA) 是指数据在内存与I/O设备间的直接成块传送,即在内存与IO设备间传送一个数据块的过程中, 不需要CPU的任何干涉,只需要CPU在过程开始启动(即向设备发出“传送一块数据”的命令)与过程结束(CPU通过轮询或中断得知过程是否结束和下次操作是否准备就绪)时的处理,实际操作由DMA硬件直接执行完成,CPU在此传送过程中可做别的事情。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人