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

推荐订阅源

C
Check Point Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
L
LangChain Blog
云风的 BLOG
云风的 BLOG
M
MIT News - Artificial intelligence
A
About on SuperTechFans
J
Java Code Geeks
量子位
博客园 - 三生石上(FineUI控件)
博客园 - Franky
博客园_首页
H
Hackread – Cybersecurity News, Data Breaches, AI and More
IT之家
IT之家
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Apple Machine Learning Research
Apple Machine Learning Research
Engineering at Meta
Engineering at Meta
雷峰网
雷峰网
D
DataBreaches.Net
人人都是产品经理
人人都是产品经理
Martin Fowler
Martin Fowler
有赞技术团队
有赞技术团队
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻

汇编

在浏览器使用 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 指令?