前言:计算机内存模型,是指CPU、高速缓存、内存,三者之间的关系。
一、计算机内存模型背景说明
由于计算机的存储设备(硬盘)与CPU处理器的运算能力之间有几个数量级的差距,所以现代计算机系统都不得不加入一层读写速度尽可能接近CPU处理器运算速度的高速缓存(cache)来作为CPU处理器与内存之间的缓冲:将运算需要使用到的数据复制到缓存中,让运算能快速进行,当运算结束后再从缓存同步回内存之中没这样处理器就无需等待缓慢的内存读写了。
基于高速缓存的存储交互很好地解决了处理器与内存的速度矛盾,但是引入了一个新的问题:缓存一致性(Cache Coherence)。在多处理器系统中,每个处理器都有自己的高速缓存,而他们又共享同一主存,如下图所示:多个处理器运算任务都涉及同一块主存,需要一种协议可以保障数据的一致性,这类协议有MSI、MESI、MOSI及Dragon Protocol等。
二、计算机内存模型(图解)
总结:现在的计算机都是多核的CPU,每个CPU里面包含寄存器,CPU里面还会集成高速缓存。也就是我手绘板上图的样子【转发图片请说明我的出处,笔记本不容易,比下面网络图片好理解多了】
三、Java内存模型,也是模仿的计算机内存模型进行设计的。
四、欢迎关注我学习,如有不对欢迎指正,我会修改供大家学习。