Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Prozessor

Aufbau und Funktionale Einheiten · Hauptprozessor (CPU) und Mehrprozessorkerne · Steuer- bzw. Leitwerk · Rechenwerk und Register · Datenleitungen · Caches und MMU.

Inhalt6 Abschnitte
  1. 1. Aufgabe und Bedeutung
  2. 2. Prozessortypen und Einsatzfelder
  3. 3. Bauteile, Kerne und Speicher
  4. 4. Befehle und ihre Ausführung
  5. 5. Adressierung und Architektur
  6. 6. Leistung, Entwicklung und Forschung

Aufgabe und Bedeutung

Ein Prozessor ist eine meist stark verkinerte komplexe integrierte elektronische Schaltung (IC). Er führt nach übergebenen Befehlen Aktionen in einem Computer aus. Der Hauptprozessor, die Central Processing Unit (CPU), ist die zentrale Rechen- und Steuerungseinheit: Er bearbeitet die meisten Berechnungen, führt Programm- und Betriebssystembefehle aus und koordiniert den Datenfluss zwischen Komponenten.

Prozessoren bestehen hauptsächlich aus Silicium (Si) und Millionen bis Milliarden von Transistoren. Sie entstehen aus Wafern in Halbleiterfabriken unter Reinraumbedingungen. Die Entwicklung der Halbleiterstrukturgrößen reicht von einigen Mikrometern seit den 1970er Jahren bis zu Nanometern seit den 2010er Jahren; die Gitterkonstante von Silizium beträgt etwa 0,5431 nm. Die Taktrate liegt von wenigen MHz bis zu einstelligen GHz und beeinflusst zusammen mit weiteren Faktoren die Verarbeitungsgeschwindigkeit.

Heute meint „Prozessor“ meist das Bauteil; eine einzelne datenverarbeitende Logik-Einheit wird oft Prozessorkern oder ebenfalls Prozessor genannt. Ein Bauteil mit mehreren Kernen heißt Mehrkernprozessor. Umgangssprachlich kann CPU auch einen kompletten zentralen Rechner mit angeschlossenen Terminals meinen oder etwa beim Spielen den nichtmenschlichen Gegner („gegen die CPU“).

Prozessortypen und Einsatzfelder

Ein Mikroprozessor (µP oder uP) vereint eine Prozessorarchitektur auf einem Siliciumchip (Die). Er enthält unter anderem Recheneinheit, Steuerungslogik und Cache, einen schnellen eigenen Zwischenspeicher. Als Hauptprozessor grenzt er sich von Koprozessoren ab. Mehrere Prozessoren in einem System bilden ein Mehrprozessorsystem; auch Peripheriegeräte können eigene Prozessoren besitzen. Grafikprozessoren (GPU) erfüllen mit einer eigenen Architektur andere Aufgaben als eine CPU oder ergänzen sie.

Mikrocontroller (µC oder uC) sind technisch Mikroprozessoren, enthalten aber zusätzlich oft RAM als Arbeitsspeicher, ROM als Programmspeicher und Hardwareschnittstellen. Typische Strukturgrößen liegen zwischen 180 und 90 nm. Sie sind auf andere technische und wirtschaftliche Anforderungen ausgelegt, besonders geringe Kosten bei hohen Stückzahlen. Weitere spezialisierte Rechenkerne sind zum Beispiel GPU und digitale Signalprozessoren (DSP).

Prozessoren steuern nicht nur PCs, Smartphones, Tablets, Spielkonsolen und Fernseher, sondern auch Haushaltsgeräte und Industrieanlagen. Prozessoren für eingebettete Systeme machen etwa 95 Prozent des Prozessormarkts aus; davon sind 90 Prozent Mikrocontroller. Nur etwa 5 Prozent, dann als Mikroprozessoren bezeichnet, werden in PCs, Workstations oder Servern verwendet. In PCs ist historisch vor allem CISC, etwa x86, verbreitet; ARM- und Apple-M-Prozessoren beruhen auf RISC. Moderne Fahrzeuge enthalten mehrere Mikrocontroller zur Regelung und Steuerung, wobei Kosten und Sicherheitsanforderungen wichtiger sind als hohe PC-Taktraten.

Bauteile, Kerne und Speicher

Ein Prozessorkern besitzt mindestens Register, ein Rechenwerk mit arithmetisch-logischer Einheit (ALU), ein Steuerwerk sowie Datenleitungen oder Busse. Die ALU führt arithmetische Operationen wie Addition und logische Operationen wie AND oder OR aus. Arbeitsregister sind besonders schnelle interne Speicher für Daten und je nach Prozessortyp auch Adressen; meist können Operationen unmittelbar nur auf Registerwerte angewendet werden. Sie bilden die erste Stufe der Speicherhierarchie. Der Stapelzeiger (Stackpointer) ist ein Adressregister für Rücksprungadressen bei Unterprogrammaufrufen; auf dem Stack werden oft Registerkopien und lokale Variablen abgelegt.

