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

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

3天内不再提示

RISC-V架构师从过去指令集设计的错误中吸取的教训

华仔的编程随笔 来源: 华仔的编程随笔 作者: 华仔的编程随笔 2023-05-24 09:04 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

过去的错误

RV32I吸取的经验教训

ARM-32 (1986) MIPS-32 (1986) X86-32(1978)
成本 必须支持整数乘除法 必须支持整数乘除法 8 位以及 16 位操作、必须支持整数乘除法 无 8 位、16 位操作、可选的整数乘除法支持(RV32M)
简洁性 无零寄存器、条件指令执行、复杂的寻址模式、栈操作指令(push/pop)、算术/逻辑指令中存在的移位 立即数支持零扩展及符号扩展、一些算术指令会造成溢出异常 无零寄存器、复杂的过程调用指令(enter/leave)栈指令(push/pop)、复杂寻址模式、循环指令 寄存器x0专门用于存放常数0、立即数只进行符号扩展、一种数据寻址模式、没有条件执行、没有复杂的函数调用指令以及栈指令、算术指令不抛异常、使用单独的移位指令来处理移位操作
性能 分支指令使用条件码、在不同格式的指令中,源和目的寄存器的位置不同、加载多个计算得到的立即数、PC是一个通用寄存器 在不同格式的指令中,源和目的寄存器的位置不同 分支指令使用条件码、每个指令中最多只能使用两个寄存器 使用同一条指令实现比较及跳转(不使用条件码)、每条指令三个寄存器、不能一次load多个数据、不同指令格式中,泊及目的寄存器字段位置固定、立即数是常数(不是由计算得出的)、PC不是通用寄存器
架构和具体实现 将PC像普通寄存器一样读写,这样暴露了流水线长度 分支指令延迟槽Load指令延迟槽、乘除法使用单独的HI、LO寄存器 寄存器不是通用的(AX,CX,DX,DI,SI有特殊用途) 分支指令没有延迟槽、Load指令无延迟槽、通用寄存器
增长空间 有限的指令码空间 有限的指令码空间 大量可用的指令码空间
程序大小 仅有32bit指令(Thumb-2是作为一个独立的ISA) 仅32bit指令(microMIPS是作为一个独立的ISA) 指令长度可用是不同字节,但这是一个很不好的选择。 32位指令+16位RV32C扩展
易于编程/编译/链接 仅15个寄存器内存数据必须对齐、不规则的数据寻址模式、不一致的性能计数器 内存数据必须对齐、不规则的数据寻址模式、不一致的性能计数器 仅15个寄存器中内存数据必须对齐、不规则的数据寻址模式、不一致的性能计数器 31个寄存器、数据可用不对齐、PC相对的数据寻址模式、对称的数据寻址模式、定义在加构中的性能计数器

RISC-V架构师从过去指令集设计的错误中吸取的教训。通常的教训是避免过去的ISA“优化”。经验和教训按照第一章中提出的七个ISA指标进行分类。在成本,简单性和性能下列出的许多指令集特性可以互换,因为这只是设计的偏好问题,但不管它们出现在哪里,它们都很重要。

摘自《RISC-V-Reader》中文版


