开始分析gem5的原理和实现。这里只是收集一些gem5的网页,研究的一些分类等等。
1,doc
gem5的在线Doxygen 的 doc : http://www.gem5.org/docs/html/index.html
gem5 Tutorial : http://learning.gem5.org/book/
学习网站: http://learning.gem5.org/tutorial/index.html
比较全面的介绍m5 模拟器: http://www.m5sim.org/dist/tutorials/asplos_pres.pdf
2,gem5和gpu
http://www.gpgpu-sim.org/
https://gem5-gpu.cs.wisc.edu/wiki/
http://research.cs.wisc.edu/multifacet/papers/cal14_gem5gpu.pdf (很好的gem5-gpu的介绍论文)
Gem5的GPU 源码:https://github.com/gem5-gpu (这是wisc 搬移过来的网站)
http://gem5.org/GPU_Models
https://blog.csdn.net/junning_wu/article/details/52279783 (CPU+GPU仿真模型:gem5 & GPGPU-Sim)
http://www.m5sim.org/GPU_Models
A NoMali GPU model. gem5 comes with an integrated NoMali GPU model that is compatible with the Linux and Android GPU driver stack, and thus removes the need for software rendering. The NoMali GPU does not produce any output, but ensures that CPU-centric experiments produce representative results:
http://www.m5sim.org/wiki/images/5/53/2015_ws_04_ISCA_2015_NoMali.pdf
3,gem5调试步骤
https://blog.csdn.net/zgl07/article/details/41826307
Gem5的编译采用 --ggdb3的选项,提供了更多的可调试信息。
4,微操作,微融合研究
gem5具备微操作和微融合:其中一些相关网站的链接:https://blog.csdn.net/weixin_34192993/article/details/87435562
http://gem5.org/X86_microcode_system,
https://dendibakh.github.io/blog/2018/02/04/Micro-ops-fusion
https://dendibakh.github.io/blog/2018/02/15/MicroFusion-in-Intel-CPUs
https://www.agner.org/optimize/microarchitecture.pdf
https://easyperf.net/blog/2018/02/04/Micro-ops-fusion
http://flyspray.gem5.org/Microcode_assembler
gem5中有microcode, macro code,但是没找到fusion。
《Mobilizing the Micro-Ops: Exploiting Context Sensitive Decodingfor Security and Energy Efficiency》关于微操作的一篇ISCA2018的论文,可以参考。
5,gem5 NOC 片上网络模拟
garnet http://www.m5sim.org/Garnet
http://www.m5sim.org/Interconnection_Network
https://sourceforge.net/projects/gem5-stnoc/
一些实验Interconnection Networks for High Performance Systems (Spring 2019):https://tusharkrishna.ece.gatech.edu/teaching/icn_s19/
命令: scons build/NULL/gem5.opt PROTOCOL=Garnet_standalone -j 9
6,tracing
trace 是比较好地调试方法。
http://flyspray.gem5.org/Execution_Tracing
Trace Based Debugging : http://www.gem5.org/Trace_Based_Debugging
7,Gem5和systemC混合编程
https://blog.csdn.net/jinjie1984/article/details/47315023
一个实现例子在github:https://github.com/gem5/gem5/tree/master/util/systemc/gem5_within_systemc
http://gem5.org/wiki/images/a/a5/Summit2017_systemc.pdf
8, Gem5存储结构
gem5和nvmain混合编译: https://blog.csdn.net/qq_17614297/article/details/80803833
gem5 abstractMemory simpleMemory:https://blog.csdn.net/huoshanbaofa123/article/details/50640111
gem5内存映射源码 : https://blog.csdn.net/yi_1973/article/details/83586244
9,Gem5的event, channel 机制
gem5中event queue运行原理机制详细分析:https://blog.csdn.net/qianlong4526888/article/details/54646516
http://gem5.org/wiki/images/f/f7/2015_ws_02_hansson_gem5_workshop_2015.pdf
10, Gem5 minor CPU
A Tutorial on the Gem5 Minor CPU Model:https://nitish2112.github.io/post/gem5-minor-cpu/
11,Wisconsin Multifacet Project
威斯康星 研究计划: http://research.cs.wisc.edu/multifacet/
12,更好理解gem5
gem5源代码文件结构作用介绍 :http://www.itkeyword.com/doc/0754226062608781524/gem5
GEM5中各种对象继承关系: https://blog.csdn.net/stupid_haiou/article/details/45953207
13,虚拟化技术
Gem5v: a modified gem5 for simulating virtualized systems:https://www.researchgate.net/publication/272414652_Gem5v_a_modified_gem5_for_simulating_virtualized_systems