前一阶段对于模拟器的工作告一段落
在这里进行总结,选择模拟器的主要因素有运行时间,精确性,以及调试的方便程度。
首先,就全系统模拟器来说,目前可以拿到的有gem5, marssx86 , bochs, qemu.
学术界用的比较多的是gem5和marssx86,。这两个都很慢,而gem5更慢。这是由于gem5的精确性更好,更加复杂。
除了全系统的模拟器之外,还有很多应用级别的模拟器,如snipersim, zsim, esesc
前两者我进行了测试,最后一个还没有来得及测试。
snipersim的特点是更加灵活,能够选择应用中自己比较感兴趣的区域进行详细的模拟,而自己不感兴趣的应用区域就尽快执行。
zsim的特点是简单,从配置的方法来说更方便,然而调试上很复杂,虽然可以从log文件看到输出,但是他具有基于Pin的所有模拟器的通病,就是调试困难。