我使用Rocc在Rocket芯片生成器上实现了加速器。如何计算加速器的性能并与C实现进行比较。我编写了C实现并将周期计算为“Cycle = End - Begin”。结束和开始调用read_csr(mcycle)。我通过在RISCV-test github中读取dhrystone.h来使用它。这是计算周期的正确方法吗?
我正在考虑将此技术用于加速器和C实现。 我可以将CSR用于此目的吗?
答案 0 :(得分:3)
这是RISC-V硬件性能监视器(HPM)的一个很好的用途。如果您在机器模式下运行基准测试,则可以阅读mcycle
来测量循环中的通道。如果您在用户模式下运行,则会有rdcycle
之类的说明,以便您对循环计数器进行用户级访问。