访问memory数据的速度与core的运行速度相比,要花费更多的时钟周期。为了减少这个差异计算机系统引进了存储器层次结构,如图1所示。在层次结构中,越往上,读写速度越快,价格越贵,存储容量也越小。
图1 存储器结构层次
随着摩尔定律的发展,人们试图增加CPU的core数以提升系统整体性能,这类系统称之为多core系统。一个包含多core的系统中,每个core可能都有自己的私有cache,并且有可能会对相同的memory地址进行修改。如果多个core同时对同一memory地址进行读写操作,很可能导致cache内容不一致,从而导致数据不一致,最终造成系统出错和崩溃。因此,在设计多core系统时,必须考虑cache一致性(cache coherency)问题来确保数据的正确性和系统的稳定性。举个例子,假设2个core的系统,每个core私有的L1 cache的cacheline大小是64Bytes。两个core都读取0x80地址数据,导致0x80开始的64Bytes数据都分别加载到core0和core1的私有L1 cache中。
本文链接://www.dmpip.com//www.dmpip.com/showinfo-26-82752-0.html一文读懂Cache一致性原理
声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com
上一篇: 通过方法引用获取属性名的底层逻辑是什么?