良许Linux教程网 干货合集 RISC-V能成为八位MCU的选择吗?

RISC-V能成为八位MCU的选择吗?

微控制器已经无处不在,但是能否满足市场对于RISC-V的需求呢?RISC-V是一个定义了32位处理器指令集架构(ISA)的开源项目,可以以多种方式自由地实现。人们对其赞誉有加,认为它是一个非常小型高效的架构,并且易于扩展。在2021年12月的RISC-V峰会上,许多经过批准的扩展组件已经亮相。然而,问题依然存在:RISC-V的基本规格是否足够小?是需要添加额外功能,还是需要删除一些功能?RISV-V作为微控制器是否有用?

根据多份行业报告,2020年8位微控制器市场规模约为80亿美元,并预计在可预见的未来将以4%至5%的速度增长。2014年,8位微控制器仍然是销量最大的,占销售额的39.7%,而32位微控制器紧随其后,占38.5%。不过如今,16位市场已成为最大的市场,占据48.8%的份额。尽管8位微控制器正在逐渐失去市场份额,但是这种趋势可能更多地向16位发展,而不一定是32位。值得注意的是,大部分市场份额是由分立芯片占据的,这意味着小型处理器显然有着庞大且可持续的市场需求。

无处不在的控制器

复杂的设备可能包含许多控制器,但它们很少受到关注。Imperas Software首席执行官 Simon Davidmann 表示:“有许多芯片包含多个大型 Arm 内核,被用作应用处理器,但你也会在其中发现许多小得多的处理器。” “它们被用来做各种各样的事情,其中许多很可能是基于 RISC-V 的小众处理器。没有人真正知道它们是什么,因为它们是隐藏的。”

这些处理器不必遵守相同的规则。Arteris IP的研究员兼系统架构师 Michael Frank 说:“您将始终拥有几个 CPU 来执行一般处理并协调系统周围的数据移动。” “他们做了所有需要图灵完备和可编程的事情。但是你有一些专门的东西。这是硅面积的最佳利用,因为现在您可以省略算法中不需要的任何东西。”

微控制器的其他大型市场包括汽车、HVAC、物联网和医疗。一个 RISC-V 内核可能只需要 20,000 个门,那么当整个芯片可能有数百万个门时,为什么有人会担心尝试进一步优化它呢?在某些情况下,成本是最关键的因素,这意味着可能的面积最小。对其他人来说,这就是关键。对于必须使用单个电池持续数月或数年的设备,任何无所作为的逻辑都被视为必须消除的浪费。

最小的 RISC-V

RISC-V 基数很小。它仅包含每个人都必须执行的 47 条指令。相比之下,x86 为 1,503,Arm 约为 500。它使用最简单的加载/存储架构,这意味着所有操作都在内部寄存器上执行,并且有专门的指令在寄存器和内存之间进行传输。

RISC-V 从一个简单的整数指令集开始,基本上,已经是处理器的基本结构”Arteris 的 Frank 说。“你可以从中剥离的东西不多。最简单的 RISC-V 处理器的实现具有 32 位整数。这就是过去的微控制器。我看不出你为什么要进一步减少它的原因。伯克利团队创建了一个很好的分层和可扩展架构。他们从之前所做的所有事情中吸取了教训,并通过构建许多变体以及集成到架构中的扩展,我总是将其视为基础层,而不是可以削减的东西。”

在指令集中,可以定义寄存器文件的大小。“RISC-V 的一个非常好的方面是你可以减少它,”Imperas 的 Davidmann 说。“作为一个组织,RISC-V 试图做的是帮助人们做这样的事情。例如,有减少寄存器数量的 E 版本。通常是 32,但这个版本只定义了 16。”

例如,SiFive 最近讨论了 RV32E 的实现,该实现可以配置为仅在 13,500 个门中实现。ZERO-RISCY 是作为 PULP 平台的一部分开发的用于节能计算的核心,具有消耗 11,600 个门的两级流水线实现。

该规范还允许定义简单的控制器,这些控制器不需要大量的逻辑来围绕核心。“他们试图做到这一点,你甚至可以在没有特权模式功能和控制/状态寄存器的情况下设计它,这样你就可以把它归结为一个非常简单的控制器,”Davidmann 说。“这仍然允许你使用标准汇编器,它仍然是一个 RISC-V,但它不会很快完成你的浮点运算。它只是一个非常小的控制器。”

