ΜP

ΜP
Redundanz Die Artikel Prozessor (Hardware), Mikroprozessor und Hauptprozessor überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zu vereinigen. Beteilige dich dazu an der Diskussion über diese Überschneidungen. Bitte entferne diesen Baustein erst nach vollständiger Abarbeitung der Redundanz. NauarchLysander 21:23, 15. Sep. 2008 (CEST)

Ein Mikroprozessor (griech. mikros für „klein“) ist ein Prozessor in sehr kleinem Maßstab, bei dem alle Bausteine des Prozessors auf einem Mikrochip vereinigt sind. Der erste Mikroprozessor wurde Anfang der 1970er Jahre von der Firma Texas Instruments auf der Basis der IC-Technik (Integrierte Schaltkreise) entwickelt.

Inhaltsverzeichnis

Geschichte

Entwicklung der Transistoranzahl bei Mikroprozessoren
Prozessortyp Anzahl Transistoren Jahr Hersteller
Intel 4004 2300 1971 Intel
Intel 8008 2500 1972 Intel
Intel 8080 4500 1974 Intel
6502 5000 1975 MOS Technology
Intel 8088 29.000 1979 Intel
Motorola 68000 68.000 1979 Motorola
Intel 80286 134.000 1982 Intel
Intel 80386 275.000 1985 Intel
Intel 80486 1.200.000 1989 Intel
Pentium 3.100.000 1993 Intel
AMD K5 4.300.000 1996 AMD
Pentium II 7.500.000 1997 Intel
AMD K6 8.800.000 1997 AMD
Pentium III 9.500.000 1999 Intel
AMD K6-III 21.300.000 1999 AMD
AMD K7 22.000.000 1999 AMD
Pentium 4 42.000.000 2000 Intel
Itanium 25.000.000 2001 Intel
Barton 54.300.000 2003 AMD
Intel Pentium M 77.000.000 2003 Intel
AMD K8 105.900.000 2003 AMD
Itanium 2 220.000.000 2003 Intel
Itanium 2 (9 MB Cache) 592.000.000 2004 Intel
Cell 241.000.000 2006 Sony/IBM/Toshiba
Core 2 Duo 291.000.000 2006 Intel
Core 2 Quad 582.000.000 2006 Intel
G80 (GPU) 681.000.000 2006 NVIDIA
Core i7 731.000.000 2008 Intel
Power6 789.000.000 2007 IBM
Dual-Core Itanium 2 1.700.000.000 2006 Intel
Intel-D4040-Mikroprozessor
IBM-PowerPC-601-Mikroprozessor
Intel-i860-Mikroprozessor

In den frühen 1960ern wurden die aus Röhren bestehenden Prozessoren durch transistorierte Typen verdrängt. Anfangs wurden die Prozessoren diskret aus einzelnen Röhren aufgebaut. Ein Prozessor hatte das Volumen eines Wandschrankes, die Leistungsaufnahme lag bei einigen 1000 Watt. Von „Mikro“ konnte dabei nicht gesprochen werden. Die Taktfrequenz lag bei 100 kHz.

Der technologische Sprung von der Röhrentechnik zur Transistortechnik hatte einen geringeren Platzbedarf, eine geringere Temperaturentwicklung, eine höhere Verarbeitungsgeschwindigkeit, eine niedrigere Ausfallquote sowie einen geringeren Stromverbrauch von nur einigen 100 Watt zur Folge. Die Taktfrequenz stieg auf etwa 1 MHz. Durch die spätere Verkleinerung der Transistoren auf nur einige Mikrometer war es möglich, immer mehr Transistorfunktionen auf Integrierten Schaltkreisen (ICs) unterzubringen. Waren es zunächst nur einzelne Gatter, integrierte man immer häufiger auch ganze Register und Funktionseinheiten wie Addierer und Zähler, schließlich dann sogar Registerbänke und Rechenwerke auf einem Chip. Diese zunehmende Integration von immer mehr Transistor- und Gatterfunktionen auf einem Chip führte dann fast zwangsläufig zu dem, was heute als Mikroprozessor bekannt ist.

