首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >缓存、分支预测器和TLB维护操作

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

Stack Overflow用户
提问于 2018-10-17 19:10:03
回答 2查看 455关注 0票数 1

关于ARM DSB内存屏障说明

DSB - 数据同步屏障是一种特殊的内存屏障。在此指令完成之前,在此指令执行后,没有按程序顺序排列的指令。

大家都很清楚,接下来:

本指令在下列情况下完成: 在此指令完成之前,所有显式内存都将进行访问。 在本指令完成之前,所有Cache、分支预测器和TLB 维护操作。

等等,缓存、分支预测器和TLB 维护到底意味着什么?这意味着脸红吗?这是否意味着DSB指令本身可以触发这样的冲洗?还有什么被认为是维护?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-10-17 19:26:38

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

  • 缓存操作(加载/存储的所有副作用,或MMU操作后的显式刷新/无效)
  • 分支预测器操作(例如全局启用/禁用分支预测)
  • TLB -维护操作(例如,在更改页表条目后使TLB条目失效)

我不认为他们试图将分支预测器操作描述为“维护”,而“维护”一词只应该与该句中的"TLB“一起使用。

(一些分支预测器操作可以被描述为维护,如果ARM增加了分支预测器刷新操作来缓解频谱,就像英特尔最近对其x86 CPU的微码更新一样,增加了一个新的特定模型寄存器。(https://access.redhat.com/articles/3311301)。但我不认为他们的判决是这么说的。)

票数 1
EN

Stack Overflow用户

发布于 2018-10-18 10:52:51

消除歧义的关键是认识到TLB maintenance是一个比TLB operation更常见的术语。(根据简单的搜索,约为3倍)。

在单独使用TLB operation的情况下,它似乎是指操作过程或特定的标识活动。当指令被描述为与TLB交互时,这些指令将在TLB maintenance operations标题下描述,并且这个组形成一个相当大的集合。这组指令通常不会仅仅被描述为TLB operations,因此您建议的解析需要在文档中拆分一个公共术语(如果不是显式标准的话)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52862017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档