RISC-V:第三世界嵌入式工程师的回应

A 3rd World Embedded Engineer Responds to "RISC-V They Should Have Known Better"

作为一名来自发展中国家的嵌入式工程师,我注意到关于 RISC-V 的讨论中常有一种居高临下的论调,仿佛只有特定背景的人才能真正理解或驾驭它。然而,现实是,无论身处何地,工程师们都在用有限的资源解决复杂的硬件问题。RISC-V 的开放性和灵活性正是我们这类开发者最需要的工具,而非被质疑的对象。这篇文章旨在打破刻板印象,分享我们在资源受限环境下如何高效利用 RISC-V 架构,并呼吁社区更多关注实际工程价值,而非无谓的偏见。

  1. ndiddy

    我觉得他有点在跟原作者鸡同鸭讲。原文的核心观点是,作者认为 RISC-V 在嵌入式领域之外很难普及,原因在于某些设计决策导致其性能不如 ARM64,且 ISA 中大量指令为可选,导致碎片化严重,使得二进制分发变得不可行。而这篇文章主要讲的是 RISC-V 在嵌入式领域的优势:公司可以将其定制到专用芯片中,只包含所需功能,且由于没有授权费,在低端应用场景中成本极低。

    我看到的唯一真正的分歧点在于,这篇文章接着说 RISC-V 的一个卖点是可以同时用于低端 10 美分的微控制器和运行 Linux 的高端多核处理器。就我个人而言,我看不到这有什么好处,因为你反正得重新编译软件,而且据我所知,所有 RISC-V 单板计算机(SBC)的性能和能效都显著低于同等价位的 ARM SBC。

  2. kelnos

    我相信总有一天,RISC-V 的性能会赶上甚至超越 ARM 和 x86_64。

    这是基于历史经验:我记得当年 x86 的性能跟 DEC Alpha、PA-RISC、SPARC 等相比简直是个笑话。那时候,如果你想要真正的性能,就得掏 2 万到 5 万美元买一台搭载 MIPS/PA-RISC/SPARC/Alpha 或类似处理器的工作站。所有这些工作站都完爆当时的 x86 电脑。

    然而,人们购买 x86 电脑的速度要快得多,这让 Intel(和 AMD)有了资金去投资更好的芯片设计和更好的晶圆厂。与此同时,Linux 也在 gaining traction(逐渐普及)。大约在互联网泡沫破裂时,那些原本有钱买 5 万美元一台的 Sun SPARC 工作站来启动网络业务的公司已经没了,这时候运行 Linux 的 x86 电脑在性能上几乎与它们持平,但价格却低得多。一旦 Itanium 失败,x86_64 成为主流,x86_64 就成了高性能工作站和服务器的首选 ISA,而幸存下来的 RISC ISA 主要被用于嵌入式领域。事实上,ARM 从来就不是高性能 RISC 处理器,它是那个接管了嵌入式领域的选手,而 PA-RISC、Alpha 和 SPARC 则死去了。

    那些廉价电脑使用的 ISA 最终变成了性能最高的 ISA。

    直到 2020 年代,RISC 处理器才达到了 x86_64 级别的性能,最显著的例子就是 Apple M 系列处理器。[…]

  3. vlovich123

    我实在不太理解作者关于成本和运输的结论,以及 RISC-V 如何对美国以外的人更便宜、更易获取。他一开始说,由于他的地理位置,买价值 1 美元的芯片可能要花 60 到 200 美元的运费……但到了最后又声称 RISC-V 给了他“一种能以每颗 10 美分的价格运抵我国家的架构”。

    我不明白这两件事怎么可能同时成立。把东西运到特立尼达和多巴哥的成本跟它是 ARM 还是 RISC-V 毫无关系;运送同样重量的任何一种芯片,运费应该完全一样。是的,也许某种 ARM 芯片本身的成本是 0.15 美元,而等效的 RISC-V 芯片是 0.10 美元,但如果问题(对他和居住在美国/欧洲以外的人来说)在于运费比货物本身贵了几个数量级,那么这种芯片成本的差异就变得无关紧要了。

    我认为他确实提出了一个很好的观点:碎片化确实提供了更好的选择权:ARM 有点像有线电视,只有少数几个产品类别,每个类别捆绑了一组特定的功能;而 RISC-V 则是为你量身定制,只做你需要的功能,不多不少。但再次强调,这不会影响运费。

  4. HawtAds

    他说:

    > 从这个角度来看,10 美分的零件和 1 美元的零件之间的差异绝不是四舍五入的误差,也不是你在讨论编码等有趣话题时可以随意略过的细节。

    但之前他又说:

    > 我每颗价值 1 美元的芯片要支付 60 到 200 美元的运费,而其他地方的人却能享受免运费。

    在我看来,当运费占据主导地位时,10 美分芯片和 1 美元芯片之间的差异不就是四舍五入的误差吗?

  5. strenholme

    我很喜欢这篇文章,跟那些通常以湾区为中心的论调相比,它是一股清流。不过有一个问题:

    > 我想教的学生处于同样的境地,尼日利亚和孟加拉国的学生也是如此。

    从亚洲向尼日利亚/孟加拉国运送价值不到 1 美元的小芯片并不需要 60 美元。这两个国家都在全球贸易路线上(无论是供应还是需求),而且那里的最后一公里配送成本也相当低。

  6. kazinator

    我不同意《RISC-V:他们本该知道得更好》一文中的某些观点。

    例如,作者声称在中断处理程序中保存和恢复所有寄存器耗时太长。但这可以通过其他方式解决,例如:为中断和正常代码使用分开的寄存器组。或者简单地添加两个寄存器组并允许在它们之间切换(假设中断不可重入)。但作者声称 ARM 更好,因为它有“存储多个寄存器”指令。这并没有帮助,因为存储多个寄存器仍然需要多个总线周期,而微控制器可能只有 32 位总线且没有缓存,所以保存 N 个寄存器需要 N 个内存周期——无论这是通过单条指令(ARM)还是多条指令(RISC-V)完成的。而且实现这条 ARM 指令会让核心变得更复杂,却收益甚微。

    至于数组访问需要 3 条指令,在简单的循环中,编译器可以将索引访问转换为指针递增。

    RISC-V 真正的弱点是:

    - 没有整数溢出和无效浮点结果的异常捕获(trap)。溢出会导致漏洞。

    - 缺乏快速上下文切换的优化,这对于卸载遗留的不安全单体内核至关重要,尤其是在 AI 积极搜索漏洞的时代。

    - 奇怪的向量扩展。

  7. codedokode

    > 他推导出了这款芯片存在的理由,然后文章的其余部分都在抱怨这款芯片竟然存在。这几乎带有讽刺意味。

    他的批评完全有效,因为为什么那个拥有免费规范且很可能主导该领域的东西……不能同时也很好呢?我们不能拥有所有美好的事物吗?

  8. avmich

    当他提到运费时,我就跟不上他的论证逻辑了:

    > 我每颗价值 1 美元的芯片要支付 60 到 200 美元的运费,而其他地方的人却能享受免运费。

    紧接着又说:

    > 10 美分的零件和 1 美元的零件之间的差异绝不是四舍五入的误差,也不是你在讨论编码等有趣话题时可以随意略过的细节。

    当运费如此昂贵时,1 美元和 0.10 美元的单位成本差异难道不是变得不那么重要了吗?

同日更多故事

2026-08-16