Patentiert wurde der Mikroprozessor von Mitarbeitern der Firma Texas Instruments, die ihn 1971 vorstellten. Im selben Jahr präsentierte Intel mit dem 4004 die erste CPU auf einem Chip. Der Mikroprozessor war geboren. Mit nur 4 Bit breiten Registern und einer Taktfrequenz von bis zu 740 kHz war der 4004 aber nicht gerade besonders leistungsfähig. Seine im Vergleich mit den klassischen CPUs äußerst kompakte Bauform verhalf dem Mikroprozessor aber schließlich trotzdem zum Durchbruch. Ursprünglich war der 4004 eine Auftragsentwicklung für den japanischen Tischrechnerhersteller Busicom. Intels Projektleiter Ted Hoff hatte die Idee, das Herz dieses Tischrechners in Form eines programmierbaren Bausteins zu realisieren. Dass daraus die erste universell einsetzbare Einchip-CPU der Welt resultierte, war eigentlich nicht beabsichtigt. Da Busicom damals in finanziellen Schwierigkeiten steckte, bot man Intel den Rückkauf des 4004-Designs an, woraufhin Intel mit der Vermarktung des 4004 begann. Der 4004 wurde zum ersten kommerziellen Mikroprozessor der Welt.

Bereits zum Ende der 1960er Jahre gab es mit dem Parallel Processing System 4bit (PPS4) einen Mikroprozessor von Rockwell International, der allerdings nur für US-Rüstungsprojekte bei Raketensteuerungen Verwendung fand. Zunächst waren dies noch recht einfache Schaltungen. Die Mikroelektronik brachte neben der Miniaturisierung und der Kostenersparnis noch weitere Vorteile wie Geschwindigkeit, geringer Stromverbrauch, Zuverlässigkeit und später auch höhere Komplexität. Dies führte dazu, dass vergleichsweise billige Mikroprozessoren mit der Zeit die teuren Prozessoren der Minicomputer und teilweise sogar der Großrechner verdrängten. Gegen Ende des zwanzigsten Jahrhunderts hielt der Mikroprozessor Einzug in viele elektronische Geräte, vor allem als CPU von Personal-Computern (PCs). Auch als die Strukturgröße der Mikroprozessor-Chips auf einige hundert Nanometer (Nanoelektronik) weiter verkleinert wurde, blieb der Begriff Mikroprozessor bestehen.

Zur Realisierung eines kompletten Computers muss der Mikroprozessor noch um Speicher und Ein-/Ausgabe-Funktionen erweitert werden. Diese stehen in Form weiterer Chips zur Verfügung. Nur wenige Jahre nach der Einführung von Mikroprozessoren erschienen jedoch auch so genannte Mikrocontroller, die diese Funktionen auf einem Chip vereinigten.

Beachtenswerte 8-Bit-Prozessoren

Der 4004 wurde 1972 durch den 8008 abgelöst, den ersten 8-Bit-Mikroprozessor der Welt. Dieser Prozessor war der Vorläufer für den äußerst erfolgreichen Intel 8080 (1974) und weiterer 8-Bit-Prozessoren von Intel. Der konkurrierende Motorola 6800 war ab August 1974, im selben Jahr wie der 8080, erhältlich. Die Architektur des 6800 wurde 1975 für den MOS Technology 6502 kopiert und verbessert, der in den 1980er-Jahren in der Popularität mit dem Z80 wetteiferte.

Das Entwicklerteam des 8080 gründete die Firma Zilog und brachte 1976 den Z80 heraus, eine stark verbesserte und code-kompatible Weiterentwicklung. Der Z80 erlangte die größte Popularität aller 8-Bit-Prozessoren. Details siehe Zilog Z80.

Sowohl der Z80 als auch der 6502 wurden im Hinblick auf niedrige Gesamtkosten entwickelt. Das Gehäuse war klein, die Ansprüche an den Bus gering und es wurden Schaltungen eingebunden, die bisher in einem separaten Chip zur Verfügung gestellt werden mussten (der Z80 verfügte z. B. über einen eigenen Refresh Generator für dynamische RAM-Speicher DRAM). Diese Eigenschaften waren es schließlich, die dem Heimcomputer-Markt zu Beginn der 1980er Jahre zum Durchbruch verhalfen und in Maschinen resultierten, die für 99 Dollar erhältlich waren.

