微控制器几乎无处不在,但 RISC-V 能否满足这个市场的需求?小到足以取代 8 位处理器吗?什么可以帮助人们迁移到更现代的处理器架构?RISC-V定义了一个 32 位处理器指令集架构(ISA),它是开源的并且可以以多种方式自由实现。它被吹捧为一个非常小而高效的架构,同时被定义为易于扩展。许多附加组件已经是经过批准的扩展,其中大量在 2021 年 12 月的 RISC-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 基数很小。它仅包含每个人都必须执行的 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 在让大多数人开心方面做得很好。
关键字:RISC-V MCU
引用地址:
RISC-V能成为八位MCU的选择吗?
推荐阅读最新更新时间:2024-11-17 02:13
PIC16C5X单片机模拟串口的源程序
TITLE TWO WIRE/I2C BUS INTERFACE WITH PIC16C5x ; LIST P=16C54 ; ;***************************************************************************** ;** Two wire/I2C Bus READ/WRITE Sample Routines of Microchip's ;** 24Cxx / 85Cxx serial CMOS EEPROM interfacing to a ;** PIC16C54 8-bit CMOS single chip microcomputer ;*
[单片机]
基于单片机的大程序和数掘空间的设计和实现
单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。 MCS51系列单片机是目前应用非常广泛的8位MCU。MCS5l系列单片机的地址总线为16位,不作扩展的情况下其最大的程序和数据地址空间为64 KB。但是随着控制领域的不断智能化、复杂化,程序代码或数据空间的大小可能远远大于64 KB。结合相应的硬件地址扩展,使用KeilC5l的Blank Switch技术可生成代码长度和数据空间大于64
[单片机]
基于单片机和GSM的家庭防盗系统的设计
目前市场上家用报警系统多数是通过电话线实现报警功能的, 当电话线被恶意剪断时, 系统就会失去报警功能。针对此问题, 将移动通信技术引入本系统设计中, 避免了此类问题的发生, 依据性价比及实际功能要求, 本系统采用单片机及移动通信技术进行总体方案的设计。把GSM/GPRS 模块和单片机、摄像头模块及语音模块有机地结合起来, 完成单片机与GSM/GPRS 模块的通信及与摄像头模块的通信, 设计出功能强大的家庭网络防盗系统。 1 系统总体方案设计 系统中的移动通信模块采用广州谱泰科技有限公司的PT39I 模块。外围电路自行设计, 通过单片机的RS232串口与移动通信模块进行连接。根据性价比以及系统的实际功能要求等, 系统
[单片机]
利用8031单片机,设计跑马灯和流水灯
正常情形下使P1口八个发光二极管做流水灯显示。 紧急情况下,使八个发光二极管做鸳鸯戏水显示。 鸳鸯戏水就是一共是八个灯,一次亮四个,奇数灯和偶数灯分开亮。即:这次是1357灯亮,下次是2468灯亮。 要求用汇编语言编制程序,多谢。 问题补充:要求在外部扩展一个4KB的外部存储器。 悬赏分:80 - 解决时间:2010-1-7 14:43 ===================================== 最佳答案: ;------------------------------------ ;题目要求在外部扩展存储器,就是说P0P2口,我们不能使用,那么就用P1外接8个LED,用P3.2
[单片机]
51单片机-多文件编写
为了与主流的编程素养接轨,我们本章讲解如何书写简洁并且高效率的代码以及首次运用多文件编程。多文件的作用是方便编写大程序时更加的模块化,那么至于原理,头文件包含关系等这些知识还需读者自己再多多补补C语言知识了。 1.多文件的优势 运用多文件编程是为了使我们教程无需每次都贴出相同功能的代码,像第一阶段最后的一个例程,已经有很多代码完全可以前往以前的例程里复制即可,笔者也是考虑到一开始我们都是从单个“.c”文件入门单片机编程,所以之前的例程都是提供完整的代码给大家方便复制移植到自己的单个“.c”工程文件中。 可后期的例程里我们的代码量越来越大,显然全部给出就不合适了,所以我们把经常使用的功能模块代码封装起来放在另一个“.c”文件
[单片机]
μC/OS-Ⅱ在ARM系列单片机S3C44B0x上的移植
目前,嵌入式系统在工业控制、家用电器、移动通信、PDA等各种领域得到了越来越广泛的应用。由于用户对嵌入式产品的性能要求越来越高,程序设计也变得越来越复杂,这就需要一个通用的嵌入式实时操作系统来对其进行管理和控制。对移植了操作系统的嵌入式系统进行设计和开发,可以大大减小程序员的负担,对于不同的应用可以按照相同的步骤来完成系统的设计。 C/OS-Ⅱ是一种简单高效、源代码公开的嵌入式实时操作系统,具有良好的可扩展性和可移植性,被广泛的应用到各种嵌人式处理器上。 COS-Ⅱ操作系统拥有可固化,可裁剪,可剥夺性的实时内核,可同时管理64个系统任务。利用移植 COS-Ⅱ操作系统的嵌入式微处理器来设计和开发产品,对于提高产品的性能,减少产品的
[单片机]
基于微控制器的倒计时算法与实现
1 引 言 这里的倒计时就是计算出从当前时间点需要经过多长时间才能到达目标时间点。从另一个角度讲, 就是计算出两个时间点之间的时间差。 目前, 倒计时系统正得到越来越广泛的应用。 在体育比赛、公交系统乃至铁路系统中出现了很多倒计时的时间显示。就在前不久, 关于上海世博会的倒计时正式启动, 其精度精确到天。 在类似的应用中, 大多数情况下, 倒计时功能(包括显示功能)是由微控制器实现的。微控制器不同于桌面电脑或笔记本电脑, 其系统资源非常有限, 也不能安装复杂的操作系统, 没有现成的倒计时系统可以应用。下面将讨论适合在微控制器中运行的倒计时算法。 2 倒计时算法的两种常用思路 关于倒计时的计算主要有
[工业控制]
飞思卡尔推出可扩展8位微控制器
汽车行业领先的半导体供应商飞思卡尔半导体已经扩展了其广受欢迎的8位S08SG微控制器(MCU)系列,为汽车车身和底盘应用提供更多的可扩展性能和存储选件。S08SG16和S08SG32 MCU这两个系列新成员为车身控制模块、LIN™节点、反光镜模块、电动门窗、电池管理系统、HVAC控制、加热座椅模块等提供了灵活、通用的解决方案。 运行在40 MHz频率上的S08SG16/32 MCU带有16K和32K闪存选件,能够扩展8位性能的界限。卓著的性能加上片上计时器使得这些器件非常适合于发动机控制应用。此外,这些器件还能够通过片上串行通信接口(SCI),简化LIN系统的开发。SCI模块无需使用外部计时器通道就能进行LIN
[单片机]