lb, lbu
lh, lhu
lw
ld*
la*
li*
sb
sh
sw
sd*
add, addi, addiu
sub
mult, multu
div, divu
and, andi
or, ori
xor, xori
not, rem, abs*, neg*
Datenbewegungsbefehle
arithmetisch logische Befehle
Schiebe und Rotationsbefehle
Gleitkommabefehle
Mulimediabefehle
Programmsteuerbefehle
Systemsteuerbefehle
Synchronisationsbefehle
Dreiaddressformat
Zweiaddressformat
Einaddressformat
Nulladdressformat
Lade und Speicherarchitektur
Speicher- Speicharchitektur
Register- Speicherarchitektur
Stack und Kellerarchitektur
Akkumulatorarchitektur
Big-Endian-Format
Little-Endian-Format
Einzelbit
Ganzzahl
Gleitkomma
Multimedia
signed
unsigned
packed
unpacked
bcd
ascii
byte
halbwort
wort
doppelwort
ieee-754-std
f = (-1)\^s * 1.m * 2\^(e-b)
32: Einfach
64: Doppelt
80: Erweitert
Absolute Addressierung
Unmittelbare Addressierung
Registeraddressierung
Direkte Addressierung
Indirekte Addressierung
Indirekte Addressierung mit Verschiebung
Indirekte Addressierung mit Autoinkrement/Dekrement
Indizierte Addressierung
Indizierte Addressiernug mit Verschiebung
Steuereinheit
1.) Befehlsdekodierer
2.) Funktionsdekodierer
Befehlsdekodierer
MemToReg
MemWrite
Branch
ALU-Src
ALU-Op
RegDst
RegWrite
Funktionsdekodierer
Func
ALU-Op
ALU-Operation
ALU
Ergebnis
NULL
AND
PCSrc
Registersatz
 Leseregister-1
 Leseregister-2
 Schreiberegister
 Lese-Daten-1
 Lese-Daten-2
 Schreibedaten
 WE
Datenspeicher
    Addresse
    Lesedaten
    Schreibedaten
    WE
Befehlsspeicher
    Leseaddresse
    Lesedaten
Befehlsz"ahler
    PC (t)
    PC (t+1)
Func        ALU-Op          ALU-Operation
00          x               010 - add
x1          x               110 - sub
1x          100 000 - add   010 - add
            OpCode      RegDst      RegWrite    Branch  ALU-Src     MemToReg    MemWrite    ALU-Op
r-typ       000 000     1           1           0       0           0           0           10
Verzweigungsbefehle
1.) Bedingt
2.) Unbedingt
eq - equal
ne - not equal
gt - greater than
ge - greater than equal
lt - less than
le - less then equal
Absolut: Branch
Befehlsz"ahlerrelativ: Jump
Befehlsz"ahlerindirekt: Jump Register
JAL: Jump and link - speichern zus"atzlich die Addresse, die dem Sprungbefehl folgt
PC_neu = PC_alt + (i << 2)
PC_neu = PC_alt \& 0xf000 0000 | (i << 2)
Zustandselemente
- Befehlsspeicher
- Befehlsz"ahler
- Registersatz
- Datenspeicher
Pipeline-Stufe
Pipeline-Segment
Pipeline-Register
Pipeline-Prinzip
1.) Befehl holen
2.) Befehl dekodieren
3.) Operanden der ALU bereitstellen
4.) Operation in der ALU ausf"uhren
5.) Operanden in Architekturregister zur"uckschreiben
IF Instruction Fetch - Befehlsholephase
ID Instruction Decode/Register Fetch - Befehlsdekodier und Operandenbereitstellungsphase
EX Execute Address Calculation Ausf"uhrungsphase
MEM Memory Access - Speicherzugriffsphase
WB Write Back - Resultatspeicherphase
1.) In  Order Issue In Order Completion
2.) Out Of Order Issue Out Of Order Completion
1.) Datenkonflikte
2.) Steuerflusskonflikte
3.) Struktur- und Ressourcenkonflikte
1.) Statische Sprungvorhersage
1.1.) Predict Always Not Taken
1.2.) Predict Always Taken
1.3.) Predict Backward Taken Forward Not Taken
2.) Dynamisch
2.1.) ein Bit Pr"adiktor - Taken/Not Taken
2.2.) Strongly/Weakly T/NT