理解什么是Java内存模型
|
为在保证CPU技术发展同时优化解决这一问题,人们后来想出来了一个方案,就是在CPU和内存之间增加高速缓冲存储器(Cache)。
高速缓冲存储器是存在于主存与CPU之间的一级存储器, 由静态存储芯片(SRAM)组成,容量比较小但速度比主存高得多, 接近于CPU的速度。在计算机存储系统的层次结构中,是介于中央处理器和主存储器之间的高速小容量存储器。它和主存储器一起构成一级的存储器。高速缓冲存储器和主存储器之间信息的调度和传送是由硬件自动进行的。 为Cache速度接近于CPU的速度且CPU每次操作主存前都会先访问Cache,所以通过增加Cache后当便达到了优化的效果。
4. 随着CPU的升级,一层缓存慢慢地无法满足要求,因此逐渐地衍生出多级缓存。每一级缓存中所储存的全部数据都是下一级缓存的一部分。而CPU读取数据也演变为:当CPU要读取一个数据时,首先从一级缓存中查找,如果没有找到再从二级缓存中查找,如果还是没有就从下一级缓存查直到访问内存。如下图所示 随着计算机能力不断提升,开始支持多线程,那么就可能会问题了。我们分别来分析下单线程、多线程在单核CPU、多核CPU中的影响。
所以在CPU和主存之间增加缓存,在多核CPU多线程场景下发生并发内存访问操作时可能会出现歧义。 (编辑:周口站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

