Dacota与现代微处理器运行时验证技术解析
1. Dacota实验评估
在实验评估中,研究关注了每次检查阶段之间程序执行的平均时钟周期数。通过图表展示了不同基准测试的结果,包括SPLASH2基准测试和合成基准测试。
一般来说,增加日志存储空间会导致检查间隔变长,因为在存储空间饱和之前可以记录更多的内存访问。但也有一些例外情况:
- Barrier基准测试 :当日志存储空间超过512个条目时,似乎没有从中受益。这是因为检查是由访问向量计数器饱和触发的,而不是日志填满。
- Small 0 shared基准测试 :具有类似的模式。该基准测试中的小型合成程序的地址空间完全适合单个核心的L1缓存,且没有共享数据,所以核心缓存的行永远不会失效或被逐出。因此,具有512个或更多条目的活动日志在整个基准测试执行过程中永远不会填满,Dacota分析仅在基准测试完成后调用一次。
2. Dacota面积评估
为了在多核系统中部署Dacota,需要添加一些小型硬件组件。通过使用寄存器传输级语言(Verilog HDL)设计这些组件,并使用Synopsys Design Compiler进行合成,以TSMC库为目标,在90nm技术节点下进行评估。
Dacota模块包括用于更新计数器和访问向量的控制块、管理活动日志空间的状态机以及维护内存访问程序顺序和完成顺序转换的索引表。部署所有这些模块所需的总面积为5,216µm²。与之相比,OpenSPARC T1处理器约占378mm²。在该设计的八个核心旁边放置一套完整的Dacota模块,面积开销仅为0.01%,即使对于对面