惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
B
Blog
V
V2EX
T
Tailwind CSS Blog
Hugging Face - Blog
Hugging Face - Blog
博客园 - 【当耐特】
博客园 - 聂微东
博客园 - 叶小钗
博客园 - 三生石上(FineUI控件)
The Cloudflare Blog
J
Java Code Geeks
H
Help Net Security
雷峰网
雷峰网
Apple Machine Learning Research
Apple Machine Learning Research
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Engineering at Meta
Engineering at Meta
F
Fortinet All Blogs
Martin Fowler
Martin Fowler
D
Docker
L
LangChain Blog
人人都是产品经理
人人都是产品经理
爱范儿
爱范儿
WordPress大学
WordPress大学
V
Visual Studio Blog

汇编

在浏览器使用 wasm 如何解决兼容性问题 C++中 i=i; 与 *p=i; 对应的汇编代码为什么不一样? 汇编问题求解,这个问题我自己确实做不来 有谁能来教我一下汇编的问题吗?我真的因为这个卡了好久了 如何学习汇编语言? Linux 下, global variable 在汇编里是什么时候被初始化的呢? 求大神帮忙解答两个题,关于编程的,应付微机原理与应用过关考试的,不胜感激 6.828 lab1 Exercise 2 死循环问题 如何解决 ShellCode 中 call 所产生的 \x00 用 AMD64 汇编写的 web server 来做个调查,各位V2exer 有多少学过汇编?有用过否? Introduction to UNIX Assembly Programming
Lock 指令到底有什么用?
Orlion · 2021-01-14 · via 汇编

最近在看原子操作的原理,得知是通过 Lock 指令保证了内存读写原子性,其原理是

  • CPU 保证 Lock 后缀后跟的指令原子性
  • 老 CPU 上通过锁总线来保证可见性
  • 新 CPU 上如果数据存在于 cpu cache 上时通过 MESI 协议来实现可见性,否则还是锁总线

对此我产生了几个问题:

  1. 难道不声明 Lock CPU 就不通过 MESI 协议保证 cache 一致性吗?我觉得不是, https://strikefreedom.top/cpu-caches-theory-and-application 这篇文章的 demo 中并没有声明 Lock 指令,但仍然出现了缓存失效。
  2. 是不是除了 cpu cache 外还有 store buffer 和 invalid queue 会影响可见性,所以 CPU 只能保证 cache 的一致性但保证不了其他硬件缓存层面的一致性,所以还是需要 Lock 指令?