Cache·高速缓存存储器
/*
开始时间:2021/05/03
结束时间:2021/05/04
字数:3.2k
修改日志:
1.暂无
*/
文章目录
引言
在计算机的运行过程中,CPU直接从内存(主存)中获取数据,经过长期的发展,CPU的运算速度发展迅速,但是主存的发展相比之下却比较缓慢,CPU 的运算速度远远大于CPU与主存的数据传输速度。所以我们引入了高速缓存存储器(cache),解决了这一发展不平衡的问题。
在本文中,主要针对Cache的地址映射问题,简要概述Cache的基本结构和命中率问题。
cache的发展
在计算机的使用过程中,人们发现了计算机数据存储与读取时的两个特点:
程序的局部性原理①
a)时间局部性:如果一个存储单元被访问,则可能该单元会很快被再次访问。
b)空间局部性:如果一个存储单元被访问,则该单元临近的单元也可能很快被访问。
cache的构成
Cache 的基本结构⑤:
Cache和主存都被分为了若干个大小相等的块,这是这一节中最基本的单位,当我们计算时,都要将主存或Cache的存储单位化为块。每块由若干字节组成,Cache中的块数远小于主存中的块数。保存的时主存中常用的若干块的副本。用主存地址的块号方位Cache标记,并将其取出和主存地址的标记字段相比较,若相等,说明访问Cache有效,称Cache命中,否则访问Cache无效,称Cache不命中或失效。
cache的读取操作
CPU在读取数据时,首先从cache对应的块中寻找,如果没有,就从主存中找到需要的数据,并在使用的同时加入到cache中去,以便下次使用时能够直接从cache中提取。为了快速的从cache中找到需要的数据,需要将主存中的某一块与cache中的某一块分别对应起来,(比如说,将所有同学的课本放在一件教室里,我们需要拿A同学的书,只需要在之前分好位置,需要的时候直接去A同学的位置上拿取即可,而不是在整间教室里寻找)我们称其为地址映射。
为了记住这种对应的关系,我们在Cache中开辟了一块空间存放对应的地址,以便我们可以通过这个地址能够知道主存中的哪块区域对于cache中的某块区域。
<