Der SC/MP wurde von der Firma National Semiconductor Corporation aus Santa Clara Mitte der 1970er Jahre vertrieben. Verschiedene Einplatinencomputer wurden als Selbstbau- und Lehrcomputer auf Basis des SC/MP bis etwa 1980 realisiert.

Western Design Center (WDC) stellte den CMOS 65C02 1982 vor und lizenzierte das Design an verschiedene Firmen. Dieser Prozessor wurde das Herz der Apple IIc und IIe und wurde in Herzschrittmachern und Defibrillatoren, Autos sowie in industriellen Geräten und auf dem Verbrauchermarkt eingesetzt. WDC bereitete so den Weg vor für das Lizenzieren von Mikroprozessor-Technologie; dieses Geschäftsmodell wurde später durch ARM und anderen Herstellern in den 1990er Jahren übernommen.

Motorola übertrumpfte 1978 die gesamte 8-Bit-Welt mit der Vorstellung des Motorola 6809, eine der leistungsstärksten und saubersten 8-Bit-Architekturen und auch eine der komplexesten Mikroprozessor-Logiken, die je produziert wurden. Mikroprogrammierung ersetzte zu dieser Zeit die bisher festverdrahteten Logiken – gerade weil die Anforderungen der Designs für eine feste Verdrahtung zu komplex wurden.

Ein weiterer 8-Bit-Mikroprozessor war der Signetics 2650, der aufgrund seiner innovativen und leistungsfähigen Befehlssatz-Architektur kurzzeitig im Zentrum des allgemeinen Interesses stand.

Ein für die Raumfahrt wegweisender Mikroprozessor war der RCA 1802 (alias CDP1802, RCA COSMAC; vorgestellt 1976), der in den Voyager-, Viking- und Galileo-Raumsonden eingesetzt wurde. Der CDP1802 wurde verwendet, weil er mit sehr wenig Energie betrieben werden konnte und seine Bauart (Silicon on Sapphire) einen wesentlich höheren Schutz gegenüber kosmischer Strahlung und elektrostatischen Entladungen bot als jeder andere Prozessor zu dieser Zeit. Der CP1802 wurde als erster Strahlungs-gehärteter („radiation-hardened“) Prozessor bezeichnet.

16-Bit-Prozessoren

Der erste Mehrfach-Chip 16-Bit-Mikroprozessor war der IMP-16 von National Semiconductor, vorgestellt 1973. Eine 8-Bit-Version wurde ein Jahr später als der IMP-8 vorgestellt. 1975 stellte National Semiconductor den ersten Ein-Chip-Mikroprozessor vor, PACE, der später gefolgt wurde durch eine NMOS-Version, dem INS8900.

Andere Mehrfach-Chip-16-Bit-Mikroprozessoren waren der TMS 9900 von TI, der auch mit der hauseigenen TI 990-Minicomputer-Modellreihe kompatibel war. Der Chip besaß ein großes 64-Pin-DIP-Gehäuse, während die meisten 8-Bit-Prozessoren in das weiter verbreitete, kleinere und billigere 40-Pin-DIP-Gehäuse aus Kunststoff eingesetzt wurden. Ein Nachfolger wurde aus dem 9900 entwickelt, der TMS 9980, der ebenfalls ein billigeres Gehäuse besaß. Er sollte ein Konkurrent zum Intel 8080 darstellen. Der TMS9980 konnte 8 Datenbits zur gleichen Zeit kopieren, aber nur 16 KB adressieren. Ein dritter Chip, der TMS 9995, wurde neu entwickelt. Diese Prozessorfamilie wurde später mit dem 99105 und 99110 erweitert.

