2.处理器与设备间数据交换方式

2023-11-06

处理器与外设之间传输数据的控制方式通常有3种:查询方式、中断方式和直接内存存取(DMA)方式。

21.查询方式

设备驱动程序通过设备的I/O端口空间,以及存储器空间完成数据的交换。例如,网卡一般将自己的内部寄存器映射为设备的I/O端口,而显示卡则利用大量的 存储器空间作为视频信息的存储空间。利用这些地址空间,驱动程序可以向外设发送指定的操作指令。通常来讲,由于外设的操作耗时较长,因此,当处理器实际执 行了操作指令之后,驱动程序可采用查询方式等待外设完成操作。

2.2.中断方式

查询方式白白浪费了大量的处理器时间,而中断方式才是多任务操作系统中最有效利用处理器的方式。当CPU进行主程序操作时,外设的数据已存入端口的数据输 入寄存器,或端口的数据输出寄存器已空,此时由外设通过接口电路向CPU发出中断请求信号。CPU在满足一定条件下,暂停执行当前正在执行的主程序,转入 执行相应能够进行输入/输出操作的子程序,待输入/输出操作执行完毕之后,CPU再返回并继续执行原来被中断的主程序。这样,CPU就避免了把大量时间耗 费在等待、查询外设状态的操作上,使其工作效率得以大大提高。中断方式的原理示意图如图6.1所示。

                                                                                                                                                   

2.3.直接访问内存(DMA)方式

利用中断,系统和设备之间可以通过设备驱动程序传送数据,但是,当传送的数据量很大时,因为中断处理上的延迟,利用中断方式的效率会大大降低。而直接内存 访问(DMA)可以解决这一问题。DMA可允许设备和系统内存间在没有处理器参与的情况下传输大量数据。设备驱动程序在利用DMA之前,需要选择DMA通 道并定义相关寄存器,以及数据的传输方向,即读取或写入,然后将设备设定为利用该DMA通道传输数据。设备完成设置之后,可以立即利用该DMA通道在设备 和系统的内存之间传输数据,传输完毕后产生中断以便通知驱动程序进行后续处理。在利用DMA进行数据传输的同时,处理器仍然可以继续执行指令。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

