0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

全面革新RISC-V 架构,隼瞻科技代码密度增强技术为嵌入式芯片创造更多可能

焦点讯 来源:焦点讯 作者:焦点讯 2024-04-26 17:58 次阅读

一、行业痛点

众所周知,在选择嵌入式 SoC 处理器时,面积和功耗通常是客户核心考虑的两大因素!常规的嵌入式系统程序大多需要储存在芯片上,如果系统代码密度低就需要更大的内存来承载。而与此同时、成本也相应增加。由此可见,代码密度决定了片上内存的规划容量,对芯片的面积、功耗和整体成本有着深远影响!

相比成熟的 Arm 架构,代码密度并非 RISC-V 传统强项。在 ArmCC 等商业编译器的加持影响下,某些应用场景中两者代码密度差距甚至达一倍之大, 因此,RISC-V 所需的存储器和相应成本也大大增加。

这些因素也正成为困扰客户、影响行业发展的一大难题!

wKgZomYresGAYCuyAAK67BeKsGo702.png

(图1)Arm 芯片与传统RISC-V 芯片对比

二、研发思路
针对以上行业痛点,隼瞻追根溯源,面向市场推出全新的代码密度增强技术方案。

组合拳一:面向应用深度优化的隼瞻处理器指令集

程序代码密度主要由处理器指令集、ABI、编译器、基础库、程序代码等部分决定,而处理器指令集(ISA)则是代码密度最根本的决定性因素。大多数嵌入式芯片, 例如 MCU,程序存储器占据了芯片50%以上的面积,采用更紧凑的指令集可以显著降低 SoC 面积。相关研究显示,嵌入式芯片有42%的能耗来自于取指,而只有6%用于执行实际的算术运算,一个更紧密的处理器指令集能产生更小的代码,从而减少从储存器取指令的消耗。

wKgaomYresGAH3SUAAKIkCleuGs362.png

(图2)取指能耗占比图

而Arm在嵌入式成熟架构领域有着更为专业的系统设计,其中、小型 Armv-M 架构就是其典型代表作。因为它既包含了嵌入式常用操作指令的优化,同时兼备灵活、高密度的 Thumb-2 指令集,所以也顺理成章地成为当前嵌入式领域最受欢迎的架构。

RISC-V 在设计之初考虑的是嵌入式、通用计算和高性能计算等多个场景,并未针对嵌入式特有场景进行特定优化。

以一段 C 代码为例:int indexing(int *p, int offset) { return p[idx] },Arm 编译后只需要一条指令就能完成任务,但是传统的 RISC-V 指令需要3条。

wKgaomYresKAehIDAAKVytKwVS8735.png

(图3)Arm & 传统RISC-V指令集对比

为解决 RISC-V 架构在嵌入式领域的应用瓶颈,隼瞻科技针对代码密度增强技术开展了全方位革新,从最源头最核心的处理器指令集进行了大幅优化。

首先,隼瞻处理器对 RISC-V 社区多年来陆续引入的 B 扩展、Zc 扩展、Zicond 等一系列标准扩展提供了有效支持。

wKgZomYresOAMonmAARRn8OSePY905.png

(图4)隼瞻指令集优化成效

虽然RISC-V 社区的标准扩展在一定程度上提升了代码密度,但其作用仍然十分有限。例如,在前文提到的数组寻址场景,标准扩展就无法覆盖。因此,隼瞻科技在支持常见的 Zc、B、Zicond 扩展指令集的基础上,将自主研发的代码密度增强指令 Xc扩展加入到处理器核中,从多个方面对代码密度进行深度优化。

Xc 扩展致力于解决标准扩展忽视的场景,例如、在上述案例中用一条指令就能完成数组寻址,做到和 Arm 一样的指令密度和运行效率。

wKgaomYresOAHhlkAAJdjmZZ-NM275.png

(图5)隼瞻自研Xc扩展显著提升代码密度

Xc 扩展不仅提升了代码密度,并且因为一条指令就能完成多条指令的功能,系统性能也得到了极大提升。此外,它还避免了在执行多条指令过程中不必要的寄存器分配,从而进一步优化了整体性能。

组合拳二:深耕编译器和基础库,隼瞻科技持续打造深度优化的 RISC-V 工具链

除了处理器指令集,编译器和基础库也对代码密度的最终成果有着明显影响。

Armv-M 架构生态中,商业编译器会与内核厂家深度合作,针对体系架构进行有效的指令调度,从而获得更高的代码密度,同时自带高度优化的 C 库和数学库。相关的开源编译器也因为该架构推向市场的时间较长,发展得比较成熟。

