« »

Kodierung von Instruktionen

Übersetzen Sie die folgenden RISC-V-Maschineninstruktionen. Verwenden Sie dabei die generischen Namen der Register (z. B. x9).

Hinweis

Nutzen sie die RISC-V-Befehlstabelle.

a)

Level 1: Wissen

0x012E1A93 in RISC-V-Assembler

Diese Aufgabe war Teil der Klausur im Sommersemester 2025 (Ersttermin).

Lösung

In die Binärdarstellung übersetzt:

0000 0001 0010 1110 0001 1010 1001 0011

Zerlegt:

  • opcode (6–0) = 0010011 → I-Type
  • opcode in Kombination mit func3 (14–12) = 001 → Mnemonic slli
  • Zielregister rd (11–7) = 10101 → x21
  • erstes Argument in rs1 (19–15) = 11100x28
  • zweites Argument als Immediate imm (31–20) = 0000 0001 0010 → 18

slli x21, x28, 18

b)

Level 1: Wissen

0x00524233 in RISC-V-Assembler

Lösung

In die Binärdarstellung übersetzt:

0000 0000 0101 0010 0100 0010 0011 0011

Zerlegt:

  • opcode = 011 0011 → R-Type
  • opcode in Kombination mit func3 (14–12) = 100 und func7 (31–25) = 0000 000 → Mnemonic xor
  • Zielregister rd (11–7) = 00100x4
  • erstes Argument in rs1 (19–15) = 00100x4
  • zweites Argument in rs2 (24–20) = 00101x5

xor x4, x4, x5

c)

Level 1: Wissen

jalr x4, 12(x5) in Hexadezimaldarstellung

Lösung
  • I-Type → opcode (6–0) = 1100111, func3 (14–12) = 000
  • Zielregister rd (11–7) = x400100
  • erstes Argument in rs1 (19–15) = x500101
  • zweites Argument als Immediate imm (31–20) = 120000 0000 1100
0000 0000 1100 0010 1000 0010 0110 0111 (binär)
   0    0    c    2    8    2    6    7 (hex)

d)

Level 1: Wissen

auipc x3, 24 in Hexadezimaldarstellung

Lösung
  • I-Type → opcode (6–0) = 0010111
  • Zielregister rd (11–7) = x300011
  • Argument als Immediate imm (31–12) = 240000 0000 0000 0001 1000
0000 0000 0000 0001 1000 0001 1001 0111 (binär)
   0    0    0    1    8    1    9    7 (hex)

e)

Level 1: Wissen

Zusatzaufgabe: Folgende zusätzliche Aufgaben können zum Üben verwendet und etwa mit Online-Tools wie diesem überprüft werden. Auf diese Weise lassen sich auch weitere Aufgaben erstellen.

  • beq x1, x2, 64 in Hexadezimaldarstellung
  • lui x12, 400 in Hexadezimaldarstellung
  • 0x0001a603 in RISC-V-Assembler
  • 0x02c62293 in RISC-V-Assembler

Lernziele

In dieser Aufgabe …

  • setzen sich die Studierenden mit dem Instruktionsformat unter RISC-V auseinander.
  • üben die Studierenden das Lesen von Kodierungsspezifikationen.
  • wiederholen die Studierenden die Bedeutung von RISC-V-Mnemonics.