2.处理器与设备间数据交换方式 的相关文章

  • STM32+ESP8266+MQTT连接阿里云(1)

    ESP8266连接阿里云的流程 发送 目的是让ESP8266退出透传 AT RESTORE 让模块恢复出厂设置 AT 判断模块的好坏及工作状态 正常就会回复OK ATE0 关闭回显 这个没什么好说的 AT CWMODE CUR 1 设置为s
  • uboot分析之Makefile

    Uboot分析之Makefile 1 uboot根目录下执行 make smdk2410 config smdk2410 config unconfig MKCONFIG config arm arm920t smdk2410 samsun
  • coreutils-stty 初始设置和echo 16进制modBus数据至串口

    安装USB串口驱动 注 我所使用的USB serial芯片为pl2303 个人根据自己不同的芯片安装对应驱动 kmod usb serial pl2303 串口 dev ttyUSB0 配置 其中 F 指定端口 cs8表示8位 parenb
  • 嵌入式学习:stm32学习路线推荐之思维导图

    从9月1日开始学习STM32后 对于STM32的一些个人总结 1 对于STM32和51的区别 对于 STM32来说 基本的大概都和51单片的内容相似 但是由于STM的引脚和寄存器的数量较多 所以需要一个更加完善的管理机制 导致了 时钟 的产
  • STM32的CAN过滤器

    最近开始给足底压力设备加外设 这里外设个主设备之间通过can总线连接 之前使用过can总线 但是对can的过滤器不是很理解 所以这里就借机整理一下 原文地址 再谈STM32的CAN过滤器 bxCAN的过滤器的4种工作模式以及使用方法总结 S
  • 树莓派4B(buster)的源更换为北外(清华)国内源

    树莓派4B buster 的源更换为北外 清华 国内源 1 登陆到树莓派 ssh pi your raspi IP 2 备份源文件 sudo cp etc apt sources list etc apt sources list bak
  • 粤嵌GEC6818开发板-入门感慨篇(续一)

    触摸屏的事件 include
  • 06 CubeMX HAL库stm32作从机 硬件I2C中断接收无BUG程序

    文章目录 CubeMX HAL库stm32作从机 硬件I2C中断接收无BUG程序 一 设置烧录模式 二 使用外部晶振 三 开启IIC中断 四 设置IIC参数 五 配置外部时钟 六 设置工程信息 七 代码生成项配置 八 在Keil中打开工程
  • STM32F4之ADC1【库函数操作】

    折腾了两天ADC多通道采样 采样的结果都很乱 完全不是预期值 在amobbs求助也没有找到结果 于是决定从简单开始 一步步折腾着破ADC ADC试验1实验说明 1 这个实验仅仅是初始化一个ADC 对其输入进行采样 2 使用STM32F4的A
  • connect函数的用法

    作者 曾宏安 华清远见嵌入式学院讲师 在网络编程中 connect函数经常用来在套接字上初始化连接 无论是流式套接字还是数据报套接字都可以使用connect函数 但含义却不一样 下面我们分别来讨论一下 一 流式套接字 流式套接字通常使用的是
  • 2023年电赛E题详细讲解

    前言 E题是运动目标控制与自动追踪系统 其实就是一个红色激光追踪绿色激光 本文主要授人以渔 讲解思路 不含代码 建议自己编写 本文旨在和大家探讨一下更好的方案 欢迎讨论 读题 做题肯定是要读题的 本节主要是将一些主要的点 并反推出题人的出题
  • 按键的短按和长按检测

    方法一 常用的加延时函数 在中断服务函数中加一个比如10ms的延时函数 延时时间的长短取决于实际所用的按键特性 只要延时时间比抖动时间略大即可 原理很简单 加了延时就避开了抖动的这段时间 在延时之后判断引脚电平 如果为低电平就表示是按下 v
  • 下载 arm-linux-gcc

    https releases linaro org components toolchain binaries latest 4 arm linux gnueabihf 如果你使用的是ubuntu系统 你可以使用apt方式来安装arm li
  • 通过External Tools在STM32CubeIDE下使用DAP-LINK

    目录 一 文章背景 二 准备工作 2 1 Stm32CubeIDE 2 2 DAP LINK 2 3 STM32目标板 三 配置过程 3 1 连接目标板 3 2 配置仿真器 3 3 更改调试设置为远程调试 3 4 新建OpenOcd扩展工具
  • 在vmware里面看不到已经设置的共享文件夹

    查看你是否设置了共享文件夹 vmware hgfsclient 在上图的虚拟机点击安装vmware tools 之后会在vmware tools文件里面有一个压缩的文件 把它复制到自己创的文件夹并解压 自己创建文件夹使用mkdir p mo
  • 步进电机基础(5.6)-步进电机的驱动与控制-闭环控制

    步进电机基础 5 6 步进电机的驱动与控制 闭环控制 前言 基本信息 前言说明 5 6 闭环控制 前言 基本信息 名称 描述说明 教材名称 步进电机应用技术 作者 坂本正文 译者 王自强 前言说明 根据我读的 步进电机应用技术 这本书 进行
  • STM32F103C8移植uCOSIII(HAL库)

    少年 一 随笔 二 uCOSIII源码 三 项目导入文件整理 四 导入文件和增加头函数路径 五 代码改动 六 参考资料 一 随笔 移植一个嵌入式系统用了一天时间 只能说不愧是我 在不了解的情况下还是少一些自己的操作 自己挖坑埋自己 记录一下
  • 【uboot内核适配学习】uboot 修改默认ip

    1 修改默认ip作用 设备出场的时候都需要默认的ip 2 修改措施 找到uboot芯片配置文件 不同芯片厂家适配的文件必定是不一样的 位置也可能不一样 define CONFIG ETHADDR 00 40 5c 26 0a 5b MAC地
  • 计算机基础:一颗芯片是怎样诞生的?

    一颗芯片是怎样诞生的 芯片属于半导体 半导体是介于导体和绝缘体之间的一类物质 元素周期表中硅 锗 硒 硼的单质都属于半导体 这些单质通过掺杂其他元素生成的一些化合物 也属于半导体的范畴 这些化合物在常温下可激发载流子的能力大增 导电能力大大
  • Linux值得学习吗?打工人利用业务时间学习Linux需要多长时间?

    nbsp Linux值得学习吗 打工人利用业务时间学习Linux需要多长时间 在开始前我有一些资料 是我根据自己从业十年经验 熬夜搞了几个通宵 精心整理了一份 Linux的资料从专业入门到高级教程 工具包 点个关注 全部无偿共享给大家 在评

