Re: Die

1.) Einzyklus Mikroarchitektur
2.) Mehryzklus Mikroarchitektur
3.) Pipeline Mikroarchitektur

ALU-Op
00      - add
01      - sub
10      - nutze das Func Feld
11      - n/a

Func
100 000 - add
100 010 - sub
100 100 - and
100 101 - or
101 010 - slt

ALU-Operation
010 - add
110 - sub
000 - and
001 - or
111 - slt

rt-Feld: Register Source
rs-Feld: Register Source
rd-Feld: Register Destination

Datenkonflikte
RAW - Read after Write - Echte Datenabh"angigkeit
WAR - Write After Read - Gegenabh"angigkeit
WAW - Write After Write - Ausgabeabh"angigkeit

Befehlsz"ahler
    Eingang: PC (t)
    Augang: PC (t+1)

Bit 0 - Bit 5: func
Bit 31 - Bit 26: Befehlskdedierer
Bit 25 - Bit 21: rs-Feld
Bit 20 - Bit 15: rt-Feld

Funktionsdekodierer
    Eingang: ALU-Op
    Eingang: Func
    Ausgang: ALU-Operation

Befehlsdekodierer
    Eingang:
        Bit 31 bis Bit 26: OpCode - Datenbus
    Ausgang
        MemToReg
        MemWrite
        Branch
        ALU-Src
        RegDst
        RegWrite
    Ausgang:
        ALU-Op


Addierer + 4. Befehlsz"ahler

Vorzeichenerweiterungseinheit
2 Bit Shifter
Addierer
Demultiplexer

Befehle
- R-Typ: OpCode rt-Feld, rs-Feld, rd-Feld, func-Feld
- I-Typ: 16 Bit Immidiate Wert
- J-Typ

I1: WB
I2: MEM
I3: EX
I4: ID
I5: IF

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

Mehrzyklus

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

Wenn I1 in WB schreibt in ID liesst, dann gibt es einen RAW-Konflikt

    0   1   2           3   4   5   6   7   8   9
I1: IF  ID  EX          MEM WB (schreibt)
I2:     IF  ID liesst   EX  MEM WB

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

Stalling, Interlocking, Pipeline-Sperrung