Prozessor

3.4103923648179 (1886)
Geschrieben von tron 02/03/2009 @ 00:03

Tags : prozessor, komponenten, hardware, high-tech, prozessoren, computer

Neueste Nachrichten
1,06 Milliarden Euro Strafe für Intel - Tagesspiegel
So soll etwa ein führender PC-Produzent finanziell dafür belohnt worden sein, dass er den Marktstart einer Produktlinie mit einem AMD-Prozessor künstlich verzögert hatte. Andere Hersteller sollen Sonderrabatte erhalten haben, wenn sie ausschließlich...
Test: Intel Core i7 965 XE (Prozessor) - Chip Online
Der Prozessor basiert auf der Nehalem-Technologie und enthält Prozessorkerne der Bloomfield-Serie. Die CPU eignet sich für alle Mainboards mit Sockel 1366, für die es bisher vor allem Intels X58-Chipsatz gibt. Die maximale Verlustleistung des...
Intel Larrabee erst 2010 im Handel, dann aber komplette ... - PC Games Hardware
Auf der Eröffnung des Intel VCI in Saarbrücken stellte Schultz klar, dass der Larrabee-Prozessor erst im ersten Halbjahr 2010 auf den Markt kommen würde. Derzeit habe man noch keine lauffähigen Prototypen an Entwickler herausgegeben,...
Lenovo legt 10-Zoll-Netbook neu auf - ZDNet.de
Das IdeaPad S10-2 kommt mit Intel-Atom-Prozessor und einem 10,1-Zoll-Display, das mit bis zu 1280 mal 720 Bildpunkten auflöst. Bluetooth und Webcam sind ebenfalls an Bord. Die Preise beginnen bei 399 Euro. Lenovo hat mit dem IdeaPad S10-2 ein neues...
Sparsamere Computer passen Rechenleistung an Nutzer-Wünsche an - Heise Newsticker
Übertakter nutzen dieses Verhalten ebenso aus wie Untertakter, die für ihren jeweiligen Prozessor manuell und experimentell einen besonders sparsamen Betriebspunkt suchen, bei dem die Performance ihren Anforderungen genügt....
Weltweit schnellste CPU von Fujitsu - Hartware.net
Laut Fujitsu ist die CPU mit einer Leistung von 128 GFlops der leistungsfähigste Prozessor der Welt. Zum Vergleich: Intels Xeon 5500 auf Basis der Nehalem-Architektur erreicht "nur" ca. 76 GFlops. Fujitsus CPU entsteht im 45-Nanometer-Verfahren und...
Samsung NC20 mit VIA Nano CPU: Attacke gegen Intels Atom? - tomshardware.com
Intels Atom-Prozessor dominiert den Netbook-Markt. Samsung setzt in seinem 12-Zoll-Gerät stattdessen VIAs Nano CPU ein. Wie schlägt sich der große Bruder des NC10 und was taugt VIAs Chip? Die Netbook-Ära begann ursprünglich mit Celeron-Prozessoren....
Outdoor Touch-Pad mit Intels neuestem stromsparenden ATOM ... - Perspektive Mittelstand (Pressemitteilung)
Ab sofort erweitert das Münchner Unternehmen CONCEPT International GmbH, Spezialist für mobile und lüfterlose IT-Lösungen, sein Portfolio um ein Outdoor Touch-Pad mit Intels neuester ATOM™ Prozessor Technologie. Das Webpad MRC 2000 verfügt über eine...
Intel klagt gegen Rekord-Kartellstrafe der EU - Spiegel Online
Der Konzern soll über Jahre seine Dominanz auf dem Prozessor-Markt ausgenutzt und Händlerketten wie Saturn unter Druck gesetzt haben - zu Lasten der Kunden. Brüssel - Die Reaktion folgte prompt: Nur gut eine Stunde, nachdem die EU Intel zur größten...
Die besten CPUs bis 200 Euro im Vergleich - ChannelPartner
Deshalb spielt der Arbeitstakt eines Prozessors schon seit geraumer Zeit nur noch eine untergeordnete Rolle für die Leistungsfähigkeit einer CPU. Entscheidend sind vielmehr die Takt- und Energieeffizienz der Prozessor-Architektur - also Rechenleistung...

Prozessor (Hardware)

Motorola PowerPC G4 CPU

Ein Prozessor ist eine Maschine oder eine elektronische Schaltung, welche gemäß übergebener Befehle andere Maschinen oder elektrische Schaltungen steuert. Am populärsten sind Prozessoren als zentrale Recheneinheiten von Computern, in denen sie Befehle von Software ausführen.

Hauptbestandteile des Prozessors sind die Register, das Rechenwerk (Arithmetisch-logische Einheit, ALU), das Steuerwerk und der Speichermanager (Memory Management Unit, MMU), der den Arbeitsspeicher verwaltet. Zu den zentralen Aufgaben des Prozessors gehören arithmetische und logische Operationen, das Lesen und Schreiben von Daten im Arbeitsspeicher, das Ausführen von Sprüngen im Programm sowie die Steuerung und Verwaltung der Peripheriegeräte.

Prozessoren werden heute meist im Bereich der Eingebetteten Systemen (engl. Embedded Systems) eingesetzt. PCs beinhalten meist mehrere Prozessoren, wobei der Hauptprozessor (Zentralprozessor) alle weiteren steuert. Im allgemeinen Sprachgebrauch ist mit „Prozessor“ meist der Zentralprozessor (CPU = Central Process Unit) eines Computers gemeint, also das funktionale Kernstück eines elektronischen Rechners, das heute normalerweise auf einem Mikrochip integriert ist. Die moderne Form des Prozessors ist der Mikroprozessor, der alle Bausteine des Prozessors auf einem Chip vereinigt. Moderne PC-Prozessoren sind Multikernprozessoren mit 2 oder 4 Kernen (etwa der Intel Core 2 oder der AMD Athlon X2). Weiterhin werden in Großrechnern (engl. mainframes) meist proprietäre Prozessoren des jeweiligen Herstellers verwendet, wie etwa bei IBM (Cell-Prozessor) oder SUN (SPARC-Prozessor). Prozessoren für Eingebettete Systeme machen etwa 95% des Prozessormarkts aus, wobei davon 90 % sogenannte Mikrocontroller sind, die neben dem eigentlichen Prozessor weitere Funktionen (z. B. ROM, RAM) beinhalten. Nur etwa 5 % werden in PCs, Workstations oder Servern eingesetzt.

