当前位置: 首页 > news >正文

位操作 之四

一、read-modify-write(RMW)是什么?

这是底层开发的核心概念。


什么叫 RMW?

假设你要改 bit[7:4]

代码是:

reg = (reg & ~mask) | (value << shift);

它实际执行步骤是:

① 从硬件读寄存器
② 修改某几位
③ 再写回去

这就是:

Read → Modify → Write


二、RMW 最大的坑

⚠️ 坑1:寄存器是“读有副作用”的

有些寄存器:

  • 读一次就清零
  • 读一次就触发硬件行为

例如:

bit0 = interrupt flag
读一次自动清零

如果你执行:

reg = reg & ~mask

第一步读寄存器时:

👉 中断标志已经被清了

你根本没想动它,但它被你误清了。

这叫:

Read side effect


⚠️ 坑2:多线程/中断竞争

假设:

  • 主线程改 bit[4]
  • 中断改 bit[2]

流程:

主线程:read reg  -> 0b0000
中断:   写 reg = 0b0100
主线程:modify -> 0b0010
主线程:write -> 0b0010

结果:

中断写的 bit2 被覆盖了。

这叫:

RMW 丢失更新

在高频采集系统里,这种 bug 很隐蔽。


⚠️ 坑3:硬件自动更新位

有些状态位是:

硬件在后台实时改变

你做 RMW:

读到旧值
硬件改了某位
你写回旧值

硬件改动丢失。


三、真实工程解决方案

方法1:写专用 SET / CLEAR 寄存器

很多硬件设计会提供:

REG_SET
REG_CLEAR

写 1 表示置位 / 清位。

这样避免 RMW。


方法2:临界区保护

在 MCU:

关中断
RMW
开中断

在 Linux:

spin_lock()

方法3:使用原子操作

在 CPU 内存寄存器上:

atomic_fetch_or()

方法4:不要读状态寄存器再写回

对于“读清零”的寄存器:

只写,不读。


四、结合你现在做的板卡联调

你现在:

  • PCIe BAR 映射
  • IIC 初始化
  • 高频数据采集

如果寄存器来自:

  • FPGA
  • 自定义逻辑

一定要看文档是否写着:

Read clears
Write 1 to clear
Self clearing

否则 RMW 很容易踩坑。


五、底层工程师的思维层级

你现在在第一层:

我怎么改某几位?

下一层是:

改这几位时,读会不会出事?

再下一层是:

有没有并发问题?

这才是驱动工程真正难的地方。


http://www.jsqmd.com/news/416968/

相关文章:

  • 少走弯路:千笔写作工具,MBA论文写作神器
  • 2026年波纹金属软管选购指南:优质厂商盘点,真空波纹管/波纹金属软管/阀用波纹管/波纹补偿器,波纹金属软管生产厂家推荐 - 品牌推荐师
  • 看完就会:8个一键生成论文工具测评!专科生毕业论文+开题报告全攻略
  • 河北昇晖环境发展有限公司联系方式:如何有效联系与初步沟通 - 十大品牌推荐
  • 综述不会写?全网爆红的一键生成论文工具 —— 千笔写作工具
  • 禹州市锐翔过滤设备联系方式:官方联系途径与背景简介 - 十大品牌推荐
  • 科融科技专精特新资质代办机构靠谱吗,全国服务质量有保障吗 - 工业品牌热点
  • 混合专家模型 (MoE) 详解
  • 上海清竹园墓园联系方式:了解其服务与环境的参考信息 - 十大品牌推荐
  • 2026年知名的水性漆/水性漆钢构防锈漆怎么选实力工厂参考 - 行业平台推荐
  • 乘法逆元 总结
  • 2026年口碑好的高精度接触角测量仪/在线式接触角测量仪厂家推荐与采购指南 - 行业平台推荐
  • 成都好吃的特色面馆权威排行:本地人私藏的8家面馆盘点 - 企业推荐师
  • 2026年质量好的环保健康实木板/实木板怎么联系实用公司采购参考 - 行业平台推荐
  • 2026年靠谱的金属圆锯机/圆锯机厂家专业度参考(精选) - 行业平台推荐
  • 2月24日
  • 论文写不动?9个一键生成论文工具深度测评:自考毕业论文+格式规范全攻略
  • 电商ERP系统哪家强?2026年电商ERP推荐与排名,解决集成与响应核心痛点 - 十大品牌推荐
  • 2026年质量好的钛锌板金属屋面/鱼鳞瓦金属屋面供应商采购指南怎么联系 - 行业平台推荐
  • 选择月子中心GEO优化服务,西安布道传播推荐靠谱之选 - 工业品牌热点
  • 2026最新MS胶厂家实力排行榜:基于环保性能与市场口碑的五大公司权威推荐榜单 - 十大品牌榜
  • 2026年比较好的PP实验台/全钢实验台畅销生产厂家采购指南怎么选 - 行业平台推荐
  • 2026年质量好的伺服全自动倒角机/单头精密倒角机用户好评厂家推荐 - 行业平台推荐
  • D004 二叉堆 序列合并 P1631 洛谷
  • 位操作 之二
  • 2月23日
  • 分析广东佛山信誉好的门店引流方法费用多少,性价比高吗 - mypinpai
  • 最新!2026江苏车铣复合培训学校排行情况,PLC培训/UG培训/车铣复合培训/走心机培训,车铣复合培训机构推荐排行 - 品牌推荐师
  • 2026船用安全阀市场:口碑企业引领安全新标准,船用疏水阀/船用减压阀/船用阀门附件,船用安全阀实力厂家口碑推荐 - 品牌推荐师
  • 2026年国内可靠的投影机出租公司排名,楼体投影机出租/艺术展览投影机出租/2万流明投影机出租,投影机出租公司哪家强 - 品牌推荐师