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

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

3天内不再提示

RISC-V处理器优化,不可依赖于放之四海而皆准的方法

Codasip 科达希普 来源:Codasip 科达希普 2023-05-31 15:25 次阅读

随着对高性能处理器的需求不断增长,半导体的缩放定律不断显示其极限,对处理器的优化需求变得不可避免。正如我在之前的博客中解释的那样,RISC-V的设计就是为了实现这一点。然而,在处理器优化方面没有一个放之四海而皆准的方法。由于每个工作负载和应用程序都有自己的要求,因此优化方法也因个体而异。我们可以在不同的层面上修改处理器IP,每一种都有自己的优势。在这篇博文中,让我们来定义和探索处理器优化的不同层次。从配置到定制,如何使用它们来创建满足特定要求的优化过的品质处理器。

首先定义三个不同级别的处理器优化,它们有着不同的优势和使用场景。所有三个级别不但不相互排斥,还可以将三者结合起来,以实现PPA目标。

fb49572c-ff75-11ed-90ce-dac502259ad0.png

3 levels of processor customization. Source: Codasip

配置:将标准内核的RTL参数设置为预先定义的值

每个处理器IP都有一套可调整的、预先定义的参数。它们在交付时有一个默认值,该默认值可以修改并设置为特定用例所需的值。大家通常可以在RTL级别设置并轻松修改这些参数。这种级别的优化在业界非常普遍,而且广泛传播。这些参数可能包括中断次数,是否存在简单的功能或缓存的大小等。

在RTL级别的调整对于任何处理器IP来说都是可以预期的,并且可以通过Codasip以RTL形式提供的标准Codasip RISC-V核来实现。该IP是经过完全验证的,简化后的集成,但是参数的范围和可能的值是有限的,探索空间也相对有限。

虽然这些参数是必要的,但不足以为特定需求创造一个真正独特的差异化产品。原因是它们既是有限的选项集,同时也是在RTL层面的实现的,而RTL级别的实现是难以参数化的,这在业界众所周知。因此,配置只能给予对最终设计的有限控制。

高级配置:结构性变化以适应设计

除了配置之外,还有高级配置可以运用。在高级别配置上,这个概念看起来很相似。但我们的想法是启用更大、更复杂的参数,从而得到明显差异化的RTL 。配置选项的例子包括:

1. 缓存和TCM的增加

2. 浮点单元的存在

3. 或分支预测器的存在

这种灵活性对于处理器IP来说虽然不太常见,但是可以使用Codasip IP来实现。所有的Codasip RISC-V内核都是用一种叫做CodAL的高级语言设计的,并且可以用Codasip Studio设计自动化进行配置。只需从配置器GUI中选择高级参数,该工具就会自动生成只包含自定义优化配置的RTL。

处理器的CodAL源代码可向用户提供所有选项。然后,Codasip Studio工具将CodAL合成为RTL。

Codasip提供大量的CodAL配置选项,也意味着客户不需要任何关于CodAL的具体知识(尽管这种类似C语言编程语言很简单和直接)。这中方法为实现特定应用定制产品提供了保证。并完全可以从同一个源代码中同时优化硬件和软件。

定制:更深层次的处理器IP优化

更深层次的IP优化实际上是设计师对IP的修改,以便为目标应用获得更高的效率性能。这是定制计算的领域,也是Codasip提供的具有竞品优势的解决方案。其他IP供应商可能会宣称处理器也可以进行定制,但如果没有自动化设计流程,这种期待只能停留在理论上,而且可定制范围非常有限。

Codasip RISC-V内核的定制意味着对IP进行细粒度的修改,能够在架构和微架构层面上修改需要的任何东西。可以增加或删除指令,改变寄存器集或增加全新的功能或接口,而不仅仅是修改现有的参数。CodAL语言的使用使这些修改变得快速而简单。Codasip Studio的分析功能指出了需要改进的潜在领域,并能非常快速地反馈应用程序在这些修改后的表现,这对快速迭代和获得最佳结果至关重要。

