Re: Aufgaben und Übungen,

lb, lbu
lh, lhu
lw
ld*
la*
li*
sb
sh
sw
sd*
move
add, addi, addiu
sub, subi
mult, multu
div, divu
and, andi
or, ori
xor, xori
not*, rem*, abs*, neg*

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

Dreiaddressformat
Zweiaddressformat
Einaddressformat
Nulladdressformat

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

Intel 8087, ATAM 862, Atmel: Stackarchitektur

Little-Endian, Big-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 Addressierung
Indirekte Addressierung mit Verschiebung
Indirekte Addressierung mit Autoinkrement/Dekrement
Indizierte Addressierung
Indizierte Addressierung mit Verschiebung

Tempor"are Variablen, Register \$t0 bis \$t9
Gesicherte Variablen: \$s0 bis \$s7
Argumente, funktionsaufruf, \$a
R"uckgabewert \$v
\$zero
\$gp, \$sp
\$at?

Steuereinheit
1.) Befehlsdekodierer
2.) Funktionsdekodierer

Befehlsdekodierer
1.) MemToReg
2.) MemWrite
3.) Branch
4.) ALU-Src
5.) ALU-Op
6.) RegDst
7.) RegWrite

1.) Befehlsdekodierer
2.) Funktionsdekodierer
3.) Registersatz
4.) ALU
5.) Datenspeicher
6.) Befehlsspeicher
7.) Befehslz"ahler
8.) Vorzeichenerweiterungseinheit
9.) 4 x MUX
10.) 1 x AND
11.) 2 x Addierer
12.) 1 x 2 Bit Shifter

Befehlsdekodierer
1.) MemToReg
2.) MemWrite
3.) Branch
4.) ALU-Src
5.) ALU-Op
6.) RegDst
7.) RegWrite

Funktionsdekodierer
1.) Func
2.) ALU-Op
3.) ALU-Operation

Registersatz
1.) Lese-Register-1
2.) Lese-Register-2
3.) Schreiberegister
4.) Lese-Daten-1
5.) Lese-Daten-2
6.) Schreibedaten
7.) WE

Datenspeicher
1.) Lesedaten
2.) schreibedaten
3.) addresse
4.) WE

ALU
1.) Ergebnis
2.) Null

AND
1.) PCSrc

Befehslsspeicher
1.) Addresse
2.) Lesedaten

Befehlsz"ahler
1.) PC (t)
2.) PC (t+1)

ALU-Op      Func                ALU-Operation
00          x                   010 - add
x1          x                   110 - sub
1x          100 000 - add       010 - add
xx          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

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

1.) Absolut: Branch
2.) Befehlsz"ahlerrelativ: Jump
3.) 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)

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

Zustandselemente
1.) Befehlsz"ahler
2.) Befehlsspeicher
3.) Registersatz
4.) Datenspeicher

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

IF - Instruction Fetch
ID - Instruction Decode / Register Fetch
EX - Execute / Address Calculation
MEM - Memory Access
WB - Write Back

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

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

1.) Statisches Sprungvorhersage durch die Hardware
1.1.) Predict Always Not Taken
1.2.) Predict Always Taken
1.3.) Predict Backward Taken forward Not Taken
2.) Dynamisch - Ein und Zwei Bit Pr"adiktor
2.1.) Taken <-> Not Taken
2.2.) Strongly / Weakly T/NT

Schaltnetze
Schaltwerke
Komplexe Schaltwerke
Aufbau und Funktiosnweise einse Computers

Schaltnetze
    Boolesche Algebra
        Definition der Booleschen Algebra
        Schaltalgebra ein Modell der Booleschen Algebra
    Schaltfunktionen
        Definition
        Darstellung
        Minimierung
    Analyse von Schaltnetzen
    Synthese von Schaltnetzen
    Kodierglieder
        Schaltnetzentwurf f"ur den 8421-BCD-zu Siebensegmentumsetzung
        Schaltnetzentwurf f"ur einen Addresscodierer
    Addierglieder
        Halbaddierer
        Volladdierer
        Paralleladdierer
    Komperatoren
    Multiplexer
    ALU
        Zahlendarstellung und Zweierkomplement
        Addierer Substrahierer
