Re: Aufgaben und Übungen,

Schaltnetze sind elektronische Schaltungen, die Spannungen als logische Variablen 0 und 1 interpretieren

Schaltfunktion, Vektorfunktion
Verkn"upfungsglied
Schaltfunktion
f:{0,1}\^n -> {0,1}\^m
Eingangsvariablen x1, x2, ..., xn
Eingangsgangs und Ausgangsvariablen
eingangsvektor
Schreibweise in Komponentendarstellung

Eingangsvektor
Schaltnetz
Ausgangsvektor

Schaltalgebra ein Modell der Booleschen Algebra
Schaltalgebra ist Boolsche Algebra "uber der Menge B={0,1}
Boolesche Algebra ist Algebraische Struktur

Gesetze
1.) wedge, vee
2.) Regeln/Gesetze
2.1.) Distributiv
        Kommutativ
        Assoziativ
        Dualit"atsprinzip
        Absorbition
        De Morgen
        Neutrales Element
        Inverses Elemente

Verkn"upfungsglieder
    NAND
    NOR
    Disjuntktion
    Konjunktion
    Transfer
    Antivalenz
    "Aquivalenz
    Inhibition
    Indikation
    Komplement
    Null
    Eins

Schaltgebra ist Boolesche Algebra "uber der Menge B={0,1}
1.) Es existieren die Verk"upfungen wedge vee
2.) Es existiert die Menge der B={0,1}
3.) Es gelten die Gesetze der Booleschen Algebra

Schaltnetz: DIN44300/93
Schaltfunktion: DIN44300/87

1.) Schaltfunktion
2.) Funktionsgleichung
3.) Funktionstabelle
4.) Verbale Formuliernug
5.) Variablenzuordnung
6.) Schaltzeichen
7.) Schaltplan
8.) Wahrheitstabelle
9.) Bin"ares Entscheidungsdiagramm
10.) KV-Diagramm


DIN44300/118: Kodierer
DIN44300/121: Dekodierere

Koderer: Zurodnung des Zeichen eines Zeichenvorrats zu derjenigen eines anderen Zeichenvorrats
Dekodierer: Kodierer mit mehreren ein und Ausg"angen, bei den f"ur jede Kombination von Eingangssignalen immer nur je ein Ausgang ein Signal abgibt

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

Komperatoren, Rechenelemente, Verkn"upfungsglieder: DIN40700

PLHS 18P8

Boolesche Algebra Schaltalgebra
Boolesche Algebra Schaltalgebra
Boolesche Algebra Schaltalgebra
Boolesche Algebra Schaltalgebra
Boolesche Algebra Schaltalgebra
Boolesche Algebra Schaltalgebra

Verkn"upfungsglieder
Verkn"upfungsglieder
Verkn"upfungsglieder
Verkn"upfungsglieder
Verkn"upfungsgleide r

Schaltfunktion Vektorfunktion
Schaltfunktion Vektorfunktion
Schaltfunktion Vektorfunktion
Schaltfunktion Vektorfunktion
Schaltfunktion Vektorfunktion
Schaltfunktion Vektorfunktion

Boolesche Algebra schaltalgebra
Verkn"upfungsglieder
Schaltfunktion Vektorfunktion

Boolesche Algerba Schaltalgebra
Verkn"ufungsglieder
Schaltfunktion Vektorfunktion

Boolesche Algerba Schaltalgebra
Verkn"upfungsglieder
Schaltfunktion Vektorfunktion

Boolesche Algebra Schaltalgebra
Verkn"upfungsglieder
Schaltfunktion Vektorfunktion

f:{0,1}\^n -> {0,1}\^m

Boolesche Algebra Schaltalgebra
Verkn"upfungsgleider
Schaltfunktion Vektorfunktion
f:{0,1}\^n -> {0,1}\^m

Boolesche Algebra Schaltalgebra
Verkn"upfungsgleider
Schaltfunktion Vektorfunktion
f:{0,1}\^n -> {0,1}\^m

Eingangsvektor
Eingangsvariablen x1, x2, ..., xn

Eingangsvektor
Eingangsvariablen x1, x2, ..., xn

