Der Prozessor ist eine Recheneinheit eines Computers, die über Software andere Bestandteile steuert. Die grundlegende Eigenschaft des Prozessors ist die Programmierbarkeit. Das Verhalten des Prozessors wird dabei von Programmen in Form von Maschinencode bestimmt. 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 Operationen, das Lesen und Schreiben von Daten im Arbeitsspeicher sowie das Ausführen von Sprüngen im Programm.
Computer bestehen meist aus mehreren Prozessoren, wobei der Hauptprozessor (Zentralprozessor) alle weiteren steuert. Im allgemeinen Sprachgebrauch ist mit „Prozessor“ meist der Zentralprozessor (CPU) 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.
Inhaltsverzeichnis |
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, einem Befehlsdecoder sowie einem Steuerwerk. Das Rechenwerk ist für arithmetische und logische Funktionen zuständig, Befehlsdecoder und Steuerwerk steuern die Ausführung der Befehle und die Koordination der Funktionseinheiten. Die Register bilden eine Art „Spezialspeicher“ für Zwischenergebnisse (z. B. von Rechenoperationen), auf die besonders schnell zugegriffen werden kann. Zur Erhöhung der Rechengeschwindigkeit können Prozessoren mit Caches oder besonderen (etwa einem Hardwaremultiplizierer) bzw. zusätzlichen (etwa einem Fließkommarechenwerk) Rechenwerken ausgestattet sein. Zur effizienteren Bearbeitung von Befehlen werden Pipelines verwendet. Alle komplexeren Prozessoren 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.
Alle Computerprogramme liegen als binäres Bitmuster im Speicher vor. Diese Bitmuster sind prozessorspezifisch: bestimmte Muster lösen bei unterschiedlichen Prozessoren unterschiedliche elementare Befehle aus. Derartige elementare Prozessorbefehle lassen sich prozessorspezifisch in Maschinensprache oder Assemblersprache programmieren, allerdings ist das Programm dann nicht portabel. Zur Umgehung dieses Problems benutzt man Hochsprachen, etwa C, C++, FORTRAN oder Pascal. Ein spezielles Übersetzungsprogramm (Compiler) setzt dann das Hochsprachenprogramm in für den Prozessor geeignete Maschinensprache um.
Die Befehlsbearbeitung moderner Prozessoren 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.
Der Befehlssatz bezeichnet die Menge der Maschinenbefehle eines Prozessors. Der Umfang des Befehlssatzes variiert je nach Prozessortyp beträchtlich. Nach dem Befehlssatz kann man zwischen RISC- und CISC-Prozessor-Architekturen unterscheiden:
Zusätzlich unterscheidet man auch noch zwischen der Adressanzahl im Maschinenbefehl:
Der Prozessor hat eine Schnittstelle, die den Arbeitsspeicher mit dem Prozessor verbindet. Je nachdem ob man für Daten und Programmcode je einen eigenen oder für beide einen gemeinsamen Bus verwendet, unterscheidet man zwischen den folgenden zwei Prozessor-Architekturen:
Als Prozessorkern (engl. „core“) bezeichnet man das eigentliche Rechenwerk 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, so kann beispielsweise nur ein Cache für alle Kerne vorhanden sein, es kann aber auch jeder Kern einen eigenen Cache aufweisen.
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. Ein einzelner Transistor ist nur noch 45 Nanometer groß. So werden in der neuesten Prozessorengeneration (ab 2008) bis zu 1,9 Milliarden Transistoren in einem Prozessor verbaut.[1] 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.[1] Forscher von Carl Zeiss SMT haben jüngst einen Spiegel entwickelt, der eine Belichtung der Halbleiter mit extremem Ultraviolett (EUV) ermöglicht. Mit dieser Technologie soll es möglich sein Strukturbreiten unterhalb der 32 Nanometer zu realisieren.[2]
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.