命令セット・アセンブリ
RISC-Vの命令では、レジスタを指定する欄(rd、rs1、rs2)がそれぞれ5ビットである。その理由として正しいものはどれか。
- Aレジスタの幅が5ビットだから
- B1つの命令で最大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つで3ビット余分に使うため、即値や命令の種類に使えるビットが減ります。レジスタの本数は命令の形と結びついているのです。
- A. レジスタの幅は32ビットまたは64ビットです。
- B. 基本の命令が使うのは最大でrd・rs1・rs2の3つです。
- C. 正しい。5ビットで0〜31を表せます。