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


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

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

Lade- und Speicherarchitektur
Speicher-Speicherarchitektur
Register-Speicherarchitektur
Akkumulaturarchitektur
Stack und Kellerarchitektur

Dreiaddressformat
Zweiaddressformat
Einaddressformat
Nulladdressformat 

8087, Intel, ATAM862, Atmel 

Einzelbit
Ganzzahl 
Gleitkomma 
Multimedia 

byte 
halbwort
wort 
doppelwort 

signed
unsigned
packed
unpacked
bcd
ascii

big-endian
little-endian 

f = (-1)^s * 1.m * 2^(e-b)

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
Reg-Dst 
Reg-Write 

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

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

ALU:
- ALU-Ergebnis
- Null 

AND: 
- PCSrc

Datenspeicher
- Lese-Daten-1
- Lese-Daten-2
- Schreibedaten
- Lese-Register-1
- Lese-Register-2
- Schreiberegister
- WE 

Datenspeicher
- Addresse 
- WE 
- Lesedaten 
- Schreibedaten 

Befehlsspeicher
- Lesedaten 
- Addresse 

Befehlszähler 
- PC (t)
- PC (t+1)

Func            ALU-Op              ALU-Operation 
00              x                   010 - add
x1              x                   110 - sub 
1x              100 000 - add       010 - add 

                OPCode      Reg-Dst     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ählerindirekte

branch, jump, jump register 
jump and link: jal 

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

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


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

1.) Befehl holen 
2.) dekodieren
3.) Operanden der ALU bereitstellen
4.) Operation in 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.) Datenkonflikte
2.) Steuerflusskonflikte
3.) Struktur und Ressourcen Konflikte

1.) Statisches Scheduling: In Order Issue In Order Completion - VLIW
2.) Dynamisch: Out Of Order Issue Out Of Order Completion 

1.) Predict Always taken 
2.) Not Taken 
3.) Backward T, Forward NT 

1.) T, NT
2.) Strongly T, weakly T, ...