<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=DLX-Prozessor</id>
	<title>DLX-Prozessor - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=DLX-Prozessor"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=DLX-Prozessor&amp;action=history"/>
	<updated>2026-06-04T21:13:33Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=DLX-Prozessor&amp;diff=392881&amp;oldid=prev</id>
		<title>imported&gt;Fan-vom-Wiki: fehlendes Leerzeichen</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=DLX-Prozessor&amp;diff=392881&amp;oldid=prev"/>
		<updated>2025-10-16T08:23:48Z</updated>

		<summary type="html">&lt;p&gt;fehlendes Leerzeichen&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Der &amp;#039;&amp;#039;&amp;#039;DLX-Mikroprozessor&amp;#039;&amp;#039;&amp;#039; (Aussprache: Deluxe&amp;lt;ref&amp;gt;{{Literatur |Autor=Jurij Silc, Borut Robic, Theo Ungere |Hrsg=Springer Science &amp;amp; Business Media |Titel=Processor Architecture: From Dataflow to Superscalar and Beyond |Datum=2012 |ISBN=3-642-58589-2 |Seiten=19}}&amp;lt;/ref&amp;gt;) ist eine hypothetische [[Prozessorarchitektur]], die von [[John L. Hennessy]] und [[David A. Patterson]] (den ursprünglichen Designern der [[MIPS-Architektur|MIPS]]- und [[Berkeley RISC|Berkeley-RISC]]-Architektur) entwickelt wurde. Er wurde in dem –&amp;amp;nbsp;von beiden gemeinsam verfassten&amp;amp;nbsp;– Buch &amp;#039;&amp;#039;Computer Architecture: A Quantitative Approach&amp;#039;&amp;#039; vorgestellt. Der DLX-Prozessor wird mit einem [[Reduced Instruction Set Computing|RISC]]-Befehlssatz angesteuert und besitzt 32 Register. Es gibt DLX-Simulatoren, die die unterschiedlichen [[Pipeline (Prozessor)|Pipelinestufen]] grafisch darstellen und Assembler-Befehle interpretieren. Solche werden an einigen Hochschulen in Vorlesungen zur hardwarenahen Programmierung benutzt.&lt;br /&gt;