In den 1930er Jahren bestand das Rechenwerk eines Computers zunächst aus Relais und mechanischen Bauelementen. Die ersten Computer waren also elektromechanische Rechner, die langsam und äußerst störanfällig waren. Noch in den 1940ern begann man damit, Computer mit Hilfe von Röhren zu bauen. Die Rechner wurden schneller und weniger störanfällig. Waren diese Rechner anfangs teure Einzelprojekte, so reifte die Technik im Laufe der 1950er Jahren immer mehr aus. Röhrenrechner wurden nach und nach zu Massenartikeln, die für Universitäten, Forschungseinrichtungen und Firmen durchaus erschwinglich waren. Um dieses Ziel zu erreichen, war es notwendig, die Anzahl der benötigten Röhren auf ein Mindestmaß zu reduzieren. Aus diesem Grund setzte man Röhren nur dort ein, wo sie unabdingbar waren. So begann man damit, Hauptspeicher und CPU-Register auf einer Magnettrommel unterzubringen, Rechenoperationen seriell auszuführen und die Ablaufsteuerung mit Hilfe einer Diodenmatrix zu realisieren. Ein typischer Vertreter dieser Rechnergeneration war der LGP-30.

In den frühen 1960ern wurden die Röhren dann von den Transistoren verdrängt. Anfangs wurden die CPUs aus einzelnen Transistoren aufgebaut. Im Laufe der Jahre brachte man aber immer mehr Transistorfunktionen auf integrierten Schaltkreisen (ICs) unter. 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.

Ein Prozessor besteht aus Registern, einem Rechenwerk (der Arithmetic Logical Unit, kurz ALU), einem Befehlsdecoder, einem Steuerwerk sowie den Datenleitungen (Busse), die die Kommunikation mit anderen Komponenten ermöglichen.

Register sind prozessorinterne Speicher, die sehr nahe und schnelle Verbindungen zu anderen Prozessorkomponenten bereitstellen. Nur mit den Daten in den Registern können direkt Operationen ausgeführt werden. Sie stellen daher die erste Stufe der Speicherhierarchie dar.

Von den Eigenschaften und insbesondere der Größe der Register (abhängig vom Prozessortyp) hängt u. a. die Leistungsfähigkeit des jeweiligen Prozessors ab.

Das Rechenwerk (engl. Arithmetic Logical Unit, ALU) führt die Elementaroperationen eines Rechners durch. Es kann sowohl arithmetische (etwa die Addition zweier Zahlen) als auch logische (etwa AND oder OR) Operationen ausführen.

Der Befehlsdecoder übersetzt binäre Maschinenbefehle mit Hilfe der Befehlstabelle (engl. Instruction Table) in entsprechende Anweisungen, welche die für die Ausführung des Befehls benötigten Schaltungen aktivieren.

Das Steuerwerk kontrolliert die Ausführung der Anweisungen. Es sorgt dafür, dass der Maschinenbefehl im Befehlsregister vom Befehlsdecoder decodiert und vom Rechenwerk ausgeführt wird, lädt den an der im Befehlszählerregister hinterlegten Adresse befindlichen Befehl ins Befehlsregister sowie die nächste Adresse ins Befehlszählerregister.

Über verschiedene Busse (Signalleitungen) ist der Prozessor mit anderen Komponenten verbunden.

Zur Erhöhung der Rechengeschwindigkeit können Prozessoren mit besonderen (etwa einem Hardwaremultiplizierer) bzw. zusätzlichen (etwa einem Fließkommarechenwerk) Rechenwerken ausgestattet sein. Zur effizienteren Bearbeitung von Befehlen werden Pipelines verwendet.

Die Befehlsbearbeitung moderner Prozessoren folgt dem Von-Neumann-Zyklus.

Gelegentlich unterscheidet man auch noch eine Rückschreibphase, in welcher eventuell anfallende Rechenergebnisse in bestimmte Register geschrieben werden. Erwähnt werden sollten noch sogenannte Hardware-Interrupts. Die Hardware eines Computers kann Anfragen an den Prozessor stellen. Da diese Anfragen asynchron auftreten ist der Prozessor gezwungen, regelmäßig zu prüfen, ob solche vorliegen und diese eventuell vor der Fortsetzung des eigentlichen Programms bearbeiten.

Alle Programme liegen letztendlich als eine Abfolge von binären Maschinenbefehlen im Speicher. Nur diese Befehle können vom Prozessor verarbeitet werden. Dieser Code ist für einen Menschen jedoch beinahe unmöglich zu lesen. Aus diesem Grund werden Programme zunächst in Assemblersprache oder einer Hochsprache (etwa BASIC, C, C++, Java) geschrieben und dann von einem Compiler in eine ausführbare Datei, also in Maschinensprache übersetzt oder einem Interpreter zur Laufzeit ausgeführt.

Als Prozessorkern (engl. „core“) bezeichnet man das eigentliche Rechen- und Steuerwerk des Prozessors, um das herum weitere Komponenten wie Cache und Memory Management Unit (MMU) angeordnet sind.