WDC machte seinen 65C02 16-Bit-tauglich und stellte diesen Prozessor als CMOS 65816 im Jahre 1984 vor. Der 65816 stellte den Kern der Apple IIgs und später des Super Nintendos dar, was ihn zu einem der beliebtesten 16-Bit-Designs machte.

Intel folgte einem anderen Pfad, keine Minicomputer zu emulieren, und „vergrößerte“ stattdessen ihr 8080-Design auf 16-Bit. Daraus entstand der Intel 8086, das erste Mitglied der x86-Familie, die heute in den meisten PCs zu finden ist. Intel stellte den 8086 als kostengünstigen Weg vor, Software von der 8080-Linie zu portieren, und machte damit gute Geschäfte. Nachfolger des 8080 und Intel 8088 wurde der 80186, der 80286 und 1985 der 32-Bit 80386, die alle rückwärtskompatibel waren und so die Marktvorherrschaft von Intel entscheidend stärkten.

32-Bit-Prozessoren

Der erste 32-Bit-Mikroprozessor in einem eigenen Gehäuse war der BELLMAC-32A von AT&T Bell Labs, von dem erste Stücke 1980 erhältlich waren, und der 1982 in Masse produziert wurde. Nach der Zerschlagung von AT&T 1984 wurde er in WE 32000 umbenannt (WE für Western Electric) und hatte zwei Nachfolger: Den WE 32100 und WE 32200. Diese Mikroprozessoren wurden in den folgenden Minicomputern von AT&T eingesetzt: 3B2, 3B5, 3B15, „Companion“ und „Alexander“.

Einer der bemerkenswertesten 32-Bit-Mikroprozessoren ist der MC68000 von Motorola, der 1979 vorgestellt wurde. Er wurde häufig auch als 68K bezeichnet und verfügte über 32-bittige Register, verwendete aber 16 Bit breite interne Busleitungen und einen ebenso breiten externen Datenbus, um die Anzahl benötigter Pins zu verringern. Motorola bezeichnete diesen Prozessor im allgemeinen als 16-Bit-Prozessor, obwohl er intern über eine 32-Bit-Architektur verfügte. Die Kombination aus einem schnellen und großen Speicher-Adressraum (16 Megabyte) und geringen Kosten machten ihn zum beliebtesten Prozessor seiner Klasse. Der Apple Lisa und die Macintosh-Reihe verwendeten den 68K; Mitte der 1980er Jahre wurde dieser Prozessor auch im Atari ST und Commodore Amiga eingesetzt.

Intels erster 32-Bit-Mikroprozessor war der iAPX 432, welcher 1981 vorgestellt wurde. Obwohl er über eine fortgeschrittene, objektorientierte Architektur verfügte, war ihm kein kommerzieller Erfolg beschieden – nicht zuletzt weil er in der Leistung gegenüber konkurrierenden Architekturen schlechter abschnitt.

Motorolas Erfolg mit dem 68K führte zur Vorstellung des MC68010, der die Technik der virtuellen Speicheradressierung unterstützte. Der MC68020 schließlich verfügte über 32 Bit breite interne und externe Busse. Dieser Prozessor wurde im Unix-Supermicrocomputer äußerst beliebt, und viele kleinere Firmen stellten Desktop-Systeme mit diesem Prozessor her. Der MC68030 integrierte die MMU in den Chip. Die meisten Computer, die nicht auf DOS liefen, setzten nun einen Chip der 68K-Familie ein. Dieser anhaltende Erfolg führte zum MC68040, der auch die FPU in den Chip integrierte und so die Geschwindigkeit arithmetischer Operationen erhöhte. Ein geplanter MC68050 erreichte nicht die erwünschten Verbesserungen und wurde nicht produziert, der MC68060 wurde auf ein Marktsegment geworfen, das bereits mit viel schnelleren RISC-Designs gesättigt war.

Der 68020 und seine Nachfolger wurden häufig in eingebetteten Systemen eingesetzt.

Während dieser Zeit (Anfang bis Mitte 1980) stellte National Semiconductor ähnlich wie Motorola einen 32-Bit-Prozessor mit einem 16-bittigen Pinout her, den NS 16032 (später umbenannt zu NS 32016). Die Version mit einem ebenfalls 32 Bit breiten Bus war der NS 32032. Sequent stellte basierend auf diesem Mikroprozessor Mitte der 1980er Jahre den ersten SMP-Computer vor.

