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