Hauptprozessor

Der Hauptprozessor, englisch Central Processing Unit oder kurz CPU, im allgemeinen Sprachgebrauch oft auch nur als Prozessor, in einigen Kontexten auch als Zentraleinheit (ZE) bezeichnet, ist der Teil eines Computers, der alle anderen Bestandteile steuert. Das Verhalten der CPU wird dabei von einem Programm in Form von Maschinencode bestimmt. Zu den zentralen Aufgaben der CPU gehören arithmetische Operationen, das Lesen und Schreiben von Daten im Arbeitsspeicher, sowie das Ausführen von Sprüngen im Programm. Die moderne Form der CPU ist der Mikroprozessor, der alle Bausteine der CPU auf einem Mikrochip vereinigt.
Allgemeines
CPUs sind der zentrale Bestandteil eines jeden Computers. Die Verarbeitung von Daten, die Ausführung von Programmen, geschieht in der CPU. Dazu verfügt eine CPU über einen Programmzähler (Instruction pointer), der auf die Speicherstelle zeigt, von der gerade Maschinencodes gelesen werden. Der gelesene Maschinencode wird vom Befehlsdecoder gegebenenfalls in einzelne Arbeitsschritte zerlegt und an die weiteren Einheiten der CPU verteilt. Rechenoperationen und logische Verknüpfungen werden von der ALU (Arithmetic Logic Unit, also Einheit für arithmetische und logische Funktionen) ausgeführt. Zwischenergebnisse werden in Registern gespeichert, ebenso wie Informationen über das letzte Rechenergebnis (z. B. ob das Ergebnis Null war). Die Branch-Unit (Sprungeinheit) kann auf die Informationen des Rechenergebnisses (auch Flags genannt) zugreifen und Programmverzweigungen auslösen, also das Programm an einer anderen Speicherstelle fortsetzen lassen.
Entwicklung
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 40ern 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, aus Steuergeldern finanzierte Einzelprojekte, so reifte die Technik im Laufe der 50er 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 unabdingbar, 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 60ern 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 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.
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...
Variationen
Im Laufe von immer höheren Integrationsdichten der Halbleiterbausteine haben die Entwickler von CPUs weitere Funktionen in der Hardware realisiert. Dadurch wurden die CPUs immer leistungsfähiger, insbesondere bekamen die meisten CPUs weitere Befehle implementiert, um umfangreiche Berechnungen zu vereinfachen.
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 alle anderen Funktionen allein durch die Addition und Subtraktion implementieren lassen (z. B. Multiplikation durch mehrmaliges Addieren).
Design und Fertigung aktueller CPUs
Moderne CPUs bestehen üblicherweise aus mehreren, übereinander liegenden Schichten von dotiertem Silizium, welches Millionen von Transistoren bildet, deren Schaltvorgänge die Rechenleistung bereitstellen.
CPUs werden auf Grund 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 Stand halten, 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, welcher optimal an Randbedingungen wie Cachegrößen, Speicherbandbreite und -latenzen sowie die internen Funktionseinheiten angepasst werden sollte.
Anschließend wird der logische Entwurf des Prozessors (er liegt in einer C-ähnlichen Programmiersprache vor) an einen Hochleistungscomputer übergeben, welcher die Leiterbahnen routet, d. h. eine optimale Anordnung mit möglichst wenig Transistoren sowie minimaler Verlustleistung zu ermitteln sucht (sog. 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 sehr teure Masken erstellt, die unter Anwendung kurzwelligem UV-Lichts (heute 193 nm; bald: 157 nm; Zukunft EUV?) 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 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. Wenn ein Signal über einen bestimmten Signalweg nicht schnell genug läuft, um die logischen Anforderungen des CPU-Designs zu erfüllen, spricht man von einem Speed Path. Vereinfacht gesagt heißt das, dass das Signal bei weiterer Steigerung der Taktfrequenz nicht mehr rechtzeitig dort ankommen würde, wo es gebraucht wird. Solche Speed Paths begrenzen die Taktfrequenz aller komplexen Logikbausteine, wie auch eine CPU einer ist. Bleibt ein solcher Speed Path unentdeckt, kann das fatale Folgen haben: So zeigten verschiedene Revisionen des K6 aufgrund von Streuungen in der Fertigungsqualität einen durch einen übersehenen Speed Path verursachten Fehler in der MMX-Einheit, was die übertragenen Daten korrumpieren und beispielsweise beim Entpacken von JPEG-Bildern zu Datenmüll führen konnte Details. Auch die Firma Intel hatte schon ähnliche Probleme. So musste im Jahr 2001 der gerade erst vorgestellte Pentium III mit der Taktfrequenz von 1.13 GHz zurückgerufen werden, weil Intel einen Speed Path übersehen hatte.
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 so genannte Errata-Listen, in denen Fehler aufgelistet werden. So musste beispielsweise Intel den berühmten FDIV-Bug in frühen Pentium-CPUs eingestehen, welcher 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 auf Grund 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 386er, die in den 80er Jahren entwickelt wurden, waren die ersten 32-Bit-Prozessoren der Intel 80x86-Familie.
Kühlung
Moderne CPUs werden - je nach Auslastung - während des Betriebs sehr heiß. Je nach Modell und Hersteller werden auf einer Fläche kleiner als ein Fingernagel Verlustleistungen von rund 100 Watt/cm² erreicht (Pentium 4-560). Zum Vergleich: Die 18cm-Kochplatte eines üblichen Elektroherds erreicht gerade einmal sieben bis zehn 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. Übliche Grenztemperaturen für den Betrieb liegen zwischen 65 °C und 90 °C, gemessen im Chip. Temperaturen über 125 °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. 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 extrem behindern, die Pasten oder Pads verdrängen die Luft und verbessern den Wärmeübergang erheblich. Die Lüfter der CPU-Kühler laufen meist mit etwa 2500 - 6500 rpm (Umdrehungen pro Minute). Im Gegensatz zu den meisten Gehäuselüftern werden CPU-Kühler immer ans Mainboard angeschlossen, so dass die Lüfterdrehzahl überwacht und bei vielen modernen Mainboards elektronisch geregelt werden kann.
Als Alternativen zur Luftkühlung gibt es noch die Wasserkühlung für extrem 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 alle zu kühlenden Objekte wie CPU, RAM, Chipsatz etc. geleitet wird. Insgesamt ist eine Wasserkühlung aufwendiger und zumeist etwas bis deutlich teurer als eine Luftkühlung.
In der Industrie gibt es noch die Flüssigstickstoffkühlung, die allerdings extrem aufwendig ist. Um flüssig zu sein, muss der Stickstoff auf -196 °C gekühlt werden, was riesige Kühlaggregate erfordert. Wegen der sehr niedrigen Temperatur im Rechner müssen Mainboard und andere Objekte wieder von der Rückseite erwärmt werden, damit sie ordnungsgemäß funktionieren. Diese Technik ist nahezu nicht realisierbar, da die Betriebs- und Instandhaltungskosten mehr kosten, als wenn man mehrere einzelne Dualprozessoren nebeneinander betriebe. Allgemein gilt es als nicht sinnvoll, die CPU auf weniger als +10 °C herunterzukühlen, da sonst die Kosten zu hoch werden. Doch verwenden einzelne kleine Hersteller auch Kompressorkühlungen. Diese funktionieren ähnlich wie ein Kühlschrank. Ein Kühlmittel wird stark unter Druck gesetzt, und dann beim Ausgleich auf Normaldruck kühlt es stark ab und kühlt so auch seine Umgebung, sprich Prozessor oder andere Geräte. Diese Lösung wird vor allem bei übertakteten Workstations verwendet, haben aber den Nachteil, auch die Geräuschkulisse eines Kühlschranks zu erzeugen.
Anwendungsbereich
Im Bereich der Personalcomputer 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 Microcontrollern beispielsweise in Motorsteuergeräten, Uhren, Druckern sowie einer Vielzahl elektronisch gesteuerter Geräte.
Sonstiges
Man unterscheidet grundsätzlich zwei verschiedene CPU-Architekturen:
- RISC-Prozessoren (englisch Reduced Instruction Set Computing = reduzierter Befehlssatz)
- CISC-Prozessoren (englisch Complex Instruction Set Computing = komplexer Befehlssatz)
Mit folgenden Buskonzepten:
- Von-Neumann-Architektur: Ein Bus für Daten UND Programmcode (z. B. CISC-Prozessoren).
- Harvard-Architektur (erweiterte Von-Neumann-Architektur): Ein oder mehrere getrennte Busse für Daten und Programmcode. Teilweise mit mehreren ALUs zur parallelen Verarbeitung großer Datenmengen (z. B. Digitale Signalprozessoren).
Siehe auch
- Computer
- Mikroprozessor
- Mikrocontroller
- Mikroprogrammierung
- Notebookprozessor
- Hyper-Threading
- Ring (CPU)
- Kategorie CPU-Hersteller