Cache组织方式

计算机系统结构中,将主存与Cache的映像分成三种方式,直接映像,全相联映像,组相联映像。所谓映像就是将内存地址与Cache地址间的相互转换,我们知道Cache的容量相对于主存来说很小,为了能将两者有效的对应该起来,便产生了上面提到的映像方式。 


1.直接映像

主存与Cache的划分:
将主存根据Cache的大小分成若干分区,Cache也分成若干个相等的块,主存的每个分区也分成与Cache相等的块。

主存与Cache的映像:
主存中的每一个分区由于大小相同,可以与整个Cache相像,其中的每一块正好配对。编号不一致的块是不能相互映像的。

特点:
优点:地址变换简单。缺点:每块相互对应,不够灵活。

主存与Cache的地址组成:
主存:区号+块号+块内地址

Cache:块号+块内地址


2.全相联映像

主存与Cache的划分:
将主存与Cache划分成若干个大小相等的块。

主存与Cache的映像:
主存中每一块都可以调到Cache中的每一块。

特点:
优点:访问灵活,冲突率低,只有Cache满时才会出现在冲突。缺点:地址变换比较复杂,速度相对慢。

主存与Cache的地址组成:
主存:块号+块内地址

Cache:块号+块内地址


3.组相联映像

主存与Cache的划分:
主存:主存根据Cache大小划分成若干个区,每个区内划分成若干个组,每个组再划分成若干个块。

Cache:划分成若干个组,每个组划分成若干个块。

主存与Cache的映像:
主存的每个分区与Cache采用直接映像,主存的每个组之内采用全相联映像。

特点:
融合了直接映像与全相联映像两种映像方式,结合了两者的优据点。具体实现容易,命中率与全相联映像接近。

主存与Cache的地址组成:
主存:区号+组号+块号+块内地址

Cache:组号+块号+块内地址

实例分析:

1.容量为64块的Cache采用组相联方式映像,字块大小为128字节,每4块为一组,若主容量为4096块,且以字编址,那么主存地址为(____)位,主存区号为(____)位。

解:

组相联的地址构成为:区号+组号+块号+块内地址。

主存的每个分区大小与整个Cache大小相等,故此主存需要分的区数为:4096/64=64,因为26=64,因此需要6位来表示区号。

每4块为一组,故共有组数 64/4 = 16 ,因为24=16,因此需要4位表示组号。

每组4块,故表示块号需要2位。

块内地址共128字节,27=128,所以块内地需要7位表示。

所以:主存地址的位数=6+4+2+7 = 19

主存区号的位数=6

2.某 32 位计算机的 cache 容量为 16KB,cache 块的大小为 16B,若主存与 cache 的地址映射采用直接映射方式,则主存地址为 1234E8F8(十六进制)的单元装入的 cache 地址为____。

A. 00 0100 0100 1101 (二进制)
B. 01 0010 0011 0100 (二进制)
C. 10 1000 1111 1000 (二进制)
D. 11 0100 1110 1000 (二进制)

解:Cache大小为16KB,块大小为16B,所以Cache被分成16KB/16B=1024块,因210=1024故需要10位来表示块数。24=16故块内地址需要4位来表示。所以Cache的地址线位置为14位。由于采用直接映像的方式,所以主存的后14位就是要装入的到Cache中的位置。故选 C.

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值