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 rem, abs, neg, not Datenbewegungsbefehle arithmetisch logische Befehle Schiebe und Rotationsbefehle Gleitkommabefehle Multimediabefehle Systemsteuerbefehle Synchronisationsbefehle Programmsteuerbefehle Dreiaddressformat Zweiaddressformat Einaddressformat Nulladdressformat Lade- und Speicherarchitektur Speicher- Speicherarchitektur Register- Speicherarchitektur Stack- und Kellerarchitektur Akkumulatorarchitektur 8087-Intel, ATAM862, Atmel Little-Endian: Falsch rum Big-Endian: richtig rum 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 Absolute Addressierung Registeraddressierung Direkte Addressierung Indirekte Addressierung Indirekte Addressierung mit Verschiebung Indirekte Addressierung mit Autoinkrement/Dekrement Indizierte Addressierung Indizierte Addressierung mit Verschiebung Steuereinheit 1.) Befehlsdekodierer 2.) Funktionsdekodierer 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 Befehlsdekodierer Funktionsdekodierer Registersatz ALU Datenspeicher Befehlsspeicher Befehlsz"ahler Vorzeichenerweiterungseinheit 4 x DeMUX 1 x AND 2 x Addierer 1 x 2 Bit Shifter Registersatz - Lese-Daten-1 - Lese-Daten-2 - Schreibedaten - Lese-Register-1 - Lese-Register-2 - Schreiberegister - WE Datenspeicher - Lesedaten - Schreibedaten - Addresse - WE AND: - PCSrc ALU - Null - ergebnis Befehlsspeicher - Addresse - Lesedaten Befehlsz"ahler - PC (t) - PC (t+1) ALU-Op Func ALU-Operanden 00 x 010 - add 01 x 110 - sub 10 100 000 010 - add 11 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 than 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 Befehl folgt PC_neu = PC_alt + (i << 2) PC_neu = PC_alt \& 0xf000 0000 | (i << 2) j, b, jr jal, jalr beq, bne beqz, bnez blt, ble bltz, blez bgt, bge bgtz, bgez Zustandssemente 1.) Befehlsz"ahler 2.) Befehlsspeicher 3.) Registersatz 4.) Datenspeicher 1.) Befehl holen 2.) Befehl dekodieren 3.) Operanden der ALU bereitstellen 4.) Operation in der ALU ausf"uhren 5.) Operanden in Architekturegister zur"uckschreiben 1.) IF - Instruction Fetch 2.) ID - Instruction Decode / Register Fetch 3.) EX - Execute / Address Calculation 4.) MEM - Memory Access 5.) WB - Write Back 1.) Datenkonflikte 2.) Steuerflusskonflikte 3.) Struktur und Ressourcen Konflikte 1.) Statisches Scheduling - VLIW-Prozessor: In Order Issue In Order Completion 2.) Dynamisch: Ouf Of Order Issue Out Of order Completion 1.) Statisch 1.1.) Predict Always Not Taken 1.2.) Predict Always Taken 1.3.) Predict Backward Taken / Forward Not Taken 2.) Dyamisch 2.1.) Taken, Not Taken 2.2.) Strongly, Weakly Taken Not Taken Schaltnetze Schaltwerke Komplexe Schaltwerke Aufbau und Funktionsweise eines Computers Schaltnetze Boolesche Algebra Definition der Booleschen Algebra Schaltalgebra ein Modell der Booleschen Algebra Schaltfunktion Definition Darstellung Minimierung Kodierer Schaltnetzentwurf f"ur den 8421-BCD zu sieben Segment Umsetzung Schaltnetzentwurf f"ur den addresskodierer Addieglieder Halbaddierer Volladdierer Paralleladdierer Komperatoren Multiplexer ALU Zahlendarstellung und zweierkomplement Addierer Subtrahierer Schaltnetze mit dem Programmierbaren Baustein PROM, EPROM, EEPROM PAL, PLA ... Schaltwerke Modelle f"ur Schaltwerke Implementierung von Schaltwerke Synthese von Schaltwerken Analyse von Schaltwerken Computer und komplexer Schaltwerk anderer Namen Speicherglieder Transformation Mealy und Moore Schaltwerke mit Bin"arcodierten Zustand Komplexe Schaltwerke Aufbau komplexer Schaltwerke Entwurf komplexer Schaltwerke RTL-Notation ASM-Diagramme Zustandsboxe Entscheidungsboxen Bedingte Ausgangsboxen ASM-Block Aufbau des Operationswerks Entwurf des Steuerwerks Beispiel 1en Z"ahler L"osung mit Komplexen Moore Schaltwerk L"osung mit Komplexen Mealy Schaltwerk Aufbau des Operationswerks Moore Steuerwerk als konventionelles Schaltwerk Moore Steuwerk mit Hot One eCodierung Mealy Steuwerk als konventionelles Schaltwerk Mealy Steuerwerk mit HotOne Kodierung Mikropgorammerite Steuerwerk Aufbau und Funktiosnweise des Computers .. Komponenten eins Computers Rechnwerk Leitwerk Speicher Ein und Ausgaben Interne und Externe Buss Programmz"ahler Befehlsz"ahler Verwendung des Stapelzeigers Unterprogramme Unterbrechungen Interrupts Rechenwerk Daten und Addressregister Addresserbuss, Datenbus Arithmetische Operationenj Logische Operationen Statusflags Leitwerk Schaltnetze sind elektronische Schaltungen, die Spannungen als logische Variablen 0 und 1 interpretieren Boolesche Algebra, Schaltalgebra Eingangsvektor Schaltnetz Ausgangsvektor Schaltfunktion Verkn"upfungsglied Eingangsvektor Eingangsvariablen x0, x1, ..., xn Schaltfunktion schaltnetz KV-Diagramm funktionstabelle Funktionsgleichung Verbale Formulierung Bin"ares Entscheidungsdiagramm Schaltzeichen Schaltplan Schaltalgebra ist Boolesche Algebra mit Schaltelementen Schaltalgebra Es existiert eine Menge B={0,1} Es gibt die Verk"upfungen wedge vee Es gelten die Gesetze der Booleschen Algebra Schaltnetz: DIN44300/93 Schaltfunktion: DIN44300/87 K"orper, Gruppe, Monoid Operatoren Wedge Vee Elemente 0 1 Gesetze Assoziativ Distributiv Absorbtion Kommuativativ Dualit"atsprinzip De Morgen Neutrales Element Inverses Element Verkn"upfungsglieder Disjunktion Konjunktion NOR-Verk"upfung NAND-Verkn"upfung "Aquivalenz Antivalenz Indikation Transfer Invers/Komplement Implikation Null Eins Kodierer: Jedem Zeichen eines Zeichenvorrats ein Zeichen eines anderen Zeichenvorrats zu ordnen Dekodierer: Kodierer, mit mehreren ein und Ausg"angen, die f"ur jede Kombination von Eingangssignalen, immer nur je Ein Ausgang ein Signal abgibt Kodierer: DIN44300/118 Dekodierer: DIN44300/121 Verk"upfungsglieder, Rechenelemente, Komperatoren: DIN40700 Volladdierer C = A XOR B XOR C U = (A AND B) OP (A OR B) AND C PLHS18P8 Boolesceh Algebra, Schaltalgebra Boolesche Algebra, Schaltalgebra Boolesche Algebra, Schaltalgebra Boolesche Algebra, Schaltalgebra Boolesche Algebra, Schaltalgebra Boolesche Algebra, Schaltalgebra Boolesche Algebra, Schaltalgebra Boolesche Algebra, Schaltalgebra Boolesche Algebra, Schaltalgebra Verkn"upfungsglieder Boolesche Algebra, Schaltalgebra Verkn"upfungsglieder Boolesche Algebra, Schaltalgebra Verkn"upfungsglieder Boolesche Algebra, Schaltalgebra Verkn"upfungsglieder Boolesceh Algebra, Schaltalgebra Verk"upfungsglieder boolesche Algebra, Schaltalgebra Verkn"upfungsglieder Boolesche Algebra, Schaltalgebra Verkn"upfungsglieder Boolesche Algebra, Schaltalgebra Verkn"upfungsglieder Boolesche Algebra, Schaltalgebra Verk"upfungsglieder Boolesche Algebra, Schaltalgebra Verk"upfungsglieder Schalttunktion Vektorfunktion f:{0,1}\^n -> {0,1}\^m Boolsche Algebra, Schaltalgebra Verkn"upfungsglieder Schaltunktion, Vektorfunktion f:{0,1}\^n -> {0,1}\^m Boolesche Algebra, Schaltalgebra Verkn"upfungsglieder Schaltfunktion, Vektorfunktion f:{0,1}\^n -> {0,1}\^m Boolesche Algebra, Schaltalgebra Verkn"upfungsglieder Schaltfunktion, Vektorfunktion f:{0,1}\^n -> {0,1}\^m Boolesche Algebra, Schaltalgebra Verkn"upfungsglieder Schaltfunktion, Vektorfunktion f:{0,1}\^n -> {0,1}\^m Eingangsvektor Eingangsvariablen x1, x2, ..., xn Eingangs und Ausgangsvariablen Eingangsvektor Eingangsvariablen x0, x1, ..., xn Eingangs und Ausgangsvariablen Eingangsvektor Eingangsvariablen x1, x2, ..., xn Eingangs und Ausgangsvariablen Eingangsvektor Eingangsvariablen x1, x1, ..., xn Eingangs und Ausgangsvariablen Eingangsvektor Eingangsvariablen x1, x2, ..., xn Eingangs und Ausgangsvariablen Boolesche Algebra, Schaltalgebra Verk"upfungsglieder Schaltfunktion Vektorfunktion f:{0,1}\^n -> {0,1}\^m Boolesche Algebra, Schaltalgebra Verkn"upfungsglieder Schaltfunktion, Vektorfunktion f:{0,1}\^n -> {0,1}\^m Eingangsvektor Eingangsvariablen x0, x1, ..., xn Eingangs und Ausgangsvariabelkn Eingangsvektor Eingangsvariablen x0, x1, ..., xn Eingangs und Ausgangsvariablen Boolesche Algebra, Schaltalgebra Verk"upfungsglieder Schaltfunktion, Vektorfunktion f:{0,1}\^n -> {0,1}\^m Eingangsvektor Eingangsvariablen x1, x2, ..., xn Eingangs und Ausgangsvariablen Eingsvektor Eingangsvariablen x1, x2, ..., xn Eingangs und Ausgangsvariablen Schreibweise in Komponentendarstellung Eingangsvektor Eingangsvariablen x1, x2, ..., xn Eingangs und Ausgangsvariablen Schreibweise in Komponentendarstellung Eingangsvektor Eingangsvariablen x1, x2, ..., xn Eingangsn und Ausgangsvariablen Schreibweise in Komponentendarstellung Eingangsvektor Eingangsvariablen x1, x2, ..., xn Eingangs und Ausgangsvariablen Schreibweise in Komponentendarstellen Boolesche Algebra Schaltalgebra Verkn"upfungsglieder schaltfunktion Vektorfunktion f:{0,1}\^n -> {0,1}\^m Eingangsvektor Eingangsvariablen x1, x2, ..., xn Eingangs und Ausgangsvariablen Schreibweise in Komponentendarstellung Boolesche Algebra, Schaltalgebra Verkn"upfungsglieder Schaltfunktion, Vektorfunktion f:{0,1}\^n -> {0,1}\^m Eingangsvektor Eingangsvariablen x1, x2, ..., xn Eingangs und Ausgangsvariablen Schreibweise in Komponentendarsltelung Schaltnetz, Schaltnetz, Schaltnetz, Schaltnetz, Schaltnetz, Schaltnetz, Schaltnetz DIN44300/93 DIN44300/93 Schaltnetz DIN44300/93 Schaltnetz DIN44300/93 Schaltnetz DIN44300/93 Schaltnetz DIN44300/93 Schaltzeichen, Schaltzalgebra Schaltzeichen, schaltalgebra Schaltzeichen, Schaltalgebra Schaltzeichen, Schaltalgebra Schaltzeichen, Schaltalgebra Schaltzeichen, Schaltalgebra Schaltzeichen, schaltalgebra Schaltzeichen, Schaltalgebra Schaltzeichen, Schaltalgebra Schaltnetz DIN44300/93, Schaltzeichen, Schaltalgebra Schaltnetz DIN4400/93 Schaltzeichen, Schaltelgebra Schaltnetz DIN4400/93 Schaltzeichen, Schaltealgebra Schaltnetz DIN44300/93 Schaltzeichen, Schalalgebra Eingangsvektor Schaltnetz Ausgangsvektor Eingangsvektor Schaltnetz Ausgangsvektor Eingangsvektor Schaltnetz Ausgangsvektor Eingangsvektor Schaltnetz Ausgangsvektor Eingangsvektor Schaltnetz Ausgangsavektor Eingangsvektor Schaltnetz Ausgangsvektor Schaltnetz: DIN44300/93 Schaltzeichen, Schaltalgebra Eingangsvektor Schaltnetz Ausgangsvektor Schaltnetz: DIN44300/93 Schaltzeichen, Schaltelgebra Eingangsvektor Scaletnzeich Ausgangsvekotr Schaltnetz DIN44300/93 Schaltzeichen, Schaltalgebra Eingangsvektor Schaltnetz Ausgangsvektor Boolesche Algebra, Schaltalgebra Verkn"upfungsglied Schaltfunktion f:{0,1}\^n->{0,1}\^m Eingangsvektor Eingangsvariablen x1, x2, ..., xn Eingangsvariablen Ausgangsvariablen Schaltnetz DIN44300/93 Schaltzeichen, Schaltalgebra Eingangsvektor Schaltnetz Ausgangsvektor schaltplan Funktionstabelle Funktionsgleichung Schaltplan funktionstabelle Funktionsgleichung Schaltplan Funktionstabelle funktionsgleichung schaltplan Funktionstabelle Funktionsgleicbung Schaltnetz: Elektronisch Schaltung, die Spannungen als Logische Variablen 0 und 1 interpretieren Boolesche Algebra Schaltalgebra Verkn"upfungsglied Schaltfunktion, Vektorfunktion f:{0,1}\^n -> {0,1}\^m Eingangsvektor Eingangsvariablen x1, x2, ..., x eingangs und Ausgangsvariablen Schreibweise in Komponentendarstellung Schaltnetz: DIN44300/93 Schaltzeichen, Schaltalgebra Eingangsvektor Schaltnetz Ausgangsvektor Funktionstabelle Funktionsgleichung Schaltplan Schaltalgebra ist Boolesche Algebra "uber der Menge B={0,1} Schaltalgebra ist Boolsche Algebra "uber der Menge B={0,1} Schaltagelbra ist Boolesche Algebra "uber der Menge B={0,1} Schaltalgebra ist Boolesche Algebra "uber der Menge B={0,1} Schaltalgebra ist Boolsche Algebra "uber der Menge B={0,1} Schaltalgebra ist Boolesche Algebra "uber der Mebnge B={0,1} Boolsche Algebra ist Algebraische Struktur Boolesche Algebra ist Algebraische Struktur Boolesche Algebra ist Algebraische Struktur Boolsche Algebra ist Algebraische Struktur Boolescha Algebra ist Algebraische Sturktur Schaltalgebra ist Boolesche Algebra "uber der Menge B={0,1} Boolsche Algebra ist Algebraische Struktur Schaltalgebra ist Boolsche Algebra "uber der Menge B={0,1} Boolsche Algebra ist algebraische Sturktur Schaltalgebra ist Boolsche Algebra "uber der Menge B={0,1} Boolsche Algebra ist Algebraische Struktur. Verkn"upfungen - wedge/vee - Gesetze Verkn"upfungen - wedge/vee - Gesetze Verk"upfungen - wedge/vee - Gesetze Verkn"upfungen - wedge/vee - gesetze Verkn"upfngen - wedge/vee - Gesetze Schaltalgebra ein Modeel der Bollschen Algebra Schaltalgebra ein Modeel der Boolschen Algebra Schaltalgebra ein Modell der Boolschen algebra Schaltalgebra ein Modeel der Boolschen Algebra Schaltalgebra ist Boolesche Algebra "uber der Menge B={0,1} Schaltalgebra ein Modell der Boolschen Algebra Schaltalgebra ist Boolsche Algebra "uber der Menge B={0,1} Schaltalgebra ein Modell der Boolscehn Algebra Schaltalgebra ist Boolesche Algebra "uber der Menge B={0,1} Scahltalgebra ein Modell der Booleschen algebra 1.) Es existiert die Menge B={0,1} 2.) Verkn"upfungen wedge vee 3.) Es gelten die Gesetze der Boolschen Algebra 1.) Es exisitiert die Menge B={0,1} 2.) Verkn"upfungen wedge vee 3.) Es gelten die Gesetze der Booleschen Algebra 1.) Es existiert die Menge B={0,1} 2.) Verkn"upfungen wedge vee 3.) Es gelten die Gesetze der Boolschen Algebra 1.) Es existiert die Menge B={0,1} 2.) Verkn"upfungen wedge vee 3.) Es gelten die Gesetze der Booleschen Algebra 1.) Es existiert die Menge B={0,1} 2.) Verkn"upfungen: Werdge vee 3.) Es gelten die GEsetze der Boolschen Algebra 1.) Es existiert die Menge B={0,1} 2.) Verkn"upfungen: wedge, vee 3.) Es gelten die Gesetze der Bolleschen Algebra Schaltalgebra ist Boolesche Algebra "uber der Menge B={0,1} Boolesche algebra ist eine Algebraische Struktur Schaltalgebra ein Modell der Boolschen Algebra 1.) Es existiert eine Menge B={0,1} 2.) Verk"upfungen wedge vee 3.) Es gelten die Gesetze der Booleschen Algebra Schaltalgebra Boolsche Algebra Verkn"upfungsglieder Schaltfunktion, Vektorfunktion f:{0,1}\^n -> {0,1}\^m Eingangsvektor eingangsvariablen x1, x2, ..., xn Eingangsvariablen, Augangsvariablen Schreibweise in Komponentnedarstellung Schaltnetz: DIN44300/93 Funktionstabelle Funktionsgleichung Schaltplan Eingangsvektor Schaltnetz Ausgangsvektor Schaltalgebra ist Boolsche Algebra "uber der Menge B={0,1} Boolesche Algebra ist algebraische Struktur Schaltalgebra ein Modell der Boolschen Algebra Verkn"upfungen - wedge vee - Gesetze - Kommutativ - Assoziativ - Distributiv - Absorbtion - De Morgan - Neutrales Element - Inverses Elemennt - Dualit"atsprinzip 1.) Es existirt die Menge B={0,1} 2.) Verkn"upfunge: Wedge, vee 3.) Es gelten die GEsetze der Booleschen Algebra Inhibiton Inhibitio Inhibtion Inhibition Inhibition Inhibition Inhibition Inhibiiti Inhibution DIN44300/87 DIN44300/93 DIN44300/87 DIN44300/93 Kodierer Dekodierer Kodierer Dekodierer Kodierer Dekodierre Kodierer Dekodierer Kodierer Dekodier Einzyklus Mikroarchitektur Mehrzyklus Mikroarchitektur Pipeline Mikrocarhcitektur Einzyklus Mikrcoarchitektur Mehrzyklus Mikroarchitektur Pipeline Mikrocarhcitetektur Einzyklus Mikroarchitektur Mehrzyklus Mikroarchitetkur Pipeline Mikroarchitektur datenkonlfikte Steuerflusskonflikte Struktur und Ressourcen Konflukte Datenkonflikte Steuerflusskonflukte Struktur und Ressourcenkonflikte Einzyklusmikroarchitektur Mehrzyklusmikroarchitektur Pipeline Mikroarchitektur Datenkonflikte Steuerflusskonflukte Strukutr und Ressourcenkonflikte Zustandslemente Datenpfade Steuereinheit Zustandselemente Datenpfade Steuereinheit Zustandselemente Zustandselemente Zustandaelemenete Zustandselemente Zustandselemente Datenpfade Datenpfade Datenpfade Datenpfade Steuereinheit Steuereinheit Steuereinheit Steuereinheit Zustandselemente Datenpfade Steuereinheit Zustandselemente Datenpfade Steuereinheit Zustandselemente Datenpfade Steuereinheit Zustandselemente Datenpfade Steuereinheit Einzyklusmikroarchitektur Zustandselemente Datenpfade Steuereinheit Mehrzuyklusmikroarchitektur Pipeline Mikroarchitektur Datenkonflikte Steuerflusskonflikte Struktur und Ressourcenkonflikte Einzklyusmikroarchitetkr Zustandselemente Datenpfade Steuereinheit Vor und Nachteile Mehryklusmikroarchiatktur Pipeline Mikroarchitektru Datenkonflikte und deren L... Steuerfluss Konfluikte Struktur und Ressourcenkonflikte Mehryzklusmikroachitkur Funktionsweise Mehrzyklusmikroarchitektur Funktionswesies Mehrzyklusmikoraarhcitektur funktionsweise Mehrzyklusmikroarchitektur Funktiosnweise Pipeline-Prinzip Pipeline-Prinzip Pipeline-Prinzip Pipeline-Prinzp Prinzip Stufe Prinzip Stufe Prinzip Stufe Prinzip Stufe Prinzip Stufe Prinzip Stufe MIPS Konflikte Prinzip Stufe MIPS Konflikte Prinzip Stufe MIPS Konflikte Prinzip Stufe MIPS Konflikte Einzyklusmikroarchitektur Zustandselemente Datenpfade Steuereinheit Vor und Nachteile Mehrzuyklusmikroarchitektur Funktionsweise Vor und Nachteile Pipeline-Mikroachitketur P Prinzip P stufe MIPS P P Konflikte Datenk. Steuerk. Struktur und Ressourcen K PC 32 Bit Register PC wird nach jedem Taktzuyklus inkkrement PC wird um 4 inkrementier Zustandselemente Befehlsz"ahler Befehlsspeicher Registersatz Datenspeicher Zustandselemente Befehlsz"ahler Befehlsspeicher Registersatz Datenspeicher PC: 32 Bit Register Wird nach jedem Taktzuyklus inkrementiert wird um 4 inkremnetiert Zustandsleemnete Befehlsz"ahler Befehlsspeicher Registersatz Datenspeicher PC: 32 Bit Register Wird nach jedem Befehl inkrementiert Wird um 4 Inkrementiert 32x32-Registersatz 2 Lese und Schreibport 2\^5 = 32, 5 Bit Addresse 5-Bit-Bus 32-Bit-Bus 32x32-Bit-Registersatz 2 Lese und Schreibeport 2\^5 = 32, 5 Bit Bus 5 Bit Bus 32 Bit Bus ALU-Op 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 - set less then Funktionsdekodierer, Ausgang: ALU-Operation und ALU-Eingang, ALU-Operation 010 - add 110 - sub 000 - and 001 - or 111 - slt 26017 r-typ Befehle i-Typ Befehle r-typ Befehle i-Typ Befehle r-Typ: add, sub, and, or, slt r-Typ: add, sub, and, or, slt r-Typ: add, sub, and, or, slt r-Typ: add, sub, and, or, slt Konflikte lb, lbu lh, lhu lw ld* la* li* sb sh sw sd* move add, addi, addiu sub, subi mult, multu div, divu Datenbewegungsbefehle arithmetisch logische Befehle Schiebe und Rotationsbefehle Gleitkommabefehle Multimediabefehle Programmsteuerbefehle Systemsteuerbefehle Synchronisationsbefehle Dreiaddressformat Zweiaddressformat Einaddressformat Nulladdressformat Lade- und Speicherarchitektur Speicher- Speicherarchitektur Register- Speicherarchitektur Stack- und Kellerarchitektur Akkumulatorarchitektur Stackarchitektur: 8087-Intel, ATAM 862-Atmel Speicher- Speicherarchitektur: Texas Instrumentes 9900 4 Bit Big-Endian: richtig Little-Endian: falsch rum 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 Direktwertaddressierung Immidiate Absolute Addressierung Registeraddressierung Direkte Addressierung Indirekte Addressierung Indirekte Addressierung mit Verschiebung Indirekte Addressierung mit Autoinkrement/Dekrement Indizierte Addressierung Indizierte Addressierung mit Verschiebung Steuereinheit 1.) Befehlsdekodierer 2.) Funktionsdekodierer Befehlsdekodierer - MemToReg - MemWrite - Branch - ALU-Src - ALU-Op - RegDst - RegWrite Funktionsdekodierer - Func - ALU-Op - ALU-Operation Befehlsdekodierer Funktionsdekodierer ALU Registersatz Datenspeicher Befehlsspeicher Befehlsz"ahler Vorzeichenerweiterungseinheit 4 x MUX 1 x AND 2 x Addierer 1 x 2 Bit Shifter Befehlsdekodierer - MemToReg - MemWrite - Branch - ALU-Src - AlU-Op - RegDst - Regwrite Funktionsdekodierer - Func - ALU-Op - ALU-Operation Datensspeicher - Lesedaten - schreibedaten - Addresse - WE Registersatz - Lese-Daten-1 - Lese-Daten-2 - Schreibedaten - Lese-Register-1 - Lese-Register-2 - Schreiberegister - WE ALU: - Ergebnis - Null AND: - PCSrc Befehlsspeicher - Leseaddresse - Lesedaten Befehslz"ahler - PC (t) - PC (t+1) ALU-Op Func ALU-Operation 00 x 010 - add 01 x 110 - sub 10 100 000 - add 010 - add 11 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 Absolut = Branch Befehlsz"ahlerrelativ = Jump Befehlsz"ahlerindirekt = Jump Register eq - equal ne - not equal gt - greater than ge - greater than equal lt - less than le - less than equal jal: Jump and Link: Speichern zus"atzlich der Addresse die dem Sprungbefehl folgt PC_neu = PC_alt \& 0xf000 0000 | (i << 2) PC_neu = PC_alt | (i << 2) j, b, jr: Jump: Befehlsindirekt, Jump Register: Befehlssz"ahlerrelaiv: b: Absolut 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.) Operation in der ALU ausf"uhren 5.) Operanden in Architekturregister zur"uckschreiben 1.) IF = Instruction Fetch 2.) ID = Instruction Decode / Register Fetch 3.) EX = Execute / Address Calculation 4.) MEM = Memory Access 5.) WB = Write Back 1.) Datenkonflikt 2.) Steuerflusskonflikt 3.) Struktur und Ressourcenkonflikte 1.) Statisches Scheduling: In Order Issue In Order Completion - VLIW 2.) Dynamisch: Out Of Order Issue Out Of Order Completion 1.) Statische durch die Hardware 1.1.) Predict Always Not Taken 1.2.) Predict Always Taken 1.3.) Predict Backward Taken, forward not taken 2.) Dynamisch 2.1.) Taken/ Not Taken 2.2.) Strongly/Weakly Taken/Not Taken. Schaltnetze Schaltwerke Komplexe Schaltwerk Aufbau und Funktionsweise eines computers Schaltnetze Boolesche Algebra Definition der Booleschen Algebra Schaltalgebra ein Modell der Booleschen Algebra Schaltfunktionen Definition Darstellung Minimierung Analyse von Schaltnetzen Synthese von Schaltnetzen Kodierer Schaltnetzentwurf f"ur die 8421-BCD-zu Sieben Segmentumsetzung Schaltnetzentwurf f"ur den Addresskodierer Addierglieder Halbaddierer Volladdierer Paralleladdierer Komperatoren Multiplexer ALU Zahlendarstellung und Zweierkomplement Addierer/Subtrahierer Schaltnetze mit Programmierbaren Bausteinen PROM: Fest verdrahtete UND, und Programmierbare ODER PAL: Programmieres UND, Festvedrahtet ODER PLA: Programmierbare UND und Programmierbare ODER GAL: Gate Programmierbar GAL20v10 PLHS18P8 Schaltwerke Implementierung von Schaltwerken Modelle f"ur Schaltwerke Synthese von Schaltwerken Analyse Von Schaltwerken Komplexes Schaltwerk und Mikroprozessor Speicherglieder Transformation Mealy und Moore Schaltwerke mit bin"arcodierten Zustand Komplexe Schaltwerke Aufbau Komplexer Schaltwerke Entwurf Komplexer Schaltwerke RLT-Notation ASM-Diagramme Zusandsboxen Entscheidungsboxen Bedingte Ausgangsboxen ASM-Block Konstruktionsregeln f"ur Operationswerke Aufbau des Steuerwerks / Entwurf Beispiel 1en Z"ahler L"osung mit Komplexes Schaltwerk Mealy L"osung mit Komplexes Schaltwerke Moore Aufbau der Operationswerks Mealy Steuerwerk als konventionelless Schaltwerk Mealy Steuwerk mit HotOne Kodierung Moore Steuerwerk als konventionelles Schaltwerk Moore Steuerwerk mit HotOne Kodierung Mikropgrammierte Steuwerker Aufbau und Funktionsweise des Computers Erweiterung Komplexer Schaltwerke Komponenten eines computers Rechenwerk Leitwerk Speicehr E/A Interne und Externe Busse Prozessoregister Anwendung des Stapelzeigs Operationswerk Daten und Addressregister Datenpfade Schiebemultiplexer arithemtische Operationen logische Operationen Statusflags Steuerwerk Mikroprogrammierung Mikropbefehlsformat