Ein Prozessor kann aus mehreren Kernen bestehen. Ein solcher Prozessor wird allgemein als Mehrkernprozessor (Multi-Core-Prozessor) bezeichnet. Im einzelnen werden Mikroprozessoren mit nur einem Prozessorkern als Single-Core-Prozessoren (Einzelkernprozessoren), mit zwei Prozessorkernen als Dual-Core-Prozessoren (Doppelkernprozessoren) und mit vier Prozessorkernen als Quad-Core-Prozessoren bezeichnet.

Prozessoren mit mehreren Kernen können sehr unterschiedlich realisiert werden, normalerweise besitzt jeder Kern einen eigenen L1- und L2-Cache. Den großen L3-Cache müssen sich meist alle Kerne teilen.

Der Grund für die Einführung solcher Mehrkernprozessoren liegt in den physikalisch begrenzten Möglichkeiten, einen einzelnen Kern immer schneller zu machen. Die fortschreitende Miniaturisierung von Halbleiterschaltelementen sorgt allerdings dafür, dass mehr als ein Kern auf einen Mikrochip passen. In der neuesten Prozessorgeneration ist ein einzelner Transistor nur noch 45 Nanometer groß. So werden heute (2008) bis zu 1,9 Milliarden Transistoren in einem Prozessor verbaut. Mit den derzeit verwendeten Fertigungsmethoden soll es nach Angaben der Hersteller sogar möglich sein, Transistoren bis zu einer Größe von nur 32 Nanometern zu erzeugen. Durch die EUV-Lithografie sollen noch kleinere Strukturen möglich sein. Die Entwickler werden jedoch bei einer bestimmten Größe auf nicht vorhersehbare Quanteneffekte stoßen, die die konventionelle Herstellung immer kleinerer Strukturen unmöglich machen. Langfristig werden aber sehr wahrscheinlich sogenannte Quantencomputer die klassische Transistortechnik ablösen.

Die Leistung eines Prozessors wird maßgeblich durch die Anzahl der Transistoren sowie durch die Wortbreite und die Taktfrequenz bestimmt.

Die Wortbreite dieser Einheiten stimmt im Normalfall überein, bei aktuellen PCs beträgt sie 64 Bit.

Die Taktfrequenz (engl. clock rate) wird besonders in der Werbung oft als Beurteilungskriterium für einen Prozessor präsentiert. Sie wird allerdings nicht vom Prozessor selbst bestimmt, sondern ist ein Vielfaches des Mainboard-Grundtaktes. Dieser Multiplikator lässt sich bei einigen Mainboards manuell oder im BIOS einstellen, was als Über- oder Untertakten bezeichnet wird. Das Übertakten kann zu irreparablen Schäden an der Hardware führen.

Die Geschwindigkeit des gesamten Systems ist jedoch auch von der Größe der Caches, des Arbeitsspeichers und anderen Faktoren abhängig.

Im Zusammenhang mit den steigenden Stromkosten wird der Stromverbrauch zu einem immer wichtigeren Leistungsmerkmal. Daher wird in jüngster Zeit versucht, durch neue Fertigungstechniken und Verzicht auf immer höhere Taktfrequenzen, den bisher steigenden Stromverbrauch wieder zu reduzieren. Aktuelle Dual-Core-Prozessoren können bei gleicher Rechenleistung in ihrem Stromverbrauch je nach Modell zwischen 45 und 130 Watt liegen. Bei der Betrachtung des dadurch eventuell verursachten Mehrverbrauchs muss man berücksichtigen, dass der Stromverbrauch von Prozessoren mit weiteren Folgekosten belastet ist. Der verbrauchte Strom wird in Wärme umgewandelt, diese muss durch den Lüfter aus dem Rechner heraustransportiert werden. Ist der Aufstellungsort des Rechners selbst ein klimatisierter Raum, wird auch die Klimaanlage dadurch zusätzlich belastet. Dabei kann man abhängig von der Leistungszahl des Kühlgerätes mit ca. 25-40% Zusatzverbrauch rechnen. Auch das Netzteil des Rechners muss eventuell größer ausfallen. Ist der Rechner an eine USV angeschlossen, so hat diese abhängig von ihrem Wirkungsgrad ebenfalls einen höheren Eigenverbrauch. Bei vielen Rechnern an einem Ort können auch zusätzliche Investitionskosten für größere Klimaanlagen und größere USV-Anlagen anfallen. Server laufen meist 24 Stunden am Tag, sieben Tage die Woche, also insgesamt 8760 Stunden im Jahr. Aber auch außerhalb von Rechenzentren bieten stromsparende Prozessoren zusätzliche Vorteile. Da die Kühler weniger zu tun haben, werden die Rechner auch leiser. Und im Sommer stellt die von einem PC produzierte Wärme in einem Raum ohne Klimaanlage eine Beeinträchtigung für die dort anwesenden Personen dar.

Zum Seitenanfang



Pipeline (Prozessor)

Die Pipeline (auch Befehls-Pipeline oder Prozessor-Pipeline) bezeichnet bei Mikroprozessoren eine Art „Fließband“, mit dem die Abarbeitung der Maschinenbefehle in Teilaufgaben zerlegt wird, die für mehrere Befehle parallel durchgeführt werden. Dieses Prinzip, oft auch kurz Pipelining genannt, stellt eine weit verbreitete Mikroarchitektur heutiger Prozessoren dar.

Statt eines gesamten Befehls wird während eines Taktzyklus des Prozessors nur jeweils eine Teilaufgabe abgearbeitet, allerdings werden die verschiedenen Teilaufgaben mehrerer Befehle dabei gleichzeitig bearbeitet. Da diese Teilaufgaben einfacher (und somit schneller) sind als die Abarbeitung des gesamten Befehls am Stück, kann durch Pipelining die Taktfrequenz des Mikroprozessors gesteigert werden. Insgesamt benötigt ein einzelner Befehl nun mehrere Takte zur Ausführung, da aber durch die quasiparallele Bearbeitung mehrerer Befehle in jedem Zyklus ein Befehl „fertiggestellt“ wird, wird der Gesamtdurchsatz durch dieses Verfahren erhöht.

