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
Multimediabefehle
Systemsteuerbefehle
Synchronisationsbefehle
Programmsteuerbefehle
Dreiaddressformat
Zweiaddressformat
einaddressformat
Nulladdressformat
Lade- und Speicherarchitektur
Speicher-Speicherarchitektur
Register-Speicherarchitektur
Stack- und kellerarchitektur
Akkumulatorarchitektur
Little-Endian
Big-Endian
signed
unsigned
packed
unpacked
bcd
ascii
byte
halbwort
wort
doppelwort
einzelbit
ganzzahl
Gleitkomma
multimedia
ieee-754-std
f = (-1)\^s*1.m*2\^(e-b)
32: einfach
64: doppelt
80: erweitert
Unmittelbare Addressierung
Absolute Addressierung
Register Addressierung
Direkte Addressierung
Indirekte Addressierung
Indirekte Addressierung mit Verschiebung
Indirekte Addressierung mit Autoinkrement/Dekrement
Indizierte Addressierung
indizierte Addressierung mit Verschiebung
Steuereinheit
1.) Befehlsdekodierer
2.) Funktionsdekodierer
MemToReg
MemWrite
Branch
ALU-Src
ALU-Op
RegDst
RegWrite
Befehlsdekodierer
Funktionsdekodierer
Registersatz
ALU
Datenspeicher
Befehlsspeicher
Befehlsz"ahler
Vorzeichenerweiterungseinheit
4 x MUX
1 x AND
2 x Addierer
1 x 2 Bit Shifter
Registersatz:
Lesedaten-1
Lesedaten-2
Schreibedaten
Lese-Register-1
Lese-Regiter-2
Schreiberegister
WE
Datenspeicher
Lesedaten
Schreibedaten
WE
Addresse
ALU:
- ALU-Ergebnis
- Null
AND: PC-Src
Funktionsdekodierer
Func
ALU-Op
ALU-Operation
Befehlsdekodierer
MemToReg
MemWrite
Branch
ALU-Src
Reg-Dst
Reg-Write
Befehlsspeicher
- Leseaddresse
- Lesedaten
Befehlsz"ahler
- PC (t)
- PC (t+1)
ALU-Op Func ALU-Operation
00 x 010 - add
x1 x 110 - sub
1x 100 000 - add 010 - add
op-code regdst regwrite branch alu-src memtoreg memwrite mal-op
r-typ 000 000 1 1 0 0 0 0 10
Verzweigungsbefehle
1.) Bedingt
2.) Unbedingt
Absolute
Befehlsz"ahlrelativ
Befehlsz"ahlerindirekte
jal: jump and link: Speichern zus"atzlich die Addresse, die dem Sprungbefehl folgt
j: jump
jr: jump register
eq - equal
ne - not equl
gt - greater than
ge - greter than equal
lt - less than
le - less than equal
j, b*, jr
jal
jalr
beq, bne
beqz*, bnez*
blt*, ble*
bltz, blez
bgt*, bge*
bgtz, bgez
PC = PC_alt + (I << 2)
PC = PC_alt \& 0xf000 0000 | (I << 2)
Datenkonflikte
Steuerflusskonflikte
Struktur und Ressourcenkonflikte
Zustandselemente
Befehlsz"ahler
Befehlsspeicher
Registersatz
Datenspeicher
Befehl holen
Befehl dekodieren
Operanden der ALU bereit stellen
Operation in der ALU ausf"uhren
Operanden in Architekturregister zur"uckschreiben
1.) IF - Instruction Fetch - Befehls Hole Phase
2.) ID - Instruction Decode / Register Fetch - Befehlsdekodier und Operandenbereitstellungsphase
3.) EX - Execute Address Calculation Ausf"uhrungsphase
4.) MEM - Memory Access - Speicherzugriffsphase
5.) WB - Write Back Resultatspeicherphase
1.) Statisches Scheduling: In Order Issue In Order Completion - VLIW Prozessor
2.) Dynamisches Scheduling: Out Of Order Issue Of Order Completion: OOE-Prozessor
1.) Statische Sprungvorhersage
1.1.) Predict Always Not Taken
1.2.) Predict Always Taken
1.3.) Predict Backward Taken forwar not taken
2.) Dnyamisch
2.1.) Ein bit pr"adiktor: Taken not taken
2.2.) Strongly weakly T/NT