gem5验证cache的不同映像方式对cache命中率的影响

本文通过gem5模拟器研究了不同cache映像方式(全相联、直接相联、组相联)对命中率的影响。实验发现,对于特定测试程序,4路组相联能显著减少cache miss次数,而直接映象可能导致大量冲突。在后续实验中,作者发现了因变量连续定义导致的额外cache miss,通过调整变量布局解决了问题。
摘要由CSDN通过智能技术生成

陆续写些关于新书《自己动手写CPU》的博客,本篇主要是讲解 gem5验证cache的不同映像方式对cache命中率的影响。


cache的基本在http://blog.csdn.net/leishangwen/article/details/30049469中已有介绍,此处不再重复,只是简单介绍一下。

        主要由三大部分组成:

  •   Cache存储体:存放由主存调入的指令与数据块。
  •   地址转换部件:建立目录表以实现主存地址到缓存地址的转换。
  •   替换部件:在缓存已满时按一定策略进行数据块替换,并修改地址转换部件。


地址映象:是指某一数据在内存中的地址与在缓冲中的地址,两者之间的对应关系。有三种地址映象的方式。

1、全相联方式

  地址映象规则:主存的任意一块可以映象到Cache中的任意一块
  (1) 主存与缓存分成相同大小的数据块。
  (2) 主存的某一数据块可以装入缓存的任意一块空间中。

2、直接相联方式

  地址映象规则: 主存储器中一块只能映象到Cache的一个特定的块中。
  (1) 主存与缓存分成相同大小的数据块。
  (2) 主存容量应是缓存容量的整数倍,将主存空间按缓存的容量分成区,主存中每一区的块数与缓存的总块数相等。
  (3) 主存中某区的一块存入缓存时只能存入缓存中块号相同的位置。 


3、组相联映象方式

  组相联的映象规则:
  (1) 主存和Cache按同样大小划分成块。
  (2) 主存和Cache按同样大小划分成组。
  (3) 主存容量是缓存容量的整数倍,将主存空间按缓冲区的大小

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值