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 在随后章节中应对

审核编辑:黄飞

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

    关注

    5387

    文章

    11536

    浏览量

    361657
  • 指令集
    +关注

    关注

    0

    文章

    223

    浏览量

    23378
  • RISC-V
    +关注

    关注

    45

    文章

    2271

    浏览量

    46133

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

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

收藏 人收藏

    评论

    相关推荐

    浅谈RISC-V指令集架构的来龙去脉

    最近和几个行业内的朋友聊天,聊到了近两年比较火的AI人工智能,并向我推荐了一款目前在小范围内比较火的国产处理器,我查了一下该处理器是采用的开源RISC-V指令集架构。曾有人将RISC-V
    的头像 发表于 01-24 17:42 6305次阅读

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

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

    RISC-V指令集的特点总结

    开源 定义:RISC-V 是完全开源指令集架构(ISA),意味着任何人都可以查看、使用、修改以及分发其设计,而无需支付版权费用。 优势:这种开源
    发表于 08-30 22:05

    RISC-V和arm指令集的对比分析

    、开放性 RISC-VRISC-V指令集架构规范公开,可以免费使用。任何人都可以基于RISC-V架构设计、制造和销售处理器,这种开放性使得RIS
    发表于 09-28 11:05

    RISC-V指令集位宽的几点学习心得

    在学习RISC-V指令集过程中,指令位宽大多是32位和64的,它并不像其它指令集,还有8位的古老指令集。这估计也是
    发表于 10-31 22:05

    RISC-V指令集概述

    RISC-V就是RISC的第五代指令集架构。而RISC-V目标就是“成为一种完全开放的指令集架构,可被任何学术机构或商业组织自由使用”。
    发表于 11-30 23:30

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

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

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

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

    印度确立RISC-V为国家指令集 中国CPU指令集还在孤芳自赏

    目前中国CPU指令集还处在群雄割据的状态,印度就已早一步确定了“国家版”,印度将RISC-V确立为国家指令集,并将目标调整为研制6款基于RISC-V
    发表于 12-19 16:58 7650次阅读
    印度确立<b class='flag-5'>RISC-V</b>为国家<b class='flag-5'>指令集</b> 中国CPU<b class='flag-5'>指令集</b>还在孤芳自赏

    RISC-V指令集的起源与发展历史

    压力。RISC-V 开源指令集的出现,引起了产业界的广泛关注,科技巨头很看重指令集架构(CPU ISA)的开放性,各大公司正在积极寻找ARM之外的第二选择,
    发表于 05-02 09:07 7858次阅读
    <b class='flag-5'>RISC-V</b><b class='flag-5'>指令集</b>的起源与发展历史

    为什么做开源高性能RISC-v核,香山开源高性能RISC-V处理器开发流程

    RISC-V是一个基于精简指令集原则的开源指令集架构,那么为什么做开源高性能RISC-v核?
    发表于 06-22 14:25 2916次阅读
    为什么做<b class='flag-5'>开源</b>高性能<b class='flag-5'>RISC-v</b>核,香山<b class='flag-5'>开源</b>高性能<b class='flag-5'>RISC-V</b>处理器开发流程

    RT-Thread全球威廉希尔官方网站 大会:RISC-V指令集开源软件生态介绍

    RT-Thread全球威廉希尔官方网站 大会:RISC-V指令集开源软件生态介绍
    的头像 发表于 05-27 09:47 1189次阅读
    RT-Thread全球威廉希尔官方网站
大会:<b class='flag-5'>RISC-V</b><b class='flag-5'>指令集</b><b class='flag-5'>开源</b>软件生态介绍

    简单讲讲RISC-V指令集CPU的参数

    本次CPU采用32位RISC-V指令集架构(一代是自己瞎编指令集)。指令集就是程序指令的集合,指引硬件如何设计、如何运行。
    的头像 发表于 08-07 14:55 3649次阅读
    简单讲讲<b class='flag-5'>RISC-V</b><b class='flag-5'>指令集</b>CPU的参数

    基于精简指令集RISC-V内核的单片机

    RISC-V就不必多说了,详细大家都了解。它是一个基于精简指令集开源指令集架构。与主流的主流的架构为x86与ARM架构不同,其特点就是完全开源
    的头像 发表于 10-17 16:49 2254次阅读

    一个基于精简指令集原则的开源指令集架构RISC-V

    我们可以基于x86/ARM/ RISC-V指令集,进行处理器微架构设计和实现形成源代码,并通过流片最终形成芯片产品。
    发表于 01-30 16:28 2899次阅读