查看: 1156|回复: 1
收起左侧

RISC-V 自定义指令如何保持软件的兼容性?

[复制链接]

  离线 

  • TA的每日心情
    奋斗
    2022-2-18 00:56
  • 签到天数: 16 天

    [LV.4]

    发表于 2020-1-7 20:09:29 | 显示全部楼层 |阅读模式

    有人预言,RISC-V或将是继Intel和Arm之后的第三大主流处理器体系。欢迎访问全球首家只专注于RISC-V单片机行业应用的中文网站

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    RISC-V ISA(指令集架构)是以模块化方式设计的。这意味着ISA有几组指令(ISA扩展),可以根据需要启用或禁用。这允许精确地实现应用程序所需的指令组,而无需为没有使用到的区域提供额外的功耗。其中有一点相当重要,设计人员可以为他们想要加速的应用程序添加所需的任何指令。这是一个强大的功能,因为它不会破坏任何软件兼容性,同时为新的发明和差异化留出空间。


    RISC-V指令集架构被设计为在基本指令集的基础上扩展出更多的指令。你可以随意混合搭配。例如,可能有一个实现最小值的RISC-V处理器,或者一个实现所有ISA扩展的RISC-V处理器,这取决于设计需求。下表列出了已被RISC-V基金会批准的主要ISA扩展,以及目前正在开发的ISA扩展。
    扩展指令
    正式批准
    说明
    I/E
    基本整数操作指令。这是唯一的强制扩展。I 需要32个寄存器,E 只需要16个
    M
    乘法和除法指令
    C
    只有16位编码的紧凑指令。这种扩展对于需要低内存占用的应用程序非常重要。
    F
    单精度浮点指令
    D
    双精度浮点指令
    A
    atomic 类型存储指令
    B
    位操作指令。包含用于位操作的指令,例如旋转或位设置/清除指令。
    V
    向量指令,可用于高性能计算。
    P
    用于嵌入式DSP处理器的SIMD压缩指令
    随着更多ISA扩展的添加,上表的内容将会逐步被扩展到更多。但是如果这些基本扩展依然不能满足客户需求时,就需要采用RISC-V规范允许添加自定义指令扩展。这可能是公司的“秘密武器”和一个关键的区别。
    大家一定会有疑问,为什么采用了自定义指令依然可以保持软件的兼容性?
    由于RISC-V生态系统的特性,定制ISA扩展需要不会破坏与主要规范的一致性;即使有额外的指令,您的处理器仍然完全符合RISC-V,并且可以运行来自生态系统的通用软件堆栈。这就需要通过软件架构来协同实现。
    图1显示了自定义ISA扩展如何适合于软件堆栈。

    在最底层上,有一个与RISC-V兼容的处理器和一个定制的ISA扩展。中间一层它运行一个操作系统,它可以用任何与标准RISC-V处理器兼容的编译器编译(没有特殊的ISA扩展)。除了操作系统之外,还有三个应用程序。App1是一个不需要任何加速的通用应用程序。您可以使用公开可用的现成编译器(例如GCC)来编译它,甚至可以使用预编译的应用程序;RISC-V处理器将能够直接运行它。App2和App3是需要尽可能快地运行的重要应用程序。这些必须由专门配置了定制ISA扩展的编译器来编译。编译器可以利用新的自定义指令来加速App2和App3


    图2显示了另一个具有定制ISA扩展的RISC-V兼容处理器示例。App1使用基本指令集,没有使用定制的ISA扩展。App2和App3使用通用API。这个API是由一个支持定制ISA扩展的库来实现的,它同样可以加速App2和App3。App2和App3都可以在现成的RISC-V处理器中重用。所需要的只是实现所需API的库。在这个系统中,将带有自定义ISA扩展的App2和App3从RISC-V迁移到没有扩展的RISC-V是很容易的,并且不需要做任何应用程序移植的工作。
    国内芯片技术交流-RISC-V 自定义指令如何保持软件的兼容性?risc-v单片机中文社区(1)






    上一篇:平头哥半导体的开发板
    下一篇:中国再出大招,ARM地位或被撼动
    RISCV作者优文
    全球首家只专注于RISC-V单片机行业应用的中文网站
    回复

    使用道具 举报

      离线 

  • TA的每日心情
    慵懒
    2021-7-27 09:25
  • 签到天数: 57 天

    [LV.5]

    发表于 2020-5-25 10:29:50 | 显示全部楼层
    厉害了国内芯片技术交流-RISC-V 自定义指令如何保持软件的兼容性?risc-v单片机中文社区(2)国内芯片技术交流-RISC-V 自定义指令如何保持软件的兼容性?risc-v单片机中文社区(3)
    相信自已,未来是自已创造的。
    点评回复

    使用道具 举报

    高级模式
    B Color Image Link Quote Code Smilies

    本版积分规则

    关闭

    RISC-V单片机中文网上一条 /2 下一条



    版权及免责声明|RISC-V单片机中文网 |网站地图

    GMT+8, 2024-3-29 19:40 , Processed in 0.450211 second(s), 45 queries .

    快速回复 返回顶部 返回列表