大数跨境
0
0

新书访谈 |《RISC-V体系结构编程与实践》

新书访谈 |《RISC-V体系结构编程与实践》 蘑菇云创客空间
2023-05-09
2
导读:5月11日 19:30-21:00
 
 

Keep Moving 

保持·热爱

新书访谈

分享

开放夜

《RISC-V体系结构编程与实践》



《RISC-V体系结构编程与实践》作者访谈来啦!


RISC-V指令集架构作为计算机领域的新宠,正逐渐受到人们的关注和认知。那么学习RISC-V编程需要哪些必备知识和经验?本次访谈中,我们将邀请该书的作者与您一起分享精彩的内容!

RISC-V

#1

分享内容


在本书中,您将能够学习到RISC-V体系结构的基础概念,了解编程工具、硬件和系统设计等方面的内容。此外,书中还提供了多个编程实例,使初学者能够快速掌握RISC-V编程技能。我们也将和作者一起讨论RISC-V指令集架构的特点和应用场景,探讨其在计算机体系结构和未来计算技术领域中的优越性。



值得一提的是,本书针对不同程度和需求的读者提供了丰富的学习资源和资料,包括实验指导、编程挑战以及ReadTheDocs上的在线文档等。这些资源将为初学者提供有力支持,使他们更轻松地了解、学习和掌握RISC-V编程。


SHARE

STUDY

CREAT


#2

嘉宾介绍



笨叔

自由职业者,创建奔跑吧Linux社区,为广大开源爱好者分享知识和经验。著有《奔跑吧Linux内核:基础架构篇》、《奔跑吧Linux内核:调试与案例分析》、《奔跑吧Linux内核:入门篇》、《ARM64体系结构编程与实践》以及《RISC-V体系结构编程与实践》等多本著作。深入研究处理器架构和Linux内核,绝对行业大佬!


开放夜


#3

书籍介绍



01

RISC-V的缘起

2010 年时,加州大学伯克利分校的 Krste Asanovic 教授、Andrew Waterman 和 Yunsup Lee 共同设计发明。一个简洁、开放、免费的处理器体系结构 RISC-V 诞生了。RISC 是精简指令集计算机(Reduced Instruction Set Compute)的缩写,V 是罗马数字 5,是第五代指令集体系结构 的意思。所以它正确的读法应该是“risk five”。


02

RISC-V 体系结构特点

RISC-V 体系结构最基础的特点有三个——开源、精简、模块化。这三个特点为何如此受到业界青睐?通过与 x86 、ARM 的对比最容易说清楚问题。

 开源 

RISC-V 采用 BSD 开源协议,既不会受到单一商业体的控制,也不会有商业上的纠纷,有利于大规模推广。这要感谢加州大学伯克利分校对计算机科学事业的慷慨贡献。x86则是全封闭体系结构 ,只有 Intel 和 AMD 独享;使用 ARM 则要支付昂贵的授权费,也只有实力强大的厂商才玩得起。

 精简 

RISC-V 指令集和体系结构 设计说明文档只有几百页,而有些商业芯片则有数万页的文档。这说明RISC-V有着更强的可扩展性,这也是后发者的优势,可以摒弃掉很多繁杂冗余的设计,保留最实用的部分。

 模块化 

不同于 x86 与 ARM 这样的通用体系结构 ,RISC-V的用户可根据业务需求(例如弱计算、低功耗场景,或者智能化、高性能计算场景等)进行定制。


Intel 发布一款新处理器,微软就会升级软件把芯片的性能吃掉,行业大部分利润也就被如此收割。现在如今,我们正在进入人工智能(AI)+ 物联网(IoT)的 AIoT 时代,市场将会百花齐放,那么主导者会是谁?我想那一定是尽早在 RISC-V 体系结构上进行布局的远见者们。如果你不想错失这个未来最大的市场,要稳稳地站在风口上,就从《RISC-V 体系结构编程与实践》这本书开始学习吧。它包含了 RISC-V 体系结构、指令集、内存管理、实验环境搭建等内容,涵盖从理论到实践的完整过程。


我们先从 RISC-V 最具特色的指令集体系结构说起。


03

指令集介绍

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

04

轻松上手:搭建实验环境

要想从入门到不放弃,动手实际体验是必不可少的。可能你会产生一个疑问,学习 RISC-V 是不是还要先买块开发板?那编译、开发、调试是不是门槛很高?其实这不是必需的。《RISC-V 体系结构编程与实践》一书中给出了基于 QEMU 或者 NEMU 模拟器上进行实验的方法,而且作者团队奔跑吧 Linux 社区还提供了他们自研、开源的小型操作系统 BenOS。本书对初学者相当友好,可以说是“傻瓜式”的开局。QEMU 是使用最广泛的开源虚拟机软件,也是做系统底层开发和嵌入式开发的必备神器。NEMU 则是由南京大学实现,用于教学的计算机指令集体系结构模拟器。由中科院牵头研发出的香山高性能 RISC-V 处理器,就使用了 NEMU 进行前期指令集和体系结构的模拟。我们来看一下如何在 QEMU 上实现 RISC-V 版的“hello, world”吧。

准备工作

· 安装了 Linux 操作系统的主机。

· 从 GitHub 下载 BenOS 源码。

  https://github.com/runninglinuxkernel/BenOS

· 在 Linux 上安装下列工具:qemu-system-misc、libncurses5-dev、gcc-riscv64-linux-gnu、build-essential、git、bison、flex、libssl-dev。

编译BenOS

运行

大功告成!就这么简单。


内容来源:

公众号:异步社区

https://mp.weixin.qq.com/s/aM1uFj_TXCssSduhXBteag

活动信息

2023/5/11

时间:2023年5月11日19:30-21:00

地点:浦东新区博云路111号爱酷空间B1

直播入口


扫码报名


蘑菇云创客空间致力于提供一个创新开放的交流平台,如果你热爱创造,喜欢创新,那就来蘑菇云实现自己的奇思妙想。



-END-

【声明】内容源于网络
0
0
蘑菇云创客空间
蘑菇云是一个位于张江高科技园区的开放式创客空间,无论你是骇客,硬件高手,艺术家,设计师,DIY爱好者,在这里都能找到属于自己的一片天地。
内容 1081
粉丝 0
蘑菇云创客空间 蘑菇云是一个位于张江高科技园区的开放式创客空间,无论你是骇客,硬件高手,艺术家,设计师,DIY爱好者,在这里都能找到属于自己的一片天地。
总阅读1.2k
粉丝0
内容1.1k