关于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)重新编译
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)重新编译
相关文章推荐
- 关于c++的一些注意事项
- OSGI 中关于Module层包共享的一些注意事项
- 关于程序员工作 交接的一些注意事项
- 关于张正友标定法的一些注意事项
- 关于PerSession下一些方法调用的注意事项
- 关于会议论文会后投期刊,及论文版权的一些注意事项。
- 关于c++的一些注意事项
- 关于在c#里加载c++ dll的一些注意事项
- 关于C/C++内存管理malloc的一些注意事项
- 关于TC35模块的一些注意事项。
- 关于CSS的一些注意事项
- 关于使用存储过程的一些好处以及注意事项
- 关于U盾使用的一些注意事项
- 关于linux动态链接库的一些注意事项
- 关于ssh打通的一些注意事项
- 关于使用存储过程的一些好处以及注意事项[转]
- 关于使用存储过程的一些好处以及注意事项
- 关于discovery的一些澄清和注意事项
- 关于java异常的一些准则,注意事项
- 关于使用存储过程的一些好处以及注意事项