Eingangsvektor
eingangsvariablen x1, x2, ..., xn

Boolesche Algebra Schaltalgebra
Verkn"ufungsglieder
Schaltfunktion Vektorfunktion
f:{0,1}\^n -> {0,1}\^m
Eingangsvektor
Eingangsvariablen x1, x2, ..., xn
Eingangsvariablen Ausgangsvariablen

Eingangsvariablen Ausgangsvariablen
Eingangsvariablen Ausgangsvariablen
Eingangsvariablen Ausgangsvariablen

Schreibweise in Komponentendarstellung

Eingangsvariablen Ausgangsvariablen
Schreibweise in Komponnetendarstellung

Eingangsvariablen Ausgangsvariablen
Schreibweise in Komponentendarstellung

Eingangsvariablen Ausgangsvariablen
Schreibweise in Komponentendarstellung

Schaltalgebra ist Boolsche Algebra "uber der Menge B={0,1}
Boolsche Algebra ist Algebraische Struktur
Schaltalgebra ein Modell der Booleschen Algebra

Schaltalgebra ist Boolesche Algebra "uber der Menge B={0,1}
Boolesche Algebra ist Algebraische Struktur
Schaltalgebra ein Modell der Boolesche Algebra

Schaltalgebra ist Boolesche Algebra "uber der Menge B={0,1}
Boolesche Algebra ist Algebraische Sturktur
Schaltalgebra ein Modell der Booleschen Algebra

Gesetze:
    wedge vee
    Gesetze:
        Kommutativ
        Assoziativ
        Distributiv
        Absorbition
        Invers
        Neutral
        De Morgan
        Dualit"atsprinzip

Es existier die Menge B={0,1}
Es existieren die Verkn"upfungen wedge vee
Es gelten die Gesetze der Boolesche Algebra

Es existiert die Menge B={0,1}
Es existieren die Verkn"upfungen wedge vee
Es gelten die Gesetze der Booleschen Algebra

Es existiert die Menge B={0,1}
Es existieren die Verkn"upfungen wedge Vee
Es gelten die Gesetze der Boolesche Algebra

DIN44300/87
DIN44000/93

DIN44300/93: Schaltnetz
DIN44000/87

Schaltplan
Funktionstabelle
funktionsgleichung

Schaltnetz
    Schaltplan
    Funktionstabelle
    funktionsgleichung

Schaltnetz
    Schaltplatn
    funktionstabelle
    funktionsgleichung

Schaltnetz
    Schaltplan
    Funktionstabelle
    funktionsgleichung

Funktionstabelle Funktionslgiechung
Funktionstabelle Funktionsgleichung
Funktionstabelle Funktionsgleichung
Funktionstaebklle Funktionsgleichung
Funktionstabelle Funktiosnsgleichung
Funktionstabelle Funktionsgleichung

KV-Diagramm Bin"ares Entscheidungsdiagramm
KV-Diagramm Bin"ares Entscheidungsdiagramm
KV-Diagramm Bin"ares Entscheidungsdiagramm
KV-Diagramm Bin"ares Entscheidhungsdiagramm
KV-Diagramm Bin"ares Entscheihungsdiagramm

Schaltplan, Schaltzeichen
Schaltplan Schaltzeichen
Schaltplan Schaltzeichen
Schaltplan Schaltzeichen
Schaltplan Schaltzeichen

redundante Termen
Bin"ar"aquivalent
Primimplikanatentafel

redundante Terme
Bin"ar"aquaivlent
Primimplakantentafel

Einzklus Mikroarchitektur
Mehrzyklus Mikroarchitaktur
Pipeline Mikroarchiektur


Einzklus Mikroarchitektur
    Zustandselemente
    Datenpfade
    Steuereinheit
Mehrzyklus Mikroarchitaktur
    Funktionsweise
Pipeline Mikroarchiektur
    Pipeline-Prinzip
    Pipeline-Stufen
    MIPS-Pipeline
    Konflikte
    Datenkonflikte
    Steuerflusskonflikt
    Struktur und Ressourcenkonflikt

5-Bit Bus
32-Bit Bus

32x32 Bit Registersatz
1 Schreibeport 2 Leseport
2\^5 = 32