相对于成熟的Arm生态,RISC-V生态发展时间不长,优化尚不成熟,与Arm差距较为明显。

为此,隼瞻科技在追寻RISC-V生态完善的脚步中,针对自有芯片(如:Wing-M130 系列)研发出了WingGCC 编译器,解决了 GCC 作为一个从小型嵌入式系统到大型 HPC 的通用编译器长期存在的、领域针对性不强的问题。

隼瞻WingGCC 编译器完整匹配各种标准扩展指令和隼瞻自定义扩展指令,同时适配隼瞻专用高效微架构,能充分发挥处理器性能。同时,还能在兼顾性能的前提下,针对嵌入式场景使编译器重点偏向指令密度进行优化。

同样,针对嵌入式应用场景深度优化的隼瞻 WingLib 基础库,则在开源环境通用的 newlib 基础上进行了大刀阔斧式的改革。通过聚焦嵌入式应用并精简非相关代码,基于专业的汇编及体系结构能力、精确排布重点 API 的指令序列,与自定义指令集协同提升代码密度!

wKgaomYresSAcihqAAJSkz8jMXc109.png

(图6)经过隼瞻的密度增强技术后代码空间的对比

通过上述一系列组合拳的优化,隼瞻科技的RISC-V处理器在Codesize方面已经与Arm架构不相上下。

Embench是嵌入式、物联网系统常用的Benchmark,重点关注处理器在不同应用场景下的Codesize。它由19个真实的程序组成,运行结束后将会产生各个程序的Codesize数据,用来评估平台和编译工具链的Codesize性能。传统RISC-V在Codesize方面并不占优势,Embench跑分长期处于被Arm压制的状况下。隼瞻科技通过自研编译工具链,已经实现在Codesize方面对Arm的反超!

wKgaomYresSANKe9AAGXihWEmN4816.png

(图7)隼瞻科技Wing-M130与Arm Cortex-M3在Embench上的对比

遵循 ASIP(Application-Specific Instruction-set Processor,面向应用的定制指令集处理器)开发思路,隼瞻科技还能针对应用相关的代码进行优化,达到更高的代码密度。

以计算两张图像的 alpha 混合为例,以往需要几十条指令才能完成的 RGB 三色像素加减乘除复合计算,现在通过隼瞻WingStuido专用处理器设计平台,基于选定的基础处理器,扩展一条单周期指令就可以完成,在提升计算效率的同时,极大减少了程序代码空间。

三、应用场景

近期,有客户希望找到一颗 RISC-V 处理器对 Arm Cortex-M3 进行平替。在尝试了市面上常见的几家解决方案后,均发现代码尺寸膨胀较大,在某些场景下甚至超过了100%。由于“代码密度”问题造成的成本增加,在RISC-V替换Arm CPU过程中始终是一道难以逾越的鸿沟……

结合上述诉求,隼瞻科技针对客户的两个主要业务场景、基于 WingGCC进行初步评估,迅速实现了比市面上常见解决方案更小的代码尺寸。

使用支持隼瞻代码密度增强指令的编译器、搭配隼瞻独家编译的 WingLib 库,最终成功实现与 Arm Cortex-M3 代码尺寸相比在98%和101%的优异成绩!相对竞品、领先优势超过33%。方案一经推出、立即得到了客户高度认可,双方迅速达成合作。为此,客户成功实现了低成本、高能效平替解决方案!

wKgZomYresSAMBTCAAER85N2z_E77.jpeg

(图8)隼瞻科技领先竞品33%,与Arm架构持平

四、展望未来

隼瞻科技自研的代码密度增强技术,结合处理器指令集、编译器和基础库,面向应用深度优化的这一超级组合拳,为行业客户带来实实在在的平替助力,同时也为RISC-V生态发展提供源动力。

随着中国嵌入式芯片行业迅速发展,RISC-V生态将日渐丰富与强大!隼瞻科技将始终坚持独立探索、精益求精的态度,全力推动 RISC-V 生态走向成熟商用市场,为中国的嵌入式芯片行业创造更多可能性!!!


审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • soc
    soc
    +关注

    关注

    38

    文章

    4113

    浏览量

    217847
  • 嵌入式芯片
    +关注

    关注

    4

    文章

    230

    浏览量

    27662
  • RISC-V
    +关注

    关注

    44

    文章

    2221

    浏览量

    45982
