JMM 硬件的效率与一致性 由于计算机 的存储设备与处理器的运算速度有着几个数量级的差距,所以现代计算机系统都不得不加入一层或多层读写速度尽可能接近处理器运算速度的**高速缓存(Cache)**来作为内存与处理器之间的缓冲:将运算需要使用的数据复制到缓存中,让运算能快速进行,当运算结束后再从缓存同步 ...
分类:
其他好文 时间:
2021-06-23 17:11:39
阅读次数:
0
volatile 作用 保证线程可见性 使用volatile,将会强制所有线程都去堆内存中读取变量的值 -MESI(CPU的缓存一致性协议) 详细可看 https://www.cnblogs.com/z00377750/p/9180644.html 禁止指令重排序(CPU级别的支持) cpu级别增加 ...
分类:
编程语言 时间:
2021-06-08 23:17:33
阅读次数:
0
Super Palindromes (H) 题目 Let's say a positive integer is a super-palindrome if it is a palindrome, and it is also the square of a palindrome. Given tw ...
分类:
其他好文 时间:
2021-05-24 02:27:55
阅读次数:
0
struct uvc_streaming_control { __u16 bmHint; __u8 bFormatIndex; //视频格式索引 __u8 bFrameIndex; //视频帧索引 __u32 dwFrameInterval; //视频帧间隔 __u16 wKeyFrameRate; ...
分类:
其他好文 时间:
2020-12-16 11:56:30
阅读次数:
2
JMM 硬件层数据一致性 intel 用MESI https://www.cnblogs.com/z00377750/p/9180644.html 现代CPU的数据一致性实现 = 缓存锁 + 总线锁【早期的唯一实现】 读取缓存以cache line为基本单位,目前64bytes 位于同一缓存行的两个 ...
分类:
其他好文 时间:
2020-09-15 20:52:01
阅读次数:
30
现代CPU为了提升性能都会有自己的缓存结构,而多核CPU为了同时正常工作,引入了MESI,作为CPU缓存之间同步的协议。MESI虽然很好,但是不当的时候用也可能导致性能的退化。 到底怎么回事呢?一起来看看吧。 false-sharing的由来 为了提升处理速度,CPU引入了缓存的概念,我们先看一张C ...
分类:
其他好文 时间:
2020-07-23 16:11:03
阅读次数:
80
一、Reading After my graduation, I went to Beijing to further my studies. I lived there for three years. At first, I was happy, but later, I was frustra ...
分类:
其他好文 时间:
2020-07-17 14:02:28
阅读次数:
91
思路: cpu多级缓存 - 伪共享 解决一致性 缓存锁MESI + 总线锁 缓存行填充 cpu指令乱序 演示demo 为什么乱序 - 好处 因为cpu比内存块太多,为了充分压榨cpu cpu内存屏障阻止乱序 sfence&lfence&mfence volatile实现 字节码层面 在access ...
分类:
其他好文 时间:
2020-07-15 01:02:42
阅读次数:
97
常见的浏览器攻击分为两种,一种为XSS(跨站脚本攻击),另一种则为CSRF(跨站请求伪造)。 XSS(跨站脚本攻击) 定义 XSS 全称是 Cross Site Scripting,为了与“CSS”区分开来,故简称 XSS,翻译过来就是“跨站脚本”。XSS 攻击是指黑客往 HTML 文件中或者 DO ...
分类:
其他好文 时间:
2020-07-12 16:45:33
阅读次数:
123
?# CPU & 多线程 本文是阅读《大话处理器》的读书摘要 graph TD A[大话处理器] B[流水线] C[3级&5级流水] D[3类冒险] E[分支预测&乱序执行] F[超标量&VLIW] G[Cache 一致性] H[写通&写回] I[MESI] J[并行] A --> B B --> ...
分类:
编程语言 时间:
2020-07-03 23:22:26
阅读次数:
91