ISB、DSB和DMB的含义

简介: ISB、DSB和DMB的含义

参考

DDI0487J_a_a-profile_architecture_reference_manual.pdf

  • B2.3 Definition of the Arm memory model
  • B2.3.12 Memory barriers
  • Data Memory Barrier (DMB)
  • Data Synchronization Barrier (DSB)
  • Instruction Synchronization Barrier (ISB)

Data Memory Barrier (DMB)

The DMB instruction is a memory barrier instruction that ensures the relative order of memory accesses before the barrier with memory accesses after the barrier. The DMB instruction does not ensure the completion of any of the memory accesses for which it ensures relative order.

The basic principle of a DMB instruction is to introduce order between memory accesses that are specified to be affected by the DMB options supplied as arguments to the DMB instruction. The DMB instruction ensures that all affected memory accesses by the PE executing the DMB instruction that appear in program order before the DMB instruction and those which originate from a different PE, to the extent required by the DMB options, which have been Observed-by the PE before the DMB instruction is executed, are Observed-by each PE, to the extent required by the DMB options, before any affected memory accesses that appear in program order after the DMB instruction are Observed-by that PE.

The DMB instruction affects only memory accesses and the operation of data cache and unified cache maintenance instructions. It has no effect on the ordering of any other instructions executing on the PE.

Data Synchronization Barrier (DSB)

A DSB instruction is a memory barrier that ensures that memory accesses that occur before the DSB instruction have completed before the completion of the DSB instruction. In doing this, it acts as a stronger barrier than a DMB and all ordering that is created by a DMB with specific options is also generated by a DSB with the same options.

A DSB instruction executed by a PE, PEe, completes when all of the following apply:

  • All explicit memory effects of the required access types appearing in program order before the DSB are complete for the set of observers in the required shareability domain.
  • If the required access types of the DSB is reads and writes, the following instructions issued by PEe before the DSB are complete for the required shareability domain:
  • All cache maintenance instructions.
  • All TLB maintenance instructions.
  • All PSB CYNC instructions.

In addition, no instruction that appears in program order after the DSB instruction can alter any state of the system or perform any part of its functionality until the DSB completes other than:

  • Being fetched from memory and decoded.
  • Reading the general-purpose, SIMD and floating-point, SVE vector or predicate, Special-purpose, or System registers that are directly or indirectly read without causing side-effects

Instruction Synchronization Barrier (ISB)

An ISB instruction ensures that all instructions that come after the ISB instruction in program order are fetched from the cache or memory after the ISB instruction has completed. Using an ISB ensures that the effects of context-changing operations executed before the ISB are visible to the instructions fetched after the ISB instruction.

Examples of context-changing operations that require the insertion of an ISB instruction to ensure the effects of the operation are visible to instructions fetched after the ISB instruction are:

  • Completed cache and TLB maintenance instructions.
  • Changes to System registers.

Any context-changing operations appearing in program order after the ISB instruction take effect only after the ISB has been executed.

相关文章
|
Kubernetes 监控 Cloud Native
Kubernetes自动伸缩方案的终极指南
【4月更文挑战第18天】
790 0
Kubernetes自动伸缩方案的终极指南
|
6月前
|
Web App开发 网络协议 Linux
如何屏蔽 iOS 26 软件自动更新,去除更新通知和标记
如何屏蔽 iOS 26 软件自动更新,去除更新通知和标记
11067 3
|
新能源
19期HR必读书单大揭秘:从薪酬体系搭建到绩效使能的实战指南
作为8年HR老兵,我深知HR在专业进阶中的迷茫。2023年数据显示76%的HR有知识焦虑。本文揭秘19期HR共读书单,涵盖薪酬体系、组织发展、招聘管理等全模块。如《薪酬管理从入门到精通》提供“3E模型”,《绩效使能》刷新OKR认知,《HRBP是这样炼成的》构建能力跃迁路线图。书单还包含实战攻略,如主题式阅读法与结构化笔记模板,助你将理论转化为实践,破解“知道但不会用”的困境。
526 18
|
6月前
|
存储 数据采集 监控
Python定时爬取新闻网站头条:从零到一的自动化实践
在信息爆炸时代,本文教你用Python定时爬取腾讯新闻头条,实现自动化监控。涵盖请求、解析、存储、去重、代理及异常通知,助你构建高效新闻采集系统,适用于金融、电商、媒体等场景。(238字)
1104 2
|
JavaScript
nodejs自动接收新邮件进行处理
通过imap 来接收邮箱新邮件,类似客户端系列,不过比较简单的,目前只有新邮件,后续也可以通过这个来做一个自己的邮件客户端。
nodejs自动接收新邮件进行处理
|
存储 机器学习/深度学习 算法框架/工具
张量(Tensor)、标量(scalar)、向量(vector)、矩阵(matrix)
张量(Tensor)、标量(scalar)、向量(vector)、矩阵(matrix)
782 1
|
运维 监控 Serverless
揭秘云计算中的Serverless架构:优势、挑战与实践
揭秘云计算中的Serverless架构:优势、挑战与实践
557 0
|
网络协议 网络虚拟化
BGP EVPN(一)
BGP EVPN(一)
|
存储 Ubuntu Linux
xenomai3+linux构建linux实时操作系统-基于X86_64和arm
Xenomai是一个实时性解决方案,通过在Linux上添加实时内核Cobalt来增强实时性能。它有三个主要部分:libcobalt(用户空间实时库)、Cobalt(内核空间实时内核)和硬件架构特定层(ipipe-core或dovetail)。ipipe-core适用于Linux 5.4以下版本,而dovetail用于5.4及以上版本。本文介绍了在X86 Ubuntu环境下,如何编译Xenomai内核,搭建应用环境,包括配置、编译、安装和实时性测试。对于其他硬件架构,如ARM和ARM64,步骤类似。文章还提到了Xenomai与Linux内核版本的兼容性和实时性测试结果。
2425 0
xenomai3+linux构建linux实时操作系统-基于X86_64和arm
|
人工智能 Linux API
【AI大模型应用开发】【AutoGPT系列】1. 快速上手 - 运行原生AutoGPT or 利用AutoGPT框架开发自己的Agent
【AI大模型应用开发】【AutoGPT系列】1. 快速上手 - 运行原生AutoGPT or 利用AutoGPT框架开发自己的Agent
819 0

热门文章

最新文章

下一篇
开通oss服务