PC
- 32 Bit Register
- wir nach jedem Befehl inkrementiert,
- Wird um 4 inkrementiert

ALU-Op - im Befehl
00      - add
01      - sub
10      - nutze das Func Feld
11      - n/a

Func
100 000     - add       4 0
100 010     - sub       4 2
100 100     - and       4 4
100 101     - or        4 5
101 010     - slt       5 2

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

26017

R-Typ-Befehle
I-Typ-Befehl
J-Typ-Befehle

rs-feld
rt-Feld
rd-Feld

rs, rt: Source
rd: Destination

R-Typ
opcode: Bit 31 bis bit 26
rs: Bit 25 bis Bit 21
rt: Bit 20 bis Bit 16
rd: Bit 15 bis Bit 11
sa: Bit 10 bist Bit 6
func Feld: Bit 5 bis 0

I-Typ
Opcode rs-Feld, rt-Feld immidiate Werte
OpCode: Bit 31 Bit bis Bit 26
Immidiate Wert: 16 Bit

J-Typ
OpCode: Bit 31 Bis Bit 26,
Target Address ist der Rest

Datenkonflikt
Steuerflusskonflikt
Struktur und Ressourcenkonflikt

1.) Echte Datenabh"angigkeit - oder Konflikt: RAW - Read After Write
2.) Gegenabh"angigkeit: WAR - Write after Read: GA
3.) Ausgabeabh"angig: AA - WAW - Write after Write

I1 Abh"angig von I2

Small Skale Integration         SSI         1000 Transistoren
Medium Skale Integration        MSI
Large Skale Integration         LSI
Very Large Skale Integration    VLSI
Ultra Large Skale Integration   ULSI
Extra Large Skale Integration   ELSI
Giga Skale Integration          GSI

Befehlsz"ahler:
    Eingang: PC (t)
    Ausgang: PC (t+1)

Befehlsspeicher
    Eingang: von Befehlsz"ahler: PC (t)
    Ausgang: Bus - Zum Befehlsdekodierer und weiteren - 32 Bit Bus
    Datum: Der Befehl selber

Befehlsdekodierer
    Liegt an Bit 31 bis 26
    Bit Bit 31 bis 26: OpCode: 6 Bit Opcode
    Ausgang
        RegDst (1 Bit)
        RegWrite (1 Bit)
        MemToReg (1 Bit)
        MemWrite (1 Bit)
        Branch (1 Bit)
        ALUSrc (1 Bit)
    Ausgang
        ALUOp geht in Funktionsdekodierer 2 Bit - 00, 01, 10, 11

Funktionsdekodierer
    Eingang: Func Bit 5 bis Bit 0, vom Befehlswort - 100 000 - add, 100 010 - sub ...
    ALU-Op geht vom Befehlsdekodierer, wieder 2 Bit 00, 01, 10, 11 - und wenn 10 steht, dann func
    Ausgang: ALU-Operation: Das geht an die ALU - 010 - add, 110 - sub, 000 - and .. 3 Bit