Andere Systeme setzten den Zilog Z8000 ein, der aber zu spät im Markt ankam und bald wieder verschwand.

64-Bit-Prozessoren auf dem Desktop

Während 64-Bit-Prozessoren in verschiedenen Märkten schon seit den frühen 1990er Jahren im Einsatz waren, wurden sie erst nach 2000 auch auf dem PC-Markt eingesetzt. Im Juli 2003 stellte Apple auf der Entwicklerkonferenz (WWDC) den Power Mac G5 vor, Apples ersten 64-Bit-Desktop-Computer. Vorher hatte es bereits von Sun und anderen Herstellern 64-Bit-Rechner gegeben, die allerdings üblicherweise als Workstations und nicht als Desktop-Rechner bezeichnet werden, auch wenn kein technisches Merkmal diese Unterscheidung rechtfertigt.

Etwa gleichzeitig, mit AMDs Einführung der ersten 64-Bit Architektur AMD64 (zu IA-32 rückwärtskompatibel) im September 2003, begann die Ära der 64-Bit-Architekturen auch bei x86-Rechnern. AMD wurde bald gefolgt von Intel, das eigene x86-64-Prozessoren vorstellte. Beide x86-Prozessoren können die bisherige 32-Bit-Software wie auch die neue 64-Bit-Software ausführen. Mit dem 64-Bit-Windows XP und -Linux bewegt sich die Software nun auf die neue Architektur hin und nutzt das volle Potenzial dieser Prozessoren.

Speziell bei IA-32 ist der Wechsel zu 64-Bit mehr als nur die Erhöhung der Registerbreite, da auch die Anzahl der Register erhöht wurde.

Bei den PowerPC-Architekturen wurde der Wechsel auf 64-Bit schon in den frühen 1990er Jahren vorgesehen (tatsächlich ist der PPC-Prozessor von vornherein als 64-Bit konzipiert, mit einer 32-Bit-Teilmenge der Befehle). Die Registergrößen und interne Busse werden vergrößert, die arithmetischen und vektoriellen Recheneinheiten arbeiteten bereits vor dem Wechsel seit mehreren Jahren mit 64 oder mehr Bits (dies ist auch bei IA-32 der Fall). Es werden aber keine neuen Register eingefügt, dadurch ist die gewonnene Geschwindigkeit von 64 gegenüber 32-Bit geringer als bei IA-32.

RISC-Prozessoren

Mitte der 1980er bis in die frühen 1990er Jahre erschienen viele RISC-Mikroprozessoren (Reduced Instruction Set Computing), die anfänglich in spezialisierten Computern und UNIX-Workstations eingesetzt wurden, seither aber universell in den verschiedensten Aufgabengebieten genutzt werden, ausgenommen den Intel-Standard-Desktop-Computern.

Die erste kommerzielle Architektur stammte von MIPS Technologies, der 32-bittige R2000 (der R1000 wurde nicht verkauft). Der R3000 machte die Architektur erst richtig praktisch, der R4000 schließlich stellte die erste 64-Bit-Architektur der Welt dar. Konkurrierende Projekte brachten die IBM-POWER- und Sun-SPARC-Systeme hervor. Bald hatte jeder größere Hersteller ein RISC-Design im Angebot, z. B. den AT&T CRISP, AMD Am29000, Intel i860 und Intel i960, Motorola 88000, DEC Alpha und den HP PA-RISC.

Der Wettbewerb ließ bald die meisten dieser Architekturen verschwinden, wobei IBMs POWER und der davon abgeleitete PowerPC (als die Desktop-RISC-Architektur) und Sun SPARC (nur in Suns eigenen Systemen) blieben. MIPS bietet weiterhin SGI-Systeme an, die Architektur wird aber meist als eingebettetes Design verwendet, z. B. in den Routern von Cisco. Andere Firmen konzentrieren sich auf Nischenmärkte, allen voran ARM, die zuerst auf den Heimbenutzer-Markt abzielten, sich jetzt aber auf Prozessoren für eingebettete Systeme konzentrieren.

