RISC-V 手册 v2(一本开源指令集的指南)
位 RV32G 指令的短版本,它们几乎是没有代价的。汇编程序可以 选择指令大小,这使得汇编语言程序员和编译器忘记 RV32C。将 16 位 RV32C 指令转换成 32 位 RV32G 指令的硬件解码器只需要 400 个门,这即使在最简单的 RISC-V 实现中也只占 百分之几。 第八章介绍了向量扩展 RV32V。当与众多强大的单指令多数据(SIMD)指令(ARM- 32,MIPS-32,x86-32)相比时,向量指令成为了 尽管处理器的设计者们不能忽略 RV32C 的存在,但是有一个技巧可以让实现的代价变 小:在执行之前用一个解码器将所有的 16 位指令转换为等价的 32 位指令。图 7.6 到 7.8 列 出了解码器可以转换的 RV32C 指令的格式和操作码。最小的不支持任何扩展的 32 位 RISC-V 处理器要用到 8000 个门电路,而解码器只要 400 个门。如果它在这么小的设计中 都只占 5%的体量,那么它在约有 100,000 间切换。为了支持两套 ISA,硬件必须有两个指令解码器,一个用于 ARM-32, 一个用于 Thumb-2。RV32GC 是一个单独的 ISA,因此 RISC-V 处理器只需要一个解码器。 补充说明:为什么有些架构师不考虑 RV32C? 超标量处理器在一个时钟周期内同时取几条指令,因此译码阶段可能成为超标量处理器的 瓶颈。macrofusion 是另一个例子,其中指令解码器把 RISC-V 指令组合为更加强大的指令0 码力 | 164 页 | 8.85 MB | 1 年前3
共 1 条
- 1