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

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

3天内不再提示

优化的关键,RISC-V中的性能监控

E4Life 来源:电子发烧友原创 作者:Leland 2021-12-16 09:36 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

RISC-V在云端、数据中心、汽车与网络技术中的频繁创新和亮相,已经让这一成长中的ISA一只脚迈入了高性能计算场景。然而缺少强大的性能监测工具让RISC-V的应用优化成了问题,尤其是在RISC-V如今不少软件源于从非原生移植的情况下,运算性能不能发挥出百分百的实力成了令人头疼的问题。

与此同时,英特尔ARM都拥有自己专用的性能监控方案,让开发者可以发挥出其硬件的全部效力,但RISC-V仍然依靠定制或厂商特定的方案,而缺少通用性能监控软件工具的完整支持。

Perf对RISC-V的支持

系统级的性能优化往往是靠性能剖析和代码优化来实现的,前者是为了寻找性能瓶颈,后者则是为了改善软件性能,因此这类性能分析/监控工具成了处理器开发时必不可少的软件。尽管RISC-V的ISA规范已经定义了硬件性能监控(HPM),但总体支持程度上仍未完善。

就以Linux上的性能分析工具Perf为例,该工具可以借助PMU(性能监控单元)、tracepoint和内核计数器来分析程序中的硬件事件,比如处理器时钟周期、指令计数器等,也可以分析一些软件事件,比如Page Fault等。

Perf分为两种模式,一种是perf stat,一种是perf record。如今上游Linux的perf虽然已经对RISC-V有了支持,但仅对perf stat有一些基本的支持。比如mcycle这一CSR用于处理器运行的时钟周期计数,而minstret这一CSR则用于退休指令计数。

目前RISC-V特权规范中的支持 / 西部数据

RISC-V privileged规范中,RISC-V定义了几种特权模式,分别是U-mode(用户模式)、S-mode(管理员模式)和M-mode(机器模式)。但目前只有在机器模式下才能对这些寄存器进行读写,管理员模式下缺乏可写入的寄存器。

计数器却又是每时每刻运行中的,所以现在可以做到周期和指令计数,却无法启用、禁用和暂停计数器,无法使用任何可编程计数器和事件采样。不仅如此,RISC-V的perf不仅无法处理计数器溢出,也不支持溢出中断。虽然市面上很多RISC-V处理器已经考虑到了这一点,采用定制的形式来完成部分任务,比如Esperanto就为自己的ET-SoC-1千核RISC-V处理器加入了商业级的芯片除错与性能监控能力,但RISC-V规范本身缺少这些支持,这也就不利于当下RISC-V的开源生态。

完整的Perf支持缺少了什么?

于是我们现在发现管理员模式下无法写入计数器,也无法改变mcountinhibit来直接开启或停止计数器,也无法改变mhpmcountern来开启或禁用直接读取。接着就是没有中断指示器,我们不知道哪一个计数器出现了数值溢出,也没有事件筛选功能。那么针对这些问题的解决方案是什么,哪些措施才能实现完整的Perf支持呢?来自西部数据的Atish Patra在近期的RISC-V峰会上提出了他以及开发社区所青睐的答案——SBI PMU扩展和sscofpmf ISA扩展。

SBI PMU扩展将作为一个接口,让管理员模式下的软件发现硬件计数器的细节,针对特定的perf事件来配置硬件计数器,在请求下开始或停止计数器。除此之外,SBI PMU扩展还引入了固件性能计数器来监控固件事件,比如未对齐的存取指令数、RFENCE和IPI数等等。如今在RISC-V的SBI 1.0版本中我们也可以看到,PMU扩展已经成了该规范的一部分。

接着是sscofpmf扩展,ss代表的是特权架构和管理员级的扩展,cofpmf代表的是溢出计数和特权模式筛选。该扩展新增了一个32位的scountovf只读寄存器,该寄存器存储的是29个mhpmcounter的第63位(OF),如此一来就能准确快速地判断究竟是哪个事件的计数器溢出了。这一扩展已经冻结,目前处于审查状态,预计不久的将来就会批准,来自Linux内核的支持工作也在推进中。

小结

RISC-V作为一个尚处于发展初期的架构,在某些方面确实还有不及其前辈x86和ARM的地方,我们这次从性能监控上就能看出一些端倪,但RISC-V自身的特性也为它带来了不小的优势。