Aufbau

Ein Mikroprozessor ist ein Prozessor, bei dem alle Bausteine des Prozessors auf einem Mikrochip vereinigt sind.

Alle komplexeren Mikroprozessoren sind interruptfähig, d. h. eine Unterbrechung des Programmablaufes wird durch ein externes Signal bewirkt. Einige (sehr einfach aufgebaute und damit sehr billige) Prozessoren haben keine Interruptfähigkeit, sondern müssen über Software abfragen, ob ein äußeres Ereignis vorliegt (Polling). Diese Mikroprozessoren kommen in extrem preissensitiven Bereichen wie Spielzeug und Ähnlichem zum Einsatz.

Befehlsbearbeitung

Die Befehlsbearbeitung moderner Mikroprozessoren folgt dem Von-Neumann-Zyklus. Die wichtigsten Phasen sind dabei das Laden des Befehls (FETCH), seine Dekodierung (DECODE) und seine Ausführung (EXECUTE). Gelegentlich unterscheidet man auch noch eine Rückschreibphase, in welcher die Rechenergebnisse in bestimmte Register geschrieben werden. Da moderne Mikroprozessoren parallele Techniken wie etwa Pipelining und Superskalarität einsetzen, werden unter Umständen mehrere Befehle gleichzeitig in dieser Weise bearbeitet.

Ungeordnete Befehlsausführung (Out-of-order execution)

Die meisten modernen Hochleistungsprozessoren sind in der Lage, Befehle in ungeordneter, d. h. nicht strikt in der vom Programm vorgegebenen Reihenfolge auszuführen (Out-of-order execution). Die Motivation für eine Abweichung von der vorgegebenen Befehlsfolge besteht darin, dass aufgrund von Verzweigungsbefehlen der Programmlauf nicht immer sicher vorhergesehen werden kann. Möchte man Befehle bis zu einem gewissen Grad parallel ausführen, so ist es in diesen Fällen notwendig, sich für eine Verzweigung zu entscheiden und die jeweilige Befehlsfolge spekulativ auszuführen. Es ist dann möglich, dass der weitere Programmlauf dazu führt, dass eine andere Befehlsfolge ausgeführt werden muss, so dass die spekulativ ausgeführten Befehle wieder rückgängig gemacht werden müssen. In diesem Sinne spricht man von einer ungeordneten Befehlsausführung.

Grundprinzip der ungeordneten Befehlsausführung

Die Grafik zeigt die wesentlichen Komponenten und das Grundprinzip einer ungeordneten Befehlsausführung. Zunächst erkennt man eine Harvard-Architektur, d. h. eine Trennung von Daten- und Befehlsspeicher, die ein paralleles Laden von Befehlen und ihren Operanden ermöglicht. Es existieren mehrere Rechenwerke, die parallel arbeiten können. Befehle und Operanden werden nun aber nicht direkt in die Rechenwerke eingespeist, sondern zunächst in sogenannte Reservierungs-Stationen. Dabei kann es sich um Befehle handeln, die aufgrund einer Programmverzweigung möglicherweise gar nicht ausgeführt werden müssen. Sobald ein Rechenwerk frei ist, werden Befehl und Operanden aus der zugehörigen Reservierungs-Station geladen, der Befehl ausgeführt und das Ergebnis in einem sogenannten Umbenennungs-Register aufgefangen. Das Zurückhalten des Ergebnisses ist notwendig, da noch nicht klar ist, ob der ausgeführte Befehl überhaupt auszuführen war. Sobald klar ist, dass die Verzweigung korrekt vorhergesagt wurde, sorgt die Komplettierungseinheit dafür, dass die Umbenennungs-Register mit den Architektur-Registern synchronisiert werden. Die Architektur-Register sind die klassischen Prozessor-Register, von denen aus das Ergebnis (ggf. über einen Cache-Speicher) in den Hauptspeicher transportiert wird. Sollte sich herausstellen, dass die Befehle aufgrund einer falsch vorhergesagten Verzweigung nicht auszuführen waren, so werden die Umbenennungs-Register zurückgesetzt. Man spricht dann auch von Branch Recovery.

