lb, lbu Laden eines Bytes lh, lhu Laden eines Halbwortes lw Laden eines Wortes ld* Laden eines Doppelwortes la* Laden einer Addresse li* Laden eines Immidiate Wertes sb Speichern eines Bytes sh Speichern eines Halbwortes sw Speichern eines Wortes sd* Speichern eines Doppelwortes add, addi, addiu sub mult, multu div, divu rem* abs* neg* not* and, andi or, ori xor, xori nor Datenbewegungsbefehle arithmetisch logische Befehle Schiebe und Rotationsbefehle Gleitkommabefehle Multimediabefehle Systemsteuerbefehle Programmsteuerbefehle Synchronisationsbefehle Einaddressformat Zweiaddressformat Dreiaddressformat Nulladdressformat Lade und Speicherarchitektur Register- Speicherarchitektur Speicher- Speicherarchitektur Akkumulatorarchitektur Stack- und Kellerarchitektur Stackarchitektur: 8087 Intel, Atam 862 Atmel Einzelbit Ganzzahl Gleitkomma Multimedia signed unsigned packed unpacked bcd ascii little-endian big-endian Byte Halbwort Wort Doppelwort ieee-754-std f = (-1)\^s * 1.m * 2\^(e-b) Registeraddressierung Unmittelbare Addressierung Direkte Addressierung Registerindirekte Addressierung Registerindirekte Addressierung mit Verschiebung Registerindirekte Addressierung mit Autoinkrement/Dekrement Indizierte Addressierung Indizierte Addressierung mit Verschiebung Steuereinheit 1.) Befehlsdekodierer 2.) Funktionsdekodierer RegDest RegWrite Branch ALU-Src ALU-Op MemToReg MemWrite Befehlsdekodierer Funktionsdekodierer ALU Registersatz Datenspeicher Befehlsspeicher Befehlsz"ahler Vorzeichenerweiterungseinheit 4 x MUX 1 x AND 2 x Addierer 1 x 2-Bit-Shifter Registersatz: - Lese-Daten-1 - Lese-Daten-2 - Schreibe-Daten - Lese-Register-1 - Lese-Register-2 - Schreiberegister - WE Datenspeicher: - Lesedaten - Schreibedaten - Addresse - WE ALU: - ALU-Ergebnis - Null AND: - PCSrc Befehlsspeicher: - Lesedaten - Addresse Befehlsz"ahler: - PC (t) - PC (t+1) Funktionsdekodierer - Func - ALU-Op - ALU-Operation Func ALU-Op ALU-Operation 00 x 010 - add x1 x 110 - sub 1x 100 000 - add 010 - add opcode regdst regwrite branch alu-src alu-op alu-operanden 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 - lt: less than - le: less than equal - gt: greater than - ge: greater than equal j, b*, jr 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) Befehl holen Befehl dekodieren Operanden der ALU bereitstellen Operation in der ALU ausf"uhren Operanden in Architekturregister zur"uckschreiben IF, ID, EX, MEM, WB IF: Instruction Fetch ID: Instruction Decode/Register Fetch EX: Execute Address Calculation MEM: Memory Access WB: Write Back Datenkonflikte Steuerflusskonflikte Struktur und Ressourcenkonflikte 1.) Statische Sprungvorhersage: - In Order Issue In Order Completion - VLIW 2.) Dynamisch - Out of Order Issue Out Of Order Completion 1.) Statische Sprungvorhersage 1.1.) Predict Always Taken 1.2.) Predict Always Not Taken 1.3.) Predict Backward Taken Forward Not Taken 2.) Dynamisch 2.1.) Taken not Taken 2.2.) Strongly Taken, weakly Taken, strongly not taken, weakly not taken PLD: Programmable Logic Decive PLA: Programmable Logic Array PAL: Programmable Array Logic CPLD: Complex Programmable Logic Device FPGA: Field Programmable Gate Array PLA: Programmierbare und Matrix Programmierbare Oder PROM: Programmierbare Oder PAL: Feste Oder, programmierbar UND Xilinx Altera Lattice Actel Cypress Quick Logic Atmel Xilinx CPLD Coolrunner 1.) Kirchhoffsche Regel: Die Summe der zufliessenden Str"ome in einem Knoten, ist gleich die Summe der abfliessenden 2.) ...: Die Summe der Spannungen in einer Masche ist gleich 0 FET: Feldeffect Transistor Source Drain Gate Bulc MISFET JFET: Junction Fet MESFET MOSFET IGFET: Insulated Gate FET Tristor, Triac Laser: Light Ampilification by Stimuleted Emission of Radiation