首先,RISC-V是站在巨人的肩膀上发展的,它可以有效地规避以上那些架构走错的老路。其次,开源开放让RISC-V有了庞大的社区支持,像以上这些解决方案,其实已经被多次提及,来自社区的力量势必可以让RISC-V走得更远。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    20149

    浏览量

    247167
  • Linux
    +关注

    关注

    88

    文章

    11628

    浏览量

    217980
  • RISC-V
    +关注

    关注

    48

    文章

    2793

    浏览量

    51914
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    为什么RISC-V是嵌入式应用的最佳选择

    最近RISC-V基金会在社交媒体上发文,文章说物联网和嵌入式系统正在迅速发展,需要更高的计算性能、更低的功耗和人工智能。RISC-V是为未来而建的,包括超高效的MCU到高性能应用处理器
    的头像 发表于 11-07 10:09 1298次阅读

    risc-v浮点运算单元的使用及其设计考虑

    的应用。 在RISC-V,浮点运算单元分为单精度浮点数(32位)和双精度浮点数(64位),通常包括以下几种基本功能: 加法器/减法器:用于执行浮点数的加减运算。 乘法器:用于执行浮点数的乘法运算。 除法
    发表于 10-21 14:46

    提高RISC-V在Drystone测试得分的方法

    :编译器如何优化生成的机器代码也会影响Drystone的得分。优化的编译器能够生成更高效的机器代码,从而提高性能。 提高 RISC-V 在 Drystone 测试
    发表于 10-21 13:58

    时擎科技亮相2025 RISC-V中国峰会,深度解析高性能RISC-V SoC技术挑战与创新

    2025年7月16-18日,第五届RISC-V中国峰会在上海张江科学会堂成功举办,作为全球RISC-V领域顶级盛会之一,本届峰会汇聚了数百家企业、研究机构及开源社区,共同探讨RISC-V生态
    的头像 发表于 07-21 17:37 1376次阅读
    时擎科技亮相2025 <b class='flag-5'>RISC-V</b>中国峰会,深度解析高<b class='flag-5'>性能</b><b class='flag-5'>RISC-V</b> SoC技术挑战与创新

    知合计算:RISC-V架构创新,阿基米德系列剑指高性能计算

    在于更高的能效性能。这主要取决于单位性能的提升,以及先进工艺带来的PPA优化。只有出现标杆性的产品才能真正引领整个RISC-V性能计算软硬
    的头像 发表于 07-18 14:17 2372次阅读
    知合计算:<b class='flag-5'>RISC-V</b>架构创新,阿基米德系列剑指高<b class='flag-5'>性能</b>计算

    孟建熠:攀登 RISC-V性能高峰,打造标杆产品

    RISC-V 在高性能计算领域的崛起,是近年来全球芯片架构竞争的重要趋势之一。其开源、灵活、可扩展的特性,使其在高性能处理器设计、人工智能算力优化、服务器芯片等领域展现出强劲的发展势头
    发表于 07-17 15:56 4822次阅读

    智芯公司RISC-V性能CPU芯片获得权威认可

    近日,智芯公司自主研发的RISC-V性能CPU芯片通过工信部直属中国电子技术标准化研究院赛西实验室检测,标志着智芯公司在RISC-V性能CPU芯片领域取得
    的头像 发表于 06-16 17:32 1327次阅读

    RISC-V架构下的编译器自动向量化

    性能算力生态的建设,正投入编译器自动向量化优化等多项关键技术,全面助力RISC-V的高性能发展。RIS
    的头像 发表于 06-06 16:59 936次阅读
    <b class='flag-5'>RISC-V</b>架构下的编译器自动向量化

    FPGA与RISC-V浅谈

    。 Semico Research预测2025年 RISC-V 芯片市场规模将突破 450 亿美元,年复合增长率达 58%,国家战略采购占比超 35%。RISC-V International在报告预测,搭载
    发表于 04-11 13:53 547次阅读
    FPGA与<b class='flag-5'>RISC-V</b>浅谈

    RISC-V生态崛起:政策落地与高性能芯片的崛起

    近期,RISC-V生态取得重要进展,包括高性能核心板的推出和在工业自动化、物联网等领域的广泛应用。其中,致远电子MR6450系列RISC-V核心板,凭借高性能和丰富的通信接口,成为工业
    的头像 发表于 03-06 11:35 1165次阅读
    <b class='flag-5'>RISC-V</b>生态崛起:政策落地与高<b class='flag-5'>性能</b>芯片的崛起

    关于RISC-V芯片的应用学习总结

    和模块化设计成为其显著优势。物联网设备通常需要长时间运行,且对体积和功耗有严格要求。RISC-V芯片通过精简指令集和优化设计,实现了低功耗的同时保持了高性能,非常适合用于传感器节点、智能家居控制器
    发表于 01-29 08:38

    RISC-V MCU技术

    话下。 还有个Sipeed Longan Nano开发板,用的是SiFive的RISC-V处理器核心,给开发者提供了一个平台,能让他们去探索RISC-V架构和应用开发。这个开发板也能用来验证RISC-V MCU的
    发表于 01-19 11:50

    RISC-V芯片中使用的各种常用总线释义

    、低功耗、易于与外设连接。 二、自定义总线协议 在RISC-V架构,除了标准的片上总线外,还可能使用自定义总线协议来满足特定需求。这些自定义总线协议可能根据具体的应用场景和性能要求来设计。 RIB总线
    发表于 12-28 17:53

    risc-v芯片在电机领域的应用展望

    具体应用场景进行灵活定制,从而实现更高效的控制算法和更优化性能表现。 此外,RISC-V芯片还支持多核架构,这使得电机控制系统能够同时处理多个任务,提高整体运行效率。在电机驱动方面,多核架构能够使得
    发表于 12-28 17:20

    RISC-V架构及MRS开发环境回顾

    添加到基础指令集 (RV32I)。(2)规整的指令编码 RISC-V的指令集编码非常的规整,指令所需的通用 寄存器的索引(Index)都被放在固定的位。因此指令译码器(Instruction
    发表于 12-16 23:08