RISC-V 简介|学习笔记

简介: 快速学习 RISC-V 简介

开发者学堂课程【高校精品课-大连理工大学-计算机组织与结构:RISC-V 简介】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/3/detail/16048


RISC-V 简介

 

内容介绍

一、处理器的发展历史

二、RISC-V 处理器的诞生

三、RISC-V 的特点

四、RISC-V 指令集

五、RISC-V 的发展

 

一、处理器的发展历史

X86处理器是典型的复杂指令集的处理器架构。最早的版本包括8086,8088,后续有286,386,486的分腾以及现在64位的版本。X86处理器在桌面得到了大规模的应用,包括在服务器也有广泛的应用。特点是处理器本身比较复杂,无论是指令的条数或者是寻回方式相对是比较多,功能也比较强大,但是功能越强大就越复杂,维护的成本也相对较高,升级也存在一些压力。

ARM处理器采用精简指令集处理器架构,和复杂指令集恰好相反,无论是处理器结构还是指令的条数或者寻址方式都是向着小向着简单的方向去发展。它的特点是每一条指令比较简短,执行起来的速度比较快,整体的性能比X86的这种复杂指令集的处理器的性能要好一些。

RISC-V 处理器是由国外设计的,最近两三年在国内开始大规模发展起来。特点是开源、简单、精简指令集。

从指令集特点上和 ARM 处理器是一样的,但是它的突出的特性就是开源,每个人都可以拿到它的源代码,然后基于源代码再做处理器的设计。

说到精简指令集计算机不得不提 David Patterson,他是计算机体系结构领域享誉世界的科学家,他最早提出了精简指令集计算机即 RISC 概念,他现在是加州大学伯克利分校电子工程与计算机科学学院的 Pardee 荣誉教授同时也是清华大学的荣誉博士,谷歌公司的杰出工程师,RISC-V 基金会创始人。

 

二、RISC-V 处理器的诞生

在2010年,伯克利的研究团队要设计一款 CPU,然而英特尔对 X86的授权卡的很严,ARM 的指令集授权很贵,MIPS、SPARC、Open  Power 也都需要各自公司的授权。

伯克利的研究团队决定从零开始设计一套全新的指令集,4名成员仅仅用了3个月完成了 RISC-V 的指令集的开发

2019年,伯克利研究团队已经完成了基于 RISC-V 指令集的顺序执行的64位处理器核心(代号为Rocket)与ARM Cortex-A5相比实测性能较高10%,面积效率提高49%,单位频率动态功耗仅为 Cortex-A5的43%。

 

三、RISC-V 的特点

大道至简

-简单、可靠

无病一身轻

-没有历史包袱

-更好的采用计算机设计的优秀成果

能屈能伸

-模块化设计

开源

-三分天下

第一个设计的理念是大道至简,就是处理器设计是沿着简单的方向尽可能的去发展。因为简单,所以可靠,所以迭代也会比较快,也会比较容易维护。

第二点叫做无病一身轻就是没有历史包袱,从 X86处理器诞生的历史来看,有好几十年的历史。处理器随着功能的不断升级,每一种推出的一个新处理器,都对历史上的处理器能够保持兼容。一方面对用户来说是好的,以前的资源不会被浪费,但是也有坏处,要保证兼容性,在设计上不得已采用了很多折中办法,很多非常优良的特性受到限制就没有办法在新型号的处理器上得到应用。所以他有比较有历史包袱,但是 RISC-V 是全新设计的处理器,所以他没有历史包袱。可以更好地采用计算机设计界当前的最优秀的成果都可以用上。

第三个叫做能屈能伸,它采用模块化设计。这个处理器由若干模块组成,比如说有的支持定点数,当然都支持定点数有的支持浮点数,有的支持乘除法指令,还有的支持 DSP 指令,有的支持压缩指令等等等等,需要什么功能就可以把这个模块叠加上。

最后一个是开源,ARM 公司获得授权之后,可以拿到他的设计方案,然后在此基础上叠加自己的设计,然后做流片制造出自己的处理器,但是 ARM 公司可以授权,也可以不授权,但是 RISC-V 处理器的优点就是开源,可以拿到它的设计方案,可以拿到它的源码,然后基于它的源码再做设计,正是因为它具有开源的优良特点,它的发展速度特别快,将来可能会形成一个三分天下的一个态势,就是 X86处理器 ARM 处理器还有 RISC-V 处理器三分天下。

 

四、RISC-V 指令集

RISC-V 的指令集是一个典型的三操作数 loads tor 形式的 RISC 架构,包括三个基本指令集和六个扩展指令集,他的基本指令集是整数运算的指令集,

image.png

包括 RV32I,那这个就是整数指令,包括像算数指令分支指令访存指令,是32位的寻址空间,它有32个32位寄存器在下面这个 RV32E 这个其实是 RV32I 的一个子集。他的指令是和 RV32I 是一样的,只不过寄存器数量变成了16个,它是用在嵌入式环境。

下面这个 RV64I,那么这个是整数指令,它是64位的寻址空间有32个64位寄存器。RV128I 是整数指令,128位寻址空间,它仍然是32个128位的寄存器。从它的命名方式来看到这三个基本指令集后缀都是 I 也就是整数指令集RV当然就是 RISC-V 的意思,然后他的内宽就是32,64和128。

另外还有六个扩展指令集,它的名称标记分别是 M、A、F、D、Q、C,分别代表乘除法指令集,原子操作指令集,还有单精度浮点运算,双精度浮点运算,四倍精度浮点运算指令,最后一个是压缩指令,这就是RISC-V的典型的指令集。

 

五、RISC-V 的发展