Adressierungsarten

Übersicht der wichtigsten Adressierungsarten

In modernen Mikroprozessoren werden verschiedene Adressierungsarten für die verwendeten Operanden verwendet. Dabei handelt es sich um verschiedene Methoden zur Berechnung der effektiven logischen Speicheradressen. Die Berechnung der physikalischen Adressen anhand der logischen Adressen ist davon unabhängig und wird in der Regel von einer Memory Management Unit durchgeführt. Das folgende Bild gibt einen Überblick über die wichtigsten Adressierungsarten.

Registeradressierung

Bei einer Registeradressierung steht der Operand bereits in einem Prozessorregister bereit und muss folglich nicht mehr aus dem Speicher geladen werden. Erfolgt die Registeradressierung implizit, so wird das Register über die Angabe des Opcodes mitadressiert (Beispiel: der Opcode bezieht sich implizit auf den Akkumulator). Bei expliziter Registeradressierung wird die Nummer des Registers im Registerfeld des Opcodes mitgegeben.

Einstufige Adressierung

Bei einstufigen Adressierungsarten kann die effektive Adresse durch eine einzige Adressberechnung ermittelt werden. Es muss also im Laufe der Adressberechnung nicht erneut auf den Speicher zugegriffen werden. Bei unmittelbarer Adressierung enthält der Befehl keine Adresse, sondern den Operanden selbst. Bei direkter Adressierung enthält der Befehl die logische Adresse selbst, es muss also keine Adressberechnung mehr ausgeführt werden. Bei Register-indirekter Adressierung ist die gesuchte logische Adresse bereits in einem Adressregister des Prozessors enthalten. Die Nummer dieses Adressregisters wird über den Opcode übergeben. Bei der indizierten Adressierung erfolgt die Adressberechnung mittels Addition: Der Inhalt eines Registers wird zu einer Basisadresse hinzugerechnet. Bei Programmzähler-relativer Adressierung wird die neue Adresse aus dem aktuellen Wert des Programmzählers und einem Offset ermittelt.

Zweistufige Adressierung

Bei zweistufigen Adressierungsarten sind mehrere Rechenschritte notwendig, um die effektive Adresse zu erhalten. Insbesondere ist im Laufe der Berechnung meist ein zusätzlicher Speicherzugriff notwendig. Als Beispiel sei hier die indirekte absolute Adressierung genannt. Dabei enthält der Befehl eine absolute Speicheradresse. Das Speicherwort, das unter dieser Adresse zu finden ist, enthält die gesuchte effektive Adresse. Es muss also zunächst mittels der absoluten Speicheradresse auf den Speicher zurückgegriffen werden, um die effektive Adresse zu ermitteln. Dies kennzeichnet alle zweistufigen Verfahren.

Microcontroller

Im Zuge fortschreitender Miniaturisierung war es möglich, neben dem Mikroprozessor auch zusätzliche Peripherie auf dem Chip zu implementieren. Damit war der Microcontroller geboren.

Siehe auch

Literatur

  • Thomas Flik: Mikroprozessortechnik und Rechnerstrukturen, Springer-Verlag, Berlin und Heidelberg 2004, ISBN 3-540-22270-7
  • Michael S. Malone: Der Mikroprozessor. Eine ungewöhnliche Biographie, Springer-Verlag, Berlin und Heidelberg 1995, ISBN 3-540-60514-2
  • Thomas Beierlein; Olaf Hagenbruch: Taschenbuch Mikroprozessortechnik, Fachbuchverlag Leipzig im Carl Hanser Verlag, 3. Auflage 2004, ISBN 3-446-22072-0
  • Klaus Wüst: Mikroprozessortechnik: Grundlagen, Architekturen und Programmierung von Mikroprozessoren, Mikrocontrollern und Signalprozessoren, Vieweg und Teubner, 2008, ISBN 978-3834804617

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”