Das Steuer- oder Leitwerk steuert die Befehlsausführung. Es decodiert den Maschinenbefehl im Befehlsregister und aktiviert die nötigen Schaltungen. Wichtige Register sind das Befehlsregister für den aktuellen Befehl, der Befehlszähler oder Program Counter für die Adresse des nächsten Befehls sowie das Statusregister. Dessen Flags speichern etwa „Null“, „Minus“ oder einen Übertrag (Carry), damit spätere Befehle Ergebnisse auswerten können. Moderne Prozessoren können Pipelines, mehrfach vorhandene oder flexibel zuteilbare Einheiten sowie spezialisierte Gleitkomma-, Vektor-, Signalverarbeitungs- oder Kryptographie-Einheiten enthalten.

Die CPU bezeichnet zur Abgrenzung von spezialisierten Koprozessoren wie Gleitkomma-, Grafik- oder Soundeinheiten den Hauptprozessor mit Steuer- und Rechenwerk. Bei Mehrkernprozessoren besitzt jeder Kern eigene Rechen- und Steuerwerke; um ihn liegen weitere Komponenten wie Cache und Memory Management Unit (MMU). Dual-Core, Quad-Core und Hexa-Core bezeichnen zwei, vier beziehungsweise sechs Kerne. Die Begriffe CPU, Prozessor und Core sind nicht immer eindeutig: Steuerwerke können mehrere Hardware-Threads verwalten, mehrere ALUs betreiben oder Spezialrechenwerke gemeinsam nutzen.

Busse verbinden den Prozessor mit anderen Teilen des Systems. Der Datenbus überträgt Daten, der Adressbus wählt Speicherzellen aus und der Steuerbus bestimmt unter anderem Lesen oder Schreiben, DMA-Busübergabe und Interrupts. Bei der Von-Neumann-Architektur gibt es einen gemeinsamen Datenweg für Programmcode und Daten, bei der Harvard-Architektur getrennte Wege. Ein Bus-Interface steuert die Zugriffe und setzt bei konkurrierenden Anforderungen Prioritäten.

Caches speichern zuletzt benutzte Daten und Befehle für eine schnelle Wiederverwendung und bilden die zweite Speicherhierarchiestufe. L1 läuft mit Prozessortakt und umfasst etwa 4 bis 256 Kilobyte. L2 liegt meist im Prozessor, aber nicht im Kern, und umfasst 64 Kilobyte bis 12 Megabyte. L3 wird bei Mehrkernprozessoren meist geteilt und kann bis zu 256 Megabyte groß sein. L4 liegt, falls vorhanden, meist außerhalb der CPU auf Interposer oder Mainboard und ist nur selten größer als 128 Megabyte. Die MMU übersetzt virtuelle Adressen laufender Prozesse in reale Adressen und sichert Cache-Kohärenz, damit andere Kerne nach einer Änderung keine veralteten Werte verwenden.

Befehle und ihre Ausführung

Programme liegen als Folgen binärer Maschinenbefehle im Speicher; nur diese kann der Prozessor direkt verarbeiten. Menschen schreiben deshalb meist Assemblersprache oder Hochsprachen wie BASIC, C, C++, Java. Ein Compiler übersetzt sie in Maschinensprache, ein Interpreter führt sie zur Laufzeit aus. Assemblersprache verwendet Mnemonics, also symbolische Befehlsnamen wie MOV. Beispiele: „MOV BX, 85F3h“ lädt 85F3h, dezimal 34291, in BX. „MOV BX, word ptr [85F2h]“ lädt Inhalte der Adressen 85F2h und 85F3h in BX. „ADD BX, 15“ addiert 15 zu BX und setzt das Flagregister entsprechend.

Ein Maschinenbefehl enthält mindestens Operationscode (OP-CODE), Adressierungsart sowie Operandenwert oder Adresse. Es gibt arithmetische, logische, Sprung-, Transport- und Prozessorkontrollbefehle. Der Befehlssatz ist die Gesamtheit dieser Befehle. CISC-Prozessoren besitzen meist weit mehr als 100, teils komplexe Befehle, etwa für Gleitkommaoperationen. RISC stellt weniger als 100 einfache, ähnlich komplexe Befehle bereit; dies vereinfacht Dekodierung, Pipeline und hohe Taktung, verlagert aber komplexere Aufgaben auf die Software und den Compiler. Die verbreitete x86-Architektur zerlegt intern komplexe Befehle in µ-Ops, die einfachen RISC-Befehlen ähneln. Bei VLIW werden mehrere Instruktionen in einem Wort zusammengefasst und den Einheiten von vornherein zugeordnet.

