关于cache

Cache的出现是基于两种因素:

  1. 是由于CPU的速度和性能提高很快而主存速度较低且价格高。
  2. 就是程序执行的局部性特点。因此,才将速度比较快而容量有限的SRAM构成Cache,目的在于尽可能发挥CPU的高速度。

很显然,要尽可能发挥CPU的高速度就必须用硬件实现其全部功能。
Cache与主存之间可采取多种地址映射方式:

一、直接映射

将一个主存块存储到唯一的一个Cache行。

在这种映射方式下,主存中的每一页只能复制到某一固定的Cache页中。由于Cache块(页)的大小为16B,而Cache容量为16KB。因此,此Cache可分为1024页。可以看到,Cache的页内地址只需4位即可表示;而Cache的页号需用10位二进制数来表示;在映射时,是将主存地址直接复制,现主存地址为1234E8F8(十六进制),则最低4位为Cache的页内地址,即1000,中间10位为Cache的页号,即1010001111。Cache的容量为16KB决定用这14位编码即可表示。题中所需求的Cache的地址为10100011111000。

二、全相联映射

可以将一个主存块存储到任意一个Cache行。

优点:命中率较高,Cache的存储空间利用率高
缺点:线路复杂,成本高,速度低
在这里插入图片描述

三、组相联映像

将cache分成u组,每组v行,主存块存放到哪个组是固定的,至于存到该组哪一行是灵活的,即有如下函数关系:cache总行数m=u×v 组号q=j mod u

组间采用直接映射,组内为全相联
硬件较简单,速度较快,命中率较高

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_41253208/article/details/89738533