RISC-V Instruction Formats은 아래와 같이 크게 6가지가 있다.
1. R-Type
2. I-Type
3. S-Type
4. SB-Type
5. U-Type
6. UJ-Type
각 format을 알아보고, 어떻게 Instruction을 만들 수 있는 지 확인해보자.
1. R-Type
add 명령어는 아래와 같이 구분될 수 있다.
// add
// func7 : 7'h00
// rs2 : 5'h7;
// rs1 : 5'h6;
// func3 : 3'h0
// rd : 5'h5;
// opcode : 7'h33
add x5, x6, x7 # a5 = a6 + a7
이를 배치하면 아래와 같다.
2. I-Type
// addi
// imm : 12'hFCE, 12'b1111 1100 1110 -> +50의 2's complement 표현.
// rs1 : 5'h1;
// func3 : 3'h0
// rd : 5'hF;
// opcode : 7'h13
addi x15,x1,-50
3. S-Type
// sw
// imm : 12'h8
// rs1 : 5'h2
// func3 : 3'h2
// rd : 5'hE
// opcode : 7'h23
sw x14, 8(x2)
4. SB-Type
// bne
// imm : 12'd2000, 12'h7D0, 12'b111_1101_0000
// rs2 : 5'hB
// func3 : 3'h1
// rs1 : 5'hA
// opcode : 7'h63
bne x10,x11,2000
5. U-Type
// lui
// imm : 20'd2000, 12'h7D0, 12'b111_1101_0000
// rd : 5'hA
// opcode : 7'h63
lui x10, 2000
6. UJ-Type
// jal
// imm : 20'd2000, 20'h7D0, 20'b0000_0111_1101_0000
// rd : 5'h0
// opcode : 7'h6f
jal x0, 2000
'IT_Study > CS_Study' 카테고리의 다른 글
[Computer Architecture] (1-2) Pipeline Hazards (0) | 2024.04.30 |
---|---|
[Computer Architecture] (8) CISC vs. RISC (0) | 2024.04.29 |
[Computer Architecture] (6) Array vs Pointer (2) | 2024.04.28 |
[Computer Architecture] (5) RISC-V Procedure Call (1) | 2024.04.28 |
[Computer Architecture] (4-5) RISC-V Control Transfer Operation (1) | 2024.04.28 |
댓글