Schaltwerke
    Modelle f"ur Schaltwerke
    Implementierung f"ur Schaltwerke
    Synthese von Schaltwerken
    Analyse von Schaltwerken
    Schaltwerke und Mikroprozessor
    Speichergliedder
    Transformation Mealy und Mooreautomat
    Schaltwerke mit Bin"arcodierten Zustand
Komplexe Schaltwerke
    Aufbau Komplexer Schaltwerke
    Entwurf Komplexer Schaltwerke
    RTL-Notation
    ASM-Diagramme
        Zustandsboxen
        Entscheidungsboxen
        Bedingte Ausgangsboxen
        ASM-Block
    Konstruktionsregeln f"ur Operationswerke
    ... (Lernen)
    Beispiel 1en Z"ahler
        L"osung mit komplexen Moore Schaltwerk
        L"osung mit komplexen Mealy Schaltwerk
        ... (Lernen) Aufbau des Operationswerks
        Moore Steuwerk als konventionelles Schaltwerk
        Moore Steuerwerk mit HotOne Kodierung
        Mealay Steuwerk als Konventielles Schaltwerk
        Mealy Steuwerk mit HotOne Kodierung
        Mikroprogrammeierte Steuwerke
Aufba und Funktionsweise des Computers
    ... (Lerne)
    Komponenten eines computers
        Rechenwerk
        Leitwerk
        Speicher
        Ein und Ausgabe
    Datenpfade (? Lernen)
    Stackpointer
        Unterprogramme
        Unterbrechungen / Interrupts
    Elemente des Operationswerks
        Register
        Befehlsspeicher
        Rechenelemnte
        datenpfade
        Addresspfade
    Steuereinheit
    Operationswerk

Schaltnetze: Elektrische Schaltungen, die Spannungen als logische Variablen 0 und 1 interpretieren

DIN44300/93: Schaltnetz
DIN44300/87: Schaltfunktion

Eingangsvektor
Schaltnetz
Ausgangsvektor

Schaltfunktion/Vektorfunktion

Eingangsvektor: x0, x1, ..., xn

Gesetze:
    Distributiv
    Assoziativ
    Kommutativ
    Absorbtion
    De Morgan
    Dualit"atsprinzip
    Inverse Elemente / Komplement"are Elemente
    Neutrale Elemente

Grundverkn"upfungen - DIN40700
    Null
    Eins
    Konjuntion
    Distribution
    NAND
    NOR
    "Aquivalenz
    Antivalenz
    Transfer
    Inhbition
    Implikation
    Komplement/Invers

Kodierer: Schaltnetz, dass dem Zeichen eines Zeichenvorrats das Zeichen eines anderen Zeichenvorrats zuordnet
Dekdierer: Kodierer, bei den f"ur jede Kombination von Eingangssignalen immer nur ein Ausgang ein Signal 1 abgibt

DIN44300/118: Kodierer
DIN44300/121: Dekodierer

DIN 40700 Blat: Komperatoren

DIN 40700 - Rechenelemente und Grundverkn"upfungen

Volladdierer:
S = A XOR B XOR C
U = (A AND B) OR (A OR B) AND C

PLHS 18P8

1.) Einzyklus
2.) Mehrzyklus
3.) Pipelining

rt-Feld
rs-Feld

R-Typ Befehle
I-Typ Befehle

ALU-Op
00          add
x1          sub
1x          nutze das Func Feld
xx          n/a

Func Feld
4 0
4 2
4 4
4 5
5 2

100 000     - add
100 010     - sub
100 100     - and
100 101     - or
101 010     - slt

ALU-Operation
010 - add
110 - sub
000 - and
001 - or
111 - slt

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

1.) RAW - Read after Write - echte Datenabh"angigkeit
2.) WAR - Write After Read - Gegenabh"angigkeit
3.) WAW - Write After Write - Ausgabeabh"angigkeit