Die prinzipielle Befehlsbearbeitung folgt dem Von-Neumann-Zyklus: FETCH lädt den nächsten Befehl aus dem L1-Cache in das Befehlsregister. DECODE entschlüsselt ihn und aktiviert Schaltungen. FETCH OPERANDS lädt nötige Parameter in Arbeitsregister. EXECUTE führt etwa eine ALU-Operation, einen Sprung, das Rückschreiben in den Speicher oder die Ansteuerung von Peripherie aus und kann Statusflags setzen. UPDATE INSTRUCTION POINTER erhöht ohne Sprung das Befehlsadressregister um die Befehlslänge. Eine mögliche zusätzliche Rückschreibphase speichert Ergebnisse in Register.

Bei einem einzelnen Befehl legt das Steuerwerk zunächst die Adresse aus dem Befehlszähler auf den Adressbus und fordert das Lesen an; parallel zählt es den Befehlszähler weiter. Speicherverwaltung liefert den Wert aus Cache oder RAM über den Datenbus, und das Steuerwerk übernimmt ihn in das Befehlsregister. Mehrbytebefehle werden gegebenenfalls in weiteren Zugriffen geladen. Danach werden benötigte Daten gelesen, der Befehl fertig decodiert, die ALU verarbeitet die Werte und das Ergebnis in einem Register oder bei Sprüngen im Befehlszähler abgelegt. Statusflags werden aktualisiert; falls nötig, wird ein Ergebnis in RAM zurückgeschrieben. Schritte können sich überlappen und entsprechen nicht zwingend jeweils einem Taktzyklus.

Hardware-Interrupts sind asynchrone Anfragen an den Prozessor. Dieser prüft sie regelmäßig und bearbeitet sie gegebenenfalls vor dem Fortsetzen des Programms. Dafür müssen Prozessorzustand gesichert und wiederhergestellt werden; ohne Interruptsystem muss Software die Hardware durch Polling abfragen. Pipelining und Superskalarität erlauben überlappende oder parallele Befehlsbearbeitung. Bei Out-of-order execution ordnet der Prozessor Befehle zur Beschleunigung um; spekulativ ausgeführte Befehle müssen bei einer anders verlaufenden Verzweigung wieder rückgängig gemacht werden.

Adressierung und Architektur

Adressierungsarten bestimmen, wie ein Maschinenbefehl sein Quell- oder Zielobjekt findet. Die effektive logische Speicheradresse wird vor oder bei der Ausführung berechnet und in Adressregistern bereitgestellt. Die MMU berechnet unabhängig davon aus logischen die physikalischen Adressen.

Bei Registeradressierung liegt der Operand bereits im Prozessorregister. Sie ist implizit, wenn der Opcode ein Register wie den Akkumulator festlegt, oder explizit, wenn die Registernummer im Maschinenbefehl steht. Bei einstufiger Speicheradressierung genügt eine Berechnung: Unmittelbare Adressierung enthält den Operanden selbst, direkte die logische Adresse. Register-indirekte Adressierung nimmt die Adresse aus einem Adressregister. Indizierte Adressierung addiert Registerinhalt und Adressangabe; typischerweise bilden Basisadresse und Offset die Adresse. Programmzähler-relative Adressierung addiert Offset und aktuellen Programmzähler. Bei zweistufiger Adressierung ist meist ein zusätzlicher Speicherzugriff erforderlich: Bei indirekt-absoluter Adressierung enthält der Befehl eine Speicheradresse, deren Speicherwort erst die gesuchte effektive Adresse liefert.

Von-Neumann-Architektur speichert Daten und Programmcode im gleichen Speicher- und Adressraum. Dadurch lassen sich beide grundsätzlich gleich behandeln, einheitlich laden und speichern sowie Programmcode als Daten bearbeiten oder selbst modifizieren. Dies birgt auch Risiken, etwa dass ein Pufferüberlauf Programmcode verändert. Harvard-Architektur trennt Daten und Programme physisch in Speicher- und Adressräume und verwendet typischerweise zwei getrennte Bussysteme. Dadurch können Daten- und Programmzugriffe parallel erfolgen; Zugriffsrechte und Speicherschutz sind einfacher umsetzbar. Moderne CPUs erscheinen Programmen meist als Von-Neumann-System, besitzen intern jedoch häufig parallele Harvard-ähnliche Datenpfade, besonders im L1-Cache. Datenprotokolle und -management verhindern dabei Inkohärenzen und Race-Conditions. Datenbereiche werden heute oft als nicht ausführbar markiert, Schreibzugriffe auf Programmcode können verweigert werden.