&lt;br /&gt;
== Pipeline ==&lt;br /&gt;
Die Pipeline des DLX-Prozessors besteht aus fünf Stufen:&lt;br /&gt;
# Instruction Fetch (IF): Laden des [[Befehlssatz|Befehls]] in den Befehlspuffer, Erhöhung des Befehlszählers.&lt;br /&gt;
# Instruction Decode (ID): Erzeugung der prozessorinternen Steuersignale, Bereitstellung der Operanden aus den Registern.&lt;br /&gt;
# Execute (EX): [[Arithmetisch-logische Einheit|ALU]] führt Operation aus, Berechnung der effektiven [[Adressierung (Rechnerarchitektur)|Adresse]] bei Lade-/Speicherbefehlen.&lt;br /&gt;
# Memory Access (MEM oder MA): Durchführung des Speicherzugriffs bei Lade-/Speicherbefehlen. Andere Befehle durchlaufen diese Phase passiv.&lt;br /&gt;
# Write Back (WB): Schreiben des Operationsergebnisses in ein [[Register (Computer)|Register]]. Befehle ohne Ergebnis durchlaufen diese Phase passiv.&lt;br /&gt;
&lt;br /&gt;
Das Design der DLX-Pipeline verhindert das Auftreten von Schreibe-nach-Lese- &amp;#039;&amp;#039;(write after read)&amp;#039;&amp;#039; und Schreibe-nach-Schreibe-Konflikten &amp;#039;&amp;#039;(write after write)&amp;#039;&amp;#039;. Lese-nach-Schreibe-Konflikte &amp;#039;&amp;#039;(read after write)&amp;#039;&amp;#039; werden jedoch nicht verhindert.&lt;br /&gt;
&lt;br /&gt;
== Registerbedeutungen ==&lt;br /&gt;
* R0  null; unveränderlich&lt;br /&gt;
* R1  reserviert für den Assembler&lt;br /&gt;
* R2-R3  Funktionsrückgabewerte&lt;br /&gt;
* R4-R7  Funktionsparameter&lt;br /&gt;
* R8-R15  beliebig&lt;br /&gt;
* R16-R23  Registervariablen&lt;br /&gt;
* R24-R25  beliebig&lt;br /&gt;
* R26-R27  reserviert für das Betriebssystem&lt;br /&gt;
* R28  Globaler Pointer&lt;br /&gt;
* R29  Stackpointer&lt;br /&gt;
* R30  Registervariable&lt;br /&gt;
* R31  Rücksprungadresse&lt;br /&gt;
&lt;br /&gt;
== Befehlsformate ==&lt;br /&gt;
Ein 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]].&lt;br /&gt;
&lt;br /&gt;
=== I-Format (Immediate) ===&lt;br /&gt;
Befehle dieses Formates sind Load/Store Instruktionen, arithmetische Befehle oder bedingte/unbedingte Sprünge. Die Instruktion besteht aus einem Quellregister rs1 und einem Zielregister rd, zusätzlich sind 16 Bit für den Immediate-Wert vorgesehen, die je nach Befehlstyp benutzt werden.&lt;br /&gt;
&lt;br /&gt;
[[Datei:DLX-I.svg|700px|Befehlsformat der DLX Architektur, Typ I]]&lt;br /&gt;
&lt;br /&gt;
Beispielbefehle: LW, SW, JALR&lt;br /&gt;
&lt;br /&gt;
=== R-Format (Register) ===&lt;br /&gt;
Dieses Format wird benutzt, um Operationen auf Registern durchzuführen, dabei werden die Quellregister rs1 und rs2 mit der Register-ALU Operation func ausgeführt, und das Ergebnis auf das rd-Register abgelegt.&lt;br /&gt;
&lt;br /&gt;
[[Datei:DLX-R.svg|700px|Befehlsformat der DLX Architektur, Typ R]]&lt;br /&gt;
&lt;br /&gt;
Beispielbefehl: SLT, ADD, SUB&lt;br /&gt;
&lt;br /&gt;
=== J-Format (Jump) ===&lt;br /&gt;
Befehle dieses Formates sind Sprungbefehle. Die (dist)anz wird einfach auf den [[Befehlszähler]] hinzuaddiert.&lt;br /&gt;
&lt;br /&gt;
[[Datei:DLX-J.svg|700px|Befehlsformat der DLX Architektur, Typ J]]&lt;br /&gt;
&lt;br /&gt;
Beispielbefehle: J, JAL&lt;br /&gt;
&lt;br /&gt;
== Befehlssatz ==&lt;br /&gt;
Auszug aus dem DLX-[[Befehlssatz]] ohne [[Gleitkommaoperation|Floating-Point-Befehle]]:&lt;br /&gt;
&lt;br /&gt;
 Instruction                       Instruction meaning&lt;br /&gt;
 LB / LH / LW         R1,val(R2)   Load byte / load half word / load word&lt;br /&gt;
 LBU / LHU            R1,val(R2)   Load byte unsigned / load half word unsigned&lt;br /&gt;
 SB / SH / SW         val(R2),R1   Store byte / store half word / store word&lt;br /&gt;
 LHI                  R1,#val      Load high immediate&lt;br /&gt;
 ADD / SUB            R1,R2,R3     Add / subtract&lt;br /&gt;
 ADDU / SUBU          R1,R2,R3     Add unsigned / subtract unsigned&lt;br /&gt;
 ADDI / SUBI          R1,R2,#val   Add immediate / subtract immediate&lt;br /&gt;
 ADDUI / SUBUI        R1,R2,#val   Add immediate unsigned / subtract immediate unsigned&lt;br /&gt;
 AND / OR / XOR       R1,R2,R3     And / or / exclusive or&lt;br /&gt;
 ANDI / ORI / XORI    R1,R2,#val   And immediate / or immediate / exclusive or immediate&lt;br /&gt;
 SLL / SRL / SRA      R1,R2,R3     Shift left logical / shift right logical / shift right arithmetic&lt;br /&gt;
 SLLI / SRLI / SRAI   R1,R2,#val   Shift- left log. / right log. / right arithmetic -immediate&lt;br /&gt;
 SLT / SLE / SEQ      R1,R2,R3     Set- less than / less or equal than / equal&lt;br /&gt;
 SLTI / SLEI / SEQI   R1,R2,#val   Set- less than / less or equal than / equal -immediate&lt;br /&gt;
 SGT / SGE / SNE      R1,R2,R3     Set- greater than / greater equal than / not equal&lt;br /&gt;
 SGTI / SGEI / SNEI   R1,R2,#val   Set- greater than / greater equal / not equal -immediate&lt;br /&gt;
 BEQZ / BNEZ          R4,name      Branch equal zero / branch not equal zero&lt;br /&gt;
 J                    name         Jump&lt;br /&gt;
 JR                   R5           Jump register&lt;br /&gt;
 JAL                  name         Jump and link (save return address in R31)&lt;br /&gt;
 JALR                 R5           Jump and link register (save return address in R31)&lt;br /&gt;
 val:  16 Bit Wert als Adress-Offset oder Immediate-Wert&lt;br /&gt;
 name: 16 oder 26 Bit Adress-Distanz&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* Philip Sailer, David Kaeli: &amp;#039;&amp;#039;The DLX Instruction Set Architecture Handbook.&amp;#039;&amp;#039;, Morgan Kaufmann, San Francisco 1996, ISBN 1-55860-371-9. (engl.)&lt;br /&gt;
