超标量处理器设计笔记(2)Cache 的组成方式、写入、替换(伪LRU的缺点)

Cache 一般设计

Cache 的原理

  • 时间相关性
    • 最近使用到的 cache line 在接下来使用到的概率更高
    • 存放在 cache 中的数据使用概率大
  • 空间相关性
    • 最近使用到的数据在接下来使用到的概率更高
    • 一条 cache line 中的数据使用概率大
      Cache 结构如下

image.pngl200

假设 2GHz 的 4-way 超标量处理器,执行 1 条指令时间为 1.25*10^(-10) s
访问 DRAM 一次 100ns,可以执行 800 条指令,由此 L2 的命中率很关键
L1 和 L2 (MB 级别)通常单核私有,L3 多核共有

多端口(多个 Load Store 读写端口)设计的缺点:占用硅片面积、延迟较大

端口的组成部分:地址解码器、多路选择器、比较器等

容量小的部件(寄存器堆):其端口所需要的资源较少,所以新增端口开销不大
容量大的部件( 缓存 ):其端口所需要的资源较大,所以新增端口开销大

Data 部分和 Tag 部分,data 部分保存连续地址的数据中,Tag 存储连续数据的公共地址。
1 个 Tag 和对应的所有数据中称为 cache line

Data :保存一片连续地址的数据
Tag: 存储连续数据的公共地址
Cache Line:一个 Tag 和对应的所有数据组成的一行
数据块:Cache line 中的数据部分
Cache Set:同一个地址找到的多个 cache Line
不同的 cache way 之间的关系:存储不同的 data tag
不同的 cache set 之间的关系:所有 way 里,相同 index,不同 tag
Line number 之间的关系:不同 index 对应的 tag
Tagdata 之间的关系:tag + index 索引到 data
word number :确定 indextag 之后,根据 word 选择确定索引的字节数

image.pngl200

对于物理内存的数据来说

直接映射:Cache 中只有一个地方可以容纳
组相联:Cache 中多个地方可以存放一个数据
全相联:Cache 中任何地方都可以存放该数据

TLB 和 Victim Cache 采用全相联
I-Cache 和 D-Cache 采用组相联

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值