【发布时间】:2015-08-24 15:22:31
【问题描述】:
运行基准测试时,例如dhrystone 使用命令:
make output/dhrystone.riscv.out
如所述:http://riscv.org/download.html#tab_rocket, 在 C++ 模拟器上。我得到以下输出: 第一次运行时:
Microseconds for one run through Dhrystone: 1064
Dhrystones per Second: 939
cycle = 533718
instret = 148672
第二次:
Microseconds for one run through Dhrystone: 1064
Dhrystones per Second: 939
cycle = 533715
instret = 148672
为什么周期不同?他们不应该完全一样。我也用其他基准测试过这个,并且偏差更大。如果这是正常的,偏差从何而来?
【问题讨论】:
-
我怀疑这与时间有关。根据确切的值,时间计算可能需要不同的周期数。这可能吗?
-
根据您运行的条件,这可能不是错误。连续的 dhrystone 运行并不等同,因为核心和缓存将处于微妙不同的状态。这些结果是模拟器的两次不同启动还是只有一次?
-
这些是模拟器两次不同启动的结果。
标签: riscv