问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

RISC-V:开源指令集的崛起之路

创作时间:
作者:
@小白创作中心

RISC-V:开源指令集的崛起之路

引用
1
来源
1.
https://www.taoyukai.com/docs/riscv/risc-v%E7%AE%80%E4%BB%8B

RISC-V是一种开源的精简指令集架构,近年来在全球范围内受到广泛关注。本文将为您介绍指令集架构的基本概念,并详细阐述RISC-V的诞生背景、发展历程及其在CPU领域的未来前景。

1. 指令集架构ISA

了解RISC-V之前,先熟悉一个概念,指令集架构(InstructionSetArchitecture,ISA)。

还记得用C语言的编写的hello world程序吗?

void main()  
{  
    printf("Hello, World!");  
}  

该程序在PC、8位MCU、32位MCU这些不同的平台上都能正常运行,这是为什么呢?

答案就是有一套标准规范,正因为编译器和芯片设计时都遵循这套规范,使得高级语言编写的程序经指定编译器编译后能直接运行在对应的芯片上。

这套标准规范就是指令集架构(Instruction Set Architecture,ISA)。

ISA主要分为复杂指令集(Complex Instruction Set Computer,CISC)和精简指令集(Reduced Instruction Set Computer,RISC),典型代表如下:

类型
名称
特点
应用领域
复杂指令集CISC
x86
性能高速度快兼容性好
PC服务器
精简指令集RISC
ARM
生态成熟非离散需授权
移动设备嵌入式设备
RISC-V
开源模块化简洁可拓展
物联网人工智能边缘计算

ISA是底层硬件电路面向上层软件程序提供的一层接口规范,即机器语言程序所运行的计算机硬件和软件之间的“桥梁”。ISA主要定义了如下内容:

  • 基本数据类型及格式(byte、int、word……)
  • 指令格式,寻址方式和可访问地址空间大小
  • 程序可访问的通用寄存器的个数、位数和编号
  • 控制寄存器的定义
  • I/O空间的编址方式
  • 异常或中断的处理方式
  • 机器工作状态的定义和切换
  • ……

ISA规定了机器级程序的格式和行为,即ISA具有软件看得见(能感觉到)的特性,因此用机器指令或汇编指令编写机器级程序时,必须熟悉对应平台的ISA。

不过程序员大多使用高级语言(C/C++、Java)编写程序,由工具链编译转换为对应的机器语言,不需要了解ISA和底层硬件的执行机理。

2. 开源指令集RISC-V

RISC由美国加州大学伯克利分校教授David Patterson发明。

RISC-V(读作”risk-five“),表示第五代精简指令集,起源于2010年伯克利大学并行计算实验室(Par Lab) 的Krste Asanovic教授、Andrew Waterman和Yunsup Lee研究生的一个项目(该项目也由David Patterson指导),希望选择一款指令集用于科研和教学,该项目在x86、ARM等指令集架构中徘徊,最终决定自己设计一个全新的指令集,RISC-V由此诞生。RISC-V的最初目标是实用、开源、可在学术上使用,并且在任何硬件或软件设计中部署时无需版税。

2015年,为了更好的推动RISC-V在技术和商业上的发展,3位创始人做了如下安排:

  • 成立RISC-V基金会,维护指令集架构的完整性和非碎片化
  • 成立SiFive公司,推动RISC-V商业化

2019年,RISC-V基金会宣布将总部迁往瑞士,改名RISC-V国际基金会

通过十多年的发展,RISC-V这一星星之火已有燎原之势。倪光南院士表示,未来RISC-V很可能发展成为世界主流CPU之一,从而在CPU领域形成Intel (x86)、RAM、RISC-V三分天下的格局。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号