0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RISC-V开源指令集全面指南与解析

智能计算芯世界 来源:智能计算芯世界 2024-03-13 09:41 次阅读

RISC-V 是一个最新的,清晰的,简约的,开源的 ISA,它以过去 ISA 所犯过的错误为鉴。RISC-V 架构师的目标是让它在从最小的到最快的所有计算设备上都能有效工作。遵循冯诺依曼 70 年前的建议,这个 ISA 强调简洁性来保证它的低成本,同时有着大量的寄存器和透明的指令执行速度,从而帮助编译器和汇编语言程序员将实际的重要问题转换为适当的高效代码。 本文来自“RISC-V手册开源指令集指南”。RISC-V(“RISC five”)的目标是成为一个通用的指令集架构(ISA):

它要能适应包括从最袖珍的嵌入式控制器,到最快的高性能计算机等各种规模的处理器

它应该能兼容各种流行的软件栈和编程语言。

它应该适应所有实现技术,包括现场可编程门阵列(FPGA)、专用集成电路ASIC)、全定制芯片,甚至未来的设备技术。

它应该对所有微体系结构样式都有效:例如微编码或硬连线控制;顺序或乱序执行流水线; 单发射或超标量等等。

它应该支持广泛的专业化,成为定制加速器的基础,因为随着摩尔定律的消退,加速器的重要性日益提高。

它应该是稳定的,基础的指令集架构不应该改变。更重要的是,它不能像以前的专有指令集架构一样被弃用,例如AMD Am29000、Digital Alpha、Digital VAX、Hewlett Packard PA-RISC、Intel i860、Intel i960、Motorola 88000、以及Zilog Z8000。

RISC-V的不同寻常不仅在于它是一个最近诞生的指令集架构(它诞生于最近十年,而大多数其他指令集都诞生于20世纪70到80年代),而且在于它是一个开源的指令集架构。与几乎所有的旧架构不同,它的未来不受任何单一公司的浮沉或一时兴起的决定的影响(这一点让许多过去的指令集架构都遭了殃)。它属于一个开放的,非营利性质的基金会。

RISC-V基金会的目标是保持RISC-V的稳定性,仅仅出于技术原因缓慢而谨慎地发展它,并力图让它之于硬件如同Linux之于操作系统一样受欢迎。 计算机体系结构的传统方法是增量ISA,新处理器不仅必须实现新的ISA扩展,还必须实现过去的所有扩展。目的是为了保持向后的二进制兼容性,这样几十年前程序的二进制版本仍然可以在最新的处理器上正确运行。这一要求与来自于同时发布新指令和新处理器的营销上的诱惑共同导致了ISA的体量随时间大幅增长。 例如,图1.2显示了当今主导ISA80x86的指令数量增长过程。这个指令集架构的历史可以追溯到1978年,在它的漫长生涯中,它平均每个月增加了大约三条指令。

c3fe879a-e0d1-11ee-a297-92fbcf53809c.png

这个传统意味着x86-32(我们用它表示32位地址版本的x86)的每个实现必须实现过去的扩展中的错误设计,即便它们不再有意义。例如,图1.3描述了x86的ASCII Adjust afterAddition(aaa)指令,该指令早已失效。

c42578c8-e0d1-11ee-a297-92fbcf53809c.png

作为一个类比,假设一家餐馆只提供固定价格的餐点,最初只是一顿包含汉堡和奶昔的小餐。随着时间的推移,它会加入薯条,然后是冰淇淋圣代,然后是沙拉,馅饼,葡萄酒,素食意大利面,牛排,啤酒,无穷无尽,直到它成为一顿大餐。食客可以在那家餐厅找到他们过去吃过的东西,尽管总的来说这样做可能没什么意义。这样做的坏处是,用餐者为每次晚餐支付的宴会费用不断增加。

RISC-V的不同寻常之处,除了在于它是最近诞生的和开源的以外,还在于:和几乎所有以往的ISA不同,它是模块化的。它的核心是一个名为RV32I的基础ISA,运行一个完整的软件栈。

RV32I是固定的,永远不会改变。这为编译器编写者,操作系统开发人员和汇编语言程序员提供了稳定的目标。模块化来源于可选的标准扩展,根据应用程序的需要,硬件可以包含或不包含这些扩展。这种模块化特性使得RISC-V具有了袖珍化、低能耗的特点,而这对于嵌入式应用可能至关重要。RISC-V编译器得知当前硬件包含哪些扩展后,便可以生成当前硬件条件下的最佳代码。

