Skip to main content
QUICK REVIEW

[论文解读] RVCoreP-32IM: An effective architecture to implement mul/div instructions for five stage RISC-V soft processors

Md. Ashraful Islam, Hiromu Miyazaki|arXiv (Cornell University)|Oct 30, 2020
Parallel Computing and Optimization Techniques参考文献 10被引用 5
一句话总结

本文提出 RVCoreP-32IM,一种五阶段有序 RISC-V 软处理器扩展,通过在执行阶段采用简单的分叉-合并微架构结构,高效集成硬件乘法与除法(M 扩展)。在基于四位基数和 DSP 的乘法器基准测试中,与 RV32I 相比,分别实现了 1.87× 和 3.13× 的性能提升,性能优于 VexRiscv 13%,且仅带来 1.5× 的面积开销。

ABSTRACT

RISC-V, an open instruction set architecture, is getting the attention of soft processor developers. Implementing only a basic 32-bit integer instruction set of RISC-V, which is defined as RV32I, might be satisfactory for embedded systems. However, multiplication and division instructions are not present in RV32I, rather than defined as M-extension. Several research projects have proposed both RV32I and RV32IM processor. However, there is no indication of how much performance can be improved by adding M-extension to RV32I. In other words, when we should consider adding M-extension into the soft processor and how much hardware resource requirements will increase. In this paper, we propose an extension of the RVCoreP soft processor (which implements RV32I instruction set only) to support RISC-V M-extension instructions. A simple fork-join method is used to expand the execution capability to support M-extension instructions as well as a possible future enhancement. We then perform the benchmark using Dhrystone, Coremark, and Embench programs. We found that RV32IM is 1.87 and 3.13 times better in performance for radix-4 and DSP multiplier, respectively. In addition to that, our RV32IM implementation is 13\% better than the equivalent RISC-V processor.

研究动机与目标

  • 评估在五阶段有序软处理器中添加 RISC-V M 扩展(乘法/除法)的性能与资源开销。
  • 设计一种高效、低开销的微架构扩展,利用执行阶段的分叉-合并结构支持 M 扩展指令。
  • 在标准基准测试中,对比 RVCoreP-32IM 在使用硬件乘法器(四位基数 vs. DSP 基于)时的性能表现。
  • 评估编译器优化与指令集组合对 M 扩展支持带来的性能增益影响。
  • 提供一个可重用、可配置的框架,用于扩展软处理器以支持 RISC-V 扩展,包括未来自定义指令。

提出的方法

  • 在现有仅支持 RV32I 的 RVCoreP-32I 软处理器基础上,通过在执行阶段采用分叉-合并结构,扩展支持多周期执行单元的 M 扩展指令。
  • 实现两种乘法器变体:一种是顺序的四位基数 Booth 乘法器,另一种是基于 DSP 模块的乘法器,以实现更高性能。
  • 采用迭代递归除法算法实现硬件除法,优先考虑结构简洁性与 LUT 利用效率。
  • 使用 Verilog HDL 配置处理器,支持 RV32I 和 RV32IM 指令集,实现运行时指令集选择。
  • 在 Artix-7 FPGA 上使用标准基准测试(Dhrystone、Coremark、Embench)测量性能与资源使用情况。
  • 通过与 VexRiscv 及其他实现方案对比执行时间、DMIPS/MHz 和 Coremark/MHz 指标,量化性能增益。

实验结果

研究问题

  • RQ1在五阶段有序 RISC-V 软处理器中,添加 M 扩展(乘法/除法)相比 RV32I 能带来多大性能提升?
  • RQ2将 M 扩展指令集成到软处理器中的硬件面积开销是多少?
  • RQ3不同乘法器实现方式(四位基数 vs. DSP 基于)如何影响性能与资源使用?
  • RQ4编译器优化与指令集组合在多大程度上影响硬件乘法与除法带来的性能增益?
  • RQ5简单的分叉-合并微架构扩展能否以最小的面积与时序开销有效支持 M 扩展?

主要发现

  • 当使用四位基数 Booth 乘法器时,RVCoreP-32IM 相较于 RV32I 平均性能提升 1.87×。
  • 采用基于 DSP 的乘法器时,性能相较 RV32I 提升 3.13×,表明高性能硬件乘法器具有显著优势。
  • 在所有基准程序中,RVCoreP-32IM 的总执行时间相比 VexRiscv 提升 13%。
  • DMIPS/MHz 从 RV32I 的 1.03 提升至 RV32IM(使用 DSP 乘法器)的 1.40,Coremark/MHz 从 0.84 上升至 2.33。
  • RV32IM 在 FPGA 上的资源利用率约为 RV32I 的 1.5 倍,表明在获得显著性能提升的同时,面积开销适中。
  • 性能增益在计算密集型工作负载(如 cubic 和 matmult-int)中最为显著,此时 M 扩展指令占比更高。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。