Auswendig:
lb, lbu: Laden eines Bytes
lh, lhu
lw
ld*
la*
li*
sb
sh
sw
sd*
mult
multu
div
divu
add
addiu
addu
sub
and
andi
or
ori
xor
xori
not
rem*
abs*
Datenbewegungsbefehle
Arithmetisch-Logische Befehle
Schiebe und Rotationsbefehle
Multmedia-Befehle
Gleitkomma-Befehle
Programmsteuerbefehle
Systemsteuerbefehle
Synchronisationsbefehle
Byte
Wort
Halbwort
Doppelwort
Big-Endian
Little-Endian
Lade- und Speicherarchitektur
Stackarchitektur
Akkumulator-Architektur
Register-Register
Stack: Architektur: 8087 Intel, atm862
Einzelbit
Ganzzahl
Gleitkomma
Multimedia
BCD
ASCII
signed
unsigned
packed
unpacked
IEEE-754-Std: Gleitkomman
f = (-1)^s*1.m*2^(e-b)
Direktwertaddressierung
Unmittelbare Addressierung
Indirekte Addressierung
Indirekte Addressierung mit Verschiebung
Indirekte Addressierung mit Autoinkremnt/Dekrement
Indizierte Addressierung
Indizierste Addressierung mit Verschiebung
Steuereinheit
1. Befehlsdekodierer
2. Funktionsdekodierer
MemToReg
MemWrite
Branch
ALU-Src
ALU-Op
RegDst
RegWrite
Befehlsdekodierer
Funktionsdekodierer
Registersatz
Datenspeicher
Befehlsspeicher
Befehlszähler
ALU
4 x MUX
1 x AND
2 x Addierer
1 x 2-Bit-Shifter
ALU:
- ALU-Ergebnis
- Null
ALU-Src
ALU-Op
ALU-Operation
Datenspeicher:
- Addresse
- Schreibedaten
- Lesedaten
- WE
Register-Satz
- Schreibe-Register-1
- Schreibe-Register-2
- Lese-Register
- WE
- Lese-Daten-1
- Lese-Daten-2
- Schreibedaten
AND:
- ALU-Src
Befehlszähler
PC (t)
PC (t+1)
Befehlsspeicher:
- Lese-Daten
- Schreibedaten
Func ALU-Op ALU-Operation
00 X 010 add
X1 X 110 sub
1X 000 000 010 add
Op-Code Reg-Dst Reg-Write ALU-Src Branch MemWrite MemToReg ALU-Op
R-Typ 000 000 1 1 0 0 0 0 10
Bedingte Sprüngen
Unbedingte Sprünge
Befehlszählerrelative Sprünge
Absolute Sprünger
Befehlszählerrelative Sprünge mit Speicherung vom nächsten Befehl, Addresse
jal, jalr - jump and link, jump and link, Relativ zum Register
j, jr*: jump
eq: equal
ne: not equal
gt: greater than
lt: less than
le: less than equal
ge: greater then equal
branch: Absolute Sprünge
beq, bne
bgt, bge
blt, ble
beqz, bnez
bltz, blez
bgez, bgtz
1. Befehl
2. Befehl dekodierern
3. Operanden in der ALU bereit stellen
4. Operation in der ALU ausführen
5. Ergebnis in Register oder Datenspeicher zu schreiben
Instruction Fetch (IF)
Instruction Decode/Register Fetch (ID)
Execute Address Calculation (EX)
Memory Access (MEM)
Write Back (WB)
IF, ID, EX, MEM, WB
Konflikte:
- Datenflusskonflikte
- Steuerflusskonflikte
- Ressourcen-Konflikten
Pipeline-Stufe
Pipeline-Register
Pipeline-Segment
VLIW: Very Long Instruction Word
Statisch, Dynamisch
Statisch: In-Order Issue In-Order-Completion
In-Order Issue- In-Order-Completetion Prozessor
Dynamisch: Out-Of-Order Issue Out-Of-Order-Completetion
Statische Sprungvorhersagen
Dynamische
Statische, durch die Hardware
- Predict Always not taken
- Predict Always taken
- Predict Backward Taken forward not taken
Dynamisch: Ein oder zwei Bit-Prädiktor
Taken->Taken
Taken->Not Taken
Not Taken->Taken
Not Taken->Not Taken
Predict Strongly
Predict Weakly Taken
Predict Weakly Not Taken
Predict Strongy Not Taken