Prozessortechnik
Ein Prozessor ist eine zentrale Verarbeitungseinheit (CPU) in einem Computer. Deshalb wird viel Aufwand und Mühe in die Weiterentwicklung der Prozessortechnik und deren Herstellung gesteckt. Die Entwicklung in der Prozessortechnik verlief lange Zeit nach scheinbar einfachen Gesetzen: Man optimiert den internen Aufbau, verkleinert die Strukturen, senkt die Betriebsspannung, erhöht die Taktfrequenz und verbessert den Herstellungsprozess. Und schon war die nächste Prozessor-Generation geboren. Doch dieser Entwicklung sind enge physikalische Grenzen gesetzt.
Es geht um die Fragestellung, mit welchen Maßnahmen und Techniken man einen Prozessor noch leistungsfähiger machen kann.
Architektur
Diese Kategorie umfasst grundlegende Merkmale des Aufbaus und Designs von Prozessoren. Dazu zählen Grundlegendes wie Modularität und Multi-Core-Designs, die Steuerlogik sowie sicherheitsrelevante Aspekte auf Architektur-Ebene.
- RISC und CISC
- Modularität
- Multi-Core
- Pipelining
- In-Order-Architektur
- Sicherheitslücken in Intel-, AMD- und ARM-Prozessoren
Fertigung und Produktion
Hier geht es um technische Aspekte der Herstellung von Prozessoren, wie die Miniaturisierung (kleinere Strukturen), die Integration verschiedener Komponenten, typische Fehlerquellen und physikalische Herausforderungen.
- Integrationsgrad und Strukturbreite
- Probleme durch kleinere Strukturen
- Leckstrom
- Fehler in Prozessoren (Bugs)
- Stepping und Revision
- Prozessor-Sockel
Leistung und Effizienz
Diese Gruppe behandelt Maßnahmen zur Leistungssteigerung und Energieeffizienz. Dazu zählen Taktfrequenz-Erhöhungen, Techniken zur parallelen Befehlsverarbeitung und erweiterte Adressierung mit 64-Bit.
- Probleme und Herausforderungen
- Multiplikator
- Steigerung der Taktfrequenz
- Parallelisierung
- TDP - Thermal Design Power
- Instruction per Cycle (IPC)
Leistungsmerkmale und Erweiterungen
Diese Kategorie fasst Zusatzfunktionen und Erweiterungen zusammen, die von modernen CPUs erwartet werden und über die reine Rechenleistung hinausgehen.
- 64-Bit-Prozessor
- Turbo Boost und Turbo Core
- Hardware-Beschleunigung
- Virtualisierung
- Integrated GPU (iGPU)
Architektur
RISC und CISC
RISC und CISC sind zwei Befehlssatzarchitekturen für Prozessoren. RISC hat einen reduzierten Befehlssatz, während CISC einen umfangreichen Befehlssatz hat. Moderne Prozessoren kombinieren beide Konzepte. Diskussionen über die Überlegenheit von RISC oder CISC sind komplex, da viele Faktoren die Effizienz beeinflussen. RISC-Prozessoren sind oft effizienter, da sie weniger Befehle nutzen. CISC-Prozessoren benötigen weniger Speicher, verbrauchen jedoch mehr Strom.
Modularität
Um die Leistungsfähigkeit von Prozessoren zu steigern, werden einige Funktionsblöcke mehrfach integriert. Diese arbeiten parallel und erhöhen so in Summe die Rechengeschwindigkeit des Prozessors.
Aufgrund der Vielzahl an Funktionalitäten versuchen die CPU-Hersteller ihre Prozessoren modular zu gestalten. So können die einzelnen Schaltungsteile besser weiterentwickelt werden. Es hilft auch beim Stromsparen, wenn einzelne Prozessorteile abgeschaltet werden können. Zudem lassen sich verschiedene Varianten kombinieren und so neue Prozessortypen bauen.
Neben dem Chipsatz ist der Speichercontroller und die Grafikausgabe heute fester Bestandteil eines jeden Desktop-Prozessors.
Moderne Prozessoren haben außerdem mehrere Kerne, nutzen Befehlssatzerweiterungen, intelligente Zwischenspeicher, verfügen über Virtualisierungstechnik und einen integrierten Grafikprozessor.
Multi-Core
Multi-Core-Prozessoren verfügen über mehrere Recheneinheiten, die als separate Kerne agieren. Sie bieten eine höhere Leistung bei geringerem Energieverbrauch im Vergleich zu Single-Core-Prozessoren. Die effektive Nutzung erfordert jedoch, dass Software für Parallelität optimiert ist, was oft nicht der Fall ist.
Pipelining
Pipelining bedeutet, dass Befehle im Programmcode in mehreren Schritten, wie an einem Fließband abgearbeitet werden. Das bedeutet, dass ein Befehl bei seiner Ausführung mehrere Stationen wie in einem Fließband durchlaufen muss. Während ein Befehl in der Pipeline liegt, wird am Anfang bereits der nächste Befehl zur Verarbeitung nachgeschoben. Bei einer langen Pipeline können sich aber längere Wartezeiten ergeben. Zum Beispiel beim Speicherzugriff. Durch eine entsprechende Programmierung und durch simultanes Multithreading (SMT) lassen sich diese Verzögerungen sinnvoll überbrücken.
In-Order-Architektur
Wenn ein Prozessor eine In-Order-Architektur hat, dann bedeutet das, dass die Operationen eines Threads (Programmablauf) in der vom Compiler (Übersetzer von Programmcode in Maschinenbefehle des Prozessors) vorgegebenen Reihenfolge nacheinander ausgeführt werden. Aus diesem Grund prüfen Prozessoren mit einer In-Order-Struktur bzw. In-Order-Architektur mit einfachen Mechanismen, ob zwei aufeinanderfolgende Befehle parallel ausgeführt werden können. Wenn ja, dann werden sie in zwei Pipelines abgearbeitet. Für spezielle Befehlsgruppen gibt es sogar eigene Pipelines.
Wenn ein Befehl früher fertig ist als der Befehl in der anderen Pipeline, dann wartet er, bis auch der andere abgearbeitet ist. Erst dann geht es im Programmcode weiter. Der Compiler kann durch geschickte Sortierung der Befehle für eine Optimierung sorgen. Wenn dann aber ein Befehl auf den Speicher zugreift und die Daten nicht in einem der Caches liegen, dann muss der Prozessor warten. An dieser Stelle hätte die Out-of-Order-Execution klare Vorteile. Hier treten Wartezeiten seltener auf.
Sicherheitslücken in Intel-, AMD- und ARM-Prozessoren
Im Jahr 2017 wurden Sicherheitslücken mit der Bezeichnung Spectre und Meltdown vor allem in Prozessoren von Intel, aber auch ARM und teilweise AMD bekannt, die es bösartiger Software erlaubte, vermeintlich geschützte Daten eines anderen parallel laufenden Programms zu lesen. Besonders betroffen davon sind die Betreiber virtueller Maschinen mit unterschiedlichen Kunden, die davon ausgehen, dass die emulierten Systeme voneinander abgeschottet sind. Anders bei typischen Desktop-PCs. Hier gibt es andere Sicherheitslücken, die sich leichter für Angriffe missbrauchen lassen.
Fertigung und Produktion
Integrationsgrad und Strukturbreite
Der Integrationsgrad ist ein Maß, wie viele Funktionen auf einem Schaltkreis untergebracht werden können. Man unterscheidet zwischen einem niedrigen, mittleren, hohen und sehr hohen Integrationsgrad.
Bei der Herstellung von integrierten Schaltkreisen, dazu zählen auch Prozessoren, bezieht man sich häufig auf die Strukturbreite. Damit ist die Breite der einzelnen Leiterbahnen auf dem Schaltkreis gemeint. Im Laufe der Zeit wird die Strukturbreite immer kleiner. Das bedeutet, dass immer mehr Transistoren in einem Schaltkreis untergebracht werden können. Das ist deshalb notwendig, weil die Prozessoren immer komplexer werden.
Je kleiner die Strukturbreite,
- desto kleiner der Schaltkreis,
- desto höher die (interne) Taktfrequenz,
- desto niedriger die Speisespannung
- und desto schwieriger und kostenintensiver die Fertigung.
Bei der Angabe der Strukturbreite bezieht man sich auf einen bestimmten Herstellungsprozess. Hierbei wird von der µm-Technologie oder vom µm-Prozess gesprochen.
Probleme durch kleinere Strukturen
Wenn man einen Prozessor mit zusätzlichen Funktionen, Befehlen und größerem Speicher ausstattet, dann wird seine Chipfläche größer und das Taktsignal muss längere Wege zurücklegen. Das hat zur Folge, dass an unterschiedlichen Stellen im Chip zeitlich unterschiedliche Taktflanken vorhanden sind. Der Zeitunterschied muss in einem akzeptablen Bereich liegen, was man mit einem leistungsstärkeren Takttreiber lösen kann. Dadurch erhöht sich aber die Verlustleistung des Prozessors. Deshalb wird die Chipfläche bei jeder neuen Generation durch kleinere Strukturen verkleinert. Gemeint ist, dass zwischen den Schaltelementen immer dünnere Abstände und Verbindungen gesetzt werden. Dadurch steigt der Widerstand der Verbindungen und die Signale bewegen sich langsamer.
Leckstrom
In Chips werden vor allem Transistoren verwendet. Diese Transistoren haben das so genannte Gate, das bestimmt, ob der Transistor ein- oder ausgeschaltet ist. Bestandteil des Gates ist das Gate-Dielektrikum. Das ist eine Isolationsschicht aus billig herstellbarem Siliziumdioxid. Bei einer Dicke von 1,2 Nanometern (nm) entspricht das etwa 5 Atomlagen, also 5 Atome übereinander. Mit dieser dünnen Siliziumdioxid-Schicht nehmen die elektrischen Leckströme zu. Dabei fließt ein Teil der Ladung, der auf dem Gate des Transistors sitzen sollte, durch die Isolationsschicht hindurch. Als Folge entsteht mehr Abwärme und ein größerer Stromverbrauch. Bei vielen Millionen Transistoren in einem Chip ist das ein ernstzunehmendes Problem.
Fehler in Prozessoren (Bugs)
Nicht nur in Software, auch in Prozessoren können Fehler (Bugs) enthalten sein. Durch die steigende Größe der Prozessoren, in denen mehrere Millionen Transistoren eingebaut sind, steigt auch die Anzahl der Fehler, die sich innerhalb eines Prozessors befinden. Einige Fehler können durchaus ernster Natur sein. Besonders dann, wenn sie zum Absturz des Systems führen, falsche Daten berechnen oder einen Datenverlust verursachen. Es kann auch sein, dass diese Fehler potenzielle Sicherheitsrisiken darstellen, weil sie sich möglicherweise als Schwachstellen durch Schadsoftware ausnutzen lassen.
Die meisten CPU-Fehler treten mit realem Code sehr selten auf, weshalb die Prozessor-Hersteller die Fehler selbst in Laborversuchen nur unter extremen Bedingungen finden. Sie versorgen Hardware-Entwickler und Programmierer mit Hinweisen, wie sich diese Fehler umgehen lassen. Die Fehlerdokumentation erfolgt je nach Hersteller mehr oder weniger öffentlich und schnell.
Oft lassen sich Fehler von Programmierern oder vom Compiler vermeiden, in dem bestimmte Befehle oder Befehlsfolgen vermieden oder umgangen werden. Andere Fehler lassen sich durch einen Software-Patch im Processor Abstraction Layer (PAL) beheben.
Es gibt auch Prozessor-Fehler, die sich durch Veränderungen der CPU-Initialisierung (also per BIOS-Update) beheben lassen oder per Microcode-Update. Ein Microcode-Update findet durch ein BIOS-Update oder ein Betriebssystem-Patch statt. Die Möglichkeit der Microcode-Updates wurde bei x86-Prozessoren unter anderem deshalb geschaffen, um Fehler nachträglich korrigieren zu können. Der Microcode kann einem Prozessor auch komplett neue Befehle beibringen.
Wenn das alles nicht hilft und der Fehler kritisch ist, dann muss der Prozessor-Hersteller die betroffenen Prozessoren austauschen.
Stepping und Revision
Die meisten Prozessor-Hersteller korrigieren die Fehler ihrer Prozessoren und produzieren optimierte Versionen. Man spricht dann von "Stepping" und "Revision" bei neueren Versionen eines Prozessors.
Prozessor-Sockel
In der Anfangszeit der Computer wurden Prozessoren, wie bei Halbleitern üblich, fest auf dem Mainboard gelötet. Irgendwann kam man dem Bedarf nach, Prozessoren und Mainboard getrennt voneinander zu verkaufen. Seit dem 486er (Prozessor von Intel) ist es üblich, auf dem Mainboard einen Sockel, statt einem Prozessor anzubringen. Erst beim Zusammenbau des Computers wird der Prozessor in den Sockel gesteckt und zusammen mit Kühlkörper und Lüfter auf dem Mainboard befestigt. Das hat unter anderem den Vorteil, dass ein PC-Hersteller viele unterschiedlich leistungsfähige Computer in unterschiedlichen Preissegmenten anbieten kann. Außerdem kann der Anwender bei Bedarf den Prozessor wechseln, wenn ihm die Leistung nicht mehr ausreicht.
Für die Definition des Prozessorsockels sind die Prozessor-Hersteller verantwortlich, die an dieser Stelle aber mit den Chipsatz- und Mainboard-Herstellern zusammenarbeiten.
Da mit jeder neuen Prozessor-Generation meist auch ein neuer Prozessorsockel kommt, passen neuere Prozessoren nicht immer in alte Mainboards.
Je nach Bauform und Anwendungsfall ist es üblich, Hauptprozessoren ohne Sockel direkt auf die Hauptplatine zu löten. Er ist dann nicht austauschbar. Das ist in der Regel kein Problem, weil der Hauptprozessor in einem Computer nicht das einzige leistungsbestimmende Bauteil ist und sich das Aufrüsten preislich nicht mehr lohnt.
Leistung und Effizienz
Probleme und Herausforderungen
Das Problem ist, dass man in den Bereichen Hochleistung und Energieeffizienz mit konventionellen Halbleiterarchitekturen angesichts eines zunehmenden Bedarfs an Rechenleistung an Grenzen stößt. Gemeint ist, dass bei steigender Rechenleistung die Energieaufnahme nicht weiter steigen darf. Denn das Wärmebudget ist in einem Computergehäuse und auch in Rechenzentren begrenzt. Gefragt sind Prozessoren, die je nach Anforderung viel Leistung flexibel bereitstellen können und dabei möglichst wenig Strom verbrauchen.
Multiplikator
Der Multiplikator ist der Faktor, mit dem die Taktfrequenz eines Prozessors eingestellt wird. Als Basis dient eine Basistaktfrequenz von zum Beispiel 100 MHz, die vom Prozessor und von dessen Hersteller abhängt. Die tatsächliche Taktfrequenz des Prozessors ergibt sich dann aus dieser Basistaktfrequenz von und einem einstellbaren Multiplikator.
Beispiel: Bei einer Basistaktfrequenz von 100 MHz und einem Multiplikator von 20 hat der Prozessor einen internen Takt von 2,0 GHz.
Steigerung der Taktfrequenz
Die Steigerung der Taktfrequenz bzw. der Taktrate ist im Prinzip die einfachste Möglichkeit, die Geschwindigkeit eines Prozessors zu steigern. Allerdings gibt es physikalische Grenzen, wegen denen das Steigern der Taktfrequenz nicht möglich ist. Die Taktfrequenz bestimmt unter anderem die entstehende Verlustleistung und damit die Lebensdauer des Prozessors.
Während anfangs die Taktfrequenz eines Prozessors viel über die Rechenleistung aussagt, ist heute ein ausgewogenes System aus Anzahl der Rechenkerne, Cache und Arbeitsspeicher-Größe das Maß für einen schnellen Computer. Immer weniger Anwendungen benötigen die volle Rechenleistung eines aktuellen Prozessors.
Parallelisierung
Weil bei der Abarbeitung von Programmcode immer wieder Verzögerungen durch Zugriffe auf Speicher, Schnittstellen und Geräte auftreten, sind moderne Prozessoren intern so strukturiert, dass die anstehenden Aufgaben auf mehrere parallel arbeitende Einheiten verteilt werden. Auf diese Weise kommt die zur Verfügung stehende Rechenleistung eines Prozessors viel besser zur Geltung.
TDP - Thermal Design Power
Thermal Design Power (TDP) beschreibt die maximale Wärmeleistung eines Prozessors, die das Kühlsystem abführen muss, um die Nennleistung aufrechtzuerhalten. TDP-Werte variieren je nach Hersteller und geben wenig über die tatsächliche Leistungsaufnahme in verschiedenen Betriebszuständen an.
Instruction per Cycle (IPC)
Die Kenngröße Instructions per Cycle (IPC) bzw. Instructions per Clock beschreibt die Effizienz eines Prozessors, indem sie angibt, wie viele Maschinenbefehle (Instructions) im Durchschnitt pro Taktzyklus (Clock Cycle) ausgeführt werden können.
- Der IPC (Instructions per Cycle) gibt an, wie viele Anweisungen ein Prozessor durchschnittlich pro Taktzyklus ausführt. Ein höherer IPC bedeutet eine effizientere Ausnutzung des Prozessortakts.
- Der CPI (Cycles per Instruction) gibt an, wie viele Taktzyklen der Prozessor im Durchschnitt pro Instruction benötigt. Ein niedrigerer CPI bedeutet eine effizientere Befehlsausführung.
Leistungsmerkmale und Erweiterungen
64-Bit-Prozessor
Ein 64-Bit-Prozessor ermöglicht einen größeren Adressraum für Arbeitsspeicher, Schnittstellen und Geräte. Bei einem 32-Bit-Prozessor wäre der Arbeitsspeicher bspw. auf maximal 4 GByte beschränkt. Tatsächlich wäre es noch weniger, weil Schnittstellen und Geräte auch noch Adressen brauchen.
Turbo Boost und Turbo Core
Turbo Boost von Intel und Turbo Core von AMD sind automatische Übertaktungsmechanismen für Prozessoren, die die Leistung steigern, wenn nur wenige Kerne ausgelastet sind. Sie erhöhen die Taktfrequenz eines einzelnen Kerns, während andere in den Energiesparmodus gehen, ohne die TDP-Grenze zu überschreiten.
Dadurch erhöht man die Rechenleistung für Anwendungen, die nicht für Mehrkern-Prozessoren optimiert sind.
Hardware-Beschleunigung
Zur Hardware-Beschleunigung zählen Spezialfunktionen in Prozessoren, Chipsätzen und Erweiterungskarten. Meistens finden sich in Prozessoren entsprechende Erweiterungen, die Computer mit speziellen Anwendungen unterstützen. Besonders leistungsschwache und akkubetriebene Geräte sind auf Hardware-Beschleunigung angewiesen. Sie sorgt dafür, dass immer wiederkehrende rechenintensive Software-Bestandteile durch spezielle Funktionen in der Hardware schneller ausgeführt werden.
Das Problem besteht darin, dass Software-Entwickler beim Programmieren mit Funktionen der Hardware-Beschleunigung einen höheren Aufwand betreiben müssen. Oft lohnt sich dieser Aufwand nicht, da das Marktpotential dadurch schrumpft. PC-Besitzer tauschen ihre Computer nur sehr langsam aus, weshalb es lange dauert, bis neue Hardware sich im Markt etabliert. Ein Software-Entwickler kann daher nicht davon ausgehen, dass spezielle Hardware-Funktionen auf den Computern ihrer Kunden vorhanden sind.
Bei kleinen mobilen Geräten wie Smartphones und Tablets verhält es sich anders. Hier bilden Betriebssystem, Entwicklungsumgebung und Hardware oft eine Einheit. Die Hardware ist so speziell, dass nur ein bestimmtes Betriebssystem darauf läuft. Software-Entwickler haben es in diesem Fall einfacher. Sie verwenden einfach die Entwicklungsumgebung, die zum jeweiligen System gehört. Diese Entwicklungsumgebung berücksichtigt bereits bei der Entwicklung die speziellen Funktionen der Hardware-Beschleunigung.
Virtualisierung
Mit der Virtualisierung kann man mehrere Software-Systeme parallel auf einer Hardware laufen lassen. Das können zum Beispiel unterschiedliche Betriebssysteme sein. Virtualisierung wird oft von der Hardware unterstützt, die den Betrieb virtueller Computer auf einem Computer erleichtert oder beschleunigt.
iGPU - Integrated GPU
Integrierte GPUs (iGPUs) sind Grafikprozessoren, die in CPUs von PCs und Notebooks integriert sind. Sie bieten eine gute Leistung für 3D-Spiele und KI-Anwendungen, haben jedoch weniger Shaderkerne und teilen sich den Arbeitsspeicher mit der CPU, was die Leistung einschränkt. iGPUs sind besonders für mobile Geräte geeignet.
Übersicht: Prozessortechnik
- RISC und CISC
- 64-Bit-Prozessor
- Multiplikator
- Turbo Boost und Turbo Core
- Stepping und Revision
- TDP - Thermal Design Power
- Prozessor-Kühlung
- Prozessor-Lüfter-Anschluss
- Prozessor-Sockel
- Sicherheitslücken in Prozessoren
- Virtualisierung (Prozessortechnik)
- Parallelisierung
- Pipelining
- Coprozessor
- iGPU - Integrated GPU
- Krypto-Chip
- Multi-Core / Mehrkern-Prozessoren
Übersicht: Prozessor-Architekturen
Weitere verwandte Themen:
Lernen mit Elektronik-Kompendium.de
Noch Fragen?
Bewertung und individuelles Feedback erhalten
Aussprache von englischen Fachbegriffen
Computertechnik-Fibel
Alles was du über Computertechnik wissen musst.
Die Computertechnik-Fibel ist ein Buch über die Grundlagen der Computertechnik, Prozessortechnik, Halbleiterspeicher, Schnittstellen, Datenspeicher, Laufwerke und wichtige Hardware-Komponenten.
Computertechnik-Fibel
Alles was du über Computertechnik wissen musst.
Die Computertechnik-Fibel ist ein Buch über die Grundlagen der Computertechnik, Prozessortechnik, Halbleiterspeicher, Schnittstellen, Datenspeicher, Laufwerke und wichtige Hardware-Komponenten.
Artikel-Sammlungen zum Thema Computertechnik
Alles was du über Computertechnik wissen solltest.