惯例是把代表扩展的字母附加到指令集名称之后作为指示。例如,RV32IMFD将乘法(RV32M),单精度浮点(RV32F)和双精度浮点(RV32D)的扩展添加到了基础指令集(RV32I)中。 在介绍 RISC-V 这个 ISA 之前,了解计算机架构师在设计 ISA 时的基本原则和必须做出的权衡是有用的。如下的列表列出了七种衡量标准。页边放置了对应的七个图标,以突出显示 RISC-V 在随后章节中应对

审核编辑:黄飞

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 集成电路
    +关注

    关注

    5321

    文章

    10739

    浏览量

    353416
  • 指令集
    +关注

    关注

    0

    文章

    206

    浏览量

    23173
  • RISC-V
    +关注

    关注

    41

    文章

    1904

    浏览量

    45047

原文标题:RISC-V开源指令集指南

文章出处:【微信号:AI_Architect,微信公众号:智能计算芯世界】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    RISC-V开放架构设计之道|阅读体验】RISC-V基础整数指令集RV32I

    本书第二至十章都是讲RISC-V指令集,最后第十一章讲了RISC-V的未来可选择扩展。本篇梳理学习基础指令集RV32I。 RV32I指令集
    发表于 01-28 11:41

    RISC-V开放架构设计之道|阅读体验】RV64指令集设计的思考以及与流水线设计的逻辑

    RISC-V开放架构设计之道, 是一本全面介绍RISC-V指令集架构设计、优化和实现的书籍。 书中详细介绍了RISC-V
    发表于 01-29 10:09

    RISC-V开放架构设计之道|阅读体验】RISC-V基础整数指令集

    第2章 RV32I:RISC-V基础整数指令集 本章重点讲解构成RISC-V基础整数指令集的基本指令
    发表于 01-31 21:10

    关于RISC-V开源处理器的一些解读

    近日,网络上出现对RISC-V开源处理器存在误读的文章,让一些读者产生困惑。本文将对处理器的指令集、微架构实现与开源模式等概念以及和RISC-V
    发表于 06-22 16:47

    学习RISC-V入门 基于RISC-V架构的开源处理器及SoC研究

    RISC-V架构的开源处理器与SoC。1 RISC-V简介1.1 RISC-V的基本设计RISC-V是一个典型三操作数、加载-存储形式的
    发表于 07-27 18:09

    RISC-V有哪些特点

    (VIA),ARM稍微好一点不过价格也是不菲,一直有“天下苦ARM久矣”的玩笑。那除了它们俩之外还有其他指令集架构吗?答案当然是有,我们今天说的RISC-V就是一个,而且还是开源免费的。  起于2010
    发表于 08-25 11:17

    ARM的指令集文章集合

    三、指令集如果你想要集中学习一下关于ARM指令集方面的知识(比如下面几个知识点),可以看下下面的文章1、机器码2、运算指令3、控制指令4、汇编指令
    发表于 09-07 22:06

    RISC-V架构简介

    RISC)原则的开源指令集架构(ISA)。与大多数指令集相比,RISC-V指令集可以自由地用于
    发表于 07-28 07:46

    什么是RISC-VRISC-V指令具有哪些特点应用?

    什么是RISC-VRISC-V指令具有哪些特点应用?自己怎么才能设计出设计一套指令集
    发表于 10-14 09:05

    RISC-V指令集架构微控制器相关知识

    本系列痞子衡给大家介绍的是RISC-V指令集架构微控制器相关知识。  RISC-V指令集最早要追溯到2010年,是加州大学伯克利分校的一个研究团队的项目,目标是设计一种新的
    发表于 12-16 06:24

    RISC-V的相关资料推荐

    RISC-V(发音为“risk-five”)是一个基于精简指令集RISC)原则的开源指令集架构(ISA),简易解释为
    发表于 12-24 08:08

    RISC-V-Reader-Chinese-v2p1 RISC-V手册(中文) RISC-V开源指令集指南

    RISC-V 手册 一本开源指令集指南 本书是由 RISC-V 设计者 DAVID PATTERSON等亲自写的书。书写的非常精彩,和
    发表于 04-22 18:04

    RISC-V简介

    RISC-V简介  RISC-V 是一个自由和开放的 ISA(开源指令集架构),通过开放的标准协作实现处理器创新的新时代。RISC-V IS
    发表于 02-27 19:56

    我了解的RISC-V

    RISC-V(发音为“risk-five”)是一个基于精简指令集RISC)原则的开源指令集架构(ISA)。 与大多数
    发表于 03-19 10:52

    risc-v是什么意思

    基于“精简指令集RISC)”原则的开源指令集架构。  指令集:存储在CPU内部,引导CPU进行运算,并帮助CPU更高效运行,介于软件和底层
    发表于 03-30 16:40