Der Prozessor (CPU, für Central Processing Unit, d.h.; Zentrale Bearbeitungseinheit) ist das Gehirn des Computers. Er erlaubt es digitaleInformationen zu behandeln, d.h. Informationen die in binärcodiert sind, und die Befehle auszuführen, die Speicher aufbewahrt werden.
Der erste Mikroprozessor (Intel 4004) ist 1971 erfunden worden. Es handelte sich um eine Recheneinheit von 4 Bit, mit 108 kHz getaktet. Seitdem steigt die Leistung der Mikroprozessoren in exponentieller Weise. Was sind also diese kleinen Silizium Stücke, die unsere Computer leiten?
Der Prozessor (geschrieben CPU, für Central Processing Unit) ist eine elektronische Schaltung, die im Rhythmus einer internen Uhr getaktet ist, dank eines Kristallquarzes der, unter Strom gestellt, Impulse sendet und « top » genannt wird. Die Uhrfrequenz (auch Zyklus genannt, entspricht der Impulsanzahl pro Sekunde, ausgedrückt in Hertz (Hz). Ein Computer mit 200 MHz besitzt demnach eine Uhr, die 200 000 000 Impulse pro Sekunde sendet. Die Taktfrequenz ist meist ein mehrfaches der Systemfrequenz (FSB, Front-Side Bus), d.h. ein mehrfaches der Frequenz des Motherboard
Bei jedem Top der Uhr, führt der Prozessor eine Aktion aus, die einem Befehl oder einem Teil eines Befehls entspricht. Der Indikator der CPI (Cycles Par Instruction) genannt wird, erlaubt es die mittlere Anzahl an Uhrzyklen darzustellen, die zur Ausführung eines Befehls auf einem Mikroprozessor nötig sind. Die Leistung des Prozessors kann so durch die Anzahl an Befehlen charakterisiert werden, die er pro Sekunde bearbeiten kann. Die verwendete Einheit ist MIPS (Millionen Instruktionen pro Sekunde) und entspricht der Frequenz des Prozessors geteilt durch den CPI.
Eine Instruktion ist die elementare Operation die der Prozessor ausführen kann. Die Instruktionen werden in dem Hauptspeicher hinterlegt, um von dem Prozessor bearbeitet zu werden. Eine Instruktion besteht aus zwei Feldern :
| Operationscode | Operandenfeld |
Die Oktett-Anzahl einer Instruktion ist variabel je nach Datentyp (die Größenordnung liegt zwischen 1 - 4 Oktett).
Die Instruktionen können nach Kategorien geordnet werden, die wichtigsten sind :
Wenn der Prozessor Instruktionen ausführt, so werden die Daten vorübergehend in kleinen, schnellen Speichereinheiten von 8, 16, 32 oder 64 Bit gespeichert, die man Registernennt. Je nach Prozessortyp kann die Registeranzahl variieren, von etwa zehn bis zu mehrere Hunderte.
Die Hauptregister sind :
Der Cachespeicher (auch Schattenspeicher oder Pufferspeicher) genannt, ist ein schneller Speicher, mit dem die Wartezeiten auf Informationen, die sich im Arbeitsspeicher befinden, reduziert wird. Der Zentralspeicher des Computers besitzt eine sehr viel weniger hohe Geschwindigkeit als der Prozessor. Es gibt jedoch Speicher die sehr viel schneller sind, nur sind sie auch sehr teuer. Die Lösung besteht darin, diesen schnellen Speichertyp in der Nähe des Prozessors einzufügen und dort vorübergehend die wichtigsten Daten die der Prozessor bearbeiten soll, zu speichern. Computer jüngerer Generation besitzen mehrere Level an Cachespeicher :
Die Steuersignale sind elektrische Signale die es ermöglichen, die verschiedenen Einheiten des Prozessors zu orchestrieren, die an der Ausführung einer Instruktion teilnehmen. Die Steuersignale werden durch ein Element verteilt, welches Sequenzergenannt wird. Das Signal Read / Write, auf deutsch lesen/ schreiben, ermöglicht es z.B. dem Speicher zu signalisieren, dass der Prozessor eine Information lesen oder schreiben möchte.
Der Prozessor besteht aus einer Reihe Funktionseinheiten, die untereinander verbunden sind. Die Architektur eines Mikroprozessors ist sehr variabel, von einer Architektur zur anderen, die Hauptelemente eines Mikroprozessors sind jedoch folgende :
Das folgende Schema gibt eine vereinfachte Darstellung der Bestandselemente eines Prozessors (die physikalische Organisation der Elemente entspricht nicht der Realität) :
Um Informationen bearbeiten zu können, besitzt der Mikroprozessor eine Reihe Instruktionen, genannt « Befehlssatz », der durch elektronische Schaltkreise erstellt wird. Genauer gesagt, wird der Befehlssatz mit Halbleitern erstellt, « kleines Schaltern » die denTransistoreneffetbenutzen, der 1947 durch John Barden, Walter H. Brattain und William Shockley entdeckt wurde, die für diese Entdeckung 1956 den Nobelpreis erhielten.
Ein Transistor (Zusammenziehung aus transfer resistor, auf deutsch Transferresistenz) ist ein elektronisches Halbleiter-Bauteil, welches drei Elektroden besitzt, und in der Lage ist den Strom zu verändern der ihn durchquert, mittels einer seiner Elektroden (genannt Steuerelektrode). Man spricht so von «aktivem Bauteil», im Gegensatz zu den « passiven Bauteilen », so wie die Resistenz oder der Kondensator, die nur zwei Elektroden besitzen (man spricht von « bipolär »).
Der Transistor MOS (Metall, Oxyd, Silizium) ist der meistverwendete Transistortyp für die Konzipierung von Schaltplatte. Der MOS-Transistor besteht aus zwei negativ geladenen Zonen, genannt Source (deren Potential fast gleich Null ist), bzw. Drain (mit einem Potential von 5V), getrennt durch eine positiv geladene Zone, genannt Substrat (auf englisch substrate). Über dem Substrat befindet sich eine Steuerelektrode, genannt Gate (aus dem Englischen gate, manchmal auch Gittergenannt), mit der eine Spannung auf das Substrat angewandt wird.
Wenn die Steuerelektrode nicht unter Spannung steht, wirkt das positiv geladene Substrat wie eine Barriere und hindert die Elektronen von der Source zum Drain zu wandern. Wenn allerdings das Gate unter Spannung steht, werden die positiven Ladungen des Substrates verdrängt und ein Verbindungskanal entsteht, der, negativ geladen, die Source und den Drain verbindet.
Der Transistor wirkt also insgesamt wie ein programmierbarer Schalter, dank der Steuerelektrode. Wenn die Elektrode unter Spannung steht, wirkt sie wie ein geschlossener Schalter, im gegenteiligen Fall wie ein offener Schalter.
Wenn sie zusammengesetzt sind, können Transistoren logische Schaltkreisebilden, welche, zusammengesetzt, wiederum Prozessoren bilden. Der erste integrierte Schaltkreis stammt von 1958 und ist von der Firma Texas Instrumentsentwickelt worden.
Die MOS Transistoren werden aus Siliziumscheiben hergestellt (genannt wafer, übersetzt Waffeln), die nach mehreren Behandlungen erhalten werden. Diese Siliziumscheiben werden dann in rechteckige Elemente geschnitten die dann sogenannt « Schaltkreise »bilden. Die Schaltkreise werden dann in Gehäuse gesetzt die Ein-/Ausgangssteckverbinder besitzen, und das Ganze bildet einen« integrierten Schaltkreis ». Die Feinheit der Gravierung, ausgedrückt in Mikron (Mikrometer, geschrieben µm), definiert die Anzahl der Transistoren pro Oberflächeneinheit. So kann es bis zu mehreren Millionen Transistoren auf einem einzigen Prozessor geben.
Das Mooresche Gesetz, 1965 von Gordon E. Moore formuliert, Mitgründer der Firma Intel, sagte voraus dass die Leistungen des Prozessors (und demnach auch die Anzahl der auf Silizium integrierten Transistoren) sich alle 12 Monate verdoppeln würde. Dieses Gesetz wurde 1975 korrigiert, und die Anzahl der Monate auf 18 erhöht. Das Mooresche Gesetz bestätigt sich noch heute.
Da das rechteckige Gehäuse Ein-/Ausgangsstifte besitzt, die Beinchen ähneln, wird im Französischen der Begriff « elektronischer Floh » geläufig verwendet, um integrierte Schaltkreise zu bezeichnen.
Jeder Prozessor-Typ besitzt seinen eigenen Befehlsvorrat. Man unterscheidet so die folgenden Prozessorfamilien, die jede einen Befehlsvorrat besitz, der ihr eigen ist :
Dadurch wird verständlich, warum ein Programm, welches für einen Prozessortypen erstellt worden ist, nicht ohne weiteres auf einem System funktionieren kann, welches einen anderen Prozessortypen hat, es sei denn, es gibt eine Übersetzung der Instruktionen, genannt Emulation. Der Begriff « Emulator » wird verwendet, um das Programm zu bezeichnen, dass diese Übersetzung ausführt.
Man nennt Befehlsvorrat die Gruppe elementarer Operationen die ein Prozessor ausführen kann. Der Befehlsvorrat eines Prozessors bestimmt so seine Architektur, wobei die gleiche Architektur, Herstellerabhängig, zu unterschiedlichen Implementationen führen kann.
Der Prozessor arbeitet tatsächlich mit einer begrenzten Anzahl an Funktionen, die direkt auf den elektronischen Schaltkreis gedrahtet sind. Die meisten Operationen können mit Hilfe von Basis-Funktionen realisiert werden. Manche Architekturen schließen jedoch auch hochentwickelte Funktionen gängig in den Prozessor ein.
Die Architektur CISC (Complex Instruction Set Computer, oder « Computer mit komplexem Befehlsvorrat ») besteht darin im Prozessor komplexe Befehle zu verdrahten, die ab den Basis-Instruktionen schwer zu erstellen sind.
Die Architektur CISC wird insbesondere von dem Prozessortyp 80x86 verwendet. Dieser Architekturtyp hat einen hohen Kostenfaktor, wegen der hochentwickelten Funktionen die ins Silizium gedruckt sind.
Andererseits sind die Befehle von unterschiedlicher Länge und können manchmal mehr als nur einen Taktzyklus brauchen. Ein Prozessor der auf CISC-Architektur basiert, kann allerdings nur einen Befehl auf einmal bearbeiten, woraus sich eine nicht unerhebliche Ausführungszeit ergibt.
Ein Prozessor der die Technologie RISC (Reduced Instruction Set Computer, oder « Computer mit begrenzten Befehlsvorrat ») benutzt, hat keine hochentwickelten verdrahteten Funktionen.
Die Programme müssen demnach in einfache Befehle übersetzt werden, wodurch die Entwicklung erschwert wird und/oder ein leistungsstärkerer Compiler gebraucht wird. Die Herstellungskosten einer solchen Architektur sind niedriger als die eines CISC-Prozessors. Außerdem werden die von Natur aus einfachen Befehle, in einem Taktzyklus ausgeführt, wodurch die Ausführung der Programme schneller wird, als mit den Prozessoren, die auf einer CISC-Architektur basieren. Zusätzlich sind solche Prozessoren in der Lage mehrere Befehle simultan, d.h. parallel zu bearbeiten.
Im Laufe der Jahre haben die Hersteller von Mikroprozessoren (auch Gründergenannt), eine gewisse Anzahl an Verbesserungen entwickelt, mit denen die Funktionsweise eines Prozessors optimiert wird.
Der Parallelismus besteht darin simultan, auf verschiedenen Prozessoren, Befehle auszuführen, die das gleiche Programm betreffen. Ein Programm wird in mehrere Prozesse aufgeteilt, die parallel bearbeitet werden, um so an Ausführungszeit zu sparen.
Für diese Art Technologie sind allerdings Synchronisatin und Kommunikation zwischen den verschiedenen Prozessen nötig, so wie in einem Unternehmen die Aufgaben verteilt werden : die Arbeit wird in unterschiedliche Prozesse aufgeteilt, die von verschiedenen Abteilungen übernommen werden. Die Funktionsweise eines solchen Unternehmens kann stark gestört werden wenn die Kommunikation zwischen den Abteilungen nicht gut funktioniert.
Die Pipeline (oder Pipelining) ist eine Technologie die eine größere Ausführungsgeschwindigkeit ermöglichet, indem die Etappen parallel geschaltet werden.
Um den Mechanismus der Pipeline zu verstehen, muss man zuerst die Ausführungsphasen eines Befehls verstehen. Die Ausführungsphasen eines Befehls für einen Prozessor der eine « klassische » Pipeline mit 5 Etagen beinhaltet sind folgende :
Die Befehle "stehen Schlange" in dem Speicher und werden einer nach dem anderen geladen.
Dank der Pipeline, braucht die Informationsbearbeitung maximal die fünf genannten Etappen. Da die Reihenfolge dieser Etappen variabel ist (FI, DI, EX, MEM und ER), ist es möglich im Prozessor eine gewisse Anzahl an spezialisierten Schaltungen für jede dieser Phasen herzustellen.
Ziel der Pipeline ist es, in der Lage zu sein, jede Etappe parallel zu den vorhergehenden und folgenden zu absolvieren, d.h. einen Befehl lesen zu können (FI), während die vorhergehende decodiert wird (DI) und die davor in Ausführung ist (EX) und die die dieser vorausgeht auf den Speicher zugreift (MEM) und schließlich die erste der Serie schon in der Schreibphase in den Registern ist (ER).
Man muss meist 1 bis 2 Taktzyklen (selten mehr) für jede Phase der Pipeline berechnen, d.h. maximal 10 Taktzyklen pro Befehl. Für zwei Befehle sind maximal 12 Taktzyklen nötig (10+2=12 anstatt 10*2=20), denn der vorhergehende Befehl ist schon in der Pipeline. Beide Befehle werden also im Prozessor bearbeitet, mit einer Zeitverschiebung von ein oder zwei Taktzyklen). Für 3 Befehle sind so 14 Taktzyklen notwendig, usw.
Das Prinzip der Pipeline ist damit mit dem einer Auto-Produktionskette vergleichbar. Die Autos gehen von einem Arbeitsplatz zum nächsten und folgen dabei die Montagekette et kommen vollständig zusammengesetzt aus der Halle. Um das Prinzip richtig zu verstehen, muss die Kette als Ganzes betrachtet werden, und nicht jedes Auto einzeln. So braucht man 3 Stunden um ein Auto zusammenzubauen, es wird jedoch ein Auto pro Minute produziert!
Es muss angemerkt werden, dass es verschiedene Pipeline-Typen gibt, mit 2 bis 40 Etagen, das Prinzip aber bleibt das gleiche.
Die Technologie Superskalar ( auf englisch superscaling) besteht darin mehrere Bearbeitungseinheiten parallel aufzustellen, um so mehrere Befehle pro Zyklus bearbeiten zu können.
Die Technologie HyperThreading (oder Hyper-Threading, geschrieben HT, zu übersetzen mit HyperFluss ou HyperFlux) besteht darin zwei logische Prozessoren in einem physischen Prozessor zu definieren. So erkennt das System zwei physische Prozessoren und verhält sich als Mehrfadensystem und schickt zwei Threads gleichzeitig, man spricht dann von SMT (Simultaneous Multi Threading). Diese « Gauklerei » ermöglicht es die Ressourcen des Prozessors besser auszunutzen, indem garantiert wird, dass ihm Daten in großen Mengen geschickt werden.