RISC-V指令集架构因设计缺陷面临严厉质疑[1]。评论指出,该架构在中断处理效率上明显落后于竞品,其中Cortex-M0的中断开销为27个周期,而RISC-V RV32I则需44个周期,即使精简的RV32E版本也仍需38个周期[1]。在寻址能力方面,RISC-V压缩指令的字节存储偏移范围仅为0-3,远低于Cortex-M0的0-31[1]。
架构的过度模块化进一步加剧了问题[1]。乘法、除法、用户模式、监管模式和控制状态寄存器(CSR)等关键功能均被设为可选项[1],甚至misa寄存器本身也是可选的,且允许返回全零[1]。这种设计导致严重的标准碎片化——现有RISC-V单板计算机(如VisionFive 2、Banana Pi BPI-F3等)均不符合RVA23规范[1]。编码混乱问题同样突出,相同的字节序列0xA002在不同核心可表示C.FSDSP(浮点存储)或CM.JT(跳转)两种完全不同的指令[1]。
此外,RISC-V在关键指令方面存在明显缺陷[1]。架构缺少位操作指令,而在aarch64内核镜像中发现的35,393个TBZ/TBNZ指令(位测试分支)显示此类指令平均每两个函数使用一次[1]。Zba扩增(移位加法)这样的基础优化功能直到基础规范发布两年后才被批准[1]。评论认为,RISC-V最终只能凭借低成本优势在嵌入式领域占得一席之地,不适合高性能计算应用[1]。
A detailed technical critique has identified significant design flaws across multiple aspects of the RISC-V instruction set architecture.[1] The analysis reveals that excessive optional extensions have fragmented the standard, with essential features such as multiplication, division, user mode, supervisor mode, and control and status registers (CSRs) all designated as optional rather than mandatory.[1] Additionally, the misa register itself is optional under the Zicsr extension and may return all zeros, further complicating implementation consistency.[1]
Interrupt handling efficiency emerges as a critical performance gap compared to competing architectures.[1] The Cortex-M0 processes interrupts in 27 cycles, whereas RISC-V's RV32I requires 44 cycles and RV32E still demands 38 cycles.[1] Memory addressing capabilities also lag behind established standards: the compressed instruction format in RISC-V supports byte storage offsets only in the 0–3 range, while Cortex-M0 accommodates 0–31.[1] The absence of crucial bit manipulation instructions is particularly evident in real-world kernel implementations, where analysis of an aarch64 kernel image identified 35,393 test-and-branch bit instructions (TBZ/TBNZ), averaging one occurrence per two functions.[1]
Encoding ambiguities compound these structural issues.[1] The identical byte sequence 0xA002 can represent either a floating-point store operation (C.FSDSP) or a jump instruction (CM.JT) depending on the processor core, creating potential for implementation inconsistencies.[1] Furthermore, critical architectural extensions have been approved only long after initial standardization—the Zba extension for shift-add operations received approval two years after the base specification was released.[1] Current RISC-V single-board computers, including VisionFive 2 and Banana Pi BPI-F3, do not conform to the RVA23 specification.[1] The critique concludes that RISC-V is positioned primarily for cost-sensitive embedded applications rather than high-performance computing domains.[1]