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

CHI - Transaction介绍(4) - 原子操作

ATOMIC transaction是CHI来进行原子操作的一个动作。如果没有该类型传输,原子操作必须使用内存访问序列来执行。这些访问可能依赖于Exclusive read和write。Atomic操作包含了很多种,比如atomicload/store/swap/compare等

AtomicStoreADD1.在发送comp或CompData响应之前,Completer必须等待所有snoop响应;1. returns only a completion response:
2. data size 1/2/4/8 byte;
3. 只拉低合适的BE
4. • InitialData is not returned to the Requester.
• Update location with (TxnData + InitialData).
 CLR• Update location with (InitialData AND (NOT TxnData)). Bitwise.
 EORInitialData XOR TxnData
 SET• Update location with (InitialData OR TxnData). Bitwise.
 SMAX• Update location with TxnData if:
— (((Signed INT) TxnData – (Signed INT) InitialData) > 0).
 SMIN• Update location with TxnData if:
— (((Signed INT) TxnData – (Signed INT) InitialData) < 0).
 UMAXUpdate location with TxnData if:
— (((Unsigned INT) TxnData – (Unsigned INT) InitialData) > 0).
 UMIN• Update location with TxnData if:
— (((Unsigned INT) TxnData – (Unsigned INT) InitialData) < 0).
AtomicLoadADD1. return Data with a completion response: 但是返回的data是执行原子操作之前地址的数据
2. data size 1/2/4/8 byte;
3. 只拉低合适的BE;

4. 读回的数据不会被cache
5. • InitialData is returned to the Requester.
• Update location with (TxnData + InitialData).
 CLR• Update location with (InitialData AND (NOT TxnData)). Bitwise.
 EORInitialData XOR TxnData
 SET• Update location with (InitialData OR TxnData). Bitwise.
 SMAX• Update location with TxnData if:
— (((Signed INT) TxnData – (Signed INT) InitialData) > 0).
 SMIN• Update location with TxnData if:
— (((Signed INT) TxnData – (Signed INT) InitialData) < 0).
 UMAXUpdate location with TxnData if:
— (((Unsigned INT) TxnData – (Unsigned INT) InitialData) > 0).
 UMIN• Update location with TxnData if:
— (((Unsigned INT) TxnData – (Unsigned INT) InitialData) < 0).
AtomiASwap1. return Data with a completion response: 但是返回的data是执行原子操作之前地址的数据;
2. data size 1/2/4/8 byte;
3. 只拉低合适的BE;

4. 读回的数据不会被cache
5. • InitialData is returned to the Requester.
数据交换
transaction携带要交换的值下去
AtomicCompare1. return Data with a completion response: 但是返回的data是执行原子操作之前地址的数据;
2. data size 1/2/4/8 byte;
3. 只拉低合适的BE;

4. 读回的数据不会被cache
5. • InitialData is returned to the Requester.
数据比较
transaction携带要比较的值下去
http://www.lryc.cn/news/605226.html

相关文章:

  • 工厂方法模式:从基础到C++实现
  • Spring Boot 数据源配置中为什么可以不用写 driver-class-name
  • 1. ESP开发之实体按键(KEYPADBUTTON)控制LVGL控件
  • 一文掌握最新版本Monocle3单细胞轨迹(拟时序)分析
  • 【Unity】在构建好的项目里创建自定义文件夹
  • Thales靶机
  • Redis知识点(1)
  • 【力扣热题100】哈希——字母异位词分组
  • 【c++】leetcode763 划分字母区间
  • LeetCode热题100--148. 排序链表--中等
  • 限流算法详解:固定窗口、滑动窗口、令牌桶与漏桶算法全面对比
  • 力扣-543.二叉树的直径
  • 【LeetCode】链表反转实现与测试
  • (补题)小塔的饭
  • sqLite 数据库 (3):以编程方式使用 sqLite,4 个函数,以及 sqLite 移植,合并编译
  • linux 执行sh脚本,提示$‘\r‘: command not found
  • C语言:函数指针、二级指针、常量指针常量、野指针
  • 【Kubernetes 指南】基础入门——Kubernetes 201(二)
  • Vite 模块动态导入之Glob导入
  • Cursor MCP搭建入门
  • 力扣热题100---------35.搜索插入为位置
  • jQuery UI Tabs切换功能实例
  • Python在自动化与运维领域的核心角色:工具化、平台化与智能化
  • Jaeger理论、实战、问题记录
  • TikTok 视频审核模型:用逻辑回归找出特殊类型的视频
  • Elasticsearch 文档操作管理:从增删改查到批量操作与数据类型
  • 硬性巩膜镜市场报告:深度解析行业现状与未来趋势
  • Java项目:基于SSM框架实现的济南旅游网站管理系统【ssm+B/S架构+源码+数据库+毕业论文+远程部署】
  • 同一雷达不同样式的pdw数据
  • FFmpeg:因码流采集与封装不同步导致录制出来的MP4文件会出现黑屏、绿屏的问题