您的位置:首页 > 其它

关于gem5预取实验时的一些注意事项

2015-01-28 10:35 246 查看
1. 不同版本的gem5开启prefetch的方法可能不同,较新的版本需要在gem5/configs/common/Caches.py的class L2Cache(BaseCache)或者class L1Cache(BaseCache)添加相应的prefetcher

class L2Cache(BaseCache):

assoc = 8

block_size = 64

hit_latency = 20

response_latency = 20

mshrs = 20

tgts_per_mshr = 12

write_buffers = 8

#adding the following line

#prefetcher = StridePrefetcher(degree=8, latency=1.0)

之前的gem5版本添加prefetch时,需要在gem5/configs/common/Caches.py的class L2Cache(BaseCache)或者class L1Cache(BaseCache)添加相应的prefetch_policy

class L2Cache(BaseCache):

assoc = 8

block_size = 64

latency = '5ns'

mshrs = 20

tgts_per_mshr = 12

prefetch_policy='tagged'

2. statble_2013_06_16的TaggedPrefetcher有bug

3. 添加预取时,要采用--cpu-type=timing或者--cpu-type=detailed,默认的atomic方式,其预取数据均为0

4. 如何添加自己的prefetcher(以PDFCMPrefetcher为例)

a)在gem5/src/mem/cache/prefetch/Prefetcher.py中添加

class PDFCMPrefetcher(BasePrefetcher):

type = 'PDFCMPrefetcher'

cxx_class = 'PDFCMPrefetcher'

cxx_header = "mem/cache/prefetch/pdfcm.hh"

b)添加相应的gem5/src/mem/cache/prefetch/pdfcm.hh文件和pdfcm.cc文件

c)重新编译
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: