/media/sda-magnetic/david/Dok-15-2023-11-27/fernuni-hagen/cs-i-ii/old-cs-2-01/2021-11-20-learn/auswendig0001.txt


Auswendig: 

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

Datenbewegungsbefehle
Arithmetisch-Logische Befehle
Schiebe und Rotationsbefehle
Multmedia-Befehle
Gleitkomma-Befehle
Programmsteuerbefehle
Systemsteuerbefehle
Synchronisationsbefehle

Byte
Wort
Halbwort
Doppelwort

Big-Endian
Little-Endian 

Lade- und Speicherarchitektur
Stackarchitektur
Akkumulator-Architektur
Register-Register


Stack: Architektur: 8087 Intel, atm862

Einzelbit
Ganzzahl
Gleitkomma
Multimedia 

BCD
ASCII 
signed
unsigned
packed
unpacked

IEEE-754-Std: Gleitkomman 

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

Direktwertaddressierung
Unmittelbare Addressierung
Indirekte Addressierung
Indirekte Addressierung mit Verschiebung
Indirekte Addressierung mit Autoinkremnt/Dekrement
Indizierte Addressierung
Indizierste Addressierung mit Verschiebung

Steuereinheit
1. Befehlsdekodierer
2. Funktionsdekodierer

MemToReg
MemWrite 
Branch
ALU-Src
ALU-Op
RegDst
RegWrite 

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

ALU:
- ALU-Ergebnis
- Null

ALU-Src
ALU-Op
ALU-Operation 

Datenspeicher: 
- Addresse
- Schreibedaten
- Lesedaten 
- WE

Register-Satz
- Schreibe-Register-1
- Schreibe-Register-2
- Lese-Register
- WE
- Lese-Daten-1
- Lese-Daten-2
- Schreibedaten 

AND:
- ALU-Src

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

Befehlsspeicher:
- Lese-Daten
- Schreibedaten


Func        ALU-Op      ALU-Operation 
00          X           010 add 
X1          X           110 sub
1X          000 000     010 add

            Op-Code     Reg-Dst Reg-Write   ALU-Src Branch MemWrite MemToReg  ALU-Op
R-Typ       000 000     1       1           0       0       0         0         10




Bedingte Sprüngen 
Unbedingte Sprünge

Befehlszählerrelative Sprünge 
Absolute Sprünger

Befehlszählerrelative Sprünge mit Speicherung vom nächsten Befehl, Addresse 

jal, jalr - jump and link, jump and link, Relativ zum Register 
j, jr*: jump

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

branch: Absolute Sprünge 

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

1. Befehl 
2. Befehl dekodierern
3. Operanden in der ALU bereit stellen
4. Operation in der ALU ausführen 
5. Ergebnis in Register oder Datenspeicher zu schreiben

Instruction Fetch (IF)
Instruction Decode/Register Fetch (ID)
Execute Address Calculation (EX)
Memory Access (MEM)
Write Back (WB)

IF, ID, EX, MEM, WB

Konflikte:
- Datenflusskonflikte
- Steuerflusskonflikte
- Ressourcen-Konflikten 

Pipeline-Stufe
Pipeline-Register
Pipeline-Segment

VLIW: Very Long Instruction Word

Statisch, Dynamisch 

Statisch: In-Order Issue In-Order-Completion
In-Order Issue- In-Order-Completetion Prozessor
Dynamisch: Out-Of-Order Issue Out-Of-Order-Completetion 

Statische Sprungvorhersagen
Dynamische 

Statische, durch die Hardware
- Predict Always not taken 
- Predict Always taken 
- Predict Backward Taken forward not taken 

Dynamisch: Ein oder zwei Bit-Prädiktor

Taken->Taken
Taken->Not Taken
Not Taken->Taken
Not Taken->Not Taken 

Predict Strongly 
Predict Weakly Taken 
Predict Weakly Not Taken 
Predict Strongy Not Taken