« »

Datenpfad

a)

Level 3: Anwenden

Geben Sie jeweils eine mögliche RISC-V-Assemblerinstruktion an, die mit der angegebenen Konfiguration der drei Multiplexer MUX 1, MUX 2 und MUX 3 im unten dargestellten RISC-V-Datenpfad ausgeführt werden kann.

MUX 1MUX 2MUX 3
011
110

RISC-V-Datenpfad. MUX 1 führt von BranchTarget (0) und PC+4 (1) zu einem Register links des Program Memory. MUX 2 führt vom RegisterFile (0) und ImmediateDecode (1) zum unteren Eingang der ALU. MUX 3 führt von DataMemory (0) und AluOut/PC+4 (1) zu RegWriteData. rs1 wird zur ALU durchgeleitet. PC+ImmediateDecode wird zum BranchTarget durchgeleitet.

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

Lösung
MUX 1MUX 2MUX 3Instruktion
011jalr t1, 0(zero)
110lw t1, 4(t2)

b)

Level 3: Anwenden

Bestimmen Sie die Konfiguration (Eingang 0 oder 1 an den Ausgang durchgeschaltet oder X = “don’t care”) der drei Multiplexer MUX1, MUX2 und MUX3 im unten dargestellten RISC-V-Datenpfad, so dass die folgenden Instruktionen korrekt ausgeführt werden.

lw   a0, 8(a1)
addi a2, a3, 42
li a0, 42

Hinweis: Die drei Instruktionen sind unabhängig voneinander, werden also nicht notwendigerweise in der angegebenen Reihenfolge ausgeführt.

RISC-V-Datenpfad. MUX 1 führt von BranchTarget (0) und PC+4 (1) zu einem Register links des Program Memory. MUX 2 führt vom RegisterFile (0) und ImmediateDecode (1) zum unteren Eingang der ALU. MUX 3 führt von DataMemory (0) und AluOut/PC+4 (1) zu RegWriteData. rs1 wird zur ALU durchgeleitet. PC+ImmediateDecode wird zum BranchTarget durchgeleitet.

Diese Aufgabe war Teil der Klausur im Sommersemester 2024 (Probeklausur/Zweittermin).

Lösung
InstruktionMUX 1MUX 2MUX 3
lw a0, 8(a1)110
addi a2, a3, 42111
add a0, a0, a1101
beq x1, x1, label0XX

c)

Level 1: Wissen

Welche Werte haben die drei Instruktionsteile rs1, rs2 und rd für die folgenden Instruktionen?

add  a0,  a1,  a2
addi x10, x11, 42

Hinweis: Denken Sie an den Unterschied zwischen den beiden möglichen Bezeichnungen für Register!

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

Lösung
Instruktionrs1rs2rd
add a0, a1, a2111210
addi x10, x11, 4211kein Teil von I-Type-Instruktionen¹10

Zu (1): Interpretiert man den Bytecode von addi x10, x11, 42 als R-Type-Instruktion, hätten die Bits für rs2 den Wert 01010 = 10.

Lernziele

In dieser Aufgabe …

  • vollziehen die Studierenden den Datenpfad eines einfachen RISC-V-Rechners praktisch nach.
  • wenden die Studierenden an, was sie über Multiplexer gelernt haben.
  • simulieren die Studierenden die Aufgabe des Steuerwerks, aus einzelnen Instruktionen die Konfiguration der Multiplexer abzuleiten.