超标量处理器设计笔记(6)TLB缺失、替换、写入

加入 TLB 和 Cache

TLB 的设计

#问题
书中说:TLB 利用的是时间相关性,空间相关性没有明显的规律
揣测原因:

  • 跨 4KB 页的连续数据访问不多
  • Cache 的空间相关性是 cache line 之间,block 之间,block 之内

现代处理器经常采用二级 TLB

  • 第一级 TLB 采用哈佛结构,I-TLB 和 D-TLB
  • 第二级 TLB 采用全组连,指令和数据共用的方式
    TLB 只会修改 Dirty (Store 指令) 和 Use (访问过) 位
    image.pngl200

注:TLB 访问和 Cache 访问的区别

  • Cache 是组相联,TLB 是全相连,需要和所有项比较 Tag(所以 TLB 的大小小,否则访问延迟很大)
  • TLB 访问是索引 tag,找到对应的 PFN
  • Cache 访问是索引 index,拿出 Tag 去比对,再找到对应的数据

页面大小修改
image.pngl200

如果采用 1MB 大小的页时,只需要比较 VA[31:20]作为 Tag 索引即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值