Die einzelnen Teilaufgaben einer Pipeline nennt man Pipeline-Stufen, Pipeline-Stages oder auch Pipeline-Segmente. Diese Stufen werden durch getaktete Pipeline-Register getrennt. Neben einer Befehls-Pipeline kommen in modernen Systemen verschiedene weitere Pipelines zum Einsatz, beispielsweise eine Arithmetik-Pipeline in der Fließkommaeinheit.

Je einfacher eine einzelne Stufe aufgebaut ist, desto höher ist die Frequenz, mit der sie betrieben werden kann. In einer modernen CPU mit einem Kerntakt im Gigahertz-Bereich (1 GHz ~ 1 Milliarde Takte pro Sekunde) kann die Befehlspipeline über 30 Stufen lang sein (vgl. NetBurst). Der Kerntakt ist die Zeit, die ein Befehl braucht, um eine Stufe der Pipeline zu durchwandern. In einer k-stufigen Pipeline wird ein Befehl also in k Takten von k Stufen bearbeitet. Da in jedem Takt ein neuer Befehl geladen wird, verlässt im Idealfall auch ein Befehl pro Takt die Pipeline.

Der Takt wird durch die Zykluszeit der Pipeline bestimmt und berechnet sich aus der Summe der maximalen Stufenverzögerung τm aus allen Stufenverzögerungen τi und einem Zusatzaufwand d, welcher durch die Zwischenspeicherung der Ergebnisse in Pipeline-Registern verursacht wird.

Anfangs ist die Pipeline leer und wird in Schritten gefüllt. Nach jeder Stufe wird ein neuer Befehl in die Pipeline geladen, und ein anderer Befehl wird fertiggestellt. Die restlichen Befehle werden daher in Schritten fertiggestellt.

Das bedeutet, dass mit zunehmender Stufenanzahl k die Leistung beliebig gesteigert werden kann. Jedoch lässt sich die Befehlsabarbeitung nicht in beliebig viele Stufen unterteilen. Eine Steigerung der Stufenanzahl hat ebenfalls schwerere Auswirkungen beim Auftreten von Daten- oder Steuerungskonflikten zur Folge. Ebenfalls steigt der Aufwand der Hardware mit steigender Stufenanzahl k.

Ressourcenkonflikte lassen sich durch Hinzufügen zusätzlicher Funktionseinheiten lösen. Viele Datenkonflikte lassen sich durch Forwarding lösen, wobei Ergebnisse aus weiter hinten liegenden Pipeline-Stufen nach vorn transportiert werden, sobald diese verfügbar sind (und nicht erst am Ende der Pipeline).

Kontrollflusskonflikte lassen sich durch eine Sprungvorhersage (engl. Branch-Prediction) verhindern. Hierbei wird spekulativ weitergerechnet, bis feststeht, ob sich die Vorhersage als richtig erwiesen hat. Im Falle einer falschen Sprungvorhersage müssen in der Zwischenzeit ausgeführte Befehle verworfen werden (Pipeline-Flush), was besonders bei Architekturen mit langer Pipeline (wie etwa bei Intel Pentium 4 oder IBM Power5) viel Zeit kostet. Deshalb besitzen diese Architekturen sehr ausgeklügelte Techniken zur Sprungvorhersage, so dass die CPU nur in weniger als einem Prozent der stattfindenden Sprünge den Inhalt der Befehlspipeline verwerfen muss.

Der Vorteil langer Pipelines besteht in der starken Steigerung der Verarbeitungsgeschwindigkeit. Der Nachteil besteht gerade darin, dass sich sehr viele Befehle gleichzeitig in Bearbeitung befinden. Im Falle eines Pipeline-Flushs müssen alle Befehle in der Pipeline verworfen werden und die Pipeline anschließend neu gefüllt werden. Dies bedarf des Nachladens von Befehlen aus dem Arbeitsspeicher oder dem Befehlscache der CPU, so dass sich hohe Latenzzeiten ergeben, in denen der Prozessor untätig ist. Anders formuliert ist der Gewinn durch Pipelining umso größer, je höher die Anzahl der Befehle zwischen Kontrollflußänderungen ist, da die Pipeline dann erst nach längerer Benutzung unter Volllast wieder geflusht werden muss.

Zum Seitenanfang



Cell (Prozessor)

Schema des Cell-Prozessors.

Cell ist der Name für eine Prozessorserie, die von IBM gemeinsam mit Sony und Toshiba entwickelt wurde. Die Prozessoren zeichnen sich durch die Nutzung eines 64-Bit-PowerPC-Kernes, einer Pipeline-Architektur, Unterstützung für Simultaneous Multithreading und dem Einsatz einer Multicore-Architektur aus, wodurch sie für paralleles Rechnen prädestiniert sind.

Das Grundkonzept der Cell-Prozessoren sieht acht Synergistic Processing Elements (SPE) und ein PowerPC Processing Element (PPE) vor. Jedes SPE besteht aus einer Recheneinheit (ALU) mit vierfachem SIMD, bezeichnet als Synergistic Processing Unit (SPU). Diese verfügt über 128 Register, die jeweils 128 Bit groß sind. Zum SPE gehört weiterhin ein Memory Flow Controller (MFC), der DMA-Übertragungen zum Hauptspeicher oder zu anderen SPEs steuert, sowie ein eigener lokaler Speicher von 256 KB, der jedoch nicht durch einen Cache unterstützt wird.

Der Steuerprozessor (PPE) basiert auf der 64-Bit-PowerPC-Architektur von IBM, dessen Pipeline aber im Vergleich zu üblichen PowerPC-Prozessoren in order arbeitet. Da er zwei Threads gleichzeitig abarbeiten kann, entstehen bei entsprechend eingerichteten Programmen die üblichen In-Order-Nachteile durch blockierte Pipelines in geringerem Maße. Dem PPE stehen 512 KB L2-Cache zur Verfügung. Insgesamt verfügt die CPU also über 2,5 MB internen Speicher.

