/media/sda-magnetic/david/Dokumente-15/fernuni-hagen/cs-i-ii/die-staending-wiederholenden-eigenen-uebunge-im-ws23.24/000009.txt


lb, lbu: Laden eines Bytes
lh, lhu: Laden eines Halbwortes
lw: Laden eines Wortes
ld*: Laden eines Doppelwortes
la*: Laden einer Addresse
li*: Laden eines Immidiate Wertes
sb: Speichern eines Bytes
sh: Speichern eines Halbwortes
sw: Speichern eines Wortes
sd*: Speichern eines Doppelwortes

addi, addu, addiu
sub
mult, multu
div, divu

rem*, abs*, neg*, not*
and, andi
or, ori
xor, xori
nor

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

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

Dreiaddressformat
Zweiaddressformat
Einaddressformat
Nulladdressformat

Intel 8087, ATAM 862, Atmel

Einzelbit 
Ganzzahl
Gleitkomma 
Multimedia 

singned
unsigned
packed
unpacked
bcd
ascii

Byte 
Halbwort 
Wort 
Doppelwort 

little-endian 
big-endian 

ieee-754-std
32: Einfach 
64: Doppelt
80: Erweitert
f = (-1)^s * 1.m * 2^(e-b)

Unmittelbare Addressierung
Registeraddressierung
Direkte Addressierung
Registerindirekte Addressierung
Registerindirekte Addressierung mit Verschiebung
Registerindirekte Addressierung mit Autoinkrement/Dekrement

Steuereinheit
1.) Befehlsdekodierer
2.) Funktionsdekodierer

MemToReg
MemWrite
Branch 
ALU-Src
ALU-Op
RegDst
RegWrite

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

Funktionsdekodierer
- Func
- ALU-Op 
- ALU-Operanden 

Datenspeicher: 
- addresse
- Lesedaten 
- Schreibedaten 
- WE 

Registersatz: 
- Lese-Register-1
- Lese-Register-2
- Schreiberegister
- Lese-Daten-1
- Lese-Daten-2
- Schreibedaten 
- WE 

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

ALU:
- Ergebnis
- Null 

Befehlsspeicher
- Leseaddresse
- Lesedaten 

Func        ALU-Op          ALU-Operanden 
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

Verzweigungsbefehle
1.) Bedingt
2.) Unbedingt

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

Absolut: Branch 
Befehlszählerrelativ: Jump
Befehlszählerindirekt: Jump Register 

Befehlszählerrelativ: Zu dem aktuellen Befehlszähler wird der Wert im Register addiert, als Zweierkomplement
Befehlsindirekt: Der Befehlszähler wird durch das Register ersetzt 

Befehlszählerrelativ: PC_neu = PC_alt + (I << 2)
Befehlszählerndirekt: PC_neu = PC_alt & 0xf000 0000 | (I << 2)

JAL: Jump and Link, speichern zusätzlich die Addresse die dem Sprungbefehl folgt

j, b*, jr: Befehlszählerrelativ, Absolut, Befehlszählerindirekt
jal
jalr
beqz*, bnez*
beq, bne 
bgtz, bgez
bgt*, bge*
bltz, blez
blt*, ble*

1.) Befehl holen 
2.) Befehl dekodieren 
3.) Operanden der ALU bereitstellen 
4.) Operation in der ALU ausführen 
5.) Operanden in Architekturregister zurückschreiben 

Zustandselemente, Pipeline
Befehlsspeicher
Befehlszähler
Registersatz 
Datenspeicher

Pipeline-Segment
Pipeline-Stufe
Pipeline-Register 

IF: Instruction Fetch Befehlsbereitstellungsphase
ID: Instruction Decode/Register Fetch: Befehlsdekodier und Operandenbereitstellungsphase
EX: Execute Addess Calculation: Ausführungsphase
MEM: Memory Access: Speicherzugriffsphase
WB: Write Back: Resultatspeicherphase

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

VLIW - Very Long Instruction Word 

1.) In Order Issue In Order Completion: VLIW-Prozessor 
2.) Out Of Order Issue Out Of Order Completion: OOE-Prozessor 

1.) Statische Sprungvorhersage 
1.1.) Predict Always not taken 
1.2.) Predict Always Taken 
1.3.) Predict Backward Taken forward not taken 
2.) Dynamisch, ein oder zwei Bit prädiktor 
2.1.) Taken, Not Taken 
2.2.) Strongly Taken, Weakly Taken, Strongly NT, Weakly NT