/media/sda-magnetic/david/Dok-15-2023-11-27/fernuni-hagen/cs-i-ii/old-cs-2-01/2022-02-19-aufgaben/auswendig0015.txt


lb, lbu
lh, lhu
lw
ld*
la*
li*
sb
sh
sw
sd*
and
andi
or
ori
xor
xori
not*
rem*
abs*
neg*
add
addiu
addi 
sub 
mult
multu
div
divu

Transportbefehle
arithmetisch logische Befehle
schiebe und Rotationsbefehle
Programmsteurbefehle
Systemsteuerbefehle
Synchronisationsbefehle
Gleitkommabefehle
Multimediabefehle

Lade- und Speicharchitektur
Register-Speicherarchitektur
Speicher-Speicherarchitektur
Akkumulator-Architektur
Stack und Kellerarchitektur

8087, Intel, ATAM 862, Atmel 

Dreiaddressformat
Zweiaddressformat
Einaddressformat
Nulladdressformat

Little-Endian
Big-Endian 

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)

Unmittelbare Addressierung
Registeraddressierung
Direkte Addressierung
Indirekte Addressierung
Indirekte Addressierung Autoinkrement/Dekrement
Indirekte Addressierung mit Verschiebung
Indizierte Addressierung
Indizierte Addressierung mit Verschiebung

Steuereinheit
1.) Befehlsdekodierer
2.) Funktionsdekodierer

1.) MemToReg
2.) MemWrite
3.) Branch 
4.) ALU-Src
5.) ALU-Op
6.) RegDst 
7.) RegWrite 

Befehlsdekodierer
Funktionsdekodierer
ALU
Registersatz
Datenspeicher
Befehlsspeicher
Befehlszähler
Vorzeichenerweiterungseinheit
4 x MUX 
1 x AND 
2 x Addierer
1 x 2 Bit Shifter

Funktionsdekodierer
1.) Func
2.) ALU-Op
3.) ALU-Operation 

Datenspeicher
1.) Addresse 
2.) Lese-Daten 
3.) Schreibe-Daten
4.) WE 

Registersatz
1.) Lese-Register-1
2.) Lese-Register-2
3.) Schreiberegister
4.) Schreibedaten
5.) Lese-Daten-1
6.) Lese-Daten-2
7.) WE 

ALU:
- Ergebniss
- NULL 

AND 
- PCSrc 

Befehlsspeicher
1.) Addresse 
2.) Lesedaten 

Befehlszähler
1.) PC (t)
2.) 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

1.) Bedingt
2.) Unbedingt

1.) Absolut: Branch 
2.) Befehlszählerrelativ: Jump 
3.) Befehlszählerindirekt: Jump Register 

1.) eq - equal 
2.) ne - not equal 
3.) gt - greater than 
4.) ge - greater than equal 
5.) lt - less than 
6.) le - less than equal 

j, b*, jr
jal, jalr 
beq, bne 
beqz* bnez*
bge*, bgt*
bgez, bgtz
blt*, ble*
bltz, blez

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 bzw. Speicherzugriff
5.) Resultat in Architekturregister zurückschreiben 

1.) IF = Instruction Fetch 
2.) ID = Instruction Decode / Register Fetch 
3.) EX = Execute Address Calculation
4.) MEM = Memory Access
5.) WB = Write Back 

1.) Datenkonflikt
2.) Steuerflusskonflikt
3.) Struktur und Ressourcenkonflikt

1.) Statisches Scheduling: VLIW - Very Long Instruction Word - In-order issue in-order completion 
2.) Dynamisch: Out Of Order Issue Out Of Order Completion 

Beim dynamischen scheduling: Statische Sprungvorhersage

1.) Predict Always Taken
2.) Always not taken 
3.) Backward Taken Forward NT 

1.) Ein und Zwei-Bit-Prädiktor
1.1.) T, NT 
1.2.) Strongly, weakly T und NT