文章预览
SEGGER的运行时库和浮点库中提供了各种除法实现,然而,哪种算法是最好的(在代码大小、执行速度或能效方面),很大程度上取决于目标指令集架构(ISA)和ISA在芯片中实现的方式。 我们假设在具有以下特征的32位RISC-V内核上执行应用: 1、简单的算术和逻辑指令在一个周期内执行 2、内存加载总是命中cache并在一个周期内执行 3、分支永远不会被错误预测,并且无论是否执行,都在单个周期中执行 4、乘法指令在三个周期内完成 5、除法指令每周期提供1、2或4位商,具体数字由芯片设计者配置 有了这些,我们就可以对具有不同性能特征的除法指令进行基准测试。 基准框架 SEGGER有内部基准来确定emRun的性能,这些基准测试在Embedded Studio的模拟器上运行,并测量32位和64位除法算法的性能,使用分散输入来确保性能平摊。接下来将重点介绍在没有FPU的32位处理
………………………………