打印
[其他]

RISC-V 的语言:指令集介绍

[复制链接]
613|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
对于一台计算机来说,最基础的组成是什么?硬件是芯片,软件是操作系统。而对于处理器架构来说,最核心的部分是指令集体系结构(Instruction Set Architecture,ISA)指令集是计算机硬件与软件真正的交界处。它以指令的形式,定义了 CPU 可对外提供的操作,就像是 CPU 的语言;而 CPU 的执行又依赖外界向它输入的指令。再庞大的软件也是由文本形式的源代码,编译成一条条二进制指令,交由 CPU 来执行,从而构成我们今天的信息世界。当前业界比较流行的指令集设计采用的是增量式方法,即增加新指令时,要做到保持向后二进制兼容。这看起来似乎没什么问题,但已经被弃用甚至是存在错误的旧有指令也要一并保留下来,这就会造成指令集无谓的庞大,变得臃肿、冗杂。作为后发者的 RISC-V,自然就在设计之初,避免了增量式带来的问题,采用了模块化的设计方法。模块化设计方法,就是设计一个最小集合和最基础的指令集。最小指令集可以完整地实现一个软件栈,其他特殊功能的指令集可以在最小指令集的基础上,通过模块化的方式叠加实现。这也就是为什么 RISC-V 可以根据应用场景,实现差异化的定制。它在设计原则上就避开了摊大饼式的增量陷阱,而采用了搭乐高式的灵活拼装方式。RISC-V 针对 32 位处理器的最小指令集是 RV32I,针对64 位的是RV64I。在 RV32I 和 RV64I 的基础上,RISC-V 还定义了一级扩展指令集。芯片设计者可以根据业务需求选择扩展指令集。具体描述如下表所示:

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

435

主题

1620

帖子

3

粉丝