fb64efbe-ff75-11ed-90ce-dac502259ad0.png

Automated approach to custom compute. Source: Codasip

而从一个经过完整验证的RISC-V内核开始,也使这个定制过程变得更快,并可以大大减少验证工作,而验证环节通常是设计项目中最耗时的任务。在Codasip Studio中用CodAL对Codasip RISC-V内核进行全面优化,是为应用获得定制计算的一种实用方法。它最大的优势在于整个设计流程是自动化的,而且该工具会自动生成一个SDK和HDK,这些SDK和HDK并已知与定制内核相匹配的相关。而不需要手动来创建一切!

处理器优化案例

可以想象一下,如果想为特定的机器学习工作负载优化一个处理器,以卷积神经网络(CNN)为例。

随着向设备级人工智能处理的重要转变,在为物联网应用选择SoC或MC时,运行人工智能/机器学习任务的能力成为必须具备的条件。但是嵌入式设备通常受到资源限制,因此很难在嵌入式平台上运行人工智能算法

使用Codasip L31 RISC-V内核和Codasip Studio,我们可以探索和定制处理器设计,以提高其运行机器学习算法时的效率。Codasip Studio中包含的剖析工具使设计者能够比较标准内核和优化内核的性能,突出神经网络定制指令的好处。

fb8f3594-ff75-11ed-90ce-dac502259ad0.png

Our approach to processor optimization for ML workloads (use case). Source: Codasip

Codasipde的方法是在不同的层次上对处理器进行调整:

我们为ML工作负载优化处理器的Codasip方法(使用案例):高级配置和定制

通过对图像识别的基准应用进行分析,我们用Codasip Studio工具证实,图像卷积是一个主要的瓶颈,占用了89%以上的CPU时间。不到200行的CodAL代码足以实现一个紧密集成在Codasip L31内核的卷积加速器。在对最大频率影响不到10%的情况下,这种修改提供了大于5倍的性能提升和小于3倍的能耗。Codasip Studio自动生成一个优化的编译器,在不改变软件的情况下实现了效率的提高!

如果您对神经网络加速器技术白皮书感兴趣,请移步该链接下载英文原版:https://codasip.com/papers/compact-nn-accelerator-in-codal-technical-paper/

各种处理器优化方法相结合以求最佳结果

正如我们所说,在处理器优化方面没有一个放之四海而皆准的方法。处理器IP修改可以在不同层面进行,每个层面都可以带来不同的优势。这种组合的相结合则能协助客户在开发独特产品时实现最佳的PPA目标。

fba37b30-ff75-11ed-90ce-dac502259ad0.jpg

审核编辑 :李倩

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

    关注

    68

    文章

    19286

    浏览量

    229873
  • 内核
    +关注

    关注

    3

    文章

    1372

    浏览量

    40293
  • RISC-V
    +关注

    关注

    45

    文章

    2277

    浏览量

    46163

原文标题:RISC-V处理器优化,不可依赖于放之四海而皆准的方法。