随机推荐

  • shu_1241 邮局位置问题

    http 202 121 199 212 JudgeOnline problem php cid 1078 pid 5 分析 由于题目中的距离是折线距离 所以能够分别考虑两个方向 又x方向与y方向实质是一样的 所以以下 用x方向来分析 如图
  • Linux系统vi命令快捷键汇总

    vi的基本概念 基本上vi可以分为三种状态 分别是命令模式 command mode 插入模式 Insert mode 和底行模式 last line mode 各模式的功能区分如下 命令行模式command mode 控制屏幕光标的移动
  • Linux系统网络启动失败

    nm object get property Error getting State for org freedesktop NetworkManager ActiveConnection Linux系统网络启动失败 出错原因 用图形用户界
  • Java期末作业-社区医疗信息管理系统(源码+数据库文件+设计报告·附下载链接)

    Java期末大作业 社区医疗信息管理系统介绍 比较简单 点我下载项目源码 数据库文件 设计报告文档 介绍 这个小项目没有用到任何框架也没有用到Javaweb的技术 知识使用了Java写代码 使用MySQL创建数据库 然后用JDBC进行连接
  • 什么是信道编码?信道编码比较

    消除干扰 让无线信号更干净 这本是信道编码技术的初衷 然而 最近网络上这场 Polar码投票 闹剧 无中生有地添加杂质 与所议论的技术之本质背道而驰 若Polar码也有血肉之躯 此君情何以堪 香农前辈若在世 也会笑话我们吧 2016年11月
  • 1.NoSQL数据库简介

    1 1技术发展 技术的分类 1 解决功能性的问题 Java Jsp RDBMS Tomcat HTML Linux JDBC SVN 2 解决扩展性的问题 Struts Spring SpringMVC Hibernate Mybatis
  • 服务器的作用

    服务器的作用 1 服务器就好像是一个电话总台一样 而其他的网络设备就像是公共电话 所有的数据传输都要经过服务器的处理 2 服务器作为一个网络节点 为用户提供数据处理服务 最常见的就是使用服务器为自己搭建一个网站 3 服务器运算能力强 可以长
  • Babel安装步骤(JavaScript编译器)

    首先需要安装node js按照官网 下一步 就行 1 npm init 初始化 2 安装依赖包 npm install save dev babel core babel cli 如果说提示babel不是命令 可以全局安装npm insta
  • 05-windows下SQL Developer连接Orcale

    1 使用orcale安装时候自带的工具SQL Developer 工具位置 连接 连接成功
  • 【React 进阶】props 和 state 的区别详解

    时隔一年半之久再次重新学习 React 好多都还是原来的样子 这次我要重新开启 React 的大门 希望各位小伙伴可以一起讨论学习呦 前言 今天我们开始第一个专题 React 中 关于 props 和 state 当然我们不是对 props
  • 【React】19课 react组件使用redux小案例

    小案例效果入下 我们来看一下文件的目录结构 redux文件内的index js文件代码 const add Num 增加一条数据 const remove Num 删除一条数据 state 数据原先的状态 action 需要来进行改造的内容
  • using namespace std啥意思?命名空间?

    using 是C 中的关键字 命名空间作用域参考 两种形式 using 命名空间名 标识符名 将指定的标识符暴露在当前的作用域内 使得在当前作用域可以直接引用该标识符 using namespace 命名空间名 将指定命名空间内的所有标识符
  • 默纳克调试说明书_默纳克_NICE3000调试说明书(修改版)

    4 2 4 密码设置 为了更有效地进行参数保护 NICE3000电梯一体化控制器提供了密码保护 下面示例将密码改为12345的过程 粗体表示闪烁位 图4 9 密码的设定过程 设置了用户密码 即用户密码FP 00的参数不为0 会先进入用户密码
  • Selenium被检测为爬虫,怎么屏蔽和绕过

    01 Selenium 操作被屏蔽 使用selenium自动化网页时 有一定的概率会被目标网站识别 一旦被检测到 目标网站会拦截该客户端做出的网页操作 比如淘宝和大众点评的登录页 当手工打开浏览器 输入用户名和密码时 是能正常进入首页的 但
  • DNS查询服务器的基本流程

    DNS查询服务器的基本流程 假定域名为m xyz com的主机想知道另一台主机 域名为y abc com 的IP地址 例如 主机m xyz com打算发邮件给y abc com 此时 必须知道主机y abc com的IP地址 主机m xyz
  • 因果推理(九):双重差分(Difference-in-Differences)

    1 预备知识 回顾一下第二章的 unconfoundedness 假设 无混杂假设等价于 T T T到 Y Y Y之间没有畅通无阻的后门路径 在这种情况下 关联就是因果 那么可以用下面的式子计算ATE
  • 【编译原理】第1章 引论

    1 引论 目录 一 基本概念 二 编译过程 三 PL 0编译程序 题目练习 拓展 高级程序语言 参数传递 一 基本概念 源语言程序 源语言编写的程序 源语言一般指的是编写源程序所用的语言 它必须翻译成机器语言才能在计算机中使用 目标语言程序
  • linux下显卡驱动掉了,出现The system is running in low-graphics mode时解决方法

    Ctrl alt F1 cd etc X11 sudo cp xorg conf failsafe xorg conf sudo reboot 重启会发现linux很卡 原因是显卡驱动有问题 Ctrl alt F1 sudo service
  • Android 10如何隐藏应用图标

    隐藏应用图标这个功能应该用的很少 毕竟用到这个功能的应用可想而之 手动滑稽 隐藏图标的实现方式我想在网上查到很多了有在AndroidManifest实现的也用通过如下代码实现的 启动组件 param componentName 组件名 pr
  • 2.处理器与设备间数据交换方式

    处理器与外设之间传输数据的控制方式通常有3种 查询方式 中断方式和直接内存存取 DMA 方式 21 查询方式 设备驱动程序通过设备的I O端口空间 以及存储器空间完成数据的交换 例如 网卡一般将自己的内部寄存器映射为设备的I O端口 而显示