Menu Close

RISC-V指令集讲解(6)load/store指令(下)

RV32I是一个加载-存储(load-store)架构。也是只有load和store指令才能访问存储器和外设(CPU 内的寄存器只能由算术指令操作) [1]。load和store指令将寄存器和存储器/外设的值相互交换。

主讲老师:YVONNE、Tim Zhuang、William

本文隐藏内容 登陆 后才可以浏览

Posted in RISC-V教学视频

5 Comments

  1. wangff

    学习本节课有几点收获,1、load指令需要考虑符号位扩展,store指令不需要考虑符号位扩展;2、rs1和offset共同决定地址,rs2决定内容;3、指令中offset除了csr指令外均需要做有符号扩展。
    课程中老师通过画图的方式解释load和store指令的存取过程,授课效果非常棒,希望老师多采用此种方式。

    在听课中有几点疑惑,请老师解答:
    1、每个外设地址 例如0x9000_0000 只存放一个字节(byte)也就是8bit吗?

    • Yvonne

      因为地址都是以字节(8-bit)为单位,所以0x9000_0000表示了一个字节,0x9000_0001也是一个字节。但是注意,对于外设寄存器而言,比如RISC-V CPU的外设GPIO B组的方向,0xf000_000c,实际上是指0xf000_000c到0xf000_000f,一共是4个字节,32个bit。

  2. wangff

    本节课讲解了load指令中LHU(半字[15:0])、LB(byte[7:0])、LBU(byte[7:0])指令;STORE指令(从CPU读取数据写到外设存储器)中sw(word[31:0])、sh(半字[15:0])、sb(byte[7:0])指令

发表评论

相关链接