/media/sda-magnetic/david/Dok-15-2023-11-27/informatik/vhdl-2023-12-10/auswendig0046.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*, abs*, neg*, rem*

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

Dreiaddressformat
Zweiaddressformat
Einaddressformat
Nulladdressformat

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

8087, Intel, ATAM 862, Atmel

Big-Endian
Little-Endian

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
Registeraddressierung
Direkte oder Absolute Addressierung
Indirekte Addressiernug
Indirekte Addressierung mit Verschiebung
Indirekte Addressierung mit Autoinkrement/Dekrement
Indizierte Addressierung
Indizierte Addressierung mit Verschiebung

Steuereinheit
1.) Befehlsdekodirer
2.) Funtkionskdekodierer

MemToReg
MemWrite
Branch
ALU-Src
ALU-Op
RegDst
Regwrite

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

Befehlskdedoierer
- MemTorReg
- MemWrite
- Branch
- ALU-Src
- ALU-Op
- RegDst
- RegWrite

Funktionsdekodierer
- Func
- ALU-Op
- ALU-Operation

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

Datenspeicher
- Lesedaten
- Schreibedaten
- Addresse
- WE

AND:
- PCSrc

ALU
- Ergebnis
- Null

Befehlsspeicher
- Addresse
- Lesedaten

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

ALU         Func            ALU-Operation
00          x               010 - add
x1          x               110 - sub
1x          100 000 - add   010 - add
11

            OpCode      RegDst      RegWrite    Branch  ALU-Src     MemTorReg   MemWrite    ALU-Operation
r-typ       000 000     1           1           0       0           0           0           10

Verzweigungsbefehle
1.) Bedingt
2.) Unbedingt

1.) Absolut = Branch
2.) Befehlszählerrelativ = Jump
3.) Befehslzä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 die Addresse, die dem Sprungbefehl folgt

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

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

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

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
2.) ID = Instruction Decode / Register Fetch
3.) EX = Execute Address Calculation
4.) MEM = Memory Access
5.) WB = Write Back

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

1.) Statisches Scheduling durch die Software: In Order Issue In Order Completion: VLIW
2.) Durch die Hardware : Out Of Order Issue Out of Order Completion

1.) Statisch durch die Hardware
1.1.) Predict Always Not Taken
1.2.) Predict Always Taken
1.3.) Predic taken forward not taken
2.) Dynamisch
2.1.) Taken Not Taken
2.2.) Strongly Weakly T/NT