RISC-V 体系结构特点和指令集介绍_第1页
RISC-V 体系结构特点和指令集介绍_第2页
RISC-V 体系结构特点和指令集介绍_第3页
RISC-V 体系结构特点和指令集介绍_第4页
RISC-V 体系结构特点和指令集介绍_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

RISC-V体系结构特点和指令集介绍曾在苹果、特斯拉、Intel、AMD等多家公司担任高管的芯片大神JimKeller在2022年的一次演讲中,宣称处理器的未来是属于RISC-V的。他认为,RISC-V未来将会超越现在的市场霸主x86与ARM。当年AMD能先于Intel推出划时代的64位x86处理器,就是JimKeller的功劳。JimKeller后来把硅谷的大厂转了个遍,每到一处必推出震动业界的处理器产品。能被芯片大神看好的RISC-V,究竟是何方神圣?01RISC-V的缘起此事要从计算机科学的圣地——加州大学伯克利分校说起。2010年时,加州大学伯克利分校的KrsteAsanovic教授、AndrewWaterman和YunsupLee共同设计发明。RISC-V也得到了图灵奖获得者DavidA.Patterson的支持,他可是计算机体系结构的权威大佬。他们做这件事的初衷是便于开展教学工作。业界虽有成熟的x86与ARM架构,但二者的架构过于复杂,并且存在高昂的授权费用。不过这能难倒加州大学伯克利分校计算机系吗?于是一个简洁、开放、免费的处理器体系结构RISC-V诞生了。RISC是精简指令集计算机(ReducedInstructionSetCompute)的缩写,V是罗马数字5,是第五代指令集体系结构的意思。所以它正确的读法应该是“riskfive”。

RISC-V在教学上便利的特点,其实也迎合了业界的强烈呼唤,所以短短几年内它就从学术走向了工业级应用。尤其是在2022年,RISC-V概念引爆市场,这一年也称为RISC-V的元年。展望未来,RISC-V攻城略地的本钱是什么?我们从它的体系结构来管窥一二。02后来者居上:RISC-V体系结构特点RISC-V体系结构最基础的特点有三个——开源、精简、模块化。这三个特点为何如此受到业界青睐?通过与x86、ARM的对比最容易说清楚问题。

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

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

模块化不同于x86与ARM这样的通用体系结构,RISC-V的用户可根据业务需求(例如弱计算、低功耗场景,或者智能化、高性能计算场景等)进行定制。纵观IT历史发展,最初市场由“Wintel”联盟(Windows+Intel)双巨头主导。Intel发布一款新处理器,微软就会升级软件把芯片的性能吃掉,行业大部分利润也就被如此收割。随后移动互联网的崛起,主导者变为了“AAA”(ARM、Android、Apple)。以谷歌为代表的互联网公司兴起,依托于Linux这样的开源软件,他们摆脱了微软的控制。ARM的授权生产模式,又孕育出了不少像高通这样成功的芯片制造企业。市场进一步开放,不再是寡头的时代。现在如今,我们正在进入人工智能(AI)+物联网(IoT)的AIoT时代,市场将会百花齐放,那么主导者会是谁?我想那一定是尽早在RISC-V体系结构上进行布局的远见者们。如果你不想错失这个未来最大的市场,要稳稳地站在风口上,就从《RISC-V体系结构编程与实践》这本书开始学习吧。它包含了RISC-V体系结构、指令集、内存管理、实验环境搭建等内容,涵盖从理论到实践的完整过程。

点击封面,即可购书

我们先从RISC-V最具特色的指令集体系结构说起。03理解RISC-V的语言:指令集介绍对于一台计算机来说,最基础的组成是什么?硬件是芯片,软件是操作系统。而对于处理器架构来说,最核心的部分是指令集体系结构(InstructionSetArchitecture,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源码。/runninglinuxkernel/BenOS·

在Linux上安装下列工具:qemu-system-misc、libncurses5-dev、gcc-riscv64-linux-gnu、build-essential、git、bison、flex、libssl-dev。编译BenOS运行大功告成!就这么简单。05结语目前市面上主流的技术架构是终端使用ARM芯片,服务端使用x86的CPU。但这样设计架构,企业就需要维护两套技术体系的研发,从资源使用角度来说相当不经济。RISC-V让全平台底层技术栈的统

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论