www.wikidata.de-de.nina.az
Der DLX Mikroprozessor Aussprache Deluxe 1 ist eine hypothetische Prozessorarchitektur die von John L Hennessy und David A Patterson den ursprunglichen Designern der MIPS und Berkeley RISC Architektur entwickelt wurde Er wurde in dem von beiden gemeinsam verfassten Buch Computer Architecture A Quantitative Approach vorgestellt Der DLX Prozessor wird mit einem RISC Befehlssatz angesteuert und besitzt 32 Register Es gibt DLX Simulatoren die die unterschiedlichen Pipelinestufen grafisch darstellen und Assembler Befehle interpretieren Solche werden an einigen Hochschulen in Vorlesungen zur hardwarenahen Programmierung benutzt Inhaltsverzeichnis 1 Pipeline 2 Registerbedeutungen 3 Befehlsformate 3 1 I Format Immediate 3 2 R Format Register 3 3 J Format Jump 4 Befehlssatz 5 Literatur 6 Weblinks 7 EinzelnachweisePipeline BearbeitenDie Pipeline des DLX Prozessors besteht aus funf Stufen Instruction Fetch IF Laden des Befehls in den Befehlspuffer Erhohung des Befehlszahlers Instruction Decode ID Erzeugung der prozessorinternen Steuersignale Bereitstellung der Operanden aus den Registern Execute EX ALU fuhrt Operation aus Berechnung der effektiven Adresse bei Lade Speicherbefehlen Memory Access MEM oder MA Durchfuhrung des Speicherzugriffs bei Lade Speicherbefehlen Andere Befehle durchlaufen diese Phase passiv Write Back WB Schreiben des Operationsergebnisses in ein Register Befehle ohne Ergebnis durchlaufen diese Phase passiv Das Design der DLX Pipeline verhindert das Auftreten von Schreibe nach Lese write after read und Schreibe nach Schreibe Konflikten write after write Lese nach Schreibe Konflikte read after write werden jedoch nicht verhindert Registerbedeutungen BearbeitenR0 null unveranderlich R1 reserviert fur den Assembler R2 R3 Funktionsruckgabewerte R4 R7 Funktionsparameter R8 R15 beliebig R16 R23 Registervariablen R24 R25 beliebig R26 R27 reserviert fur das Betriebssystem R28 Globaler Pointer R29 Stackpointer R30 Registervariable R31 RucksprungadresseBefehlsformate BearbeitenEin DLX Befehl ist immer 32 Bit lang Die unterschiedlichen Befehlsformate definieren die Aufteilung des 32 Bit Befehls in Felder Bei allen drei Formaten sind die ersten 6 Bit immer der Opcode I Format Immediate Bearbeiten Befehle dieses Formates sind Load Store Instruktionen arithmetische Befehle oder bedingte unbedingte Sprunge Die Instruktion besteht aus einem Quellregister rs1 und einem Zielregister rd zusatzlich sind 16 Bit fur den Immediate Wert vorgesehen die je nach Befehlstyp benutzt werden nbsp Beispielbefehle LW SW JALR R Format Register Bearbeiten Dieses Format wird benutzt um Operationen auf Registern durchzufuhren dabei werden die Quellregister rs1 und rs2 mit der Register ALU Operation func ausgefuhrt und das Ergebnis auf das rd Register abgelegt nbsp Beispielbefehl SLT ADD SUB J Format Jump Bearbeiten Befehle dieses Formates sind Sprungbefehle Die dist anz wird einfach auf den Befehlszahler hinzuaddiert nbsp Beispielbefehle J JALBefehlssatz BearbeitenAuszug aus dem DLX Befehlssatz ohne Floating Point Befehle Instruction Instruction meaning LB LH LW R1 val R2 Load byte load half word load word LBU LHU R1 val R2 Load byte unsigned load half word unsigned SB SH SW val R2 R1 Store byte store half word store word LHI R1 val Load high immediate ADD SUB R1 R2 R3 Add subtract ADDU SUBU R1 R2 R3 Add unsigned subtract unsigned ADDI SUBI R1 R2 val Add immediate subtract immediate ADDUI SUBUI R1 R2 val Add immediate unsigned subtract immediate unsigned AND OR XOR R1 R2 R3 And or exclusive or ANDI ORI XORI R1 R2 val And immediate or immediate exclusive or immediate SLL SRL SRA R1 R2 R3 Shift left logical shift right logical shift right arithmetic SLLI SRLI SRAI R1 R2 val Shift left log right log right arithmetic immediate SLT SLE SEQ R1 R2 R3 Set less than less or equal than equal SLTI SLEI SEQI R1 R2 val Set less than less or equal than equal immediate SGT SGE SNE R1 R2 R3 Set greater than greater equal than not equal SGTI SGEI SNEI R1 R2 val Set greater than greater equal not equal immediate BEQZ BNEZ R4 name Branch equal zero branch not equal zero J name Jump JR R5 Jump register JAL name Jump and link save return address in R31 JALR R5 Jump and link register save return address in R31 val 16 Bit Wert als Adress Offset oder Immediate Wert name 16 oder 26 Bit Adress DistanzLiteratur BearbeitenPhilip Sailer David Kaeli The DLX Instruction Set Architecture Handbook Morgan Kaufmann San Francisco 1996 ISBN 1 55860 371 9 engl John Hennessy David Patterson Computer Architecture A Quantitative Approach 3 Ausgabe Morgan Kaufmann San Francisco 2003 ISBN 1 55860 724 2 engl Uwe Brinkschulte Theo Ungerer Mikrocontroller und Mikroprozessoren Springer Verlag Berlin 2007 ISBN 978 3 540 46801 1 Seite 49 Weblinks BearbeitenDLX Architektur Entwicklung und Funktionsweise Memento vom 9 Marz 2014 im Internet Archive PDF Datei 444 kB Datei verfugbar als Memento vom 9 Marz 2014 im Internet Archive WinDLX DLX Simulator fur Windows ab Version 3 1 Memento vom 7 Juli 2007 im Internet Archive Seite verfugbar als Memento vom 7 Juli 2007 im Internet Archive Programm hier DLX Befehlsubersicht PDF Dateien DLX Simulator fur Linux Memento vom 24 April 2009 im Internet Archive mit Quellcode Seite verfugbar als Memento vom 24 April 2009 im Internet Archive WinDLX Seite mit Tutorial PDF und ausfuhrlicher Befehlssatz Beschreibung engl Foliensatz zur Ubung DLX Komponenten amp Architekturen openDLX Open Source DLX Simulator in Java Github Seite engl The DLX Processor Einfuhrung engl Einzelnachweise Bearbeiten Jurij Silc Borut Robic Theo Ungere Processor Architecture From Dataflow to Superscalar and Beyond Hrsg Springer Science amp Business Media 2012 ISBN 3 642 58589 2 S 19 Abgerufen von https de wikipedia org w index php title DLX Prozessor amp oldid 204055913