* John Hennessy, David Patterson: &amp;#039;&amp;#039;Computer Architecture. A Quantitative Approach.&amp;#039;&amp;#039;, 3. Ausgabe, Morgan Kaufmann, San Francisco 2003, ISBN 1-55860-724-2 (engl.)&lt;br /&gt;
* Uwe Brinkschulte, Theo Ungerer: &amp;#039;&amp;#039;Mikrocontroller und Mikroprozessoren&amp;#039;&amp;#039;, Springer-Verlag, Berlin 2007, ISBN 978-3-540-46801-1, Seite 49.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* {{Webarchiv | url=http://www.mr.inf.tu-dresden.de/studium/winter/infet1/docs/DLX.pdf | wayback=20140309025545 | text=DLX-Architektur, Entwicklung und Funktionsweise}} (PDF-Datei; 444&amp;amp;nbsp;kB) – Datei {{Webarchiv | url=http://www.mr.inf.tu-dresden.de/studium/winter/infet1/docs/DLX.pdf | wayback=20140309025545 | text=verfügbar als}}&lt;br /&gt;
* {{Webarchiv | url=http://www.mr.inf.tu-dresden.de/~schoene/Windlx/WinDLX_html.html | wayback=20070707004302 | text=WinDLX, DLX-Simulator für Windows ab Version 3.1}} – Seite {{Webarchiv | url=http://www.mr.inf.tu-dresden.de/~schoene/Windlx/WinDLX_html.html | wayback=20070707004302 | text=verfügbar als}}, Programm [http://www.inf.fu-berlin.de/lehre/SS99/Rechnerarchitektur/DLX/ hier]&lt;br /&gt;
* {{Webarchiv | url=http://www.informatik.uni-augsburg.de/lehrstuehle/sik/lehre/ss/sysinfo_ue/software/ | wayback=20090424063559 | text=DLX-Befehlsübersicht (PDF-Dateien), DLX-Simulator für Linux}} mit Quellcode – Seite {{Webarchiv | url=http://www.informatik.uni-augsburg.de/lehrstuehle/sik/lehre/ss/sysinfo_ue/software/ | wayback=20090424063559 | text=verfügbar als}}&lt;br /&gt;
* [http://electro.fisica.unlp.edu.ar/arq/downloads/Software/WinDLX/windlx.html WinDLX-Seite], mit Tutorial (PDF) und ausführlicher [http://electro.fisica.unlp.edu.ar/arq/downloads/Software/WinDLX/DLXinst.html Befehlssatz-Beschreibung] (engl.)&lt;br /&gt;
* [https://www-user.tu-chemnitz.de/~erma/dienst/lehre/ Foliensatz] zur Übung DLX (Komponenten &amp;amp; Architekturen)&lt;br /&gt;
* [http://sourceforge.net/projects/opendlx/ openDLX, Open Source DLX-Simulator in Java]; [https://github.com/smetzlaff/openDLX Github-Seite] (engl.)&lt;br /&gt;
* [https://www.csee.umbc.edu/courses/undergraduate/411/spring96/dlx.html The DLX Processor], Einführung (engl.)&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{SORTIERUNG:Dlx-Mikroprozessor}}&lt;br /&gt;
[[Kategorie:Rechnerarchitektur]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Fan-vom-Wiki</name></author>
	</entry>
</feed>