收藏 人收藏

    评论

    相关推荐

    risc-v与esp32架构对比分析

    称为PRO_CPU和APP_CPU。 设计原则 :ESP32的设计更注重于集成多种通信功能和丰富的外设,以满足物联网(IoT)和嵌入式系统的需求。 二、功能特性 RISC-V : 开源性 :RISC-V
    发表于 09-26 08:40

    RISC-V指令集的特点总结

    各种应用场景,从嵌入式系统到高性能计算,都可以通过添加专门的指令扩展来优化性能。 分层设计 定义:RISC-V 架构采用了分层设计方法,基本指令集可以通过额外的扩展层来增强功能,如浮点
    发表于 08-30 22:05

    risc-v的发展历史

    领域中得到广泛应用,包括嵌入式设备、个人电脑、服务器等。 国际合作:RISC-V基金会将继续加强与国际企业和机构的合作,共同推动RISC-V架构的发展和应用。 综上所述,
    发表于 07-29 17:20

    rIsc-v的缺的是什么?

    的设计相对简洁和模块化,但其实现仍然需要较高的技术水平和专业知识。对于一些小型企业或初创公司来说,可能难以独立承担RISC-V芯片的研发和生产工作。因此,
    发表于 07-29 17:18

    RISC-V适合什么样的应用场景

    设计的理想工具,有助于培养更多的计算机专业人才。 综上所述,RISC-V适合的应用场景非常广泛,包括物联网、嵌入式系统、人工智能、自动驾驶、汽车电子、数据中心和云计算以及教育和研究等多个领域。随着
    发表于 07-29 17:16

    为什么要有RISC-V

    袖珍化、低能耗的特点,而这对于嵌入式应用可能至关重要。RISC-V编译器得知当前硬件包含哪些扩展后,便可以生成当前硬件条件下的最佳代码。惯例是把代表扩展的字母附加到指令集名称之后作为指
    发表于 07-27 15:05

    【出版发行】嵌入式系统原理与开发——基于RISC-V和Linux系统

    【出版发行】嵌入式系统原理与开发——基于RISC-V和Linux系统
    的头像 发表于 07-26 08:36 256次阅读
    【出版发行】<b class='flag-5'>嵌入式</b>系统原理与开发——基于<b class='flag-5'>RISC-V</b>和Linux系统

    专家力荐|《嵌入式系统原理与开发——基于RISC-V和Linux系统》新书发售

    当前,嵌入式系统已成为智能设备的核心之一,RISC-V+Linux的开源力量嵌入式系统注入强大的创新动力。作为中国RISC-V软硬件生态领
    的头像 发表于 07-24 08:20 507次阅读
    专家力荐|《<b class='flag-5'>嵌入式</b>系统原理与开发——基于<b class='flag-5'>RISC-V</b>和Linux系统》新书发售

    为何什么risc-v芯片比arm的效率高

    RISC-V芯片在某些情况下可能相对于ARM架构芯片表现出更高的效率,这主要得益于RISC-V
    发表于 04-28 09:38

    RISC-V有哪些优点和缺点

    新的、尚未被广泛验证的技术。 需要注意的是,随着RISC-V技术的不断发展和生态系统的逐步完善,其缺点可能会逐渐被克服。同时,RISC-V
    发表于 04-28 09:03

    RISC-V有哪些优缺点?是坚持ARM方向还是投入risc-V的怀抱?

    架构,而不是尝试新的、尚未被广泛验证的技术。 需要注意的是,随着RISC-V技术的不断发展和生态系统的逐步完善,其缺点可能会逐渐被克服。同
    发表于 04-28 08:51

    品读《基于FPGA与RISC-V嵌入式系统设计》

    FPGA 1.3 RISC-V 1.4 小脚丫 FPGA 开发平台 1.5 C/C++,Make 与工具链 1.6 嵌入式操作系统 1.7 Arduino 集成开发环境 1.8 模块授权方式 1.9
    发表于 03-29 00:06

    RISC-V开放架构设计之道|阅读体验】+ 阅读初体验

    《计算机组成与设计:硬件/软件接口(RISC-V版)》,指令集本人确实没怎么了解,只有嵌入式软件开发相关基础,不过怎么样也得先啃一啃,继续读一下重点内容
    发表于 03-05 20:54

    RISC-V开放架构设计之道|阅读体验】+ 个人心得并祝福

    。作者经验丰富,关键指出重点。 好了,我希望RISC-V越来越好,RISC-V生态系统能够不断完善。RISC-V更多领域能够得到广泛应用,发挥其独特的优势。
    发表于 01-26 15:52

    RISC-V开放架构设计之道|阅读体验】 RISC-V设计必备之案头小册

    中出现的RISC-V拓展。 这本书的开篇讲的是,为什么我们需要RISC-V指令集? 从过去的ISA的特点进行引入,先以目前主流的x86指令集架构例列出了增量
    发表于 01-22 16:24