我已经使用 Rocc 在火箭芯片生成器上实现了加速器。如何计算加速器的性能并与C实现进行比较。我已经编写了 C 实现并将周期计算为"周期 = 结束 - 开始"。结束和开始的地方是调用read_csr(mcycle(。我通过在RISCV-test github中阅读dhrystone.h来使用它。这是计算周期的正确方法吗?
我正在考虑将这种技术用于加速器和 C 实现。 我可以为此目的使用 CSR 吗?
这是RISC-V硬件性能监视器(HPM(的一个很好的用途。如果您在机器模式下运行基准测试,则可以读取mcycle
来测量周期的通道。如果您在用户模式下运行,则可以使用rdcycle
等说明来授予您对循环计数器的用户级访问权限。