zoukankan      html  css  js  c++  java
  • ARMV8 datasheet学习笔记3:AArch64应用级体系结构之Memory order

    1.前言

    2.基本概念

    • Observer

    可以发起对memory read/write访问的都是observer;

    • Observability

    是一种观察能力,通过read可以感知到别的observer的write,通过感知到别的observer的read而不能write的这种能力;

    • observed write

    观察到了某个observer的write动作;

    • locally observed write

    是限定在一个shareability domain内部,或者指定的一个observer的集合都观察到了某个observer的write动作;

    • observed read

    当某个observer无法通过write操作来影响另一个observer的read操作的时候,我们就认为该observer已经感知到了另一个observer的read操作;

    • globally observed read

    就是一个shareability domain内所有的observers都观察到了一个observer的read操作;

    • completion

    内存访问指令完成

    3. 访存指令完成的条件

    内存访问指令完成,需满足如下条件:

    (1)该内存访问操作被特定的shareability domain内的所有的observer globally observed

    (2)和该内存访问指令相关的translation table walks(也会引发内存访问操作)必须执行完毕,即:

    a)这个translation table walks而引起的内存访问操作被该shareability domain内的所有的observer globally observed

    b)TLB已经完成更新

    4. 内存屏障

    按照严格程度从低到高排列:DMB < DSB < ISB

    • DMB:数据存储器隔离

    DMB 指令保证仅当所有在它前面的存储器访问操作都执行完毕后,才提交(commit)在它后面的存储器访问操作;

    • DSB:数据同步隔离。

    比 DMB 严格,仅当所有在它前面的存储器访问操作都执行完毕后,才执行在它后面的指令(亦即任何指令都要等待存储器访问操作——译者注);

    •  ISB:指令同步隔离

    最严格,它会清洗流水线,以保证所有它前面的指令都执行完毕之后,才执行它后面的指令.

    5. 参考文档

    [1] DDI0487A_k_armv8_arm_iss10775.pdf

    [2] ARMv8之Atomicity

  • 相关阅读:
    kubectl exec 执行 容器命令
    centos下通过yum安装redis-cli
    windows下 使用ip地址反查主机名的命令
    O365(世纪互联)SharePoint 之文档库使用小记
    SharePoint 2016 图文安装教程
    SharePoint 2013 激活标题字段外的Menu菜单
    SharePoint 2013 定制搜索显示模板(二)
    SharePoint 2013 定制搜索显示模板
    SharePoint 2013 网站搜索规则的使用示例
    SharePoint 2013 搜索功能,列表项目不能完全被索引
  • 原文地址:https://www.cnblogs.com/smartjourneys/p/6844069.html
Copyright © 2011-2022 走看看