IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> I/O设备与主机信息传送的控制方式以及什么是中断 -> 正文阅读

[嵌入式]I/O设备与主机信息传送的控制方式以及什么是中断


中断是什么

中断是指CPU在执行程序的过程当中,如果发生意外时间或者特殊事件(如异常),CPU要中断当前的程序的处理或者当前程序的执行,转而去处理这个特殊事件,或者是异常事件,通过执行中断服务程序的方式来进行处理,处理结束之后,要返回到被中断的程序的程序断电继续去执行原来的程序,这个过程就叫中断.

程序查询方式

程序查询方式是CPU和I/O设备串行工作的一种方式.
程序查询方式的基本思路为,当CPU在执行某个程序时,若遇到程序中要求使用I/O设备的指令,那么CPU便开始向I/O设备发送读/写指令,指令发出后CPU读取I/O状态,若I/O设备准备就绪,那么CPU从I/O设备中读取一个字节或字到CPU中,之后CPU再写入到主存中(因为程序运行时的数据存放在主存),这时CPU检查对I/O设备的访问是否完成,如若是,CPU继续执行原有程序,若不是,CPU继续重复发出读写指令.若I/O设备未准备就绪,那么CPU将已知进行读取I/O设备状态的指令,而不执行其他指令,这将导致CPU处于踏步等待的状态,即CPU在这段时间无法进行任何其他工作,对于这种方式,CPU大部分时间在查询等待I/O设备.

优点:电路设计简单
缺点:CPU效率低
其流程图如下:
在这里插入图片描述

程序中断方式

程序中断方式是一种CPU和I/O设备并行工作的方式.
其思路为,当CPU执行的程序需要访问I/O设备时,CPU发出启动I/O指令之后,CPU与外部I/O设备并行工作,CPU继续执行原有程序,外部设备开始准备数据,一段时间后,I/O设备准备好了数据,此时将通过I/O接口向CPU发送一个中断请求,CPU收到这个中断请求后,如果CPU当前可以相应这个中断,在某一条指令的执行周期结束之前,CPU可以相应这个中断,打断CPU当前执行的程序,去执行一个中断服务程序,这个中断服务函数将会完成数据的输入和输出操作,中断程序执行完后CPU会继续执行被中断的程序.
这种方式把CPU逐渐的从数据传输工作当中独立出来,使得I/O设备的自治能力越来越强.
优点:没有踏步等待现象,CPU被解放
缺点:需要中断现行程序,CPU需要保存现场,这是额外的开销,且之后还要恢复现场,CPU额外开销较大

流程图如下:
在这里插入图片描述

DMA方式

DMA方式是CPU和I/O设备并行工作的一种方式.
这种方式在主存与I/O设备之间直接建立一条数据通道,因此主存与I/O设备通过DMA控制器可以直接进行数据的交换.
其流程为,CPU执行当前程序时,若遇到需要访问I/O设备,那么CPU启动I/O设备,I/O进行数据的准备,CPU继续执行当前程序,外部设备数据准备结束之后,会窃取一个或几个的存储周期,在这些存储周期当中,外部设备和内存在DMA控制器的控制之下,完成一个或几个字的数据交换,交换结束之后CPU继续执行程序.
特别注意:虽然CPU将总线控制权转交给了DMA,但是CPU依旧可以继续执行主程序,只是在这种情况之下,CPU不能使用系统总线,不能访问内存.
优点:与程序中断方式相比,在数据传送过程当中,不需要保存现场,不需要恢复现场.不需要去执行中断服务程序,不需要用软件完成数据输入输出的控制,进一步把CPU与I/O之间的数据传送解放了出来
流程图如下.
在这里插入图片描述

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-03-22 20:46:35  更:2022-03-22 20:47:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 6:43:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码