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 Gleitkommabefehle Multimediabefehle Programmsteuerbefehle Synchronisationsbefehle Systemsteuerbefehle Dreiaddressformat Zweiaddressformat Einaddressformat Nulladdressformat Lade- und Speicherarchitektur Register- Speicherarchitektur Speicher- Speicherarchitektur Akkumulatorarchitektutr Stack- und Kellerarchitektur Stack-Architektur: 8087, Intel/ATAM862 Atmel Speicher- Speicherarchitektur: Texas Instruments 9900 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.s * 2\^(e-b) 32: einfach 64: doppelt 80: erweitert Absolute Addressierung Unmittelbare Addressierung Registeraddressierung Direkte Addressierung Indirekte Addressierung Indirekte Addressierung mit Autoinkrement/Dekrement Indirekte Addressierung mit Verschiebung Indizierte Addressierung Indizierte Addressierung 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 ALU Registersatz Datenspeicher Befehlsspeicher Befehlsz"ahler 4 x DeMUX 1 x AND 2 x Addierer 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-Daten-1 2.) Lese-Daten-2 3.) Schreibedaten 4.) Lese-Register-1 5.) Lese-Register-2 6.) Schreieregister 7.) WE Datenspeicher 1.) Lesedaten 2.) Schreibedaten 3.) Addresse 4.) WE AND: 1.) PCSrc ALU 1.) Ergebnis 2.) Null Befehlsspeicher 1.) Leseaddresse 2.) Lesedaten Befehlsz"ahler 1.) PC (t) 2.) PC (t+1) ALU-Op Func ALU-Operation 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 absolut: branch befehlsz"ahlerrelativ: jump befehlsz"ahlerindirekt: jump register jal: Jump and link: Speichern zus"atzlich die Addresse des Befehls die dem Sprungbefehl folgt j, b, jr: Befehlsz"ahlerraltiv, absolute, befehlsz"ahlerindirekt jal jalr beq, bne beqz, bnez blt, ble bltz, blez bgt, bge bgtz, bgez PC_neu = PC_alt + (i << 2) PC_neu = PC_alt \& 0xf000 0000 | (i << 2) 1.) Befehl holen 2.) Befehl dekodieren 3.) Operanden der ALU bereitstellen 4.) Operation 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.) Statische Sprungvorhersag 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 Schaltwerke Aufbau komplexer Schaltwerke Schaltnetze Boolesche Algebra Definition der Booleschen Algebra Schaltalgebra, ein Modell der Booleschen Algebra Schaltfunktion Definition Darstellung Minimierung Analyse von Schaltnetzen Synthese von Schaltnetzen Kodierglieder Schaltnetzentwurf f"ur die 8421-BCD-zu Siebensegmentumsetzung Schaltnetzentwurf f"ur den Addresskodierer Addierglieder Halbaddierer Volladdierer Paralleladdierer Komperatoren Multiplexer ALU Zahlendarstellung und Zweierkomplement Addierer/Subtrahierer Schaltnetze mit Programmierbaren Bausteinen ROM PROM: Fest verdrahtete UND programmierbare Oder PAL: ODER Struktur fest verdrahtet PLA: Programmierbare ODER Programmierbare UND Schaltwerke Modelle f"ur Schaltwerke Implementierung von Schaltwerke Synthese von Schaltwerken Analyse von Schaltwerken Komplexes Schaltwerk und Mikroprozessor Speicherglieder Transformation Mealy und Moore Schaltwerke mit Bin"arcodierten Zustand Komplexe Schaltwerek Aufba Kommplexer Schaltwerke Entwurf komplexer Schaltwerke RTL-Notation ASM-Diagramme Zustandsboxen Entscheidungsboxen Bedingte Ausgangsboxen ASM-Block Konstruktionsregeln f"ur Operationswerke Entwurf des Steuerwerks Beispiel einsen Z"ahler L"osung mit komplexen Moore Schaltwerk L"osung mit komplexem Mealy Schaltwerk Konstruktionsregeln f"ur Operationswerke Moore Steuerwerk als konventionelles Schaltwerk Moore Steuerwerk mit HotOne Kodierung Mealy Steuerwerk als konvetionelles Schaltwerk Mealy Steuerwerk mit Hot One Kodierung Mikrorpgrammierte Steuerwerke Aufbau und Funktionsweise eines Computers Erweiterung komplexer Schaltwerke Komponenten eines Computers Rechenwerk Leitwerk Speicher Ein und Ausgaben Interne Und Externe Busse Prozessoregister Anwendung des Stapelzeigers Unterprogramme Unterbrechungen (Interrupts) Operationswerk Daten und Addressregister Datenpfade Schiebemultiplexer Arithmetische Operationen Logische Operationsn Statusflags Steuerwerk Mikropgrammierung Mikrobefehlsformat
Schaltnetze: Elektrische Schaltungen, die Spannungen als logische Variablen 0 und 1 intepretieren Boolesche Algebra, Schaltalgebra Verkn"upfungsglieder Schaltfunktion, Vektorfunktion f:{0,1}\^n -> {0,1}\^m Eingangsvektor Eingangsvariablen x1, x2, ..., xn Eingangsvariablen, Ausgangsvariablen Schaltfunktion Gesetze: Verkn"upfungsglieder: wedge, vee Gesetze Kommutativ Assoziativ Distributiv Dualtit"atsprinzip De Morgansche Gesetze Absorbition Neutrales Element Diverses Element Schaltnetz: DIN44300/93 Schaltalgebra ein Modell der Booleschen Algebra Schaltalgebra ist Boolesche Algebra "uber der Menge B={0,1} Boolesche Algebra ist Algebraische Struktur Schaltalgebra Es existiert die Menge B={0,1} Verkn"upfungen: wedge, vee Es gelten die Gesetze der Booleschen Algebra Schaltfunktion: DIN44300/87 Schaltnetz: DIN44300/93 Verkn"upfungsglieder NAND NOR Disjunktion Konjunktion "Aquivalenz Antivalenz Transfer Inhibition Indikation Komplement Eins Null Funktionstabelle Funktionsgleichung Schaltzeichen Funktionstabelle Funktionstabelle Schaltfunktion Schaltzeichen Schaltplan Wahrheitstabelle Bin"ares Entscheidungsdiagram KV-Diagramm Kodierer: DIN44300/118 Dekodierer: DIN44300/121 Kodierer: Zuordnung des Zeichen eines Zeichenvorrats zu derjenigen eines anderen Zeichenvorrats Dekodierer: Kodierer mit mehreren Ein und Ausg"angen bei denen f"ur jede Kombination von Eingangssignalen immer nur je ein Ausgang ein Signal abgibt Verkn"upfungsglieder, Rechenelemente: Komperatoren: DIN407000 Volladdierer C = A XOR B XOR C U = (A AND B) OR (A OR B) AND C PLHS18P8
Einzyklus Mikroarchitektur Zustandselemente Datenpfade Steuereinheit Vor und Nachteile Mehrzyklus Mikroarchitektur Funktionsweise Vor und Nachteile Pipeline Mikroarchitektur Pipeline-Prinzip Pipeline-Stufen MIPS-Pipeline Pipeline-Konflikte Datenkonflikte und deren L"osungsm"oglichkeiten Steuerflusskonflikte und deren L"osungsm"oglichkeiten Struktur und Ressourcenkonflikte und deren L"osungsm"oglichkeiten Vor und Nachteile 5-Bit-Bus 32-Bit-Bus PC - Programmcounter 32 Bit Register PC wird nach jedem Taktzyklus inkrementier PC wird um 4 inkrementiert 32x32-Bit-Register 2 Lese und 1 Schreibport 2\^5 = 32, 5 Bit Bus ALU-Op - im Opcode 00 add 01 sub 10 benutze 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 - set less than r-Typ-Befehle: add, sub, and, or, slt OPCode 31:26 rt-Feld: 25:21 rs-Feld 20:16 rd-Feld 15:11 sa-Feld 10:6 Func-Feld 5:0 Datenkonflikte steuerflusskonflikte Struktur und Ressourcenkonflikte 1.) Echte Datenabh"angigkeit: DA - RAW Read After Write True Dependency 2.) Ausgabeab"angigkeit: AA - WAW - Write After Write: Output Dependecy 3.) Gegenabh"angigkeit: GA - WAR - Write After Read: Anti Dependency