Kapitel 3. Zentrale Infrastruktur und Mechanismen
3.1. CPU-Leerlauf-Zustände
CPUs mit der x86-Architektur unterstützen verschiedene Zustände, in denen Teile der CPU deaktiviert sind oder mit eingeschränkten Performanz-Einstellungen laufen. Diese Zustände, bekannt als C-states, ermöglichen es Systemen, Strom zu sparen, indem sie teilweise nicht benutzte CPUs deaktivieren. C-States werden am C0 aufwärts nummeriert, wobei höhere Nummern eine geringere CPU-Funktionalität und größeres Stromsparen repräsentieren. C-Zustände einer vorgegeben Anzahl sind überwiegend gleich auf verteilten Prozessoren, auch wenn die genauen Details des speziellen Feature-Sets des Zustands zwischen den Prozessorfamilien variieren kann. C-Zustände 0-3 werden wie folgt definiert:
- C0
- der Betriebs- oder Lauf-Zustand. In diesem Zustand arbeitet die CPU und befindet sich überhaupt nicht im Leerzustand.
- C1, Halt
- ein Zustand, in dem der Prozessor keinerlei Anweisungen ausführt, sich jedoch in keinem Niedrigstrom-Zustand befindet. Die CPU kann mit der Verarbeitung von Prozessen fast ohne Verzögerung fortfahren. Alle Prozessoren, die C-Zustände bieten, müssen diesen Zustand unterstützen. Pentium 4 Prozessoren unterstützen einen verbesserten C1-Zustand, genannt C1E, der tatsächlich ein Zustand für niedrigeren Stromverbrauch ist.
- C2, Stop-Clock
- ein Zustand, bei dem die Taktrate für diesen Prozessor eingefroren wird, der komplette Zustand für dessen Register und Cache jedoch behalten wird, so dass beim erneuten Start der Taktrate, die Verarbeitung von Prozessen fortfahren kann. Dies ist ein optionaler Zustand.
- C3, Sleep
- ein Zustand, in dem der Prozessor tatsächlich in einen Schlafzustand versetzt wird und der Cache nicht beibehalten werden muss. Das Aufwachen aus diesem Zustand dauert aus diesem Grund deutlich länger, als aus C2. Auch dies ist ein optionaler Zustand.
Aktuelle Intel CPUs mit der "Nehalem" Mikroarchitektur unterstützen einen neuen C-State, C6, der die Volt-Versorgung einer CPU auf Null reduzieren kann. Typischerweise wird der Stromverbrauch jedoch um 80% - 90% gesenkt. Der Kernel in Red Hat Enterprise Linux 6 beinhaltet eine Optimierung für diesen neuen C-State.