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 Programmsteuerbefehle Synchronisationsbefehle Systemsteuerbefehle Dreiaddressformat Zweiaddressformat Einaddressformat Nulladdressformat Lade- und Speicherarchitektur Speicher- Speicherarchitektur Register- Speicherarchitektur Stack und Kellerarchitektur Akkumulatorarchitektur 8087 Intel, ATAM 862, Atmel Big-Endian: Richtig rum 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 Registeraddressierung Unmittelbare Addressierung Absolute Direkte Addressierung Indirekte Addressierung Indirekte Addressierung mit Verschiebung Indirekte Adressierung 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 Befehlsdekodierer Funktionsdekodierer Registersatz ALU Datenspeicher Befehlsspeicher Befehlsz"ahler 4 x MUX 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 - Lese-Daten-1 - Lese-Daten-2 - Schreibedaten - Lese-Register-1 - Lese-Register-2 - Schreiberegister - WE - RegWrite Datenspeicher - Leseaddresse - Lesedaten - Schreibedaten - WE - MemWrite Befehlsz"ahler - PC (t) - PC (t+1) Befehlsspeicher - Leseaddresse - Lesedaten ALU - Ergebnis - Null AND - PCSrc ALU-Op Func ALU-Operation 00 x 010 - add 01 x 110 - sub 10 100 000 - add 010 - add 11 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 Sprungbefehl 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 Zustandselemente 1.) Befehlsz"ahler 2.) Befehlsspeicher 3.) Datenspeicher 4.) Registersatz 1.) Befehl holen 2.) Befehl dekodieren 3.) Operanden 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 Acceses 5.) WB = Write Back 1.) Statisches Schedelung: In Order Issue In Order Completion 2.) Dynamische Scheduling: Out Of Order Issue Out Of Order Completion 1.) Statische Sprungvorhersage 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) Ein Bit Pr"adiktor: Taken <-> Not Taken 2.2.) Zwei Bit Pr"adiktor: Strongyl / 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 Schaltfunktionen Definition Darstellung Minimierung Kodierer Schaltnetzentwurf f"ur die 8421-BCD- zu Siebensegment Umsetzung Schaltnetzentwurf f"ur einen Addresskodierer Addierglieder Halbaddierer Volladdierer Paralleladdierer Komperatoren Multiplexer ALU Zahlendarstellung und Zweierkomplement Addierer/Subtrahieher Schaltnetze auf Programmierbaren Logikbausteinen Schaltwerke Modelle f"ur Schaltwerke Implementierung von Schaltwerken Synthese von Schaltwerken Analyse von Schaltwerken Komplexe Schaltwerke und Mikroprozessor Speicherglieder Transformation Mealy und Moore Schaltwerke mit Bin"arcodierten Zustand Komplexe Schaltwerke Entwurf komplexer Schaltwerke Aufbau komplexer Schaltwerke RTL-Notation ASM-Diagramme Zustandsboxen Entscheidungsboxen Bedingte Ausgangsboxen ASM-Block Konstruktionsregeln f"ur Operationswerke Entwurf des Steuwerks Beispiel 1en Z"ahler L"osung mit Komplexes Schaltwerk, Moore L"osung Komplexes Schalwerk, Mealy Entwurf des Operationswerks Moore Steuerwerk als konventionelles Schaltwerk Moore Steuwerk mit HotOne Kodierung Mealy Steuwerk als konventionelles Schaltwerk Mealy Steuerwerm mit HotOne Kodierung Mikorpgraommierte Steuerwerk Aufbau und Funktionsweise des Computers Erweiterung komplexer Schaltwerke Komponenten eines Computers Rechenwerk Leitwerk Speicher Ein und Ausgaben Prozessorregister Interne und Externe Busse Anwendung des Stapelzeigers Unterprogramme Unterbrechungen (Interrupts) Operationswerk Daten und Addressregister Datenpfade Schiebemultiplexer Arithmetische Operationen Logische Operationen Statusflags Leitwerk