Re: Quine Mc Cluskey and Automat

lb, lbu: Laden eines Bytes
lh, lhu: Laden eines Halbwortes
lw: Laden eines Wortes
ld*: Laden eines Doppelwortes
la*: Laden einer Addresse
li*: Laden eines Immidiate Wertes
sb: Speichern eines Bytes
sh: Speichern eines Halbwortes
sw: Speichern eines Wortes
sd*: Speichern eines Doppelwortes

add, addi, addiu
sub
mult, multu
div, divu

rem*
abs*
neg*
not*

and, andi
or, ori
xor, xori
nor

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

Dreiaddressformat
Zweiaddressformat
Einaddressformat
Nulladdressformat

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

8087, Intel, ATAM862, Atmel

Einzelbit
Ganzzahl
Gleitkomma
Multimedia

signed
unsigned
packed
unpacked
bcd
ascii

little-endian
big-endian

Byte
Halbwort
Wort
Doppelwort

ieee-754-std
f = (-1)\^s * 1.m * 2\^(e-b)
32: Einfach
64: Doppelt
80: Erweitert

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

Befehlsdekodierer
Funktionsdekodierer
ALU
Registersatz
Datenspeicher
Befehlsspeicher
Befehlsz"ahler
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
- Schreibe-Daten
- Lese-Register-1
- Lese-Register-2
- Schreiberegister
- WE

Datenspeicher
- Lesedaten
- Schreibedaten
- Addresse
- WE

ALU:
- ALU-Ergebnis
- Null

AND:
- PCSrc

Befehlsspeicher:
- Leseaddresse
- Lesedaten

Befehlsz"ahler
- 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-Operation
r-typ       000 000     1           1           0           0           0           0           10

Verzweigungsbefehle
1.) Bedingt
2.) Unbedingt

Absolut: Branch
Befehlsz"ahlerrelativ: Jump
Befehlsz"ahlerindirekt: 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"atzlich die Addresse des Befehls, die dem Sprungbefehl folgt

Fall 1: Die Zieladdresse wird durch einen Teil des Im Befehl kodierten Operand ersetzt:
PC_neu = PC_alt \&amp; 0xf000 0000 | (I << 2)

Fall 2: Addierung relativer Addresse
PC_neu = PC_alt + (I << 2)

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

Befehl holen
Befehl dekodierer
Operanden der ALU bereitstellen
Operation in der ALU ausf"uhren
Operanden in Architekturregister zur"uckschreiben

Pipeline-Stufe
Pipeline-Segment
Pipeline-Register

Zustandselemente:
Befehlsspeicher
Befehlsz"ahler
Registersatz
Datenspeicher

IF, ID, EX, MEM, WB

IF: Instruction Fetch - Befehlsbereitsstellungsphase
ID: Instruction Decode/Register Fetch: Befehlsdekodierphase Operandenbereitstellungsphase
EX: Execute Address Calculation: Ausf"uhrungsphase
MEM: Memory Access: Speicherzugriffsphase
WB: Write Back Resultatspeicherphase

1.) In order Issue In Order Completion: VLIW
2.) Out of Order Issue Out Of Order Completion

Datenkonflikt
Steuerflusskonflikt
Struktur und Ressourcenkonflikt

1.) Statische Sprungvorhersage
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 Taken, weakly, Strongly Not, Weakly Not