代码之家  ›  专栏  ›  技术社区  ›  izac89

缓存、分支预测器和TLB维护操作

  •  0
  • izac89  · 技术社区  · 8 年前

    关于ARM DSB 记忆障碍 instruction :

    DSB公司-

    数据同步屏障是一种特殊的存储器 屏障。此指令后程序顺序中没有指令 执行,直到此指令完成。

    明白了,下一步:

    此指令完成 什么时候:

    此指令完成之前的所有显式内存访问。

    所有缓存、分支预测器和TLB 在此之前的操作 说明完成。

    等等,缓存、分支预测器和TLB到底是什么 维修 什么意思?意思是冲水吗?这是否意味着 指令本身可以触发这种刷新吗?还有什么是保养?

    2 回复  |  直到 8 年前
        1
  •  1
  •   Peter Cordes    8 年前

    我认为这是英语语法歧义的问题。我想他们的意思是

    • 缓存操作(加载/存储的所有副作用,或MMU操作后显式刷新/失效)
    • TLB维护操作(例如,更改页表条目后使TLB条目无效)

    我不认为他们试图把分支预测器操作描述为“维护”,而“维护”这个词应该只和“TLB”一起出现在那句话中。

    https://access.redhat.com/articles/3311301 ). 但我不认为这是他们这句话想说的。)

        2
  •  1
  •   Sean Houlihane    8 年前

    消除歧义的关键是要认识到这一点 TLB maintenance 是一个比 TLB operation

    在哪里? TLB操作 单独使用时,它似乎是指操作过程,或是指特定的确定活动。当指令被描述为与TLB交互时,这些指令在 TLB maintenance operations TLB operations ,因此建议的解析需要在文档中拆分一个公共(如果不是明确的标准)术语。