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
Mulimediabefehle
Programmsteuerbefehle
Systemsteuerbefehle
Synchronisationsbefehle

Dreiaddressformat
Zweiaddressformat
Einaddressformat
Nulladdressformat

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

Big-Endian-Format
Little-Endian-Format

Einzelbit
Ganzzahl
Gleitkomma
Multimedia

signed
unsigned
packed
unpacked
bcd
ascii

byte
halbwort
wort
doppelwort

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

Absolute Addressierung
Unmittelbare Addressierung
Registeraddressierung
Direkte Addressierung
Indirekte Addressierung
Indirekte Addressierung mit Verschiebung
Indirekte Addressierung mit Autoinkrement/Dekrement
Indizierte Addressierung
Indizierte Addressiernug mit Verschiebung

Steuereinheit
1.) Befehlsdekodierer
2.) Funktionsdekodierer

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

Funktionsdekodierer
Func
ALU-Op
ALU-Operation

ALU
Ergebnis
NULL

AND
PCSrc

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

Datenspeicher
    Addresse
    Lesedaten
    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

Verzweigungsbefehle
1.) Bedingt
2.) Unbedingt

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

Absolut: Branch
Befehlsz"ahlerrelativ: Jump
Befehlsz"ahlerindirekt: Jump Register

JAL: Jump and link - speichern zus"atzlich die Addresse, die dem Sprungbefehl folgt

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

Zustandselemente
- Befehlsspeicher
- Befehlsz"ahler
- Registersatz
- Datenspeicher

Pipeline-Stufe
Pipeline-Segment
Pipeline-Register
Pipeline-Prinzip

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 Operandenbereitstellungsphase
EX Execute Address Calculation Ausf"uhrungsphase
MEM Memory Access - Speicherzugriffsphase
WB Write Back - Resultatspeicherphase

1.) In  Order Issue In Order Completion
2.) Out Of Order Issue Out Of Order Completion

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

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.) ein Bit Pr"adiktor - Taken/Not Taken
2.2.) Strongly/Weakly T/NT