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


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

Datenbewegungsbefehle 
arithmetisch logische Befehle
Schiebe und Rotationsbefehle
Programmsteuerbefehle
Systemsteuerbefehle
Synchronisationsbefehle
Gleitkommabefehle
Multimediabefehle

8087-Intel, Atam 862 Atmel 

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

Dreiaddressformat
Zweiaddressformat
Einaddressformat
Nulladdressformat

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)

little-endian-format
big-endian-format

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

Steuereinheit
1.) Befehlsdekodierer
2.) Funktionsdekodierer

MemToReg
MemWrite
Branch 
ALU-Src
ALU-Op
RegDst
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 

ALU
1.) Ergebnis
2.) Null 

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

Datenspeicher:
1.) Addresse
2.) Lesedaten 
3.) Schreibedaten
4.) WE 

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        ALU-Src     Branch      MemToReg        MemWrite        ALU-Op
r-Typ       000 000         1               1               0           0           0               0               10

1.) Bedingt
2.) Unbedingt

1.) Absolut
2.) Befehlszählerrelativ
3.) Befehlszählerindirekt

1.) Branch 
2.) Jump 
3.) Jump Register 

JAL - Jump and Link 

eq - equal 
ne - not equal 
ge - greater than equal 
gt - greater than 
le - less than equal 
lt - less than 

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

PC_neu = PC_alt + (i << 2)
PC_neu = PC_alt & 0xf000 000 | (i << 2)

1.) Befehl holen 
2.) Befehl dekodieren
3.) Operanden der ALU bereitstellen
4.) Operation in der ALU ausführen 
5.) Operanden 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.) Statisches Scheduling: In Order Issue In Order Completti
2.) Dynamisch: Out Of Order Out Of Order Completion 

1.) Always taken 
2.) Always not taken 
3.) Backward taken, forward not takn 
4.) T, NT
5.) Strongly Taken, ...