/media/sda-magnetic/david/Dokumente-15/fernuni-hagen/cs-i-ii/old-cs-2-01/2021-11-29-exercize/auswendig0006.txt


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

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

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

Dreiaddressformat
Zweiaddressformat
Einaddressformat
Nulladdressformat 

Stackarchitektur: 8087, Intel; 862 - Atmel 

Einzelbit
Ganzzahl 
Gleitkomma 
Multimedia 

Byte 
Halbwort
Wort 
Doppelwort

signed
unsigned
packed
unpacked
bcd 
ascii

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

Direktwertaddressierung
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

Mem-To-Reg
Mem-Write
ALU-Src
ALU-Op
Branch
MemoToReg
MemWrite 

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

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

Funktionsdekodierer
- Func 
- ALUOp
- ALU-Operation 

ALU:
- Ergebnis 
- Null 

Datenspeicher: 
- Addresse
- Schreibedaten 
- Lesedaten 
- WE 

Programmspeicher:
- 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      RegDst      RegWrite    Branch      ALU-Src     ALU-OP  MemToReg        MemWrite        ALU-Operation 
r-typ   000 000     1           1           0           0           0       0                               10

Sprungbefehle 
1.) Bedingt
2.) Unbedingt 

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

JUMP and LINK 

eq - equal
ne
ge
gt
lt
le

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

PC = PC_alt + (I << 2)
PC = PC_alt & 0xf000 0000 | (I << I)

Pipeline-Konflikte
1.) Datenkonflikte
2.) Steuerflusskonflikte
3.) Struktur und Ressourcenkonflikte 

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

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

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

Sprungvorhersage
1.) Statisch
- Predict always taken 
- Predict always not taken 
- Predict backward taken, forward not Taken 
2.) Dynamisch: Predictor
- Taken, Not Taken 
- Predict Strongly Taken, Predict Weakly Taken, Predict Weakly not taken, strongly not taken