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