其中一些减少来自该标准的早期工作。Axiomise 的创始人兼首席执行官 Ashish Darbari 说:“剥离大型设计以获得更小的处理器很有价值的原因可能有很多。” “已经有来自公开处理器的例子。例如,来自 PULP 平台组的两个 RISC-V 内核 ZERO-RISCY 和 Ibex 是 RI5CY 的精简版本,后来成为 cv32e40p。在这种特定情况下,RI5CY 具有不属于标准 RISC-V ISA 的自定义指令。”

似乎没有考虑的一种减少涉及字长。“如果你减小字长,你就会失去 RISC-V 处理器的功能和美感,你可以在相同的寄存器中,在相同的 ALU 中进行地址计算、整数计算,所有事情,”弗兰克说。“在减少 RISC-V 之后,很难保留有用的东西。RISC-V 的美妙之处在于它有一个工具链,如果你开始切割东西,你就只能靠自己了。”

具有讽刺意味的是,延期可能会产生储蓄。Codasip的首席技术官 Zdeněk Přikryl 说:“如果您的芯片上有一堆处理器,那么每个处理器都可以针对特定任务进行优化或定制。” “它可以是人工智能,也可以是安全性,也可以是任何东西。我们使处理器能够以高级架构描述语言设计,通过它我们捕获指令集,可以称为架构视图,以及微架构视图,这基本上是 ISA 的实现。由于我们在高级架构语言中拥有这一单一描述,因此我们能够生成编译器、汇编器、反汇编器、模拟器,最终生成 RTL。”

一种这样的扩展是压缩指令集,它使代码空间更小。压缩指令允许您将两条指令放入一个 32 位字中。这减少了所需的程序内存量,尽管它略微增加了处理器的复杂性。一种说法是实现这一点需要 400 个门。这可能不仅仅是由内存面积的减少所弥补的。其他尝试这样做,例如 Arm Thumb 格式,本质上是不同的指令集。

因此,优化的核心可能并不总是意味着最小的。“我们有一位客户开始调查已批准的 RISC-V 扩展,试图找到最佳折衷方案,”Codasip 的 Přikryl 说。“他们从基线开始,然后添加扩展并研究不同扩展的组合。他们不仅关注性能,还关注大小和内存占用。关键之一是处理器是系统的一部分,而您正在尝试优化该系统。在这种情况下,拥有高效的代码很重要,因为当您在硅片中实现子系统时,您的指令存储器是能源和电力的主要消耗者之一。在优化过程中,我们设法将代码大小减少了大约三倍。”

进行更改确实会给流程带来一些复杂性。“任何人都可以使用 RISC-V 并对其进行更改,”Davidmann 说。“他们可以添加比特,拿走他们喜欢的比特,扔掉他们不喜欢的比特。只要是针对深度嵌入式系统,没有人会关心他们完成了什么。没有人会看到它。这就是为什么一开始没有人真正关心兼容性和合规性的原因。”

修改后的内核确实必须经过验证。Axiomise 的 Darbari 说:“沿着这条道路前进的最大挑战是确定 delta 更改对核心的整体功能有何影响,以及确定 delta 是否按照预期进行。” “这些是正式方法的最佳点,可以通过检查精简内核的架构合规性与正式验证 RISC-V 内核的应用程序formalISA 中的一组正式指定的架构属性来发现差异。”

结论

指定的 RISC-V ISA 是一个最小但完整的处理器架构,可以在少于 20K 的门中实现。该标准考虑到在某些情况下只需要一个最小的核心,并且已经定义了变体和扩展以使其适应代码大小等问题。扩展可能会产生更优化的内核,不仅可以更快地完成工作,而且可以减小尺寸、功耗或在特定应用中重要的其他方面。

用后来由林肯总统改编的约翰·利德盖特的话来说,“你可以一直取悦某些人,有时也可以取悦所有人,但你不能一直取悦所有人。”

RISC-V International 在让大多数人开心方面做得很好。

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

137e00002230ad9f26e78-265x300
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部