计算机组成与体系结构-cache
概念
Cache,高速缓冲存储器。是解决CPU与主存之间速度不匹配而采用的一项重要技术,位于主存与CPU之间,由静态存储芯片(SRAM)组成,容量比较小,Cache存储了频繁访问的内存数据
命中率
CPU欲访问的信息已在Cache中的比率,设在一段程序执行期间cache完成存取次数为NC,主存完成存取次数为m,h定义为命中率,则有:
为了使主存的平均读出时间尽可能接近Cache的读出时间,Cache命中率应接近于 1
地址映射
将主存地址转换为Cache存储器地址,这种地址的转换称为地址映射。这种映射由硬件自动完成。
地址映射方式:全相联映射方式、直接映射方式和组相联映射方式
直接相联映射方式。
这是一种最简单而又直接的映射方法,指主存中每个块只能映射到Cache的一个特定的块。在该方法中Cache块地址和主存块地址i的的关系为:j=imod Cb 其中Cb是Cache的块数。这样,整个Cache地址与主存地址的低位部分完全相同。直接映射法的优点是所需硬件简单,只需要容量较小的按地址访问的区号标志表存储器和少量比较电路;缺点是Cache块冲突概率较高,只要有两个或两个以上经常使用的块恰好被映射到Cache中的同一个块位置时就会使Cache命中率急剧下降,
全相联映射方式。
全相联映射是指主存中任意一块都可以映射到Cache中任意一块的方式,也就是说,当主存中的一块需调入Cache时,可根据当时Cache的块占用或分配情况,选择一个块给主存块存储,所选的Cache块可以是Cache中的任意块。这种映射方式允许主存的每一块信息可以存到Cache的任何一个块空间,也允许从已被占满的Cache中替换掉任何一块信息,全相联映射的优点是块冲突概率低:其缺点是访问速度慢,并且成本太高。
组相联映射方式。
这种方式是前两种方式的折中方案。这种映射方式在组间是直接映射,而组内是全相联映射,其性能和复杂性介于直接映射和全相联映射之间。