Prozessor

Aus Mikiwiki
Zur Navigation springen Zur Suche springen

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.

Herausgeber Sprache Webseitentitel Anmerkungen
Wikipedia ger Prozessor (Hardware)wbm Enzyklopädischer Artikel
Top 500 supercomputer sites eng Processor family share over timewbm