Leistung, Entwicklung und Forschung

Die Prozessorleistung hängt maßgeblich von Transistorzahl, Wortbreite und Prozessortakt ab. Die Wortbreite legt die maximale Bitzahl eines Maschinenworts fest. Bei Arbeits- und Datenregistern bestimmt sie die Größe verarbeitbarer Ganz- und Gleitkommazahlen, beim Datenbus die gleichzeitig aus dem Arbeitsspeicher lesbaren Bits, beim Adressbus die maximale Speicheradresse und damit die Größe des Arbeitsspeichers. Bei aktuellen PCs beträgt sie normalerweise 32 beziehungsweise 64 Bit.

Die Taktrate ist ein Vielfaches des Mainboard-Grundtakts und kann bei manchen Systemen durch Multiplikator und Grundtakt verändert werden. Das heißt Über- oder Untertakten; Übertakten kann Hardware irreparabel beschädigen. Es gilt: „CPU-Ausführungszeit = CPU-Taktzyklen × Taktzykluszeit“ sowie „Taktzykluszeit = 1 / Taktrate = Programmbefehle × CPI × Taktzykluszeit“. Die Systemgeschwindigkeit hängt außerdem von Cachegröße, Arbeitsspeicher und weiteren Faktoren ab. Einige Prozessoren erhöhen oder senken ihre Taktrate je nach Auslastung, etwa für Spiele oder hochauflösende Videos.

Die Entwicklung führte von Relais- und Röhrenrechnern über Transistoren und integrierte Schaltungen zur Integration aller Prozessorfunktionen auf einem Chip, dem Mikroprozessor, Anfang der 1970er Jahre. Ende der 1980er Jahre wurde der mathematische Koprozessor, Ende der 2000er Jahre auch der Grafikprozessor in den Hauptprozessor integriert; seit den 2010er Jahren kommen weitere Einheiten wie KI-Beschleuniger hinzu. In der Forschung entstehen Prozessoren auch mit anderen Materialien als Silizium, etwa Kohlenstoffnanoröhren, Graphen, Diamant sowie Legierungen aus Elementen der Dritten und Fünften Gruppe des Periodensystems.

Lernvideos zu Prozessor

Weiterlesen

Integrierter Schaltkreis Integrierter Schaltkreis. auf dünnen, meist wenige Millimeter großen Plättchen aus Halbleiter-Material aufgebrachte elektronische Schaltung. Artikel … Anweisung (Programmierung) Anweisungen sind üblicherweise Zuweisungen, Kontrollanweisungen (wie Sprünge, Schleifen und bedingte Anweisungen) und Prozeduraufrufe. Abhängig von der … Computer Ein Computer (englisch; deutsche Aussprache [kɔmˈpjuːtɐ]) oder Rechner ist ein Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet. Programmierung Beim Programmieren sind wesentliche Aspekte zur Softwarequalität zu berücksichtigen und durch die Gestaltung des Quellcodes umzusetzen. Siehe dazu als Beispiele … Elektromagnetisches Spektrum Das elektromagnetische Spektrum, auch EM-Spektrum oder elektromagnetisches Wellenspektrum ist die Gesamtheit aller elektromagnetischen Wellen verschiedener … Atom Jedes Atom gehört zu einem bestimmten chemischen Element und bildet dessen kleinste Einheit. Zurzeit sind 118 Elemente bekannt, von denen etwa 90 auf der … Betriebssystem Betriebssysteme bestehen in der Regel aus einem Kernel (deutsch: Kern), der die Hardware des Computers verwaltet, sowie speziellen Programmen, die beim Start … Mikroprozessor Ein Mikroprozessor (µP oder uP) ist ein als integrierter Schaltkreis (IC) ausgeführter Computerprozessor. Typische Beispiele von Mikroprozessoren sind die … Digitaltechnik Die Digitaltechnik bezeichnet in der technischen Informatik und der Elektronik digitale Schaltungen, in denen Signale digital verarbeitet, d. h. mit … Digitale Revolution In Summe wird deutlich: Die einseitige Perspektive von Spitzer verunklart den Blick auf die Chancen und Risiken des Lebens in einer digitalen Welt.“. 1980er Die 1980er-Jahre umfassen die Jahre von 1980 bis 1989. Sie waren geprägt von neoliberalen Reformen (Reaganomics, Thatcherismus) im Westen, dem Höhepunkt der … Mikrocontroller Ein Mikrocontroller ist damit ein „Ein-Chip-Computersystem“ und bringt alle notwendigen Bausteine für einen kleinen Computer mit sich. Eine MCU unterscheidet …