Die einzelnen Prozessorkerne sind über einen Element Interface Bus (EIB) gekoppelt, der Daten mit bis zu 96 Byte pro CPU-Takt übertragen kann. Sowohl das PPE als auch die SPEs können pro CPU-Takt mit 8 Bytes auf den EIB zugreifen. Der EIB ist dabei als Ringbus (4 × 128 Bit) realisiert und wird mit halbem CPU-Takt getaktet. Der Zugriff auf den Hauptspeicher erfolgt über einen Memory Interface Controller (MIC).

Der erste Cell-Prozessor wurde in 90 nm Strukturgröße im SOI-Verfahren gefertigt, dabei erreichte das Die eine Fläche von rund 221 mm². Ab März 2007 stellte IBM den Prozessor in 65-nm-Verfahren her, was zu einer kleineren Die-Fläche und somit zu geringeren Fertigungskosten führte.

2007 wurde eine verbesserte Variante des Cell-Prozessors auf den Markt gebracht, der PowerXCell 8i. Dieser wurde bereits vom Start weg in 65 nm gefertigt und unterstützt im Vergleich zu seinem Vorgänger Berechnungen mit Gleitkommazahlen doppelter Genauigkeit nativ, das heißt ohne Hilfsfunktionen und damit wesentlich schneller.

Der Cell-Prozessor wurde mit speziellem Augenmerk auf breitbandige Berechnungsanwendungen entwickelt, vor allem Grafikberechnung und Videokodierung/-dekodierung. Die erste kommerzielle Verwendung fand das Design im September 2006 in IBM-Bladeservern mit acht SPEs. Wirklich populär wurde der Prozessor aber durch seinen Einsatz in Sonys Spielkonsole Playstation 3, wo er mit 3,2 GHz Takt läuft, jedoch nur mit sieben SPEs (entspricht insgesamt ca. 180 GFlops bei einfach genauen Fließkommazahlen). So können auch Cell-Chips mit nur sieben funktionierenden SPEs noch verbaut werden, wodurch die Kosten gesenkt werden können. Des Weiteren wird der Prozessor auch in Fernsehern mit erweiterten Videofunktionen eingesetzt, Cell-Derivate mit nur vier SPEs finden auch in speziellen Notebooks von Toshiba Verwendung. Der Nachfolger-Prozessor PowerXCell 8i wird seit März 2007 in Servern eingesetzt.

Die Werte beziehen sich auf doppelt genaue Fließkommazahlen (64 Bits), für die der Cell-Prozessor nicht optimiert ist. Linpack-Berechnungen mit einfach genauen Fließkommazahlen (32 Bits) erreichen über 73 GFLOPS auf einem Cell-Prozessor mit acht SPUs.

Zum Seitenanfang



Hauptprozessor

Die CPU eines Intel-80486DX2-Mikroprozessors

Der Hauptprozessor (englisch central processing unit , CPU ), im allgemeinen Sprachgebrauch oft auch nur als Prozessor bezeichnet, ist die zentrale Verarbeitungseinheit eines Computers, die in der Lage ist, ein Programm auszuführen.

Der Begriff CPU wird umgangssprachlich auch in anderem Kontext für Zentraleinheit (ZE) benutzt, hierbei kann dies für einen zentralen Hauptrechner (ein kompletter Computer) stehen, an dem einzelne Terminal-Arbeitsstationen angeschlossen sind. Teilweise wird der Begriff auch in Zusammenhang mit Computerspielen als Synonym für die KI verwendet („Ein Spiel gegen die CPU“).

Die ersten Hauptprozessoren wurden aus Relais aufgebaut wie z. B. bei der Zuse Z3, gefolgt von Elektronenröhren wie beim Eniac. In den 1950er Jahren wurden die unzuverlässigen Elektronenröhren von Transistoren verdrängt, die zudem den Stromverbrauch der Computer senkten. Mit der Verfügbarkeit von integrierten Schaltungen konnten die Hauptprozessoren weiter verkleinert werden, die CPU konnte bald in einem einzelnen Schaltschrank untergebracht werden, was zum Begriff Mainframe, also „Hauptrahmen“, bzw. „Hauptschrank“ führte. Im nächsten Schritt passte die CPU auf eine einzelne Platine in so einem Schrank, es gab dann erste Rechner mit mehreren CPUs (Multiprozessor) für höhere Rechenleistung. Gleichzeitig entstand die Klasse der Minicomputer, die nicht mehr einen eigenen klimatisierten Raum für den Betrieb benötigten und deren Leistung für die Versorgung von Arbeitsgruppen ausreichte.

Die weiter steigende Integrationsdichte führte dazu, dass Anfang der 1970er Jahre erste Hauptprozessoren gebaut wurden, die auf einem einzelnen Chip Platz hatten, der Mikroprozessor. Anfangs noch wegen ihrer vergleichsweise geringen Leistungsfähigkeit belächelt (der Legende nach soll ein IBM-Ingenieur über den ersten Mikroprozessor gesagt haben: „Nett, aber wozu soll das gut sein?“), haben Mikroprozessoren heute alle vorangegangenen Techniken für den Aufbau eines Hauptprozessors abgelöst.

Erste Erwähnungen des Begriffes CPU gehen in die Anfänge der 1950er Jahre zurück. So wurde in einer Broschüre von IBM (705 EDPM) von 1955 der Begriff „Central Processing Unit“ zuerst ausgeschrieben, später mit der Abkürzung CPU in Klammern ergänzt und danach nur noch in seiner Kurzform verwendet. Ältere IBM-Broschüren verwenden den Begriff nicht, so z. B. die Broschüre "Magnetic Cores for Memory in Microseconds in a Great New IBM Electronic Data Processing Machine for Business" von 1954, in der zwar ebenfalls die IBM 705 dargestellt wird, an den entsprechenden Stellen jedoch lediglich von „Data processing“ die Rede ist.

