0
我们有一个应用程序使用现有的memcpy和未修改的RISCV编译器将80MB大容量数据从一个内存位置复制到其他位置。我们可以看到循环数是〜900,这看起来不正确。如果我改变尺寸,计数或多或少保持不变。 这显然不正确。由于使用了RISCV编译器,问题是否存在?我们正在使用riscv64-unknown-elf。我们需要riscv64-unknown-linux-gnu吗?性能“memcpy”不正确
我们有一个应用程序使用现有的memcpy和未修改的RISCV编译器将80MB大容量数据从一个内存位置复制到其他位置。我们可以看到循环数是〜900,这看起来不正确。如果我改变尺寸,计数或多或少保持不变。 这显然不正确。由于使用了RISCV编译器,问题是否存在?我们正在使用riscv64-unknown-elf。我们需要riscv64-unknown-linux-gnu吗?性能“memcpy”不正确
我已经取得了类似的性能试验,并与在SPARC-V8 LEON3处理器的结果,所以我有如下的数据:
我已经使用修改过的单核Rocket配置和禁用的L2缓存,并使用NASTI仲裁器的自身实现来提供1个时钟访问AXI设备。使用默认配置最有可能会导致更糟糕的结果。
我的SoC implementaiton:https://github.com/sergeykhbr/riscv_vhdl
什么是你的RISC-V的模拟器?你怎么能得到900个周期?你能发布测试和汇编代码的源代码吗? – osgx