指令集與組合語言
在RISC-V的指令中,指定暫存器的欄位(rd、rs1、rs2)各為5位元。下列何者是其理由?
- A因為暫存器的寬度是5位元
- B因為一個指令最多可以使用5個暫存器
- C因為整數暫存器有32個,以2的5次方=32種可以指定
查看答案與解析
正確答案:C. 因為整數暫存器有32個,以2的5次方=32種可以指定
R格式的指令,從高位起由funct7(7位元)、rs2(5)、rs1(5)、funct3(3)、rd(5)、opcode(7)共32位元構成。暫存器有32個,所以編號可用5位元表示。若將暫存器增加為64個,每個欄位需要6位元,三個欄位就多用3位元,能用於立即值或指令種類的位元便會減少。暫存器的數量與指令的格式是互相關聯的。
- A. 暫存器的寬度是32位元或64位元。
- B. 基本指令最多使用的是rd、rs1、rs2這3個。
- C. 正確。5位元可表示0~31。