Eine CPU besteht prinzipiell aus den Funktionsgruppen Register, Recheneinheit (ALU - Arithmetic Logic Unit), Befehlsdecoder und Adresseinheit.

Die Adresseinheit ist dafür zuständig, Daten und Befehle aus dem Speicher zu lesen oder in diesen zu schreiben. Befehle werden vom Befehlsdecoder verarbeitet, der die anderen Einheiten entsprechend steuert. In den Registern werden Daten für die unmittelbare Verarbeitung gespeichert, gegenüber dem Speicher ist der Zugriff auf Daten in den internen Registern meist erheblich schneller.

In modernen CPUs finden sich sehr viel feiner unterteilte Funktionseinheiten sowie mehrfach ausgeführte Einheiten, die das gleichzeitige Abarbeiten mehrerer Befehle erlauben. Zusätzlich finden sich auch häufig spezialisierte Recheneinheiten z. B. für Vektorfunktionen.

Eine detaillierte Darstellung der Struktur des derzeit (2008) modernsten 4-Kern-Prozessors findet sich in .

Die beiden wesentlichen Grundarchitekturen für CPUs sind die Von-Neumann- und die Harvard-Architektur.

Bei der nach dem Mathematiker John von Neumann benannten Von-Neumann-Architektur gibt es keine Trennung zwischen dem Speicher für Daten und Programmcode. Dagegen sind bei der Harvard-Architektur Daten und Programm in strikt voneinander getrennten Speicher- und Adressräumen abgelegt.

Beide Architekturen haben ihre spezifischen Vor- und Nachteile. Die Von-Neumann-Architektur ist aus der Sicht des Programmierers einfacher zu handhaben, und die Möglichkeit, auf Programmcode wie auf Daten zuzugreifen, ermöglicht selbst modifizierenden Code. Andererseits kann diese Selbstmodifikation auch durch Programmfehler zu noch größeren Fehlern führen. Durch die Trennung in zwei physikalische Speicher hat die Harvard-Architektur potenziell eine höhere Leistungsfähigkeit, da Daten- und Programmzugriffe parallel erfolgen können; nachteilig ist dagegen, dass nicht benutzter Speicher in einer Klasse nicht für die andere Klasse genutzt werden kann.

Aktuell basieren fast alle verwendeten CPUs auf der Von-Neumann-Architektur, es gibt jedoch Ausnahmen besonders im Bereich der Microcontroller, und es gibt Mischformen. So ist es nicht unüblich, dass eine CPU intern dem Harvard-Prinzip ähnelt, um mit möglichst vielen parallelen Datenpfaden eine hohe Leistung zu erzielen, extern aber einen gemeinsamen Speicher nutzt.

Mit zunehmender Leistungsfähigkeit der Halbleitertechnik entstanden CPUs mit immer komplexeren Befehlssätzen. Diese Art von Befehlssätzen werden als CISC oder „Complex Instruction Set Computing“ bezeichnet. Das führte dazu, dass die Befehlseinheiten der CPUs zu einem Engpass wurden. In den 1980er Jahren entstand als Reaktion darauf das RISC-Konzept, bei dem die Zahl der Befehle reduziert wurde, die Befehlseinheit deutlich vereinfacht werden konnte und dadurch schneller arbeiten kann.

Bei aktuellen CPUs ist die Unterscheidung zwischen RISC und CISC kaum noch möglich. Die weit verbreitete x86-Architektur als typischer Vertreter der CISC-Klasse ist intern eigentlich längst eine RISC-Architektur, die die komplexeren Befehle quasi emuliert, also nachbildet.

Eine weitere Art von Methoden sind VLIW. Dort werden mehrere Instruktionen in einem Wort zusammengefasst. Dadurch ist vom Anfang an definiert, auf welcher Einheit welche Instruktion läuft. Out-of-Order-Ausführung, wie sie in modernen Prozessoren zu finden ist, gibt es bei dieser Art von Befehlen nicht.

Im Laufe von immer höheren Integrationsdichten der Halbleiterbausteine haben die Entwickler von CPUs weitere Funktionen in die Hardware integriert. Dadurch wurden die CPUs immer leistungsfähiger, insbesondere bekamen die meisten CPUs weitere Befehle implementiert, um umfangreiche Berechnungen zu vereinfachen.

Heutzutage kann man wirtschaftlich in der Größenordnung von 1 Milliarde Transistorfunktionen auf einem einzigen Chip unterbringen, weshalb die Integration weiterer Befehle in den Hauptprozessor Anwendung findet.

Auf der anderen Seite haben ältere CPUs und Mikrocontroller häufig nur wenige Register und einen eingeschränkten Befehlssatz (die komplexesten Operationen sind zum Teil Addition und Subtraktion). Für einfache Anwendungen (z. B. Steuerung einer einfachen Maschine) reicht diese Komplexität jedoch aus, da sich höhere Funktionen durch wenige Basisoperationen implementieren lassen, z. B. Multiplikation durch Verschieben und Addieren - siehe Russische Bauernmultiplikation.

Moderne CPUs bestehen üblicherweise aus mehreren, übereinanderliegenden Schichten von dotiertem Silizium, die Millionen von Transistoren bilden, deren Schaltvorgänge die Rechenleistung bereitstellen.

