查看: 1555|回复: 0
收起左侧

RISC-V ISA极简介绍

[复制链接]

  离线 

  • TA的每日心情
    奋斗
    2021-3-3 12:32
  • 签到天数: 10 天

    [LV.3]

    发表于 2020-8-23 11:54:24 | 显示全部楼层 |阅读模式

    有人预言,RISC-V或将是继Intel和Arm之后的第三大主流处理器体系。欢迎访问全球首家只专注于RISC-V单片机行业应用的中文网站

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    本帖最后由 皋陶 于 2020-8-23 11:56 编辑

    1,CPU register如下图,和 ARM的 一个明显区别是没有PC寄存器给你直接操作,对于写ASM 没有感觉到有影响。另外就是通用寄存器更多了,所有的save和restore操作的指令更多了,也就是上下文操作时间消耗的时间更多,但是RISC-V有定义RV32E指令集,只使用一半的寄存器(16个),对于嵌入式开发来说应该是利好的 ,可惜我还没有编译成功。


    国内芯片技术交流-RISC-V ISA极简介绍risc-v单片机中文社区(1)



    2,下图RISC-V伪指令和base指令里长跳转指令竟然没有给出适用于绝对地址的,这种用法要避开。我之前按ARM的用法去想跳转到一个远的固定地址,结果被卡了好久。


    lui和auipc都用于构建常数,lui直接利用数值,而auipc却利用当前pc值。


    然后你从图里会发现编译器用的全是auipc,所以你想自己写asm,要先把lui和auipc搞明白。其他实际上和ARM区别就不大了。


    伪指令j 短距离,call 长距离,j 跳转带r就是有link操作。


    关于第二页的CSRs读写操作指令,我基本没用到,因为picoRV32都没实现这些。只用过rdinstret和rdcycle 32bit的,这个很简单只跟一个rd就可以。


    国内芯片技术交流-RISC-V ISA极简介绍risc-v单片机中文社区(2)



    国内芯片技术交流-RISC-V ISA极简介绍risc-v单片机中文社区(3)



    参考文件 riscv-spec-v2.2





    上一篇:RISC-V为微控制器应用考虑的特性
    下一篇:万元大奖!RISC-V大赛等你来
    RISCV作者优文
    全球首家只专注于RISC-V单片机行业应用的中文网站
    回复

    使用道具 举报

    高级模式
    B Color Image Link Quote Code Smilies

    本版积分规则

    关闭

    RISC-V单片机中文网上一条 /2 下一条



    版权及免责声明|RISC-V单片机中文网 |网站地图

    GMT+8, 2024-4-20 12:31 , Processed in 0.620823 second(s), 48 queries .

    快速回复 返回顶部 返回列表