Prozessor
Der Prozessor (engl. processor) ist die zentrale Recheneinheit eines Rechners, 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. Die Hauptbestandteile des Prozessors sind die folgenden.
- Die Prefetch Unit hält beim Arbeiten der anderen Einheiten schon die nächste Programmanweisung bereit, damit diese bei Bedarf sofort zur Verfügung steht.
- Die Bus Interface Unit holt sich die Anweisung aus dem Arbeitsspeicher.
- Der Befehlsdecoder (engl. Decode Unit) interpretiert ankommende Anweisungen und übersetzt diese normalerweise in eine Sequenz von internen, fest "verdrahteten" Anweisungen.
- Die Execution Unit besteht aus folgenden Bestandteilen:
- Das Register ist ein Zwischenspeicher für Daten (Zwischenergebnisse), Adressen und Status-Angaben.
- Das Rechenwerk (auch: Arithmetisch-logische Einheit; engl. Arithmetic Logic Unit / ALU) ist eine arithmetisch rechnende und vergleichende Einheit.
- Protection Test Unit.
- Das Steuerwerk (auch: Daten-ALU; engl. control unit) koordiniert den Datenfluss auf den internen Datenleitungen, genannt Datenbus.
- Der Speichermanager (engl. Memory Management Unit / MMU), der den Arbeitsspeicher verwaltet.
- Das Arithmetic Coprocessing Unit ist ein rechnender Hilfsprozessor für komplexe Operationen.
- Der Cache ist ein Pufferspeicher für oft verwendete und daher nicht wiederholt zu ladende Befehle und Daten.
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 (auch: Zentralprozessor; engl. central processing unit / CPU) alle weiteren steuert. Normalerweise ist mit "Prozessor" meist dieser Hauptprozessor gemeint, also das funktionale Kernstück eines elektronischen Rechners, das heute üblicherweise auf einem Mikrochip integriert ist. Die moderne Form des Prozessors ist der Mikroprozessor (engl. micro processor), 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 Grossrechnern (engl. mainframe) meist proprietäre Prozessoren des jeweiligen Herstellers verwendet, wie etwa bei IBM (Cell-Prozessor) oder Sun Microsystems (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.
Es gibt weltweit nur noch wenige Hersteller von Mikroprozessoren.
Merkmale
Merkmale | Beispiele | |
---|---|---|
Hersteller | AMD, Intel | |
Bautyp | ||
Bezeichnung | ||
Lizenz | Original, Klon | |
arithmetischer Coprozessor (ab 486er eingebaut) | integriert, separat, keiner | |
Taktfrequenz (Stromstösse pro Sekunde) | MHz | |
Interne Breite Datenbus | Bit | 32 |
Externe Breite Datenbus | Bit | 32 |
Breite Adressbus, Adressenraum | Bit | 32 |
Performance (Millionen Anweisungen pro Sekunde) | MIPS ("Meaningless Indicator of Processor Speed"), andere Benchmarks | |
Virtuelle Speicherverwaltung | ja, nein | |
Multitasking-Fähigkeit | ja, nein | |
Grösse Datencache | KB, Levels 1, 2, 3 | |
Grösse Befehlscache | KB | |
Befehlssatz | CISC, RISC |
Hersteller
Intel oder AMD? Als Anhaltspunkt dient die Taktfrequenz des Prozessorkerns bzw. (bei AMD seit Athlon XP) die Quanti-Speed-Bezeichnung. Mit der Taktfrequenz steigt die elektrische Leistungsaufnahme, was stärkere Kühlung und Stromversorgung bedingt. Benchmarks zeigen das CPU-Leistungspotential unter kaum nachvollziehbaren Idealbedingungen.
Für AMD-Prozessoren spricht vor allem der günstige Preis.
Doppelkernprozessor
Ein Doppelkernprozessor (engl. dualcore) besitzt zwei Hauptprozessoren in einem Chipgehäuse, ein Quadcore vier diskrete Kerne oder zwei Doppelkernprozessoren.
Leistung
Der Verwaltungsoverhead für die Koordination von immer mehr Threads oder Prozessorkernen kann trotz schnellem Prozessor und vergrössertem Arbeitsspeicher zu einer verminderten Leistung führen. In einem Rechner finden sich drei begrenzende Faktoren:
- Die Konkurrenz um Ressourcen, die zu einer Zeit nur einen Nutzer haben können.
- Der serielle Rest nicht parallelisierbarer Arbeiten, der von einer grösseren Anzahl Prozessoren (oder Festplatten oder Speicherzellen) nicht profitiert, da er nicht verteilbar ist.
- Der Verwaltungsoverhead für die Ressourcen, der zwar Arbeit verursacht, aber nichts zum gewünschten Ergebnis beiträgt.
Das alles ist berechenbar, u. a. mit Hilfe von "Amdahl's Law" und "Gustafsons Law". Beispielsweise wird MySQL mit mehr Prozessoren unter Umständen langsamer. Der Grund dafür liegt darin, dass die Bremsfaktoren der Skalierbarkeit hier die Oberhand gewinnen. MySQL kann eine Anfrage immer nur auf einem Prozessor laufen lassen. Dadurch wächst der nicht verteilbare, serielle Anteil der Arbeitslast. Gleichzeitig frisst aber auch die Verwaltung Zeit - und zwar umso mehr, je mehr Komponenten ins Spiel kommen - und die Plattenzugriffe gelingen schliesslich auch nur seriell.
Weblinks
- Processor Family / Systems (November 2006)