查看: 1131|回复: 0
收起左侧

为什么说基于RISC-V 不适合研发高性能CPU?

[复制链接]

  离线 

  • TA的每日心情
    奋斗
    2021-3-3 12:32
  • 签到天数: 10 天

    [LV.3]

    发表于 2020-9-9 10:58:43 | 显示全部楼层 |阅读模式

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

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

    x
    很多答案都在说RISC-V非常适合做高性能CPU,但是我觉得RISCV指令集在以下几个方面上着实不那么适合做高性能计算(这也是我觉得RISCV的一些缺陷):


    最重要的一个我个人认为是RISCV指令集完全不支持instruction predication。


    Arm指令集可以说是在instruction predication这一技术上登峰造极的。


    本质上instruction predication是将指令前加一个前缀,通过比较前缀和status register来决定指令如何执行。


    这种方法使得一些比较短的if循环可以被当作静态计算型指令来执行而不是被当作跳转指令。


    众所周知,静态计算型指令的开销会比跳转指令低很多很多,instruction predication也实实在在地提升了处理器在处理复杂逻辑时候的速度。


    RISCV官方对这种做法的解释是:在大规模的superscalar和BPU的加持下,缺少instruction predication带来的性能降低其实可以被抹去,而且在大规模乱序核心上,predication使得设计更加复杂(事实上,Arm也有过放弃predication的想法),但是这种说法我觉得还是有些牵强,至少应该给一个可以使用predication与否的选项。


    尤其是在超算领域,很多时候为了提升能效比,会用SPMD方法来执行(本质上SPMD执行就是将所有处理器的执行模块绑定到一个取指、解码模块上,所有的处理器在各自的数据上执行相同的指令,Nvidia的GPU,Alpha还有一些MIC构架都支持这种操作)。


    但是SPMD的必要条件之一就是instruction predication,RISCV几乎是断绝了自己走SPMD的道路。


    更不用说如果做大型的并行构架的话,一般是不会大量使用乱序核心来做data intensive的计算的,而对于顺序核心来说,instruction predication可以说百利而无一害。


    当然,也有很多人说RISCV可以自己加指令,如果需要什么技术我只要往上加就好了。


    这个也确实是事实,只是由于instruction predication牵扯到的构架方面的修改比较多,目前看来还没有一个非常高效的实现方法。







    上一篇:RISC-V 在十年内能否出现具备实用价值的移动和桌面处理器?
    下一篇:Arm公司再次重拳反制RISC-V架构,中国芯片厂商们该何去何从
    RISCV作者优文
    全球首家只专注于RISC-V单片机行业应用的中文网站
    回复

    使用道具 举报

    高级模式
    B Color Image Link Quote Code Smilies

    本版积分规则

    关闭

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



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

    GMT+8, 2024-4-19 09:17 , Processed in 0.730314 second(s), 45 queries .

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