Menu Close

RISC-V 硬件设计常见问题及解答(3)

相关参考文章:

RISC-V教学教案

 

本文将接着以上硬件设计常见问题和解答继续解答与RISC-V CPU硬件设计相关的问题。

 

1.11.“C”指令集可以压缩代码空间,不太理解 ”压缩“ 的含义,举例说明一下?

RV32I指令集中ADD:ADDI x6, x6, 1 其相对应的机器码是32’h0013_0313(同学可以自己检验一下)。压缩指令集(“ C ”)可以使用更少的机器码达到同样的目的,对应的压缩指令 C.ADDI:C.ADDI x6, 1 其相对应的机器码是16’h0305。完成同样的操作,压缩指令集中的指令相比于普通指令,软件汇编生成的代码量更小。关于压缩指令,更多的内容可以参考文档RISC-V -compressed-spec-v1.9 英文版

 

1.12.课程讲解何为生态的概念时,提到决定CPU发展的主要因素包括CPU是否支持windows系统、linux系统等等,这里提到的“支持”是指的CPU对windows系统或linux系统的汇编指令的支持吗?(也就是CPU解码的支持情况吗?)

是的,一个硬件的CPU想要支持操作系统,需要软件的交叉编译器来完成。目前Linux操作系统是开源的,交叉编译后可以形成目标CPU(X86,ARM,MIPS,RISC-V)的汇编指令,但是Windows操作系统的源码没有被揭露,只支持x86 CPU的汇编指令,暂时对其它CPU的支持不友好。

 

1.13.每个外设地址 例如0x9000_0000 只存放一个字节(byte)也就是8bit吗?

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

 

1.14.mip寄存器的MSIP、 MTIP、 MEIP三个bit位置为1,是由中断源申请自动置为1的,此时mie寄存器的使能如果为0状态的话,那么mie的相应使能bit位MSIE、MTIE、 MEIE会同时自动置为1吗?

mie寄存器的MSIE,MTIE,MEIE位需要通过CSR指令由软件写入,不能自动置为1。

 

1.15.当mip寄存器的MSIP、 MTIP、 MEIP三个bit位置为1时,进行中断处理,处理结束后,MSIP、 MTIP、 MEIP三个bit位会自动置为0吗?

mip的MSIP、 MTIP、 MEIP是由中断源决定的,不能自动置为0。注意mip寄存器的MSIP、 MTIP、 MEIP是只可读的。

 

1.16.mtvec寄存器可以实现同时支持MODE[00]和MODE[01]两种模式,该寄存器最后两位好像是提前配置好的,寄存器最后两个bit位要么为[00],要么为[01],二者只能选择一种,那么如何实现同时支持两种模式呢?

如果想要同时支持两种模式,硬件和软件设计都需要对两种模式进行支持。在软件对mtvec寄存器进行写操作的时候,一次只能选择一种模式。目前,我们的FII RISC-V CPU(FPGA 代码)只支持Mode 0,后续版本会通过修改FPGA代码和软件代码来实现对Mode 1模式的支持。

 

1.17.mhartid寄存器,0代表单核,1代表双核,2代表三核。请问这里说的单核、双核等是指的cpu个数吗?

实际上这里说的单核,双核,多核等都默认是每个核里只有一个线程。mhartid记录的是多少个线程(thread),而不是有多少个CPU。

 

1.18.在verilog编码中提到RV32I信号,assign RV32I=(opcode[1:0]==2’b11 )&& (opcode[4:2] != 3’b111),通过这段verilog代码,可以知道当前指令是32bit长度,那么当有压缩指令集时,是否RV32IC可以表示为assign RV32IC=(opcode[1:0] !=2’b11 ),是这样判断指令长度是否是压缩指令集16-bit吗?

是的,这个理解是对的。

 

1.19.本课中提到的对32bit的opd1和opd2扩展为34bit,扩展的2个bit,其中一个bit是进位bit,另一个bit是符号bit。但是原32bit的操作数opd1和opd2已经有符号位(第31bit是符号位),这里扩展为34bit的目的是为了解决加减法溢出的问题吗?

原本32位的数扩展成34位,运算结果是不会发生改变的。扩展高位主要是为了解决加减法溢出的问题。扩展成33位也可以,扩展成34位更保险。

 

Posted in RISC-V, RISC-V 教案, 教材与教案, 文章

发表评论

相关链接