Mikroprozessoren sind elektronische Bausteine, die aus bis zu einigen hunderttausend Transistoren, Widerständen und Kondensatoren bestehen. Alle diese Bauelemente sind auf einer wenige Quadratmillimeter großen Halbleiterfläche aus einkristallinem Silizium, dem Chip integriert. Der Chip ist zur Erhöhung der mechanischen Stabilität und zur Erleichterung der Verbindung mit anderen Bausteinen in einem Gehäuse aus Plastik und Keramik untergebracht.
Der ungarisch - amerikanische Mathematiker John von Neumann stellte als erster fest, welche Teile ein Prozessor beinhalten muss, damit er digitale Informationen verarbeiten kann. Diese Aufstellung bezeichnet man als von Neumannsche Struktur. Diese Struktur findet auch heute noch Anwendung. Die meisten Mikroprozessoren und auch CPU - Chips setzten sich daher aus den folgenden Funktionseinheiten zusammen:
[Bild-Quelle: www.tecchannel.de] |
Das Steuerwerk ist die Kommando-Einheit des Prozessors. Sie bestimmt die Steuersignale zu den Komponenten des Systems, sowohl den prozessor-externen wie den prozessor-internen. Insbesondere sorgt sie über den Taktgenerator für zeitgerechten Ablauf aller Operationen im System und erzeugt die Statussignale des Prozessors. Das Steuerwerk gibt an welche Arbeit jedes einzelne Prozessorbauteil ausführen soll. Alle Behfehle und Daten lauf hier durch und werden mit Hilfe der Rigister, die als kurzzeitige Speicher für Daten, Anweisungen sowie die Ereignisse von Operationen im Steuerwerk fungieren, bearbeitet. Auch das Befehlsregister das alle Befehle enthält, die der Microprozessor ausführen kann und diese dekodiert befindet hier im Steuerwerk. Von hier wird auch der Steuerbus, die Interrupts und die Serielle Ein- und Ausgabe gesteuert.
Das Rechenwerk (Arithmetische logische Einheit), besteht aus ein oder mehrere binärer Addierwerke, abhänging von serieller oder parallel ablaufender Verarbeitung, und Komplementierer. Es realisiert die grundlegenden Vergleichs- und Rechen operationen wie Addition,Subtraktion sowie die logischen AND- und OR-Verknüpfungen im Prozessor und bestimmt somit die Rechen fähigkeit des Prozessors und ermöglicht arithmetische und logische Operationen. Dem Rechenwerk steht die Flags (Ereignisspeicher) und ein spezielles Register (Akkumulator) zur Verfügung, mit dem vor Ausführung einer Operation die Operanden (Rechen- bzw Zuordnungsvorschrift für Zahlen, Funktionen usw..) gespeichert werden. Alle Rechenoperationen finden so einen Operanden im Accumulator und werdem schneller verarbeitet.
Der Bus ist ein Netz von Kommunikationsleitungen, er verbinden die verschiedenen Einheiten eines Rechnersystems (Speicher, CPU, I/O-Unit, etc.) miteinander und vermittelt den Datenaus-tausch zwischen ihnen. Alle Komponenten nutzen einen gemeinsam Transportweg, den Bus, an den sie parallel angeschlossen sind. Die Koordination der Übertragung, d.h. die Auswahl von Sender und Empfänger und die zeitliche Synchronisation, wird über zusätzliche Steuersignale geregelt. Entsprechend den zu übertragenden Informationen kann man eine funktionelle Trennung des Bussystems in Teilbusse vornehmen. Die drei Arten von Bussen sind:
Der Steuerbus besteht aus Leitungen, über die Eingabesignale (z.B. Bereitschaftsmeldungen von Baugruppen) empfangen und Steuersignale des Prozessors ausgegeben werden. Der Adressbus ist eine unidirektionale Leitung vom Prozessor, welche die Speicherorte mit den Daten verwaltet. Der Datenbus ist eine bidirektionale Leitung, die Daten aus dem Speicher liest und in den Speicher schreibt. Zwischen dem Lese- und Schreibvorgang liegt die Bearbeitung.
Interner Speicher: Auch ein Prozessor ist auf die schnelle Speicherung seiner Daten angewiesen, da er sich eventuelleZwischenergebnisse etc. merken muss. Damit er sich seine Daten nicht immer aus dem vergleichbarlangsamen Hauptspeicher holen muss, besitzt er mehrstufige Zwischenspeicher bzw. Register:
In den Registern kann der Prozessor Zwischenergebnisse speichern, diese Register liegen je nach Chip in verschiedener Anzahl vor, Sie werden unterteilt in Adress- und Datenregister. In den Adressregistern werden Speicher-Adressen zwischen gespeichert, in den Datenregistern Daten für Berechnungen etc. Diese Register sind sehr schnell.
Level-1-Cache oder First Level Cache: Im Cache eines Prozessors werden Daten zwischen gespeichert, auf die der Prozessor wiederholt zugreifen muß. Diese Daten können entweder richtige Daten sein, oder auch Programmcode, der wiederholt abgearbeitet werden muss (z.B. Schleifen). Aufgrund dieser Trennung liegt der Level-1-Cache meistens zweigeteilt vor, ein Cache für Daten, ein Cache für Programmcode. Der Level-1-Cache wird mit vollem Core-Takt betrieben. Daher ist er extrem schnell. Aufgrund dieser Schnelligkeit wirkt sich dieGrösse des Level-1-Cache direkt auf die Performance der CPU aus. So ist als Beispiel der MMX-fähige Pentium schneller als sein Vorgänger, weil Intel ihm seine Level-1-Cachegrösse verdoppelt hat.
Level-2-Cache oder Second Level Cache: Der Level-2-Cache ist die zweite Stufe des Caches, er ist zwar langsamer als der L1-Cache des Prozessors, aber immer noch deutlich schneller als der Hauptspeicher. Er ist wesentlich grösser als der Level-1-Cache (zwischen 256 kb und 512 kb). Auch in ihm werden häufig benötigte Daten zwischengespeichert. Ohne Level-2-Cache ist ein Prozessor um einiges langsamer als mit diesem schnellen Zwischenspeicher .Bei Pentium Pro, Pentium II und Intel Celeron (A) Prozessoren ist der L-2-Cache im Prozessor (bzw. auf derProzessor Platine selbst) integriert und wird mit halben bis vollem Core-Takt betrieben.
Da Daten und Programme gemeinsam ohne Unterscheidung in demselben Speicher abgelegt sind, besteht keine Möglichkeit zu unterscheiden, ob es sich bei dem Inhalt einer bestimmten Speicherzelle um ein Datum, Befehl oder Adresse handelt. Die entsprechende Interpretation und Verwendung eines Speicherinhalts richtet sich allein nach dem momentanen Kontext des laufenden Programms.
Co-prozessoren eng. Numeric Processing Unit (NPU) bzw. Floating Point Processing Unit (FPU):Sie werden grundsätzlich bei rechenintensiven oder speziellen Aufgaben benötigt z.B. lange Divisionen, trigonometrische Funktionen, Wurzelberechnungen, Logarithmen usw. um den Microprozessor zu entlasten. Hier werden alle Berechnungen ausgelagert, die mit Gleitkommazahlendurchzuführen sind. Operationen mit ganzen Zahlen werden von der CPU selbst vorgenommen. Dieser Prozessorteil ist speziell für diese Aufgaben ausgelegt, und kann die arithmetischen Funktionen wesentlich schneller ausführen als der Prozessor.
Seit dem 486DX von Intel ist diese Einheit in der CPU integriert. Auch die x86-CPUs von anderen Herstellern haben eine integrierte FPU.
© Artur Lotz 17.06.2003