Pfad vom Befehl

    Befehlsz"ahler PC (t) -> Befehlsspeicher -> ...
    Befehlsz"ahler PC (t) -> Addierer (1) Links Unten +4 -> Befehlsz"ahler P(t+1)

    Befehlsz"ahler -> Vorzeichenerweiturungseineit -> 2 Bit Shifter - Addierer (2) -> DeMultiplexer -> Befehlsz"ahler

    Wichtig
    1.) Vorzeichenerweiturungseineit
    2.) 2 Bit Shifter
    3.) Addierer

    1.) Vorzeichenerweiturungseineit
    2.) 2 Bit Shifter
    3.) Addierer
    4.) MUX

    1.) Vorzeichenerweiturungseineit: Weil man zur"uckspringen kann
    2.) 2 Bit Shifter: Wahrscheinlich: Weil man das +4 macht man mit dem wahrscheinlich - 2 Bit
    3.) Addierer: Der Addierer macht bei Jump Relativ und Indirekt macht der eben die Addition zum Befehl
    4.) MUX

    Registersatz:
        rs-Feld
        rt-Feld
        rd-Feld

    Das kann man ausrechnen, weil

    OpCode: Bit 31 bis 26
    31 bis 26
    25
    20
    15
    10
    5

    31 bis 26: Opcode
    25 bis 21: RS-Register
    20 bis 16: RT-Register
    15 bis 11: RD-Register
    10 bis 6: SA - Verschiebewerte
    5 bis 0: Func

    Target Address - das ist was spezielles, w"ahrend das sonst dazu addiert wird
    wird das hier ersetzt

    Wir haben den Jump Befehl - beim Intel
    Das ist hier Branch - branch wir springen immer zum Label

    Daswesen wird das ersetzt - durch Absolute Addresse

    Deswegen haben wir Target - das ist beim Computer die Symboltabelle vom Compiler zum Assemmbler
    Da wird die Target direkt in den Befehlsz"ahler geschrieben

    Target Address: OpCode: Bit 31 bis Bit 26, der Rest Target Address

    Jetzt gibt es die I-Typ Befehle

    Das heisst, wir haben

    OpCode

    Bit 31 bis 26: Opcode
    Bit 25 bis 21: RS-Feld
    Bit 20 bis 16: RT-Feld
    Jetzt bleibt was "ubrig
    Bit 15 bis 0: Das sind 16 Bit - das ist der Immdiate Wert

    Das gibt es auch bei LDI

    Wenn man zum beispiel den Atmega 8 nimmt, dann gibt

    ld, lds, ldd, ldi
    ld: Load: Mit Register, indirekt
    lds: Load: s ist ein Anti D Buchstabe, und S - steht f"ur Direkt - weil das Indirekt mit den Register - so sch"on dynamisch, steht gegen das S und das heisst, das D steht f"ur indirekt
    ldd - das ist der K"onig - das steht f"ur: Indizieiert, Befehlsz"ahlerrelativ oder Indizieiert

    Dreiaddressformat R-Typ Befehls, rs, rt, rd - wir zwei Quelloperanden, 1 Zielopoeranden
    Zweiaddressformat: zwei address: Immidiat: Zwei Quelloparanden, oder ziel und Quelle, und einen 16 Bit Immediate wert
    Einaddressformat: Wir haben einen J-Typ - J-Typ kommt von Jump meint Branch das heisst, absolute Addresse
    Nulladdressformat: NOP ist Null address - CLC STC - 0 Address

    Jetzt gibt aber Maschinen, da gibt es keine Dreiaddressbefehle

    Der Atmega8 schreibt ld r16, X+

    Und der Witz, das ist kein syntaktischer Zucker. Der hat nur 2 Addressformat

    Und der TI9900 ist Speicher Speicherarchitektur, der hat immer noch 2 oder 3

    Es gibt aber Akkumulatorarchitektur
    Oder Stackarchitektur, da ist das anders

    ich muss machen PUSH r0, PUSH r1 - und ADD
    Und Steht f"ur POP t1, POP t0 Add t1, t0 PUSH t1


    Mehryzyklus

I1: WB
I2: MEM
I3: EX
I4: ID
I5: IF

Einyklus alles in einem

Mehryzklus

I1:         0   IF  1   ID  2   EX  3   MEM     4   WB
I2          5   IF  6   ID  7   EX  8   MEM     9   WB

Pipeliningin:

I1:         0   IF  1   ID  2   EX  3   MEM     4   WB
I2          0   -   1   IF  2   ID  3   EX      4   MEM     5 WB

Das kann zur Datenabh"angigkeit f"uhren

weil:

WB - Write Back Mem steht f"ur Memory Access

Hier schreibt I1 in Register
In ID liesst I2 von Register

addi    \$t1, \$t2, 2
add     \$t4, \$t1, \$t3
subi    \$t3, \$t5, 3
subi    \$t3, \$t6, 3

Echte Datenabh"angigkeit

I1 und I2 Weil der I2 liesst von \$t1 und da schreibt I1 rein
Ausgabeabh"angigkeit: I3 und I4: Weil beide Schreiben in \$t3
Gegenabh"angkeit: Der I2 liesst von \$t3 da hat subi schon reingeschrieben