审核编辑黄宇

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

    关注

    0

    文章

    48

    浏览量

    4955
  • RISC-V
    +关注

    关注

    49

    文章

    3015

    浏览量

    53949
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    RISC-V指令集仿真工具:新思科技完整验证解决方案解析

    RISC-V指令集仿真并非孤立环节,而是嵌入在处理器IP与EDA工具链的核心验证能力。新思科技作为RISC-V国际基金会高级会员,提供从指令
    的头像 发表于 05-30 15:01 227次阅读

    赛昉科技携手中国移动研究院,深度参与RISC-V国际协会复数矩阵指令集标准化,填补高端计算空白

    近日,中国移动研究院在RISC-V国际协会正式提出复数矩阵运算指令集提案,填补了RISC-V在复数矩阵原生硬件级支持方面的空白。赛昉科技作为中国移动研究院的重要技术创新合作伙伴,深度参与该指令
    的头像 发表于 04-22 15:04 316次阅读
    赛昉科技携手中国移动研究院,深度参与<b class='flag-5'>RISC-V</b>国际协会复数矩阵<b class='flag-5'>指令集</b>标准化,填补高端计算空白

    RISC-V异常中断机制全解析

    RISC-V 作为开源、模块化的精简指令集架构,其异常中断机制是保障系统可靠运行、响应外部事件与处理内部错误的核心支撑。
    的头像 发表于 12-28 14:41 2269次阅读
    <b class='flag-5'>RISC-V</b>异常中断机制全解析

    易灵思FPGA RISC-V自定义指令的使用方法

    RISC-V(Reduced Instruction Set Computing-V)是一个开源指令集架构(ISA),它的设计目标是提供一个简洁、可扩展且高效的
    的头像 发表于 11-24 11:36 5806次阅读
    易灵思FPGA <b class='flag-5'>RISC-V</b>自定义<b class='flag-5'>指令</b>的使用方法

    是德科技如何解决RISC-V芯片测试难题

    想理解 RISC-V,得先从“指令集架构”说起,这是芯片的“语言”。
    的头像 发表于 11-14 09:44 2096次阅读
    是德科技如何解决<b class='flag-5'>RISC-V</b>芯片测试难题

    risc-v P扩展(一) P指令集简介

    解码、医学成像、计算机视觉、嵌入式控制、机器人技术、人机界面等。 P指令集扩展提高了RISC-V CPU IP产品的DSP算法处理能力。随着RISC-V P指令集扩展的增加,
    发表于 10-23 07:40

    RISC-V指令集手册F指令部分

    本文主要讲解RISC-V指令集手册F指令部分 RISC-V标准采用了符合IEEE 754-2
    发表于 10-22 08:18

    提高RISC-V在Drystone测试得分的方法

    性能:内存的读写速度、延迟和带宽等都会影响到 Drystone 的性能。 指令集优化:对RISC-V指令集的优化也会影响性能。例如,对于特定的应用或计算任务,可以通过定制指令集来提高性
    发表于 10-21 13:58

    RISC-V B扩展介绍及实现

    ,可以被任何支持RISC-V ISR的处理器解释执行。 需要注意,B扩展是与基本RV32I/RV64I RISC-V指令集完全兼容的。因此,使用支持B扩展的芯片可以同时享受到原始架构
    发表于 10-21 13:01

    基于蜂鸟E203架构指令集K扩展

    蜂鸟E203是一款基于RISC-V架构的微处理器,其指令集包含RV32I的基本指令集,RV32M的乘法扩展指令集,以及一些常用的定点
    发表于 10-21 09:38

    10万奖金池,等你挑战!CIE全国RISC-V创新应用大赛火热报名

    为推动RISC-V技术的创新和应用,中国电子学会联合国内优势单位,聚焦基于第五代精简指令集计算原理建立的开放指令集架构RISC-V),在全
    的头像 发表于 09-16 08:07 1095次阅读
    10万奖金池,等你挑战!CIE全国<b class='flag-5'>RISC-V</b>创新应用大赛火热报名<b class='flag-5'>中</b>

    RISC-V 手册

    以下是关于RISC-V的详细介绍,结合其核心技术特点与当前发展现状:核心概念RISC-V(第五代精简指令集)是一种基于精简指令集RISC
    发表于 07-28 16:27 11次下载

    Tenstorrent 首席架构师:未来 RISC-V 会是计算机的主流

    当前,按指令集架构(ISA)分类,主流架构包括 x86 架构、ARM 架构RISC-V
    发表于 07-17 11:26 1591次阅读

    同一水平的 RISC-V 架构的 MCU,和 ARM 架构的 MCU 相比,运行速度如何?

    ARM 架构RISC-V 架构的 MCU 在同一性能水平下的运行速度对比,需从架构设计原点、指令集特性及实际测试数据展开剖析。以 ARM
    的头像 发表于 07-02 10:29 1892次阅读
    同一水平的 <b class='flag-5'>RISC-V</b> <b class='flag-5'>架构</b>的 MCU,和 ARM <b class='flag-5'>架构</b>的 MCU 相比,运行速度如何?

    RISC-V和ARM有何区别?

    RISC-VARM是一种精简指令集RISC),以该指令集为基础的处理器通常被称为ARM芯片,它在全球范围内得到了极为广泛的应用。而RISC-V
    的头像 发表于 06-24 11:38 2483次阅读
    <b class='flag-5'>RISC-V</b>和ARM有何区别?