/media/sda-magnetic/david/Extern-Magnetic-2022-06-29/Extern01/Dokumente-11-2021-07-05/informatik-math/2021-12-25-learn/auswendig0004.txt


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

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

Lade- und Speicherarchitektur
Register-Speicherarchitektur
Speicher-Speicherarchitektur
Akkumulator-Architektur
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

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

ieee-754-std. 

Unmittelbare Addressierung
Registeraddressierung
Direkte Addressierung
Indirekte Addressierung
Indirekte Addressierung mit Verschiebung
Indirekte Addressierung mit Autoinkrement/Dekrement
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 Bit-Shifter

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

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

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

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 

                    Op-Code             RegDst          RegWrite        Branch          ALU-Src         MemToReg        MemWrite    ALU-Operation 
r-typ               000 000             1               1               0               0               0               0           10

1.) Bedingte Sprungbefehle
2.) Unbedingte

1.) Absolut: Branch 
2.) Befehlszählerrelativ: jump 
3.) Befehlszählerindirekte: jump register 

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

beq, bne
beqz, bnez
bgt, bge
bgtz, bgez
blt, ble
bltz, blez

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

1.) Befehl holen 
2.) Befehl dekodieren
3.) Operanden in ALU-Register 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 Addresse Calculation 
4.) MEM - Memory Access 
5.) WB - Write Back 

1.) Datenkonflikte
2.) Steuerflusskonflikte
3.) System und Ressourcenkonflikte 

1.) Out Of Order Issue Out Of Order Execution: Dynamisch
2.) In Order Issue In Order Completion: Statisch 

1.) Statisch 
1.1.) Predict always taken 
1.2.) Always not taken 
1.3.) Backward taken, forward not taken 
2.) Taken, not taken, strongly taken, waekly, ...