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