国外有一个比较有代表性的处理器就是 Rocket,是 uc berkeley 设计的一款64位的五级流水线单发射顺序执行的处理器,支持内存管理单元,所以他可以跑一个 Linux。

image.png

把 Rocket 和 ARM 的 Cortex-A5做一个对比,从寄存器宽度来看,A5是32位,Rocket 是64位,后者是前者的两倍。从主频来看,二者都是大于1G 赫兹这个特性呢,那么这二者基本相同,从它的运行效率来看我们看后者是1.72,而前者是1.57,后者是前者的1.1倍,它的面积分成两种,不包括 Cache 和包含16KBCache 两种情况,它们的面积分别是零点二七和零点一四,所以面积 Rocket 要比 ARM Cortex-A5少一半,包含 Cache 的是零点五三,那是零点三九,后者是前者的零点七倍,从动态功耗来看,A5小于零点零八,Rocket 是零点零三四。从这个表上可以发现与Cortex-A5相比,Rocket本身规模比较小,但是能获得更好的性能。

image.png

这个也是 uc berkeley 设计的,它是64位的超标量乱序执行的处理器,它支持 RV64G,这个处理器的设计只用了9000行的代码。

把它和 Cortex-A9做一个对比,从他的架构上来看,那么A9是32位的 ARMv7的版本,Boom 是64位的RISC-V的RV64G版本,从微架构上来看他是四发射,那个是三发射,流水线级数八级、六级,性能3.59,3.91,后面这个会好一些。采用的工艺都是台积电的40纳米,面积包含32K 缓存的面积,A9是约2.5平方毫米,BOOM 是约1.0平方毫米,显然BOOM要小很多,主频二者差不多,功耗是零点儿九到一点儿九,这是零点二五,功耗看起来还是这个 BOOM要表现更好。实际上ARM 处理器的一大特点就是功耗低,但是 RISC-V 处理器功耗更低。

国外还有其它的一些基于 RISC-V 的处理器,有印度理工学院设计的,还有 VectorBlox 公司设计的嵌入式应用处理器,苏黎世联邦理工大学和博罗尼亚大学联合设计的处理器,还有东京工业大学 UCB 伯克利还开发了其他两款这一个是向量处理器,还有针对嵌入式环境的单发射标量处理器,还有一个萨格勒布大学的设计的这个处理器,这些就是国外的典型的 RISC-V 处理器。

比较有代表性的就是阿里巴巴的全资的子公司,平头哥半导体有限公司,他们也在做基于 RISC-V 的处理器,

 image.png

平头哥成立于2018年,它是阿里巴巴集团的全资半导体芯片的设计的,子公司主要产品叫做玄铁处理器,分成两个系列八系列和九系列。

image.png

第二个,是赛昉科技有限公司,成立于2018年,他也在处理器设计方面比较有经验,它有一系列的处理器产品包括天书系列的处理器内核,U 系列、S 系列、E 系列、X 系列和 P 系列等,有不同类型的处理器内核,它也是基于RISC-V的架构。

有一个就是中科院计算所,在2021的6月21日首届 RISC-V 中国峰会在上海科技大学开幕,中科院计算所在会上发布了香山处理器也是基于 RISC-V 的设计。

相关文章
|
4月前
|
缓存 安全 程序员
【ARM学习】Cortex- A系列程序员学习指南
【ARM学习】Cortex- A系列程序员学习指南
108 0
|
7月前
|
存储 程序员
指令系统简介
一、指令系统简介 指令系统是计算机硬件和软件之间的接口,它定义了计算机能够理解和执行的指令集合。指令系统决定了计算机的操作范围、功能和性能。 指令系统包括以下几个方面: 1. 指令集:指令集是计算机能够执行的指令的集合。它定义了计算机能够完成的操作,如算术运算、逻辑运算、数据传输等。指令集可以分为简单指令集和复杂指令集两种类型。 - 简单指令集:包括基本的算术和逻辑操作指令,如加法、减法、与、或等。这种指令集的优点是指令简单,易于实现和执行,但功能相对有限。 - 复杂指令集:除了基本的算术和逻辑操作指令外,还包括更复杂的指令,如乘法、除法、浮点运算等。这种指令集的优点是功能丰富,可以完成更复杂
115 0
|
12月前
|
机器学习/深度学习 人工智能 算法
|
存储 缓存 人工智能
玄铁 E906处理器简介|学习笔记
快速学习玄铁 E906处理器简介
1723 0
玄铁 E906处理器简介|学习笔记
|
9月前
|
存储 机器学习/深度学习 安全
【RISC-V 理论篇】概述
【RISC-V 理论篇】概述
213 0
|
12月前
|
存储 编译器 开发工具
玄铁RISC-V处理器入门与实战-平头哥RISC-V 工具链-RISC-V工具链简介
玄铁RISC-V处理器入门与实战-平头哥RISC-V 工具链
352 0
|
12月前
|
开发工具 芯片 开发者
|
12月前
|
IDE 开发工具 芯片
玄铁RISC-V处理器入门与实战-RISC-V 应用领域开发示例-基于RVB2601应用开发示例(中)
玄铁RISC-V处理器入门与实战-RISC-V 应用领域开发示例-基于RVB2601应用开发示例
|
12月前
|
芯片
玄铁RISC-V处理器入门与实战-RISC-V 应用领域开发示例-基于RVB2601应用开发示例(下)
玄铁RISC-V处理器入门与实战-RISC-V 应用领域开发示例-基于RVB2601应用开发示例
|
12月前
|
物联网 芯片 开发者
玄铁RISC-V处理器入门与实战-RISC-V 应用领域开发示例-基于RVB2601应用开发示例(上)
玄铁RISC-V处理器入门与实战-RISC-V 应用领域开发示例-基于RVB2601应用开发示例