Auswendig
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
nor
rem*
abs*
not
neg
Datenbewegungsbefehle
arithmetisch logische Befehle
Schiebe und Rotationsbefehle
Programmsteuerbefehle
Gleitkommabefehle
Multimediabefehle
Synchronisationsbefehle
Systemsteuerbefehle
Lade- und Speicherarchitektur
Speicher-Speicher-Architektur
Register-Speichar-Architektur
Stack-Architektur
Akkumulator-Architektur
Byte
Halbwort
Wort
Doppelwort
Einzelbit
Ganzzahl
Gleitkomma
Multimedia
signed
unsigned
packed
unpacked
bcd
ascii
little-endian-format
big-endian-format
Stackarchitektur: 8087 Intel, atm862 atmel
IEEE-754-Std
f = (-1)^s*1.m*2^(e-b)
Unmittelbare Addressierung
Registeraddressierung
Direkte Adddressierung
Indirekte Addressierung
Indirekte Addressierung mit Autoinkrement/Autodekrement
Indirekte Addressierung mit Verschiebung
Indizierte Addressierung
Indizierte Addressierung mit Verschiebung
Steuereinheit
1. Befehlsdekodierer
2. Funktionsdekodierer
RegDst
RegWrite
MemToReg
MemWrite
Branch
ALU-Src
ALU-Op
Befehlsdekodierer
Funktionsdekodierer
ALU
Registersatz
Datenspeicher
Befehlsspeicher
Befehlszähler
Vorzeichenerweiterungseinheit
1 x AND
4 x Multiplexer
2 x Addier
1 x 2-Bit-Shifter
ALU-Src
ALU-Op
ALU-Operation
Datenspeicher:
- Lesedaten
- Schreibedaten
- WE
- Addresse
Register-Satz:
- Lese-Register-1
- Lese-Register-2
- Schreiberegister
- Lese-Daten-1
- Lese-Daten-2
- Schreibedaten
- WE
AND:
- PCSrc
ALU:
- Func
- ALU-Op
- ALU-Operation
Befehlszähler
- PC (t)
- PC (t+1)
Befehlsspeicher
- Lesedaten
- Schreibedaten
Func ALU-Op ALU-Operation
00 x 010 add
x1 x 110 sub
1x 100 000-add 010 Add
OpCode Reg-Dst Reg-Write ALU-Src Branch MemToReg MemWrite ALU-Operation
R-Typ 000 000 1 1 0 0 0 0 10
1. Absolute Addressierung
2. Befehlsrelative Addressierung
1. Bedingte
2. Unbedingte
eq
ne
gt
ge
lt
le
br
j
jal
jalr
jr
beq, bne
bgt, bge
blt, ble
bgtz, bgez
bltz, blez
beqz, bnez
PC_neu = PC_alt + (I << 2)
PC_neu = PC_alt & 0xf000 0000 | (I << 2)
1. Befehl holen
2. Befehl dekodieren
3. Operanden der ALU bereitstellen
4. Operation in der ALU ausführen
5. Resultat in Architekturregister zurück schreiben
IF
ID
EX
MEM
WB
IF - Instruction Fetch
ID - Instruction Decode / Register Fetch
EX - Execute / Address Calculation
MEM - Memory Access
wB - Write Back
Pipelinestufe, Pipelineregister, ...
Pipeline-Konflikte
1. Datenkonflikte
2. Steuerflusskonflikte
3. Struktur- und Ressourcenkonflikte
VLIW - Very Long Instruction Word
1. Statisch
- In-order issue in order completion
- VLIW-Prozessor
2. Dynamisch
- Out-Of-Order Issue Out-Of-Order-Completion
- OOE-Prozessor Out Of Order Execution
Statisch:
1. Predict Always taken
2. Predict Always not taken
3. Predict Backward Taken forward not taken
Dynamisch:
1 oder 2 Bit Predictor
Taken, Not-Taken
Predict strongly taken, predict weakly taken, predict weakly not taken, predict strongly not taken