×

RISCV的自定义CPU详细资料介绍

消耗积分:0 | 格式:pdf | 大小:0.11 MB | 2020-11-25

靓仔峰

分享资料个

  随着这些年的发展,RISC-V 的受重视程度与与日俱增。这主要因为它是免费的、灵活的,并且速度很快。这使 RISC-V 成为许多开发人员的安全便捷选择。但是您会认为 RISC-V 是通用 RISC 处理器还是定制的随心所欲处理器?但答案是两者都是!然而这是一个悖论。起初,RISC-V 是一种温和的 RISC 方案,但是随着其发展,RISC-V 演变成超级处理器!换而言之,它可以像您希望的那样平淡无奇或令人兴奋,这是其他 CPU 供应商也试图实现的一种技巧。可定制的处理器似乎是世界上最愚蠢的想法。一方面,处理器生态系统在兼容性方面蓬勃发展。如果每个 CPU 都不相同,则不能开发编译器、调试器、操作系统、应用程序和中间件,甚至不能生产高效的程序员。没有兼容性,我们最好通过焊接导线和换掉硬件来创建程序。CPU 的指令集—— 固定的指令集其实就是软件的组成部分。这种兼容性推动了更多软件的成长,更多的工具推出和更多 CPU 销售的良性循环。但从另一个角度看,通用 CPU 很无聊。负载会随着时间而变化,并非每个程序员都需要相同的功能集。我们很多人不需要浮点运算。有些需要位操作指令。其他人则需要 Linux 支持或矢量操作,或者需要进行奇怪的表查找和内插( interpolate )的东西。古怪(Oddball)的指令可以有很大的不同,它在如何执行处理器方面拥有非常大的差异。游戏玩家在争论一个 Intel CPU 与另一个 AMD 处理器的相对优点时,这两者几乎是相同的芯片,相差仅百分之几。将如果将其与低端 DSP、高端 ARM、 PowerPC 或 x86 设计的方式进行比较,两者之间的差异非常明显。由此可见,架构和指令集确实很重要。问题是,当您偏离通用路径时,将失去兼容性,并且失去软件支持。指令并不能被 RISC 编译器忽略,它们只是浪费多余的硬件。只有汇编语言程序员或愿意编写编译器内部函数的程序员才能利用这种额外的能力。除非您调整基准,但这又有什么意义? RISC-V 占据中间位置,并定义了所有处理器共享的基本指令集,以及一组可选的附加模块。您要浮点数吗?我们已经设计,定义,创建和提供了所有功能。在 RISC-V 上执行 FP 的每个人都以相同的方式进行操作,因此编译器编写者很高兴,因为您的代码或多或少具有可移植性。除了这些半标准选项之外,您还可以分支并创建自己的完全自定义的指令。毕竟,这是一个开放源 CPU 规范,因此没有人可以阻止您。如果愿意,您甚至可以尝试将自己的作品卖回社区。其实,可定制的指令集在之前已经完成,并且它们大部分都可以工作。例如 Synopsys 和 Cadence 的 ARC 和 Tensilica 都允许用户级定制。它们的工作方式是,当用户为特定的应用程序编写有用的新指令时,他们确实确实看到了性能的大幅提高或功耗的降低。虽然这并不总是一个简单的过程,但是它是有效的。但这种选择带来的缺点是自定义软件支持有限,并且与其他任何芯片都不兼容。

 

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

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !