Re: Aufgaben und Übungen,

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

Einzelbit
Ganzzahl
Gleitkomma
Multimedia

signed
unsigned
packed
unpacked
bcd
ascii

8087, Intel, ATAM862, Atmel - Stackarchitektur

byte
halbwort
wort
doppelwort

little-endian
big-endian

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

registeraddressierung
unmittelbare addressierung
absolute addressierung
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
ALU-Op
RegDst
RegWrite

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

ALU:
- Ergebnis
- Null

AND:
- PCSrc

Datenspeicher
- Lesedaten
- Schreibedaten
- WE
- Addresse

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

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-Op
r-typ       000 000     1       1           0       0       0           0           10

Sprungbefehle
1.) Bedingt
2.) Unbedingt

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

jal: Jump and Link

Absolut
Befehlsz"ahlerindirekt
Befehlsindirekt

PC_neu = PC_alt + (I << 2)
PC_neu = PC_alt \&amp; 0xf000 0000 | (I << 2)

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

1.) Befehl holen
2.) Befehl dekodieren
3.) Operanden der ALU bereitstellen
4.) Operation in der ALU ausf"uhren
5.) Operanden in Architekturregister zur"uckschreiben

IF: Instruction Fetch - Befehlsholephase
ID: Instruction Decode Register Fetch: Befehlsdekodier und Operanden bereitstellungsphase
EX: Execute Address Calculation - Ausf"uhrungsphase
MEM: Memory Access: Speicherzugriffsphase
WB: Write Back - Resultatsspeicherphase

Zustandselemente
- Befehlsz"ahler
- Befehlsspeicher
- Registersatz
- Datenspeicher

Pipeline-Prinzip
Pipeline-Phase
Pipeline-Stufe
Pipeline-Register

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

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

1.) Sprungvorhersage - statisch
1.1.) Predict Always Not Taken
1.1.) Predict Always Taken
1.3.) Predict Backward Taken, forward not Taken
2.) dynamisch
2.1.) Taken -> Not Taken - 1 Bit Pr"adiktor
2.2.) Strongly Taken, weakly Taken Strongly NT Weakly NT