/media/sda-magnetic/david/Dok-15-2023-11-27/informatik/vhdl-2023-12-08/auswendig0044.txt


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

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

Dreiaddressformat
Zweiaddressformat
Einaddressformat
Nulladdressformat

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

Intel 8087, ATAM 862 Atmel

Little-Endian
Big-Endian

Einzelbit
Ganzzahl
Gleitkomma
Multimedia

Byte
Halbwort
Wort
Doppelwort
Quadwort
Ten Byte

signed
unsigned
packed
unpacked
bcd
ascii

ieee-754-std
f = (-1)^s * 1.m * 2^(e-b)
32: einfach
64: doppelt
80: erweitert

Unmittelbare Addressierung
Absolute 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
RegDst
RegWrite
ALU-Op

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

Befehlsdekodierer
- MemToReg
- MemWrite
- Branch
- ALU-Src
- ALU-Op
- RegDst
- RegWrite

Funktionsdekodierer
- Func
- ALU-Op
- ALU-Operation

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

Datenspeicher
- Lesedaten
- Schreibedaten
- Addresse
- WE

ALU
- Null
- Ergebnis

AND
- PCSrc

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      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

JAL: Jump and Link: Speichern zusätzlich die Addresse die dem Befehl folgt

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

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

Mehrzyklus Zustandselemente
- Befehlsspeicher
- Befehlszähler
- Registersatz
- Datenspeicher

Pipeline-Prinzip
Pipeline-Stufe
Pipeline-Takt

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

1.) IF - Instruction Fetch - Befehls bereitstellungsphasen
2.) ID - Instruction Decode / Register Fetch - Befehlsdekodierphase Operanden Bereitstellungsphasen
3.) EX - Execute / Address Calculation - Ausführungsphase
4.) MEM - Memory Access / Speicherzugriffsphase
5.) WB - Write Back / Resultatsspeicherphase

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

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

1.) Statische Sprungvorhersage, durch die Hardware
1.1.) Predict Always Not Taken
1.2.) Predict Always Taken
1.3.) Predict Backward Taken forward Not Taken
2.) Dynamisch: 1 und 2 Bit Prädiktor
2.1.) 1 Bit Prädiktor: Taken -> Not Taken, Not Taken -> Taken
2.2.) 2 Bit Prädiktor: Strongly/ Weakly Taken/Not Taken