文章出处:【微信号:Codasip 科达希普,微信公众号:Codasip 科达希普】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    晶心科技推出突破性的RISC-V 27系列处理器及向量扩展指令处理器

    晶心科技今天宣布推出AndesCore™ 27系列处理器核心,成为RISC-V指令集架构中领先支持向量扩展架构(RISC-V V-extension)的
    发表于 01-03 14:56 2923次阅读

    开放性与碎片化,RISC-V能否撼动处理器架构的格局?

    芯片设计工作中必不可少的就是IP核,为此不少企业推出了自己的RISC-V处理器IP。但单靠IP并不足以支撑庞大的RISC-V生态,为了实现生态发展与统一,许多专注于
    的头像 发表于 10-08 00:09 1.2w次阅读

    关于RISC-V和开源处理器的一些解读

    来记录描述,处理器实现是基于指令集规范完成的源代码。RISC-V是一个指令集规范。我们可以基于x86/ARM/ RISC-V指令集,进行处理器
    发表于 06-22 16:47

    学习RISC-V入门 基于RISC-V架构的开源处理器及SoC研究

    流水线处理器、可执行微码的处理器。(7)PicoRV32PicoRV32是由RISC-V开发者Clifford Wolf设计发布的一款大小经过优化的开源
    发表于 07-27 18:09

    RISC-V是什么?如何去设计RISC-V处理器

    RISC-V是什么?有哪些特点?如何去设计RISC-V处理器
    发表于 06-18 09:24

    RISC-V开源处理器核介绍

    本期文章目录一个小型RISC-V开源处理器核介绍!#SOC#FPGA#RISC-V点击阅读数字积木从零开始写RISC-V处理器(超详细)#
    发表于 07-23 09:42

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

    分析/监控工具成了处理器开发时必不可少的软件。尽管RISC-V的ISA规范已经定义了硬件性能监控(HPM),但总体支持程度上仍未完善。就以Linux上的性能分析工具Perf为例,该工具可以借助PMU
    发表于 12-27 08:00

    RISC-V工具链简介

    作者:云海最近,RISC-V风靡一时,其开放性和可扩展性引起了人们对可定制处理器的兴趣。因此,许多半导体公司都试图加入这个市场,也吸引了大量的开发者涌入。有关 RISC-V 的文章已成为科技界
    发表于 03-09 06:32

    香山处理器 RISC-V的典范

    https://github.com/JiaoXianjun/XiangShan谈到RISC-V,应该都会想到香山处理器。其经历了几代的演进,性能越来越高。采用Chisel Rocketchip框架,能够方便的定制属于你的RISC-V
    发表于 04-14 15:51

    RISC-V是通用RISC处理器还是可定制的处理器?

    随着这些年的发展,RISC-V的受重视程度与与日俱增。这主要因为它是免费的、灵活的,并且速度很快。这使RISC-V成为许多开发人员的安全便捷选择。但是您会认为RISC-V是通用RISC
    的头像 发表于 11-17 16:11 3529次阅读

    美国芯片企业开发出全球最快的64位Risc-V处理器

    据外媒报道指美国芯片企业Micro Magic开发出了全球最快的64位Risc-V处理器,性能比当下性能最强的ARM处理器--苹果M1还要强,功耗更低。考虑到中国正在努力摆脱对ARM
    的头像 发表于 12-17 14:48 3366次阅读

    基于形式验证的高效RISC-V处理器验证方法

    随着RISC-V处理器的快速发展,如何保证其正确性成为了一个重要的问题。传统的测试方法只能覆盖一部分错误情况,而且无法完全保证处理器的正确性。因此,基于形式验证的
    的头像 发表于 06-02 10:35 1400次阅读

    基于形式的高效 RISC-V 处理器验证方法

    RISC-V的开放性允许定制和扩展基于 RISC-V 内核的架构和微架构,以满足特定需求。这种对设计自由的渴望也正在将验证部分的职责转移到不断壮大的开发人员社群。然而,随着越来越多的企业和开发人员转型RISC-V,大家才发现
    的头像 发表于 07-10 09:42 670次阅读
    基于形式的高效 <b class='flag-5'>RISC-V</b> <b class='flag-5'>处理器</b>验证<b class='flag-5'>方法</b>

    fpga和risc-v处理器的区别

    FPGA(现场可编程门阵列)和RISC-V处理器在多个方面存在显著的区别。
    的头像 发表于 03-27 14:21 1135次阅读

    使用 RISC-V 进行高效数据处理方法

    使用RISC-V进行高效数据处理方法涉及多个方面,包括处理器内核与DSA(领域特定加速)之间的通信
    的头像 发表于 12-11 17:52 358次阅读