计算机基础实战课
彭东
网名 LMOS,Intel 傲腾项目关键开发者
19719 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 57 讲
计算机基础实战课
15
15
1.0x
00:00/00:00
登录|注册

02|RISC特性与发展:RISC-V凭什么成为“半导体行业的Linux”?

你好,我是 LMOS。
上节课,我带你见证了两种计算机指令集的设计结构——CISC 与 RISC。而今天我们的“主角”就是 RISC 中的一个代表性特例,它就是 RISC-V。
作为未来芯片指令集的主流,RISC-V 是今后芯片设计的最佳方案,甚至可以说它就是硬件行业里的 Linux。
为什么这么说呢?这节课,我会从 RISC-V 发展历史、原理与技术特性几个方面入手,带你弄明白为什么 RISC-V 在半导体行业中发展得如此迅猛。

RISC-V 从何而来

让我们“穿越时空”,把时间线拉回到 2010 年。在加州伯克利分校的校园中,Krste Asanovic 教授正为了学生们学习计算机架构而发愁。由于现存芯片指令集冗余且专利许可费用昂贵,还有很多 IP 法律问题,没有一款合适的 CPU 用于学习。
于是他想要带领一个研究团队,来设计一款用于学生学习的 CPU。研究团队在选择架构的时候,对比了传统已经存在的 ARM、MIPS、SPARC 以及 x86 架构等,发现这些架构指令集要么极其复杂,要么极其昂贵。所以,他们的研究团队最终决定设计一套全新的指令集。
这个研究团队最开始只有 4 个人,却在三个月之内完成了指令集原型开发,其能力可见一斑。后来,这个项目被计算机体系结构方面的泰斗 David Patterson 发现,并且得到了他的大力支持。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