CPUs werden aufgrund ihrer unterschiedlichen Anwendungsbereiche an den jeweiligen Einsatzbereich angepasst. Beispielsweise müssen Spezialversionen für Luft- und Raumfahrt besonders hohen Temperaturen und Strahlungsexposition im laufenden Betrieb fehlerfrei standhalten, während Mobilprozessoren eine hohe IPC-Rate, geringe Leckströme und einen niedrigen Energieverbrauch aufweisen müssen. Diesen Bedürfnissen wird auf verschiedene Arten und Weisen Rechnung getragen: So wird bereits mit der Auswahl des Befehlssatzes (CISC oder RISC) eine fundamentale Entwurfsentscheidung getroffen, deren Implikationen in den jeweiligen Spezialartikeln näher erläutert werden. Anschließend wird ein möglichst effizienter Mikrocode entwickelt, der optimal an Randbedingungen wie Cachegrößen, Speicherbandbreite und -latenzen sowie die internen Funktionseinheiten angepasst wird.

Der in einer Hardwarebeschreibungssprache vorliegende logische Entwurf des Prozessors wird sodann an einen Hochleistungscomputer übergeben, der die Leiterbahnen routet, d. h. eine optimale Anordnung mit möglichst wenig Transistoren sowie minimaler Verlustleistung zu ermitteln sucht (sogenannte Technology Binding oder Technology Mapping). Da diese Routingprobleme NP-vollständig sind, sind nur Näherungsberechnungen möglich, die sich im Detail noch erheblich verbessern lassen. Aus diesen Bahnberechnungen werden Masken erstellt, die mittels Fotolithografie zur Belichtung von Wafern eingesetzt werden, die anschließend geätzt werden. Die Fertigung eines heutigen Mikroprozessors umfasst weit über 100 Einzelschritte, in deren Verlauf bereits ein einziger Fehler den gesamten Prozessor unbrauchbar machen kann.

In der Endkontrolle werden die Prozessoren schließlich hinsichtlich ihrer Taktfestigkeit klassifiziert, wobei anhand eines für jeden Prozessortyp individuell entwickelten Testprogramms physikalische Eigenschaften wie Signalpegel bei verschiedenen Takten überprüft werden. Hierbei wird besonders auf laufzeitkritische Signalwege auf dem CPU-Die geachtet, um Speed Paths (Fehler durch Signalverzögerungen) zu verhindern.

Allgemein lässt sich feststellen, dass der Validierungsaufwand moderner Prozessoren gewaltige Ausmaße angenommen hat, und trotz aller Anstrengungen nicht alle Fehlersituationen vor der Auslieferung überprüft werden können. Der letzte in allen Funktionen (und Fehlern!) vollständig verifizierte x86-Prozessor war der 80286. Daher liefern alle Hersteller sogenannte Errata-Listen, in denen Fehler aufgelistet werden. So musste beispielsweise Intel den berühmten FDIV-Bug in frühen Pentium-CPUs eingestehen, der auf eine kleine Auslassung beim Füllen einer im Prozessor hartverdrahteten Matrix für die FPU zurückzuführen ist.

Im Laufe der Zeit vergrößerte sich aufgrund der immer besser werdenden Technik die Anzahl der vom Prozessor unterstützten Befehle. Heute finden sich überwiegend 32- und 64-Bit-Prozessoren, wobei die gängigsten Betriebssysteme für den Anwender maximal 64, meist aber nur 32 Bit unterstützen. Daran lässt sich schon erkennen, dass die Software im Falle der Prozessoren der Hardware hinterherhinkt. Die in den 1980er Jahren entwickelten 386er waren die ersten 32-Bit-Prozessoren der Intel 80x86-Familie.

Im Jahre 2006 wurde von der Firma ARM der erste kommerzielle ungetaktete, asynchrone Prozessor vorgestellt, der ARM996HS. Da er ohne Taktung auskommt, weist ein asynchroner Prozessor eine im Hochfrequenzbereich geringere und wesentlich weniger prägnante Abstrahlung auf und verbraucht während Prozesspausen keinen nennenswerten Strom.

Moderne CPUs werden – je nach Auslastung − während des Betriebs sehr heiß. Je nach Modell und Hersteller werden pro cm² Verlustleistungen von bis zu 125 Watt erreicht (aktuelle Quadcores). Zum Vergleich: Die 18-cm-Kochplatte eines üblichen Elektroherds erreicht gerade einmal 7–10 W/cm².

CPUs dürfen aber, wie alle Halbleiter, bestimmte Betriebstemperaturen nicht überschreiten, da das zunächst zu Fehlfunktionen („Abstürze“), in extremen Fällen zur Zerstörung des Chips führt (wird bei neueren Prozessoren durch Überhitzungsschutz verhindert). Übliche Grenztemperaturen für den Betrieb liegen zwischen 60 und 90 °C. Temperaturen über etwa 125 bis 135 °C führen zu irreversiblen Schäden. Prozessoren müssen also zwingend gekühlt werden, wobei ein gewisser Sicherheitsabstand zu den vom Hersteller angegebenen Höchstwerten erstrebenswert ist.

Der gängigste Weg, die Kühlung der CPU sicherzustellen, ist die Montage eines Kühlkörpers mit Lüfter. Der verrippte Kühlkörper aus Aluminium oder Kupfer (teilweise kombiniert) vergrößert die Fläche, die zur Wärmeabgabe beiträgt, um ein Vielfaches, der Lüfter soll für einen zügigen Abtransport der Verlustwärme sorgen. Die Bemessung der Kühlung erfolgt häufig nicht nach der theoretisch maximal möglichen Verlustleistung, sondern aus Kostengründen nach der Thermal Design Power (TDP), die deutlich niedriger liegt.

Zwischen Prozessor und Kühlkörper wird Wärmeleitpaste oder ein Wärmeleitpad eingesetzt. Durch Unebenheiten und Rauheit verbleiben zwischen Chip und Kühlkörper Lufteinschlüsse, die den Wärmetransport behindern, die Pasten oder Pads verdrängen diese Luft und verbessern den Wärmeübergang erheblich.

