/media/sda-magnetic/david/Dok-15-2023-11-27/informatik/vhdl20240401/auswendig20240320a.txt


Befehlszähler
    PC (t)
    PC (t+1)
Befehlsspeicher
    PC (t+1)
    Wort
Befehlsdekodierer
    Eingang:
        OpCode
    Ausgang
        MemToReg
        MemWrite
        Branch
        ALU-Src
        ALU-Op
        RegDst
        RegWrite
Funktionsdekodierer:
    Eingang:
        Func
        ALU-Op
    Ausgang:
        ALU-Operation

Opcode: Bit 31:26
rs-Feld: Bit 25:21
rt-Feld: Bit 20:16
rd-Feld: Bit 15:11

Vorzeichenerweiterungseinheit: 15:0

OpCode: 31:26 geht an Befehlsdekodierer OpCode
Bit 25:21 geht an LeseRegister1 - Registersatz
Bit 20:16 geht an LeseRegister2 - Registersatz
Bit 15:11 geht an Schreiberegister Registersatz

Aber:
    20:16 und 15:11 geht an MUX1 - wegen Schreiberegister, bei I-Typ Befehlen, geht 15:0 an Vorzeichenerweiterungseinheit, 15:11 geht in Schreiberegister
    Sonst geht 20:16 Leseregister-2, 15:11 Schreiberegister, R-Typ Befehle

Pfad
    1.) PC (t+1) - Befehlszähler
    2.) Befehlsregister
    3.) Vorzeichenerweiterungseinheit
    4.) 2 Bit Shifter
    5.) Addierer
    6.) MUX
    7.) PC (t) - Befehlszähler

PC (t+1) -> Befehlsregister -> Vorzeichenerweiterungseinheit -> 2 Bit Shifter -> Addierer -> MUX -> PC (t) Befehlszähler

Das sind die I-Typ Befehle, Konstante, Datenpfade, Sprung, Vorzeichenerweiterungseinheit

31:26 - ist immer Opcode
25:21 - ist immer rs-Feld - 1. Quelloperand
20:16 - ist entweder rt-Feld - 2. Quelloperand, oder rd- Feld Zieloperand -> MUX
15:11 - ist im ersten Fall, rd-Feld, Zieloperand

Echte Datenabhängigkeit - ED
Gegenabhängigkeit - GA
Ausgabeabhängigkeit - AA

i1: addi $t1, $t2, 3
i2: add $t4, $t1, $t3
i3: subi $t3, $t5, 3
i4: subi $t3, $t6, 3

1, 2, 4, 1, 3 - addi, add, subi, subi

IF
ID
EX
MEM
WB

Mehryzklus

I1: 0 - IF      1 - ID      2 - EX      3 - MEM         4 - WB
I2: 5 - IF      6 - ID      7 - EX      8 - MEM         9 - WB

Pipelining

I1: 0 - IF      1 - ID      2 - EX      3 - MEM         4 - WB
I2: 5           6 - IF      7 - ID      8 - EX          9 - MEM         10 - WB

IF ID EX MEM WB
         IF  ID EX MEM WB