RISC-V指令集讲解(6)load/store指令(下) 图图 2021-06-08 645 文章 5 Comments RV32I是一个加载-存储(load-store)架构。也是只有load和store指令才能访问存储器和外设(CPU 内的寄存器只能由算术指令操作) [1]。load和store指令将寄存器和存储器/外设的值相互交换。 主讲老师:YVONNE、Tim Zhuang、William 本文隐藏内容 登陆 后才可以浏览 赞(1)微海报分享 Posted in 文章Tagged RISC-V视频课程, 视频课程 文章导航 Previous Previous post: RISC-V指令集讲解(6)load/store指令(上)Next Next post: RISC-V指令集讲解(7)指令地址对齐和加减法溢出处理 5 Comments wangff 2021-09-24 at 11:52 上午 登录以回复 学习本节课有几点收获,1、load指令需要考虑符号位扩展,store指令不需要考虑符号位扩展;2、rs1和offset共同决定地址,rs2决定内容;3、指令中offset除了csr指令外均需要做有符号扩展。 课程中老师通过画图的方式解释load和store指令的存取过程,授课效果非常棒,希望老师多采用此种方式。 在听课中有几点疑惑,请老师解答: 1、每个外设地址 例如0x9000_0000 只存放一个字节(byte)也就是8bit吗? Yvonne 2021-09-25 at 3:58 上午 登录以回复 因为地址都是以字节(8-bit)为单位,所以0x9000_0000表示了一个字节,0x9000_0001也是一个字节。但是注意,对于外设寄存器而言,比如RISC-V CPU的外设GPIO B组的方向,0xf000_000c,实际上是指0xf000_000c到0xf000_000f,一共是4个字节,32个bit。 wangff 2021-10-05 at 7:41 下午 登录以回复 好的,谢谢老师! wx3E9Y49LGPB 2021-08-05 at 6:30 下午 登录以回复 学习 wangff 2021-07-04 at 8:38 下午 登录以回复 本节课讲解了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])指令 发表评论 取消回复要发表评论,您必须先登录。 相关链接 AD18_Gerber(光绘)文件输出Gerber文件是一种符合EIA标准,用于驱动光绘… 赞微海报分享 以太网工程中双端口RAM的使用在以太网工程中, 我们使用了很多双端口IP ,用于… 赞微海报分享 Xilinx SelectIO datasheet赞微海报分享 赞微海报分享 网速检测及Verilog实现技巧在局域网中目前物理层(Phy)芯片基本都支持10M… 赞微海报分享 Ethernet development structure 开发工程源代码:(注册用户可见) 本… 赞微海报分享 网络 MAC 地址用法详解MAC( Media Access Control… 赞微海报分享
wangff 2021-09-24 at 11:52 上午 登录以回复 学习本节课有几点收获,1、load指令需要考虑符号位扩展,store指令不需要考虑符号位扩展;2、rs1和offset共同决定地址,rs2决定内容;3、指令中offset除了csr指令外均需要做有符号扩展。 课程中老师通过画图的方式解释load和store指令的存取过程,授课效果非常棒,希望老师多采用此种方式。 在听课中有几点疑惑,请老师解答: 1、每个外设地址 例如0x9000_0000 只存放一个字节(byte)也就是8bit吗?
Yvonne 2021-09-25 at 3:58 上午 登录以回复 因为地址都是以字节(8-bit)为单位,所以0x9000_0000表示了一个字节,0x9000_0001也是一个字节。但是注意,对于外设寄存器而言,比如RISC-V CPU的外设GPIO B组的方向,0xf000_000c,实际上是指0xf000_000c到0xf000_000f,一共是4个字节,32个bit。
wangff 2021-07-04 at 8:38 下午 登录以回复 本节课讲解了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])指令
学习本节课有几点收获,1、load指令需要考虑符号位扩展,store指令不需要考虑符号位扩展;2、rs1和offset共同决定地址,rs2决定内容;3、指令中offset除了csr指令外均需要做有符号扩展。
课程中老师通过画图的方式解释load和store指令的存取过程,授课效果非常棒,希望老师多采用此种方式。
在听课中有几点疑惑,请老师解答:
1、每个外设地址 例如0x9000_0000 只存放一个字节(byte)也就是8bit吗?
因为地址都是以字节(8-bit)为单位,所以0x9000_0000表示了一个字节,0x9000_0001也是一个字节。但是注意,对于外设寄存器而言,比如RISC-V CPU的外设GPIO B组的方向,0xf000_000c,实际上是指0xf000_000c到0xf000_000f,一共是4个字节,32个bit。
好的,谢谢老师!
学习
本节课讲解了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])指令