Mail an den Webmaster  Webradio  Disclamer/Rechtliche Hinweise und Copyright

NEWS

Meine Systeme

Logitech G15

Games

Tipps&Tricks

Nice2Know

Google Earth/NWW

Links/Downloads

Online Shop

Forum

Gästebuch


freenetDSL

Caseking.de - The Modding Source

eBay Partnerprogramm

 

Das Internet   Der PC
Das WWW   Die CPU (Prozessor)
Computerviren   Die Festplatte
Trojaner   Kabel FAQ (extern)
Hacker   Computer Glossar (extern)
Kryptografie    
Der CCC    

 

 

Geschichte

In den frühen 60ern wurden die Röhren von den Transistoren verdrängt. Anfangs wurden die Prozessoren aus einzelnen Transistoren aufgebaut. Durch die Verkleinerung der Transistor auf nur einige Mikrometer war es möglich, immer mehr Transistorfunktionen auf 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.

Als Erfinder des Mikroprozessors gilt die Firma Texas Instruments, die sich diese Idee auch patentieren ließ. Im Jahr 1971 stellte Intel mit dem 4004 die erste CPU auf einem Chip vor. Der Mikroprozessor war geboren. Mit nur 4 Bit breiten Registern und einer Taktfrequenz von knapp über 100 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 dabei die erste universell einsetzbare Einchip-CPU der Welt herauskam, 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.

Es gab schon Ende der 60er Jahre einen Mikroprozessor von Rockwell (PPS4 (Parallel Processing System 4bit)), der aber 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 enormen 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 sog. 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), den Zilog Z80 (1976) und weitere 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 80er-Jahren in der Popularität mit dem Z80 wetteiferte.

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 Memory Controller). Diese Eigenschaften waren es schließlich, die dem Heimcomputer-Markt zu Beginner 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 in 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 Geräten 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, wohl eine der leistungsstärksten und saubersten 8-Bit-Architekturen und auch eine der komplexesten festverdrahteten 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 Saphire) 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 in 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-Mikroprozessor 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 im zum beliebtesten Prozessor seiner Klasse. Der Apple Lisa und die Macintosh-Reihe verwendeten den 68K; Mitte der 80er 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 Sachen 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 Embedded Systems 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 90er Jahren im Einsatz waren, wurden nach 2000 diese Prozessoren 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.

Etwas später, 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 Potential dieser Prozessoren.

Speziell bei IA-32 ist der Wechsel zu 64 Bits 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 90er 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. Dabei ist zu berücksichtigen, daß der Power PC von Anfang an 32 Universalregister hatte, gegenüber ca. 4 bis 6 speziellen Registern beim IA-32.


RISC-Prozessoren

Mitte der 80er bis in die frühen 90er Jahre erschienen viele RISC-Mikroprozessoren, die anfänglich in spezialisierten Computern und UNIX-Workstations eingesetzt wurden, seither aber universell in den verschiedensten Aufgabengebieten eingesetzt 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 29000, Intel i860 und Intel i960, Motorola 88000, DEC Alpha und den HP-PA.

Der Wettbewerb ließ bald die meisten dieser Architekturen verschwinden, wobei IBMs POWER und der davon abgeleitete PowerPC (als die Desktop-RISC-Architektur) und Suns SPARC (nur in Suns eigenen Systemen) blieben. MIPS bietet weiterenhin SGI-Systeme an, die Architektur wird aber meist als "embedded 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 "embedded"-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. Diese Mikroprozessoren kommen bei extrem preissensitiven Bereichen wie Spielzeug u.ä. 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

Die meisten modernen Hochleistungsprozessoren sind in der Lage, Befehle in ungeordneter, d.h. nicht strikt in der vom Programm vorgegebenen Reihenfolge auszuführen. 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.


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

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 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.

 

 
 

Weblinks

 

 

 

  Die Grafik "http://upload.wikimedia.org/wikipedia/de/d/d6/Banner_neutral_234x60_border.png" kann nicht angezeigt werden, weil sie Fehler enthält. Dieser Artikel basiert auf dem Artikel Microprozessor aus der freien Enzyklopädie Wikipedia und steht unter der GNU Free Documentation License. Eine Liste der Autoren ist dort abrufbar.
Die Quellen  der abgebildeten Bilder sind hier zu finden: Bild 1, Bild2, Bild3, Bild4, Bild5,