Cache —— Cache和主存的映射方式

本文详细介绍了Cache的三种映射方式:全相联映射、直接映射和组相联映射。全相联映射允许主存数据块装入Cache的任何位置,优点是命中率高但实现复杂;直接映射则简单直接,但容易产生冲突;组相联映射结合两者,提高了空间利用率。通过具体的地址结构和访存过程,深入阐述了三种映射方式的工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、地址映射和地址变换

地址映射:地址映射是一种规则,它指明了把主存地址空间映射到Cache地址空间所用的规则,即把存放在主存中的程序按照某种规则装入Cache。由于Cache的块数比主存块数少得多,因此需要加入 主存字块标记字块内地址

地址变换:地址变换是一个过程,它是指CPU在访存时,将主存地址按映射规则换算成Cache地址的过程。


二、全相联映射

可以把主存数据块装入 Cache 中的任何位置。全相联映射方式的优点是比较灵活,Cache 块的冲突概率低,空间利用率高,命中率也高,缺点是地址变换速度慢,实现成本高。
在这里插入图片描述
主存地址结构为
在这里插入图片描述

  • 主存字块标记:指明当前 Cache 是主存中哪一块的副本。
  • 字块内地址:由于Cache块和主存块都是由若干字节组成的,当需要访问某一个字时,需要找到该字在指定的 Cache 块中的地址。

示例

在这里插入图片描述
问题:求Cache的总容量并简述访存过程(设访存的地址为0123456H,即 0000 0001 0010 0011 0100 0101 0110)

(1)Cache的总容量:

主存地址有28位(256MB=228B256MB=2^{28}B256MB=228B),其中6位为块内地址(26B=64B2^6B=64B2

评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值