RISC-V指令集架构作为未来芯片设计的主流方案,被誉为硬件行业的Linux。文章从RISC-V的发展历史、原理与技术特性几个方面入手,解析了RISC-V的独特之处。RISC-V源自加州伯克利分校的研究团队,他们设计了一套全新的指令集,并在2011年进行了首次流片。RISC-V的命名方式以及指令集模块的灵活性使其适应不同的应用场景,降低了CPU的实现成本。文章还介绍了RISC-V的寄存器结构,其中包括32个通用寄存器和一个PC寄存器,以及额外支持F/D扩展指令集的32个浮点寄存器。RISC-V的开放许可证书、免费使用以及良好的生态环境,使其在半导体行业中发展迅猛。 RISC-V指令集架构作为未来芯片设计的主流方案,被誉为硬件行业的Linux。文章从RISC-V的发展历史、原理与技术特性几个方面入手,解析了RISC-V的独特之处。RISC-V源自加州伯克利分校的研究团队,他们设计了一套全新的指令集,并在2011年进行了首次流片。RISC-V的命名方式以及指令集模块的灵活性使其适应不同的应用场景,降低了CPU的实现成本。文章还介绍了RISC-V的寄存器结构,其中包括32个通用寄存器和一个PC寄存器,以及额外支持F/D扩展指令集的32个浮点寄存器。RISC-V的开放许可证书、免费使用以及良好的生态环境,使其在半导体行业中发展迅猛。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《计算机基础实战课》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(31)

  • 最新
  • 精选
  • 听水的湖
    置顶
    又见面啦,我是这门课的编辑小新。 以下是下节课的预告和“预习作业”: 下个模块开始手写CPU啦(8月1日更新),我们这次用Verilog语言写。老师正奋战中,把配套代码等等都为大家准备上,大伙儿可以趁等待更新这周吸收消化下前两节课。 还可以看看下面的“预习”作业: 1.第一季也有一篇内容稍微涉及了一点Verilog语言,代码也不多,会带你实现一个可以计算任意 N 位二进制数的 ALU。迫不及待的同学可以先行去瞅瞅,找个感觉:https://time.geekbang.org/column/article/409790 2.也许你之前并没接触过硬件语言,但对比学习大法还是很不错的。可以先自行思考一下Verilog语言和我们熟悉的软件编程所用语言有哪些不同,带着疑问学习,效果加倍哦。答案我们将在后面揭晓!

    作者回复: 比心

    2022-07-25
    21
  • pedro
    为什么riscv需要定义不同的特权级? 这并不是riscv独有的,让我们把注意力回到老朋友intel上。 事实上,cpu刚出现的那段时间里,压根就没有特权级这个概念,任何人都是实打实土皇帝,但是这样怎么管理?应用程序之间经常打架斗殴,搞不好还把机器搞垮了。 然后inter的那帮人就搞出了一个特权级的概念,你虽然想打架,但我不准你打,你出手,我就红牌,然后大家都老实了,系统运行就很稳定了。 说了这么多,特权级无非是让大家守规矩,讲安全,和谐共生。

    作者回复: 我p哥 66666

    2022-07-20
    8
    45
  • lifetime
    问个小白才会问到的问题? 硬件CPU的“源代码”指的是什么? 对于ARM是售卖“源代码”存活的,那么它的“源代码”是指指令集的定义,寄存器的定义,特权级的定义吗,以及如何实现特权级的转换,寄存器如何使用等的规范? 我觉得是不是除了这些规范,还会包含CPU的内部结构,那些晶体管的摆放和连接设计图纸呀?

    作者回复: 设计CPU的资料

    2022-10-23归属地:湖北
    3
  • 仰望星空
    为什么RISC-V要定义特权级?主要是为了系统能稳定和安全的运行,设想一下如果没有特权级,任何应用都能任意访问所有硬件,这必将会是一场灾难

    作者回复: 是的 是的 学的明白

    2022-07-21
    3
  • 可爱因子1/n
    就像老师上课讲到的,设置特权级就是给指令加上了权力,这样的话应用程序所执行的指令就只能做自己权利范围以内的事情,避免对其他的应用程序产生不必要的干扰和破坏,维持这个生态的稳定和平衡

    作者回复: 正确 理解到位

    2022-07-21
    3
  • 青玉白露
    特权级是为了能够实现资源隔离、权限管理所设置的。之后实现的操作系统就需要用到他

    作者回复: 哈哈 对的

    2022-07-20
    3
  • 苏流郁宓
    俺觉得特权级区分用户软件与操作系统功能,在操作系统那边讲过,亮点应该是硬件线程,任意时刻只能运行在一个特权级上。这算不算是在安全与好用上做平衡?算不算是RISCv指令集对cpu发展的贡献?

    作者回复: 是的 其它CPU的核心 也是一样的 同一时间只用运行在一个特权级上

    2022-07-21
    2
  • J
    RISC-V定义特权级,有助于保护系统资源不被滥用和破坏,不会因为低特权程序的bug或恶意代码破坏环境。

    作者回复: 对 正确的

    2022-07-20
    2
  • 尹小白
    开放,简单,模块化

    作者回复: 是的

    2022-12-12归属地:湖北
    1
  • 揭晓林
    老师和同学们好,我这边想补充两个点: 1. 在RSIC-V因何流行那里,老师写的是“之前硬件和软件一样,都是小心地保护自己的 “源代码” ”这里是否将“硬件”和“软件”互换位置更顺畅一点?因为后面讲的是“直到后来,软件界出现了开源的 Linux” 2. 评论区有人评论特权级是如何切换的:我在B站看哈工大的操作系统课程时,第5讲里说到是用段寄存器来实现的,CPL(Current Privilege Level 当前的特权级) 和 DPL (Descriptor Privilege Level,目标段)。在操作系统启动的时候会初始化好。当用户程序执行的时候,会判断两个寄存器的值。

    作者回复: 嗯嗯

    2022-10-15归属地:湖北
    1
收起评论
显示
设置
留言
31
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部