/media/sda-magnetic/david/Dok-15-2023-11-27/informatik/vhdl20240110/auswendig2024-01-06.txt


lb, lbu
lh, lhu
lw
ld*
la*
li*
sb
sh
sw
sd*
move
add, addi, addiu
sub, subi
mult, multu
div, divu

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

Dreiaddressformat
Zweiaddressformat
Einaddressformat
Nulladdressformat

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

Stackarchitektur: 8087-Intel, ATAM 862-Atmel
Speicher- Speicherarchitektur: Texas Instrumentes 9900 4 Bit

Big-Endian: richtig
Little-Endian: falsch rum

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)
32: einfach
64: doppelt
80: erweitert

Unmittelbare Addressierung
Direktwertaddressierung Immidiate
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

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

Funktionsdekodierer
- Func
- ALU-Op
- ALU-Operation

Befehlsdekodierer
Funktionsdekodierer
ALU
Registersatz
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

Datensspeicher
- Lesedaten
- schreibedaten
- Addresse
- WE

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

ALU:
- Ergebnis
- Null

AND:
- PCSrc

Befehlsspeicher
- Leseaddresse
- Lesedaten

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

ALU-Op              Func                ALU-Operation
00                  x                   010 - add
01                  x                   110 - sub
10                  100 000 - add       010 - add
11                  n/a                 n/a

                    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

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

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

jal: Jump and Link: Speichern zusätzlich der Addresse die dem Sprungbefehl folgt

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

j, b, jr: Jump: Befehlsindirekt, Jump Register: Befehlsszählerrelaiv: b: Absolut
jal:
jalr
beq, bne
beqz, bnez
blt, ble
bltz, blez
bgt, bge
bgtz, bgez

Zustandselemente
1.) Befehlszähler
2.) Befehlsspeicher
3.) Registersatz
4.) Datenspeicher

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

1.) IF = Instruction Fetch
2.) ID = Instruction Decode / Register Fetch
3.) EX = Execute / Address Calculation
4.) MEM = Memory Access
5.) WB = Write Back

1.) Datenkonflikt
2.) Steuerflusskonflikt
3.) Struktur und Ressourcenkonflikte

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

1.) Statische durch die Hardware
1.1.) Predict Always Not Taken
1.2.) Predict Always Taken
1.3.) Predict Backward Taken, forward not taken
2.) Dynamisch
2.1.) Taken/ Not Taken
2.2.) Strongly/Weakly Taken/Not Taken.