news 2026/4/30 11:49:45

总线的atmotic与lock/exclusive

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
总线的atmotic与lock/exclusive

在互联总线里,“原子操作”与 “AxLOCK” ,exclusive不是并列概念,而是“同一机制的不同实现方式”。

1.atmotic原子操作

原子操作指的是不可被中断的、最小的操作单元—— 它要么完整执行完毕,要么完全不执行,不存在 “执行了一半” 的中间状态。

对于总线来说,基本的原子操作有原子读,原子写,原子读改写。

原子读:主要就是多transfer读中间不能被其他写打断或者更新。

-------比如读地址0~3,同时有写2~3发生,导致读0,1是旧值,2~3是新值。这就导致一个读被割裂了

原子写:主要是多transfer写过程中不要被其他读写操作打断。

-------如果在原子写过程中,出现有相同目标地址的读,只能全部读没写之前的状态,或等全部写完之后读。具体取决于原子写的内存模型和硬件 / 语言的同步语义

-------如果在原子写过程中,出现有相同目标地址的写,这个写只能在原子写之前或之后。不会出现原子写0~3 abcd,其他写0~3 efgh,最终结果0~3为abgh,efcd这种交叉的情况

-------最终结果只能是abcd或者efgh。多线程环境下,两个原子写的执行顺序是不确定的(由 CPU 调度器决定),如果没有额外的同步机制(比如锁、内存屏障),无法预测最终结果。

-------也可以对两个原子写中先被仲裁的返回resp_ok,没被仲裁的返回resp_err

原子读改写:先读数据,在修改全部或者部分数据在写入原地址。在这个写完成之前不能有其他的操作修改内存。改数据可以在存储的远端也可以在存储的近端。如果是近端,读出来的数据就无需传到远端,节省带宽,减少延迟,但通常需要请求的时候把部分操作数传到近端

-------在axi5增加了原子操作的专用信号AWATOP,直接定义ADD/SWAP/CLR/SET/EOR等操作。在此之前是没有专门的原子操作信号,但是可以利用axuser来传递这些信息。

2.axlock和exclusive

axi3及之前版本有2bit axlock:

00:normal

01:exclusive

10:locked

axi4及之后版本放弃了locked,只需1bit axlock

0:normal

1:exclusive

Locked

锁住目标地址别的请求完全不能访问该 目标地址,直到解锁

可以是单独的locked read或write,如果不能返回失败

如获得lock,需要最后一笔trans以unlock解锁

(阻塞访问该地址)AXI3 遗留现代设计已废弃
Exclusive

不锁总线仅对目标地址设 monitor
后续写用BRESP=EXOKAY/OKAY告知“是否被别的主机踩过”

包含先Exclusive read+后Exclusive write两部分,其中一步失败,就认为Exclusive失败

(仅冲突时重试)AXI4/5 推荐实现 spinlock、CAS、LL/SC

显然Locked可以实现atmoic的读/写/读改写;Exclusive可以实现atmotic的读改写。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 6:50:14

DVWA漏洞靶场实战项目

DVWA漏洞靶场实战项目 一、项目概述 DVWA(Damn Vulnerable Web Application)是一个专门用于安全漏洞学习和测试的PHP/MySQL Web应用。本项目将带你完成DVWA靶场的搭建、配置和漏洞实战演练。 二、环境搭建 1. 准备工作 方案一:使用Docker&…

作者头像 李华
网站建设 2026/5/1 5:50:33

性能优化之分块渲染

在遇到大量数据需要渲染的时候&#xff0c;一次性渲染会阻塞主线程导致页面卡顿&#xff0c;可以用分块渲染提升页面性能&#xff0c;将大量DOM结点的渲染拆分为多个小任务&#xff0c;避免主线程长时间阻塞&#xff0c;减少页面卡顿。<script setup lang"ts">…

作者头像 李华
网站建设 2026/5/1 6:50:47

c++单调数据结构————单调栈,单调队列

目录 一&#xff0c;单调栈 二&#xff0c;单调队列 例题一(单调栈&#xff09;&#xff1a;蓝桥杯官网——百亿富翁 题目描述 输入描述 输出描述 输入输出样例 示例 1 代码详解&#xff1a; 解释&#xff1a;计算 dpl 时 stk 的工作过程 例题二&#xff08;单调队列…

作者头像 李华
网站建设 2026/4/18 8:13:23

【AI OCR加速新突破】:Dify + Tesseract 实现每秒百页文档识别的秘密

第一章&#xff1a;Dify Tesseract 的识别速度在处理大规模文档自动化任务时&#xff0c;OCR 引擎的识别速度直接影响系统整体效率。Dify 集成的 Tesseract OCR 引擎经过定制优化&#xff0c;在保持高准确率的同时显著提升了图像文本识别的响应性能。影响识别速度的关键因素 图…

作者头像 李华
网站建设 2026/5/1 6:51:32

2025年高口碑AI数字人公司推荐,探寻值得信赖的选择

在2025年&#xff0c;数字人交互技术蓬勃发展&#xff0c;市场上出现了众多优秀的AI数字人交互公司。本文将为您盘点高口碑的AI数字人交互公司TOP10&#xff0c;帮助您在选择时少走弯路。这些公司以其创新技术和优质服务赢得了用户信赖&#xff0c;是您理想的合作伙伴。让我们一…

作者头像 李华
网站建设 2026/5/1 6:49:43

ES理论:分页查询方案及优化策略

文章目录前言常见的 Elasticsearch 分页设计方案1. from size 分页 (浅分页)2. scroll 分页 (游标分页/深分页)3. search_after 分页 (搜索后分页)4. 基于 PIT (Point In Time) 的 search_after 分页方案总结与对比核心建议资料获取前言 博主介绍&#xff1a;✌目前全网粉丝4…

作者头像 李华