![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发
文章平均质量分 96
扶我起来我还要写代码
经世致用
展开
-
Intel lock前缀指令的屏障能力
Intel CPU手册上,关于lock前缀指令有序性的描述,或者说禁止处理器重排序的描述(主要是存储系统重排序)原创 2022-07-01 21:42:26 · 1225 阅读 · 1 评论 -
【并发编程】CPU cache结构和缓存一致性(MESI协议)
一、cache cpu cache已经发展到了三级缓存结构,基本上现在买的个人电脑都是L3结构。1. cache的意义 为什么需要CPU cache?因为CPU的频率太快了,快到主存跟不上,这样在处理器时钟周期内,CPU常常需要等待主存,浪费资源。所以cache的出现,是为了缓解CPU和内存之间速度的不匹配问题(结构:cpu -> cache -> memory...原创 2016-01-03 06:29:21 · 21576 阅读 · 19 评论 -
Intel LOCK前缀指令
《卷二:指令集》LOCK—Assert LOCK# Signal PrefixDescriptionCauses the processor’s LOCK# signal to be asserted during execution of the accompanying instruction (turns the instruction into an atomic instru...原创 2019-05-09 15:58:50 · 5354 阅读 · 16 评论 -
Why Memory Barriers?中文翻译(上)
转载自:http://www.wowotech.net/kernel_synchronization/Why-Memory-Barriers.html本文是对perfbook的附录C Why Memory Barrier的翻译,希望通过对大师原文的翻译可以弥补之前译者发布的关于memory barrier的一篇很拙劣的文章的遗憾。本文的翻译不是一一对应的翻译,主要是领会精神,用自己的语言...转载 2020-05-03 16:22:11 · 2270 阅读 · 15 评论 -
Why Memory Barriers中文翻译(下)
转载自:http://www.wowotech.net/kernel_synchronization/why-memory-barrier-2.html在上一篇why memory barriers文档中,由于各种原因,有几个章节没有翻译。其实所谓的各种原因总结出一句话就是还没有明白那些章节所要表达的内容。当然,对于一个真正的热爱钻研的linuxer,不理解的那些章节始终都是一块心病。终于,在一个月黑风高的夜晚,我发了一封邮件给perfbook的作者Paul,请其指点一二。果然是水平越高越平易近人.转载 2020-06-22 18:38:49 · 1077 阅读 · 2 评论 -
【J2SE】hotspot中如何实现Object.hashCode
openjdk15中,Object.hashCode()方法实现的源码分析原创 2021-07-18 18:32:50 · 536 阅读 · 2 评论 -
hotspot x86平台的内存屏障的实现
源码级分析:86平台上,hotspot内存屏障的实现和缓存一致性协议(例如MESI)是什么关系?原创 2021-12-15 17:39:45 · 1173 阅读 · 3 评论 -
编译器重排序
Java volatile内存语义的实现,基于C/C++的volatile和内联汇编__asm__ volatile,hotspot x86中用来实现内存屏障的内联汇编语句常见两种形式:__asm__ volatile ("" : : : "memory")和__asm__ volatile ("lock; addl $0,0(%%rsp)" : : : "cc", "memory")。hotspot在不同平台实现内存屏障使用的内联汇编语句不相同,但都必须有内联汇编破坏寄存器条件“memory”。转载 2022-05-30 21:25:10 · 1279 阅读 · 0 评论