Als Lüfter für den CPU-Kühler werden fast ausschließlich Axiallüfter mit Durchmessern zwischen 40 und 140 mm eingesetzt. Insbesondere kleine Exemplare erreichen Drehzahlen von bis zu 6500 U/min und können dabei eine erhebliche Geräuschkulisse erzeugen. Die Lüfter werden heute an die Hauptplatine angeschlossen, so dass die Drehzahl überwacht und bei vielen modernen Hauptplatinen auch elektronisch geregelt werden kann.

Als Alternativen zur Luftkühlung gibt es noch die Wasserkühlung für leistungsstarke oder relativ leise Rechner, bei der Wasser inner- oder außerhalb des Rechners in einem Radiator (teilweise auch ohne Lüfter) gekühlt wird und dann mit Hilfe einer Pumpe durch das Gehäuse und an zu kühlenden Objekte wie CPU, manchmal auch zusätzlich an RAM, Chipsatz, Grafikprozessor etc. geleitet wird. Insgesamt ist eine Wasserkühlung aufwändiger, teurer und zumeist wartungsintensiver als eine Luftkühlung. Als erster Computerhersteller verbaute Apple in ihren Power Mac G5 Topmodellen eine standardisierte Wasserkühlung. Zuvor wurden Wasserkühlungen meist nur von Bastlern mit übertakteten Prozessoren in Eigeneinbau verwendet.

Im Industriebereich gibt es noch die Flüssigstickstoffkühlung, die allerdings extrem aufwändig ist. Um flüssig zu sein, muss der Stickstoff auf −196 °C gekühlt werden, was große Kühlaggregate erfordert. Wegen der sehr niedrigen Temperatur im Rechner müssen Hauptplatine und andere Objekte wieder von der Rückseite erwärmt werden, damit sie ordnungsgemäß funktionieren. Diese Technik ist sehr schwierig realisierbar, die Betriebs- und Instandhaltungskosten sind meist höher, als wenn man mehrere einzelne Prozessoren parallel betreiben würde. Allgemein gilt es als nicht sinnvoll, eine CPU auf weniger als +10 °C herunterzukühlen, da sonst die Kosten zu hoch werden. Auch haben alle elektronischen Bauteile eine Mindestbetriebstemperatur und an zu stark gekühlten Bauteilen kann sich Kondenswasser niederschlagen, was unbedingt vermieden werden muss.

Flüssigstickstoffkühlung ist jedoch als kurzfristige Lösung zur Aufstellung von neuen Taktfrequenz- und Benchmarkrekorden sinnvoll. Dafür sind auch keine Kühlaggregate notwendig, der Stickstoff wird einfach aus der Flasche nachgefüllt und verdampft. In diesem Fall entfällt auch die Erwärmung der Rückseite, weil die Komponenten während der kurzen für einen Rekordversuch nötigen Zeit meistens auch ohne derartige Maßnahmen funktionsfähig bleiben.

Einzelne Hersteller verwenden auch Kompressionskältemaschinen. Diese funktionieren ähnlich wie ein Kühlschrank: Ein Kühlmittel wird stark unter Druck gesetzt und die dabei entstehende Wärme abgeführt, beim Ausgleich auf Normaldruck kühlt es weiter ab und kühlt so auch seine Umgebung, sprich Prozessor oder andere Geräte. Diese Lösung wird vor allem bei übertakteten Workstations verwendet, hat aber den Nachteil, auch die Geräuschkulisse eines Kühlschranks zu erzeugen.

Eine weitere Möglichkeit zur Zwangskühlung der CPU bietet das Peltier-Element. Auch hier ist die Gefahr der Bildung von Kondenswasser gegeben. Zudem erzeugt ein Peltier-Element wegen des geringen Wirkungsgrades mindestens noch einmal die gleiche Verlustleistung wie der Prozessor selbst, die zusätzlich abgeführt werden muss. Die „warme“ Seite muss also auch hier per Wasserkühlung oder Kühlkörper mit Lüfter gekühlt werden.

Auch durch den Einsatz einer Ölkühlung kann Wärme abgeführt werden, im PC-Bereich wird dies allerdings bisher nur im experimentalen Umfeld durchgeführt.

Im Bereich der Personal Computer ist die historisch gewachsene x86-Architektur weit verbreitet, wobei für eine genauere Diskussion dieser Thematik der entsprechende Artikel empfohlen wird.

Interessanter und weniger bekannt ist der Einsatz von Embedded-Prozessoren und Mikrocontrollern beispielsweise in Motorsteuergeräten, Uhren, Druckern sowie einer Vielzahl elektronisch gesteuerter Geräte.

Die ersten von einem Hersteller produzierten CPUs werden, ähnlich einem Prototyp, als „Engineering Sample“ oder „Confidential CPU“ an ausgewählte Firmen oder Tester verteilt. Es handelt sich grundsätzlich um voll funktionsfähige Prozessoren, die dem späteren Endprodukt meist in nichts nachstehen. Solche CPUs sind üblicherweise im Handel nicht erhältlich. Erkennbar sind solche CPU-Versionen am Kürzel „ES“ oder dem Aufdruck „Confidential“. Zudem wurden, zumindest in der Vergangenheit von Intel, Prozessoren und ganze Chip-Sätze in „University-Kits“ abgegeben. Die dort enthaltenen Chips hatten den Aufdruck „CS“ und waren in der Regel am Keramikgehäuse beschädigt, vielfach war der Aufdruck schlecht (verrutscht, verschmiert, dubliert). Zu beachten ist, dass die Buchstabenkombination ES oder CS nicht immer Engineering oder Customer Sample bedeuten muss, oftmals ist es auch der Batch-Code oder eine Revisionsbezeichnung.

Zum Seitenanfang



Mikroprozessor

Intel-D4040-Mikroprozessor

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

Zum Seitenanfang



Source : Wikipedia