RISCV与ARM代码大小对比评测:GNU工具链与开源RISC-V工具链性能比较

需积分: 3 1 下载量 135 浏览量 更新于2024-08-31 收藏 597KB PDF 举报
在"20191125-RISCV-ARM-RVIDE.pdf"文件中,研究者针对RISC-V和ARM架构的代码大小进行了深入的对比分析,主要关注于工具链性能。这份报告分为两大部分: 第一部分:ARM与RISC-V代码大小比较 作者利用CSiBE (http://szeged.github.io/csibe/)的V2.1.1版本进行测试,剔除了由于编译问题或代码大小不受影响的案例(如jepg-6b、libmspack、lwip-0.5.3.preproc和ttt-0.10.1.preproc)。测试所用的ARM工具链来源于Linaro的最新Linux目标化二进制工具包,包括针对armv8l和aarch64平台的编译器。ARM工具链版本为gcc-linaro-7.4.1-2019.02。 另一方面,RISC-V的工具链基于官方GitHub仓库riscv/riscv-gnu-toolchain的git commit 2c037e6,采用GCC 9.2.0和Binutils 2.32,构建方式采用Newlib cross-compiler。测试涉及RV32和RV64架构,分别配置为-O3 (-O3-march=rv32imafdc)和-O3-Os (-O3-Os-march=rv32imafdc)优化级别,以及rv32和rv64的目标指令集。 第二部分:公开RISC-V工具链代码大小评测 该部分着重对一款在网络上可获取的RISC-V工具链进行实际应用的代码大小评测,具体是针对不同优化级别和目标架构的编译设置。这有助于评估不同工具链在实际项目中的性能差异。 通过这两部分的对比,报告旨在提供关于RISC-V与ARM在代码大小和性能优化上的具体数据,这对于选择合适的处理器架构和相应的开发工具链,特别是在嵌入式系统和低功耗设备设计中,具有重要的参考价值。这份报告的发布有助于开发者更好地理解和优化其项目在RISC-V和ARM平台上的代码效率。