<?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=Motorola_68000</id>
	<title>Motorola 68000 - 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=Motorola_68000"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Motorola_68000&amp;action=history"/>
	<updated>2026-06-24T13:05:31Z</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=Motorola_68000&amp;diff=20042&amp;oldid=prev</id>
		<title>~2025-41519-69: /* Architektur und Befehlssatz */</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Motorola_68000&amp;diff=20042&amp;oldid=prev"/>
		<updated>2025-12-18T12:31:05Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Architektur und Befehlssatz&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Datei:Motorola MC68000P8 01.jpg|mini|Motorola MC68000 im 64-poligen [[Dual in-line package|DIP]]]]&lt;br /&gt;
[[Datei:KL Motorola MC68000 CLCC.jpg|mini|Ein Motorola MC68000 im CLCC-Gehäuse.]]&lt;br /&gt;
[[Datei:KL Hitachi HD68000.jpg|mini|Ein MC68000 von [[Hitachi (Unternehmen)|Hitachi]] ]]&lt;br /&gt;
[[Datei:Motorola 68000 die.JPG|mini|Prozessorkern ([[Die (Halbleitertechnik)|Die]]) eines Motorola 68000 (MC68000L12)]]&lt;br /&gt;
&lt;br /&gt;
Der &amp;#039;&amp;#039;&amp;#039;Motorola 68000&amp;#039;&amp;#039;&amp;#039; ist ein 1979 eingeführter [[Complex Instruction Set Computer|CISC]]-[[Mikroprozessor|Prozessor]] aus der [[Motorola-68000er-Familie|68000er-Familie]] von [[Motorola]] (später [[Freescale]], heute [[NXP Semiconductors|NXP]]). Er besitzt intern 32-Bit-[[Register (Prozessor)|Register]], einen mit [[32-Bit-Architektur|32&amp;amp;nbsp;Bit]] adressierten linearen Adressraum, davon 24 Bit extern verfügbar, acht 32-Bit-Datenregister, neun 32-Bit-Adressregister, ein 16-Bit-Statusregister sowie einen 16-Bit-Datenbus.&lt;br /&gt;
&lt;br /&gt;
Eine Variante ist der &amp;#039;&amp;#039;Motorola 68008&amp;#039;&amp;#039;, bei dem der Datenbus auf 8 Bit sowie der Adressbus auf 20 Bit in der DIP-Version (bzw. 22 Bit in der PLCC-Version) reduziert sind. Als verbesserte Version kam der &amp;#039;&amp;#039;[[Motorola 68010]]&amp;#039;&amp;#039; auf den Markt, der um Fehler bereinigt wurde und verbesserte Unterstützung von [[Virtuelle Speicherverwaltung|virtuellem Speicher]] bietet. Ein 68010 mit erweitertem Adressbus von 31 Bit wurde als &amp;#039;&amp;#039;Motorola 68012&amp;#039;&amp;#039; angeboten. Später folgten noch der [[Motorola 68020|68020]], [[Motorola 68030|68030]], [[Motorola 68040|68040]] und [[Motorola 68060|68060]].&lt;br /&gt;
&lt;br /&gt;
Die Bezeichnung 68000 stammt laut einer [[Moderne Legende|modernen Legende]] von der Anzahl [[Transistor]]en, die der Prozessor besitzt. Tatsächlich ist es jedoch die logische Fortsetzung der Typbezeichnung der älteren 8-Bit-Motorola-Prozessorfamilie [[Motorola 6800]]. Die Architektur der 68000-Familie basiert auf Mainframes, wie [[System/360|IBM System/360]] sowie der [[LSI-11]]/[[PDP-11]] von Digital Equipment, aber mit einem linearen Adressbereich, auf den ohne Verfahren wie Multiplexing, [[Segmentierung (Speicherverwaltung)|Segmentierung]] oder [[Paging]] direkt zugegriffen werden kann.&lt;br /&gt;
&lt;br /&gt;
Der 68000 (auch 68k genannt) mit 8&amp;amp;nbsp;MHz Taktfrequenz kam im 64-poligen [[Dual in-line package|DIL-Gehäuse]] (siehe Bild) auf den Markt.&lt;br /&gt;
&lt;br /&gt;
== Architektur und Befehlssatz ==&lt;br /&gt;
Die Prozessoren der 68000-Familie zeichnen sich durch die große Anzahl der Register und einen weitgehend [[Orthogonaler Befehlssatz|orthogonalen Befehlssatz]] aus, d.&amp;amp;nbsp;h. fast alle Maschinenbefehle lassen sich mit allen Adressierungsarten verwenden. Der Befehlssatz ist folgendermaßen aufgebaut:&lt;br /&gt;
&lt;br /&gt;
:BEFEHL.s &amp;lt;ea1&amp;gt;, &amp;lt;ea2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Prozessoren der 68000-Familie sind sogenannte Zwei-Adress-Maschinen, wobei bei den meisten Befehlen eine variable Datenbreite mit .s = {B,W,L} verwendet werden kann (entspricht 8, 16 oder 32 Bit) und für die beiden Quell- und Ziel-Operanden &amp;lt;ea1&amp;gt; bzw. &amp;lt;ea2&amp;gt; eine der 68000-Adressierungsarten eingesetzt werden kann:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- class=&amp;quot;hintergrundfarbe5&amp;quot;&lt;br /&gt;
! Schreibweise  !! Beschreibung !! Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| Dn || Datenregister direkt || CLR.B&amp;amp;nbsp; D0&lt;br /&gt;
|-&lt;br /&gt;
| An || Adressregister direkt || MOVEA.W&amp;amp;nbsp; A0,A1&lt;br /&gt;
|-&lt;br /&gt;
| (An) || Adressregister indirekt || CLR.B&amp;amp;nbsp; (A0)&lt;br /&gt;
|-&lt;br /&gt;
| (An)&amp;#039;&amp;#039;&amp;#039;+&amp;#039;&amp;#039;&amp;#039; || Adressregister indirekt mit Postinkrement || CLR.B&amp;amp;nbsp; (A0)&amp;#039;&amp;#039;&amp;#039;+&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;−&amp;#039;&amp;#039;&amp;#039;(An) || Adressregister indirekt mit Predekrement || CLR.B&amp;amp;nbsp; &amp;#039;&amp;#039;&amp;#039;−&amp;#039;&amp;#039;&amp;#039;(A0)&lt;br /&gt;
|-&lt;br /&gt;
| d16(An)|| Adressregister indirekt mit 16 Bit Offset   || CLR.B&amp;amp;nbsp; 255(A0)&lt;br /&gt;
|-&lt;br /&gt;
| d8(An,Ri.s) || Adressreg. ind. mit 8 Bit Offset und Indexregister || CLR.B&amp;amp;nbsp; $44(A0,D0.L)&lt;br /&gt;
|-&lt;br /&gt;
| d16(PC) || PC-relativ mit 16 Bit Offset || CLR.B&amp;amp;nbsp; 22(PC)&lt;br /&gt;
|-&lt;br /&gt;
| d8(PC,Ri.s) || PC relativ mit 8 Bit Offset und Indexreg. || CLR.B&amp;amp;nbsp; 10(PC,A1.W)&lt;br /&gt;
|-&lt;br /&gt;
| #xxxxxxxx || Konstante (Immediate) || MOVEQ&amp;amp;nbsp; #15,D0&lt;br /&gt;
|-&lt;br /&gt;
| $xxxx || Speicherdirekt mit 16-Bit-Adresse (Absolute Short) || CLR.B&amp;amp;nbsp; $8000&lt;br /&gt;
|-&lt;br /&gt;
| $xxxxxxxx || Speicherdirekt mit 32-Bit-Adresse (Absolute Long) || CLR.B&amp;amp;nbsp; $11008000&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
oder die komplexen MC68020/30/40/60-Adressierungsarten:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- class=&amp;quot;hintergrundfarbe5&amp;quot;&lt;br /&gt;
! Schreibweise  !! Beschreibung !! Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| (dis1,An,Ri.s*scl) ||Adressreg. indirekt mit 16-/32-Bit Offset || MOVE.B&amp;amp;nbsp; ($12345678,A1,A2.L*2),D0&lt;br /&gt;
|-&lt;br /&gt;
| ([dis1,An],Ri.s*scl,dis2) ||Doppelt indirekt mit Post-Index || MOVE.W&amp;amp;nbsp; ([5,A2],D0.W,$23456),D1&lt;br /&gt;
|-&lt;br /&gt;
| ([dis1,An,Ri.s*scl],dis2) ||Doppelt indirekt mit Pre-Index || MOVE.W&amp;amp;nbsp; ([5,A2,D0.W],$23456),D1&lt;br /&gt;
|-&lt;br /&gt;
| (dis1,PC,Ri.s*scl)  ||PC-indirekt mit 16- oder 32-Bit Offset || JSR&amp;amp;nbsp; (WEITER,PC)&lt;br /&gt;
|-&lt;br /&gt;
| ([dis1,PC],Ri.s*scl,dis2) ||PC-relativ,doppelt ind m. Post-Index || JSR&amp;amp;nbsp; ([SPRUNG,PC],D1,2)&lt;br /&gt;
|-&lt;br /&gt;
| ([dis1,PC,Ri.s*scl],dis2) ||PC-relativ,doppelt ind. m. Pre-Index || MOVE.L&amp;amp;nbsp; ([PARAMETER,PC,D1.W],4),D1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Der 68000 hat nur eine 16-Bit-[[Arithmetisch-logische Einheit|ALU]] und auch einen 16-Bit-Befehlssatz, der aber sowohl mit 8-, 16- als auch mit 32-Bit-Datentypen umgehen kann (32-Bit-Architektur). Die Typen MC68020/030/040/060 dagegen haben eine 32-Bit-ALU.&lt;br /&gt;
&lt;br /&gt;
Beispiel für eine typische MC68000-Instruktion:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| JSR &amp;lt;ea&amp;gt; (Jump to subroutine)&lt;br /&gt;
|-&lt;br /&gt;
|Befehlsformat &amp;#039;&amp;#039;&amp;#039;0100 1110 10mm mrrr&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die Instruktion ([[Opcode]]) ist 16 Bit breit. Drei Bits (m) werden für den Adressierungsmodus verwendet, drei weitere Bits für das benutzte (r) Register bzw. eine Distanzadresse ({{lang|en|displacement}}).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;0100 1110 1011 1010&amp;#039;&amp;#039; wird so zu &amp;#039;&amp;#039;JSR (d16,PC)&amp;#039;&amp;#039;. Da hier die &amp;#039;&amp;#039;PC-relative Adressierung mit Distanzadresse (displacement)&amp;#039;&amp;#039; zur Anwendung kommt, wird das folgende Wort als vorzeichenbehaftete relative Adresse (displacement) verwendet. Andere Instruktionen wie &amp;#039;&amp;#039;MOVEQ #n,Dx&amp;#039;&amp;#039; sind sogar vollständig in 16 Bit kodiert.&lt;br /&gt;
&lt;br /&gt;
Die Fähigkeit des 68000, bei fast allen Instruktionen auch 32 Bit breite Adressen und Daten zu verstehen (die dann natürlich bei einem 16-Bit-Bus in mehreren Zyklen gelesen werden mussten), vereinfachte die Softwareentwicklung ungemein, da es sich quasi um eine 32-Bit-Architektur handelte.&lt;br /&gt;
&lt;br /&gt;
Im Gegensatz z.&amp;amp;nbsp;B. zum [[Intel 8086]] bereitet es keine Probleme, Datensätze über 64&amp;amp;nbsp;[[Kilobyte|KiB]] Größe zu adressieren. Wegen der 16-Bit-ALU und des 16-Bit-Datenbusses wird der 68000 oft 16-Bit-Prozessor genannt, er führt jedoch klaglos 32-Bit-Software aus. Wegen der 16-Bit-ALU kostet z.&amp;amp;nbsp;B. eine einfache 32-Bit-Addition 6 statt 4 Takte. Der Schaltungsblock zur Generierung von Adressen hat jedoch volle 32&amp;amp;nbsp;Bit, so dass z.&amp;amp;nbsp;B. das Durchsuchen eines Textes mit 8&amp;amp;nbsp;Bit breiten Zeichen nicht langsamer ist, als es von einem &amp;#039;&amp;#039;reinen&amp;#039;&amp;#039; 16-Bitter zu erwarten wäre. Zudem kann der Text ohne Modifikation des Programms länger als 64&amp;amp;nbsp;KiB sein. 68000-Software ist 32-Bit-Software.&lt;br /&gt;
&lt;br /&gt;
Der Inhalt der oberen 8 Bit eines Speicherzugriffs wird vom Speicher ignoriert, da nur die Adressen A1 bis A23 nach außen geführt sind (68008: Adressen A0 bis A19). Dadurch ist es möglich, diese Bits frei zu nutzen, beispielsweise für Meta-Informationen zu einem Zeiger (pointer). Bei späteren Prozessorgenerationen aus der 68000-Familie mit 32 Bit externem Adressbus führt das offensichtlich zu Problemen. Da diese Art der Programmierung aber auf den frühen [[Macintosh]]-Rechnern sehr verbreitet war, hatten spätere Macintosh-Versionen mit 68020-Prozessor ohne [[Memory Management Unit]] (MMU) einen speziellen Baustein, genannt &amp;#039;&amp;#039;Address Management Unit&amp;#039;&amp;#039; (AMU), anstelle der MMU, der die oberen 8 Bit von Adressen optional ausmaskierte, um alte Software in einem 24-Bit-[[Kompatibilitätsmodus]] verwenden zu können.&lt;br /&gt;
Als Prozessor mit [[Nanocode]] und [[Mikrocode]] ist der 68000 gewissermaßen auf Hardwareebene durch den Hersteller programmierbar.  In der [[PC XT/370]]-Steckkarte, die ein [[System/370]] auf einem [[IBM Personal Computer XT|PC/XT]] ermöglichte, wurde ein 68000 mit modifiziertem Mikrocode eingesetzt, um einen Teil der System/370-Instruktionen direkt auszuführen. Die restlichen Instruktionen wurden auf einem weiteren 68000 emuliert oder auf dem als [[Gleitkommaeinheit|FPU]] eingesetzten modifizierten [[Intel 8087|8087]] ausgeführt.&amp;lt;ref&amp;gt;{{Cite web |url=https://www.researchgate.net/profile/David-Livingston-7/publication/224102395_System370_capability_in_a_desktop_computer/links/5482102b0cf25dbd59ea92c1/System-370-capability-in-a-desktop-computer.pdf |title=System/370 capability in a desktop computer |date= |accessdate=2022-04-16 |last=Kozuh |first=F.T. |publisher=IBM Systems Journal |language=en}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die längste Instruktion des 68000, eine MOVE-Instruktion, die Daten von einer Speicherstelle in eine andere kopiert, wobei beide Speicherstellen doppelt-indirekt mit 32 bit Displacements adressiert werden, ist 22 Byte lang.&lt;br /&gt;
&lt;br /&gt;
Hinweis:&lt;br /&gt;
* Die Befehle eines Motorola 68000 konnten 2, 4, 6 …, 20 oder 22 Byte lang sein. Befehle lagen immer auf geraden Adressen und waren ein Vielfaches von 16 bit lang.&lt;br /&gt;
* Die Befehle eines Intel 80286 konnten 1, 2, 3 …, 14 oder 15 Byte lang sein. Befehle konnten auf beliebigen Adressen liegen und durften (im Gegensatz zum 8086) max. 15 Byte lang sein.&lt;br /&gt;
&lt;br /&gt;
=== Varianten ===&lt;br /&gt;
Die erste Variante war der 68008, bei dem der Nanocode derart verändert wurde, dass der Datenbus nur noch mit 8 Bit Breite angesprochen wurde. Eine weitere Variante war der [[Motorola 68010|68010]], der wesentlich besser mit virtuellem Speicher betrieben werden konnte und zudem noch einige Detailverbesserungen aufwies. Ein Ableger des 68010 war der nicht lange verfügbare 68012, der mehr Adressleitungen für größere Speicher (bis zu 2&amp;amp;nbsp;GiB) zur Verfügung stellte. Später wurden Varianten meist direkt von der ursprünglichen CPU abgeleitet, wie z.&amp;amp;nbsp;B. der 68EC020 vom [[Motorola 68020|68020]] (24 statt 32 Adressleitungen) – oder der 68EC040 und der 68LC040 vom [[Motorola 68040|68040]] (es fehlten dann entweder die [[Gleitkommaeinheit|FPU]] oder die [[Memory Management Unit|MMU]]). Ab dem 68020 wurden Schritt für Schritt auch erste [[64-Bit-Architektur|64-Bit]]-Befehle integriert (für einfache Multiplikationen).&lt;br /&gt;
&lt;br /&gt;
Über drei binär kodierte Interruptleitungen können [[Interrupt]]s mit sieben unterschiedlichen Prioritäten ausgelöst werden, davon ist die höchste nicht maskierbar. Zusammen mit entsprechenden Peripheriebausteinen sind bis zu 256 vektorisierte Interrupts möglich.&lt;br /&gt;
&lt;br /&gt;
Ferner enthält der Prozessor Steuerleitungen, die signalisieren, ob als Nächstes ein Programmbefehl oder ein Datum geholt wird. Das ermöglicht zwar den Aufbau von Rechnern mit getrenntem Speicher für Programme und Daten; eine [[Harvard-Architektur]] ist aber nicht möglich, da die dazu notwendigen getrennten Busse für Programme und Daten hier nicht vorhanden sind.&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
 KL Motorola MC68008 PLCC.jpg|Motorola MC68008 im PLCC-Gehäuse&lt;br /&gt;
 KL Motorola MC68008.jpg|Motorola MC68008&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Register ===&lt;br /&gt;
[[Datei:User Registermodell 68000-page-001.jpg|mini|User Registermodell 68000-Familie]]&lt;br /&gt;
[[Datei:Supervisor Modell 68000-page-001.jpg|mini|Supervisor-Registermodell 68000-Familie]]&lt;br /&gt;
&lt;br /&gt;
Das Register-Programmier-Modell kann man in User- und Supervisor-Register einteilen gemäß den beiden Modi, welche die 68000-Familie aufweist. Diese User-/Supervisor-Modi bilden zusammen mit den Exceptions (Ausnahmebehandlungen) einen Schutzmechanismus und schützen das System vor Abstürzen. Angezeigt wird der Modus im S-Bit des Statusregisters SR. Im Supervisor-Modus darf man alle, im User-Modus nur bestimmte Ressourcen der CPU verwenden. Daraus erklärt sich auch die Verwendung des Programmier-Modells:&lt;br /&gt;
&lt;br /&gt;
* User Register-Modell: wird vom Anwender-Programmierer bzw. von einem Compiler genutzt&lt;br /&gt;
* Supervisor Register-Modell: wird vom System-Programmierer (Betriebssystem) genutzt&lt;br /&gt;
&lt;br /&gt;
In einem Echtzeit Multi-Tasksystem läuft üblicherweise der Betriebssystem-Kern im Supervisor-Modus und die Anwender-Tasks bzw. Programme im User-Modus. Dadurch ist der Kern von den Anwender-Tasks isoliert. Dieser Schutz kann beispielsweise durch den Einsatz einer MMU zusätzlich auf die Hardware ausgeweitet werden, da die CPU den Zustand des S-Bits im Statusregister SR auch hardwaremäßig nach außen gibt.&lt;br /&gt;
&lt;br /&gt;
== Verwendung ==&lt;br /&gt;
Bereits zu Beginn der 1980er Jahre fand die CPU, dank optionaler [[Memory Management Unit|MMU]], ihren Weg in die [[Unix]]-Welt. Sie wurde in hohen Stückzahlen in die [[Workstation]]s von [[Apollo Computer]] (Apollo), [[Hewlett-Packard|HP]] ([[HP 9000|HP 9000-300]]) und [[Sun Microsystems|Sun]] ([[Sun-1]]) oder auch von [[Digital Equipment Corporation]] (Vax 100) und [[Silicon Graphics|SGI]] verbaut.&lt;br /&gt;
&lt;br /&gt;
Mitte der 1980er Jahre folgten dann Personal- und Home-Computer, der erste war [[Apple Lisa|Lisa]] von [[Apple]], die schon bald vom [[Macintosh]] (Mac) abgelöst wurde. Er wurde auch im [[Commodore International|Commodore]] [[Amiga]], im [[Atari ST]] und [[Sinclair QL]] (68008) verbaut.&lt;br /&gt;
&lt;br /&gt;
Ende der 1980er und Anfang der 1990er fand er sich dann in [[Spielkonsole]]n wie dem [[Sega Mega Drive]] oder dem [[Neo Geo]]. Auch in [[Schachcomputer]]n (wie z.&amp;amp;nbsp;B. im Fidelity Mach IV als 68020 mit 20&amp;amp;nbsp;MHz und [[Mephisto Amsterdam]] als 68000 mit 12&amp;amp;nbsp;MHz) wurde der Prozessor verwendet.&lt;br /&gt;
&lt;br /&gt;
In [[Taschenrechner]]n von [[Texas Instruments]] wie dem [[TI-89|TI-89 (Titanium)]], [[TI-92|TI-92 (Plus)]] und [[Voyage 200]] findet er heute noch Anwendung. Im [[Airbus-A320-Familie|Airbus A320]] findet er im Elevator Aileron Computer (ELAC) Verwendung, der Teil des [[Flugsteuerung]]s-Systems ist. Des Weiteren wird er dort im Display Management Computer (DMC) eingesetzt, einem Teil des [[Electronic Flight Instrument System|Elektronischen-Informations-Systems]] (EFIS).&lt;br /&gt;
&lt;br /&gt;
Das Haupteinsatzgebiet des Prozessors waren und sind Steuerungsrechner in der Industrie, meist mit einem [[Echtzeitbetriebssystem]] wie [[OS-9]] oder [[pSOS]], [[Nucleus (Betriebssystem)|Nucleus]] oder [[Linux68k]], wobei Letzteres kein Echtzeitbetriebssystem im eigentlichen Sinne ist. Dieser Einsatz und die große Verbreitung waren nicht zuletzt dank der guten Interruptarchitektur und in Kombination mit dem [[VMEbus]] möglich. In hoher Stückzahl fand sich der Prozessor auch in [[Laserdrucker]]n. Zusätzlich wurde er auf [[Netzwerkkarte|LAN-Karten]] (Schneider und Koch) und auf [[SCSI]]-Controllern (DPD), aber auch in [[Modem]]s ([[Zyxel]]) verwendet. Auch die Automobilindustrie – vornehmlich (Motor-)Steuergeräte – bevorzugte bis zum Erscheinen des PowerPC den Einsatz der MC683xx-Controller-Familie.&lt;br /&gt;
&lt;br /&gt;
Die Hochleistungsmodelle der [[Motorola-68000er-Familie|68000-Familie]] sind der [[Motorola 68040|68040]] und [[Motorola 68060|68060]] (bis 66 bzw. 75&amp;amp;nbsp;MHz). Da Apple nach dem 68040 auf [[PowerPC]]-CPUs wechselte, wurde der 68060 nur noch in Erweiterungskarten für den Amiga und den [[Atari Falcon 030]] (CT60) sowie für spezielle Anwendungen (z.&amp;amp;nbsp;B. in [[VMEbus]]-Rechnern, etwa von Motorola, sowie [[Eingebettetes System|eingebetteten Systemen]], wie in [[BMW]]-Modellen der 1990er Jahre oder hochleistungsfähigen [[Schachcomputer]]n) verwendet.&lt;br /&gt;
&lt;br /&gt;
Mittlerweile ist der Ur-68000 weitgehend verschwunden, wird aber noch in [[Wahlcomputer]]n der Firma [[Nedap]] eingesetzt. Motorola fertigt eine Vielzahl von [[Mikrocontroller]]n, die vom 68000 abstammen. Die [[Motorola Coldfire|Motorola-Coldfire]]-Familie (auf 68000 basierende Entwicklung) ist weiterhin im Bereich eingebetteter Systeme sehr beliebt und geht bis zum V5 mit 400&amp;amp;nbsp;MHz; diese Variante findet in HP-Laserdruckern Verwendung. Die [[Motorola Dragonball|DragonBall]]-Ableger wurden in den Einsteigermodellen der [[HP Palm|Palm]] [[Personal Digital Assistant|PDAs]] verwendet und sind in einfachen [[Handy]]s verbreitet.&lt;br /&gt;
&lt;br /&gt;
Ein prominentes Beispiel für ein Coldfire-basiertes (Amiga-inspiriertes) System war die SetTopBox &amp;#039;&amp;#039;[[Metabox]] 1000&amp;#039;&amp;#039;, die allerdings nie auf den Markt gekommen ist.&lt;br /&gt;
&lt;br /&gt;
Die Firma [[Apollo Computer]] hat auf Basis des C5-FPGA-Boards eine 68080-CPU programmiert, die kompatibel zu 68000-CPUs ist.&lt;br /&gt;
&lt;br /&gt;
== Weitere Komponenten ==&lt;br /&gt;
Die Prozessoren [[Motorola 68020|68020]], [[Motorola 68030|68030]], [[Motorola 68040|68040]] und [[Motorola 68060|68060]] hatten bereits Funktionen integriert, die in anderen Prozessorarchitekturen erst erheblich später eingeführt wurden:&lt;br /&gt;
&lt;br /&gt;
* interne [[Harvard-Architektur]]&lt;br /&gt;
* Branch Caches / [[Sprungvorhersage|Prediction]]&lt;br /&gt;
* [[Barrel-Shifter]]&lt;br /&gt;
* [[Pipeline (Prozessor)|Pipelining]] / [[Prefetch]]&lt;br /&gt;
* [[Privilegienstufe|User / Supervisor Mode]] (auch [[Protected Mode]] oder Kernel Mode genannt)&lt;br /&gt;
&lt;br /&gt;
Andere wesentliche Errungenschaften beziehen sich auf die Embedded Controller (Single-Chip) der M68000-Familie, die M683xx-Familie. Dazu gehören z.&amp;amp;nbsp;B. der MC68332, MC68360, MC68376. Diese Typen waren wegweisend mit folgenden Funktionen:&lt;br /&gt;
&lt;br /&gt;
* [[In-Circuit-Emulator|BDM]] (Background Debug Mode). Daraus ist der Industriestandard JTAG-Debugger entstanden, da der BDM die JTAG-Leitungen verwendete bzw. sich die Leitungen teilte. Unter der IEEE-ISTO 5001-2003 und unter dem Namen Nexus wurde diese zur Standard-Schnittstelle für Embedded Systeme. Sowohl die physikalische Schnittstelle als auch das Protokoll entspricht dem Motorola BDM.&lt;br /&gt;
* Dual Core, wobei die zweite CPU als intelligenter Peripheriecontroller eingesetzt wurde, z.&amp;amp;nbsp;B. beim&amp;lt;br /&amp;gt; MC68332 als TPU ([[Time Processing Unit]]) oder beim&amp;lt;br /&amp;gt; MC68360 als CPM ([[Communication Processor Module]]) bzw. [[QUICC]] (Quad Integrated Communication Controller). Dieser Controller erlaubte das Verarbeiten aller möglichen [[Serielle Datenübertragung|seriellen]] Protokolle. Es ist der Vorgänger des bekannten [[Power QUICC]] der [[Power-Architektur|Power-Architecture]]-Familie.&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* C. Vieillefond: &amp;#039;&amp;#039;Programmierung des 68000&amp;#039;&amp;#039;, Sybex Verlag, 1986, ISBN 3-88745-060-4&lt;br /&gt;
* Werner Hilf, Anton Nausch: &amp;#039;&amp;#039;M68000 Familie Teil 1 Grundlagen und Architektur&amp;#039;&amp;#039;, te-wi (1984), ISBN 3-921803-16-0&lt;br /&gt;
* Werner Hilf, Anton Nausch: &amp;#039;&amp;#039;M68000 Familie Teil 2 Anwendung und Bausteine&amp;#039;&amp;#039;, te-wi (1984), ISBN 3-921803-30-6&lt;br /&gt;
* Werner Hilf: &amp;#039;&amp;#039;M68000-Grundlagen Band 1&amp;#039;&amp;#039;, Architektur, Hardware, Befehlssatz, MC68020/30/40, MC68332, Franzis, München 1994, ISBN 3-7723-6333-4&lt;br /&gt;
* Werner Hilf: &amp;#039;&amp;#039;M68000 Anwendungen Band 2&amp;#039;&amp;#039;, Anwender- und Systemprogrammierung, Coprozessoren, Interfacetechnik, Software auf Diskette, MC68020/30/40, MC68332, Franzis, München 1994, ISBN 3-7723-6303-2&lt;br /&gt;
* Werner Hilf: &amp;#039;&amp;#039;Mikroprozessoren für 32-Bit-Systeme&amp;#039;&amp;#039;, Architektur, Hardware, Befehlssatz, Markt&amp;amp;Technik, ISBN 3-89090-922-1&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
{{Commonscat}}&lt;br /&gt;
{{Commonscat|Motorola 68008}}&lt;br /&gt;
* [https://www.elektronikpraxis.vogel.de/40-jahre-motorola-68000-der-sprung-ins-32-bit-zeitalter-a-864419/ 40 Jahre Motorola 68000 – Der Sprung ins 32-Bit-Zeitalter] Elektronikpraxis&lt;br /&gt;
* [http://www.cpu-collection.de/?tn=1&amp;amp;l0=cl&amp;amp;l1=68000 68000er-Prozessoren: Bilder und Beschreibungen auf cpu-collection.de] (englisch)&lt;br /&gt;
* [https://www.nxp.com/docs/en/reference-manual/M68000PRM.pdf &amp;#039;&amp;#039;MOTOROLA M68000 FAMILY PROGRAMMER’S REFERENCE MANUAL&amp;#039;&amp;#039;. Motorola Inc. 1992] Dokumentation des Herstellers, Beschreibung der Opcodes und Datenformate.&lt;br /&gt;
* [https://www.nxp.com/docs/en/reference-manual/MC68000UM.pdf &amp;#039;&amp;#039;M68000 8-/16-/32-Bit Microprocessors User’s Manual&amp;#039;&amp;#039;. Motorola Inc. 1993] Dokumentation des Herstellers, Beschreibung der elektrischen Signale.&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Navigationsleiste Freescale-Produkte}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Motorola-Prozessor|68000]]&lt;/div&gt;</summary>
		<author><name>~2025-41519-69</name></author>
	</entry>
</feed>