PC-Technik Michael Kuhrts, Christoph Volkmann
Grundlagen
5. Ausgabe, September 2011 PCT
3
PC-Technik - Grundlagen
3
Prozessor In diesem Kapitel erfahren Sie
D D D D
wie ein Prozessor funktioniert aus welchen Komponenten ein Prozessor aufgebaut ist welche Betriebsmodi Intel-Prozessoren besitzen welche Prozessoren Intel und AMD vertreiben
Voraussetzungen
D Physikalische Grundlagen D Technisches Verständnis
3.1
Funktion der CPU
Von-Neumann-Architektur Die meisten Computer arbeiten nach dem EVA-Pinzip, das heißt, sie besitzen Geräte zur Eingabe, Verarbeitung und Ausgabe von Daten. Ein populäres Konzept für den Aufbau des Verarbeitungsgerätes ist die Von-Neumann-Architektur, die bereits 1949 vom Mathematiker John von Neumann entwickelt wurde. Sie besteht im Wesentlichen aus vier Funktionseinheiten:
D D D D
Rechenwerk Steuerwerk
Steuerwerk
Rechenwerk
Speicher
Schnittstellen (Bussystem)
Speicher Ein- und Ausgabeeinheit
Eine weitere wichtige Komponente, das Bussystem, bietet die Schnittstellen für die Kommunikation der einzelnen Komponenten untereinander und mit der Außenwelt.
Eingabe/Ausgabe Hauptkomponenten des Verarbeitungsgerätes
Im PC sind wesentliche Teile dieser Architektur in einem zentralen Baustein zusammengefasst, der Central Processing Unit (CPU). Die CPU kontrolliert den kontinuierlichen Datenfluss zwischen den einzelnen Funktionseinheiten. Die Daten entstammen dem Arbeitsspeicher oder den angeschlossenen Geräten (Tastatur, Laufwerke etc.). Nach der Verarbeitung wird das Ergebnis an den Arbeitsspeicher oder an ein Gerät geschickt. Die CPU lädt eigenständig den nächsten auszuführenden Befehl zur Datenverarbeitung. Die eigentliche Arbeit der CPU ist dann das Berechnen und Verschieben von Daten. Der Von-Neumann-Rechner arbeitet sequenziell, Befehle und Daten aus dem Speicher werden also schrittweise nacheinander abgearbeitet. Das Bussystem entpuppt sich dabei oft als Flaschenhals, weil vor und nach jedem Verarbeitungsschritt dieselben Leitungen verwendet werden müssen. Eine Verbesserung gelang mit der Entwicklung einer hierarchisch gegliederten Speicherstruktur, bestehend aus Registern und verschiedenen Speicherebenen (Cache-Ebenen). Häufig genutzte Daten und Befehle können dabei in schnellen separaten Cache-Speichern abgelegt werden. Darüber hinaus erreichen neue CPU-Generationen durch eine feinere Aufteilung der Funktionseinheiten und eine Erweiterung der Befehlssätze bereits eine teilweise parallele Arbeitsweise. So können pro Ausführungszyklus mehrere Daten verarbeitet werden. Durch die Entwicklung von Systemen mit mehreren Prozessoren oder Prozessorkernen wurde diese Parallelisierung in den letzten Jahren immer weiter vorangetrieben.
20
© HERDT-Verlag
3
Prozessor
Die folgende Tabelle gibt eine Übersicht über die Funktionseinheiten einer CPU: Funktionseinheit
Funktion
IDU Instruction Decode Unit
Befehlsdecoder: Alle eingehenden Befehle, die den Prozessor als Programm erreichen, werden in einen Mikrocode übersetzt und an die ausführende Einheit übergeben.
EXU Execution Unit
Ausführungseinheit: Alle Befehle, die nun im Mikrocode vorliegen, werden ausgeführt.
COL Control Logic
Kontrolleinheit: Sie sorgt für eine Kontrolle im Ablauf der Mikrocodes.
BIL Bus Interface Logic
Bussteuereinheit: Sie überwacht und steuert den Bus.
ALU Arithmetic Logic Unit
Arithmetisch-logische Einheit: Sie ist zuständig für die Ausführung arithmetischer (Addition, Subtraktion, Multiplikation, Division) und logischer Rechenoperationen (UND, ODER, NICHT).
FPU Floating Point Unit
Fließkomma-Rechner: Von ihm werden Berechnungen mit Fließkommazahlen durchgeführt.
DC Data Cache
Daten-Cache-Speicher: Er dient als schneller Datenzwischenspeicher.
CC Code Cache
Befehls-Cache-Speicher: Er dient als schneller Befehlszwischenspeicher.
Steuerwerk oder Leitwerk Das Steuerwerk ist die mitunter umfangreichste Zusammenfassung unterschiedlicher Funktionsblöcke. Es besteht aus den verschiedenen Kontrolleinheiten, in denen sämtliche Vorgänge im Computer kontrolliert und gesteuert werden.
Befehlsdecoder Der Befehlsdecoder (IDU - Instruction Decode Unit) ist auf dem Prozessor oft mehrmals in einer parallelen Anordnung vorhanden. Dies erlaubt eine kürzere Zeitspanne für die Befehlsdurchführung. Auch die Ausführungseinheit (EXU - Execution Unit) ist bei vielen Prozessoren mehrmals vorhanden.
Rechenwerk Zum Rechenwerk gehören neben der ALU (Arithmetic Logic Unit) und der FPU (Floating Point Unit) auch Register, in denen Daten zwischengespeichert werden können. Nur mithilfe der arithmetisch-logischen Einheit (ALU) kann der Prozessor Gleichheits- und Ungleichheitsprüfungen sowie Größenbestimmungen durchführen. Nur dann können alle Anweisungen eines Programms abgearbeitet werden.
Fertigungstechniken Die CPU basiert auf der Mikrochiptechnologie. Dabei werden - derzeit bis zu 1,2 Milliarden - Transistoren als elektronische Schalter auf einem nur wenige Quadratzentimeter großen Träger aus Halbleitermaterial (meist Silizium) implantiert, dem Mikrochip. Von diesem leitet sich auch die Bezeichnung Mikroprozessor ab. Funktion und Aufgabengebiet des Prozessors werden durch Anzahl und logische Verknüpfung der Transistorfunktionen festgelegt. Der "nackte" Mikrochip wird auch als Die (engl. Plättchen) bezeichnet. Zum Schutz vor mechanischen Belastungen werden die Mikrochips in einem Gehäuse aus Kunststoff oder Keramik untergebracht. Leistungsfähige moderne Prozessoren besitzen meist eine Abdeckung aus Metall (Heatspreader), welche die entstehende Wärme auf eine größere Fläche abführt und das empfindliche Prozessor-Die schützt. Von außen zugängliche Kontakte sorgen für den elektrischen Anschluss.
© HERDT-Verlag
21
3
PC-Technik - Grundlagen
Im Rhythmus von ein bis zwei Jahren wird die Fertigungstechnik verbessert und erlaubt die Herstellung von immer kleineren Strukturen. Ein Pentium 4 (Northwood) von 2002 wurde noch im 130-nm-Prozess gefertigt, beim heutigen i7-Prozessor (Sandy Bridge) sind es nur noch 32 nm. Die Verkleinerung erlaubt eine Reduzierung der Spannung sowie eine Erhöhung des Taktes und der Transistorzahl. Dadurch kann eine neue Prozessorgeneration entweder deutlich weniger Energie bei gleicher Leistung verbrauchen oder bei gleichem Energieverbrauch deutlich leistungsfähiger sein. Da die Erhöhung des Takts ab einer Grenze von etwa 4 GHz zunehmend schwieriger wurde und die Kühlung extrem hoch getakteter Prozessoren kaum noch zu bewerkstelligen war, sind 2005 die Hersteller Intel und AMD dazu übergegangen, mehrere (niedriger getaktete) Prozessorkerne in einem Prozessor zusammenzufassen (Multicore). Inzwischen gibt es kaum noch Prozessoren mit nur einem Kern und die Anzahl der Kerne in einem Prozessor im Serverbereich liegt inzwischen bei 12. Bei normalen Desktopcomputern sind es immerhin schon sechs Kerne pro CPU, Tendenz steigend.
3.2
Leistungsmerkmale moderner Prozessoren
Leistungsmerkmale der CPU Um die Eigenschaften moderner Prozessoren zu beschreiben, gibt es zahlreiche Kenngrößen und Technologien:
D D D D D D D D
Taktfrequenz (intern und extern) Art des Befehlssatzes oder Möglichkeiten zur parallelen Abarbeitung von Befehlen (Multi-Threading) Anzahl der CPU-Kerne im Prozessorgehäuse (Muticore-Prozessoren) Größe der Caches, Vorhandensein von Level-3-Cache Geschwindigkeit der Speicheranbindung Prozessorarchitektur Busbreite (64 Bit) Vorhandensein der Befehlssatzerweiterungen zur Beschleunigung bestimmter Berechnungen (SSE, früher MMX und 3dNow!)
Das Zusammenwirken aller dieser Faktoren bestimmt die Leistungsfähigkeit eines Prozessors. Dabei kann ein Flaschenhals oder Schwachpunkt an einer Stelle dafür sorgen, dass die Leistung sofort dramatisch einbricht. Es ist daher fast unmöglich, anhand von ein paar Zahlen die tatsächliche Leistung abzuschätzen. Dennoch gilt weiterhin das Prinzip "Viel hilft viel": Mehr Prozessorkerne, ein höherer Takt und viel Cache lassen eine höhere Leistung erwarten.
Taktfrequenz/CPU-Geschwindigkeit Die CPU verarbeitet Daten und Befehle in einem festgelegten Rhythmus, der durch einen Taktgeber (clock) festgelegt wird. Die Anzahl der Taktimpulse pro Sekunde, die der Taktgeber abgibt, ist im physikalischen Sinne eine Frequenz und wird deshalb in Hertz angegeben. Bei modernen Prozessoren liegt diese Frequenz im GigahertzBereich. 1 GHz = 1 Milliarde Taktimpulse pro Sekunde = 1.000 MHz 1 MHz = 1 Million Taktimpulse pro Sekunde Jede Anweisung eines Programms, die von der CPU ausgeführt wird, erfordert eine bestimmte Anzahl von Taktimpulsen. Je höher die Taktfrequenz ist, desto schneller können einzelne Programmanweisungen bearbeitet werden. Eine Aufgabe, die von einer CPU mit 1 GHz in 30 Sekunden ausgeführt wird, kann theoretisch auf einer vergleichbaren 2-GHz-CPU in 15 Sekunden ablaufen. Ein doppelt so hoher Takt bedeutet hier tatsächlich doppelte Geschwindigkeit. Für den Leistungsvergleich von CPUs der gleichen Familie und Generation eines Herstellers kann also die Taktrate als Leistungsmerkmal herangezogen werden.
22
© HERDT-Verlag
3
Prozessor
Bei einem Prozessorkern stimmt diese Theorie mit der Praxis auch recht gut überein, bei Prozessoren mit mehr als einem Kern wird es allerdings schwieriger. Damit eine Aufgabe mit mehr als einem Prozessorkern schneller abgearbeitet werden kann, muss diese Aufgabe in Teilaufgaben (Threads) zerlegbar sein, die nun gleichzeitig von den Prozessorkernen bearbeitet werden. Selbst in diesem Fall sind zwei Kerne niemals genau doppelt so schnell wie einer, da nicht alle Aufgaben parallelisierbar sind und ein beträchtlicher Verwaltungsaufwand entsteht. In der Praxis sorgt der technische Fortschritt durch Verbesserungen in der Prozessorarchitektur dafür, dass bei manchen Aufgaben eine Doppelkern-CPU sogar mehr als doppelt so schnell ist wie eine (ältere) Einkern-CPU bei gleichem Takt. Auf Multi-Threading und Multicore-Prozessoren wird später noch eingegangen. Die Taktfrequenz wird oft mit der "Geschwindigkeit" einer CPU gleichgesetzt und als ausschlaggebender Faktor beim Prozessor- oder Computerkauf missbraucht: höhere Taktfrequenz = höhere Leistung. Dieser Vergleich ist aber grob vereinfachend und so wenig aussagekräftig wie der Vergleich von maximalen Motordrehzahlen verschiedener Automodelle. Die tatsächliche Leistung einer CPU hängt unter anderem auch davon ab, wie viele Befehle je Taktzyklus gleichzeitig verarbeitet werden können, wie viele Prozessorkerne vorhanden sind, wie schnell die Anbindung an den Speicher und wie groß der Cache ist. Hier gibt es deutliche Unterschiede zwischen verschiedenen Herstellern und Prozessorarchitekturen, die an der Taktfrequenz nicht erkennbar sind. Leider sind all diese Informationen aus der CPU-Bezeichnung oft gar nicht ersichtlich. Moderne Computersysteme verfügen über einen variablen Taktgeber, der im Chipsatz der Hauptplatine enthalten ist und zur Steuerung der Hauptplatinengeschwindigkeit und der Geschwindigkeit der CPU dient. Zu Zeiten des Intel Pentiums leiteten sich noch sämtliche Taktfrequenzen im System aus einem einzigen Taktsignal ab, bei Prozessoren wie dem AMD Phenom oder der Core-i-Reihe von Intel können die Geschwindigkeiten unabhängig voneinander eingestellt werden. Die Prozessoren tauschen ihre Daten zwar mit der Taktgeschwindigkeit der Hauptplatine aus, können intern jedoch mit einem Vielfachen dessen rechnen. Der variable Taktgeber wird auf die benötigte Taktgeschwindigkeit der Hauptplatine eingestellt. Bei älteren Prozessoren ist dies der Front-Side-Bus-Takt (FSB), bei neueren Prozessoren mit integriertem Speichercontroller übernimmt diese Rolle ein Referenztakt oder Systemtakt. Die interne Rechengeschwindigkeit des Prozessors ergibt sich dann aus diesem Takt multipliziert mit einem halb- oder ganzzahligen Multiplikator. Dieser Multiplikator wurde früher ebenfalls auf der Hauptplatine eingestellt, ist bei modernen Prozessoren meist von außen nicht mehr zu steuern oder fest vom Hersteller des Prozessors vorgegeben. Ausnahmen bilden die Spitzenmodelle beider Hersteller, die als Extreme Edition oder Black Edition gehandelt werden. Hier ist der Multiplikator frei wählbar. Neuere Techniken erlauben dem Prozessor sowohl das automatische Absenken des Multiplikators zum Energiesparen (bei AMD Cool'n'Quiet, Intel SpeedStep) als auch das automatische Heraufsetzen, falls bei mehreren Kernen nur einer beschäftigt ist (Intels Turbo Boost und AMDs Turbo Core)
Einige Beispiele zur Berechnung der Taktfrequenz bei Prozessoren Prozessor
interne CPUTaktfrequenz
Multiplikator
FSB-Takt/ Referenz-/ Systemtakt
Taktfrequenz des Mainboards
Intel Pentium 4 2,8
1 x 2,8 GHz
21
133 MHz FSB
533 MHz (FSB 133 MHz x 4)
Intel Core 2 Quad Q9550
4 x 2,83 GHz
8,5
333 MHz FSB
1,33 GHz (FSB 333 MHz x 4)
Intel Core i5 2500K
4 x 3,3 (3,7) GHz 33 (37)
100 MHz System
QPI 2,4 GHz
AMD Phenom X3 8600
3 x 2,3 GHz
11,5
200 MHz Referenz
HyperTransport 1,8 GHz
AMD Phenom II X6 1100T 6 x 3,3 (3,7) GHz 16,5
200 MHz Referenz
HyperTransport 2 GHz
(effektiver Systemtakt oder HyperTransport- bzw. QPI-Takt)
Die Leistungsfähigkeit der Prozessoren messen Benchmarks Benchmarking (Benchmark = engl. Maßstab) von Hardware bedeutet die Messung der Leistungsfähigkeit der einzelnen Komponenten. Dabei werden die zu vergleichenden Komponenten nacheinander in denselben Computer eingebaut und mit verschiedenen Benchmark-Programmen getestet. Im Testcomputer sind hochwertige, schnelle Geräte verbaut, um die Leistungsfähigkeit der zu testenden Hardware nicht einzuschränken.
© HERDT-Verlag
23
3
PC-Technik - Grundlagen
Um eine möglichst schnelle Aussage über die Leistungsfähigkeit zu gewinnen, werden in erster Linie synthetische Benchmark-Programme wie 3dMark für Spiele-Performance oder PCMark für die Gesamtleistung genutzt. Sie können aber auch mit Ihren bevorzugten Anwendungen die Zeit messen, die ein Testsystem benötigt, um eine große Datei bzw. ein Video zu komprimieren oder eine Grafik zu rendern. So kann für spezielle Ansprüche das richtige System ermittelt werden. Zahlreiche Software ist besonders gut für CPUs eines bestimmten Herstellers optimiert und so kann ein Prozessor für einen bestimmten Aufgabenbereich am besten geeignet sein, der bei den üblichen Benchmarks nicht an der Spitze steht. Weitere Faktoren neben der puren Rechenleistung sind auch: Anschaffungskosten für das Gesamtsystem, Energieverbrauch/Abwärme, Zukunftssicherheit sowie Garantieleistungen und Herstellersupport.
Passmark Den kommerziellen Performance Test von Passmark gibt es auch in einer 30-Tage-Testversion. Er eignet sich gut zur schnellen Einschätzung der Leistungsfähigkeit und besonders zum Vergleich mit zahlreichen, auch älteren Systemen. Im weiteren Verlauf des Kapitels finden Sie eine Vergleichstabelle mit Prozessoren der letzten Jahre, die auch die Ergebnisse des Passmark-Performance-Tests enthält (http://www.cpubenchmark.net/).
SiSoftware Sandra Die kommerzielle Informations- und Diagnosesoftware Sandra von SiSoftware gibt es auch in einer kostenlosen Lite-Version. Sie gibt detaillierte Informationen zur Hard- und Software und enthält auch mehrere Benchmarks (http://www.sisoftware.net/).
MIPS Diese Kenngröße steht für die Abkürzung Millions of Instructions per Second (Millionen Anweisungen pro Sekunde) und gibt an, wie viele Programmanweisungen eine CPU pro Sekunde bearbeiten kann. MIPS ist ein wesentlich aussagekräftigeres Leistungsmerkmal als die Taktfrequenz, zur genauen Leistungseinstufung jedoch nur bedingt geeignet. Gebräuchlich ist inzwischen auch die Angabe in GIPS (Giga-IPS, also Milliarden Anweisungen).
GFLOPS Gemessen werden hierbei die Giga Floating-Point Operations per Second (Milliarden Gleitkomma-Operationen pro Sekunde). Vor 20 Jahren waren es noch MFLOPS (Millionen Operationen). Gleitkomma-Operationen spielen für die Leistungsfähigkeit bei mathematisch-physikalischen Berechnungen eine wesentliche Rolle.
Prozessorkomponenten und Befehle CISC CISC ist die Abkürzung für Complex Instruction Set Computing und bezieht sich auf die Anzahl verschiedener Befehle, die ein Prozessor versteht. Dies ist ein wichtiges Merkmal der Prozessor-Architektur. CISCProzessoren verfügen über einen umfangreichen Befehlssatz, mit dem auch komplexe Operationen eines Programms durch Aufruf eines einzelnen Befehls ausgeführt werden können. Dabei können die Befehle eine unterschiedliche Länge haben und werden als Mikrocode während der Ausführung im Prozessor interpretiert. Die x86-kompatiblen CPUs (also die CPU im PC und seit 2006 im Mac) sind der Hauptvertreter der CISC-Architektur.
RISC RISC steht für Reduced Instruction Set Computing. RISC-Prozessoren verfügen über einen eingeschränkten Befehlssatz, können diese Befehle aber meist vollständig in einem Taktzyklus ausführen. Umfangreichere Befehle werden vor der Bearbeitung in mehrere einfache Teile mit fester Länge zerlegt und nacheinander verarbeitet. Die Befehle sind sehr einfach und im Prozessor fest verdrahtet. Mikrocode gibt es nicht; dafür verfügen RISC-Prozessoren über viele Register, die sehr schnelle Verschiebeoperationen und Zugriffe erlauben. Entsprechende Programmierung vorausgesetzt, können RISC-Prozessoren eine Leistung erreichen, die deutlich über derjenigen vergleichbarer CISC-Prozessoren liegt. Zur RISC-Architektur zählen z. B. die POWERProzessorfamilie von IBM, der SPARC von Sun (Oracle) bzw. Fujitsu und schließlich die ARM-Familie, die in zahlreichen Handys und MP3-Playern zu finden ist.
24
© HERDT-Verlag
Prozessor
3
Verschmelzung von RISC und CISC Bei modernen x86-Prozessoren gibt es keine klare Trennung mehr zwischen RISC und CISC, denn alle Prozessoren enthalten Elemente aus beiden Welten. Die Anzahl der Register ist kontinuierlich erhöht worden wie bei RISC, außerdem werden komplexe Befehle während der Laufzeit in RISC-Befehle übersetzt. Mikrocode wird kaum noch verwendet. Im Gegenzug wurde auch der Befehlssatz der Prozessoren mit RISC-Wurzeln stetig komplexer. Inzwischen setzen sämtliche x86-CPUs alle komplexeren Befehle intern in RISC-Befehle um und haben sich damit dieser Architektur stark angenähert. Auf der anderen Seite sind x86-CPUs durch das Hinzufügen zahlreicher neuer Befehlssatzerweiterungen wie MMX und SSE heute komplexer und damit weiter vom RISCIdeal entfernt als jemals zuvor. Letzten Endes ist der Unterschied zwischen RISC und CISC im neuen Jahrtausend ziemlich belanglos geworden. Viel aussagekräftiger ist die Unterscheidung x86-kompatibel oder nicht.
Pipelining Die Befehlsausführung in einer CPU kann in mehrere Abschnitte unterteilt werden:
D D D D D
Ein Befehl wird geladen. Der Befehl wird decodiert. Die erforderlichen Daten (Operanden) werden geladen. Die im Befehl beschriebene Operation wird ausgeführt. Die Ergebnisse werden zurückgespeichert.
Jeder dieser fünf Abschnitte wird in der Von-Neumann-Architektur nacheinander in einem einzelnen Taktzyklus von der CPU ausgeführt. Damit sind im einfachsten Fall für die Ausführung eines kompletten Befehls fünf Taktzyklen erforderlich. Das Pipelining stellt demgegenüber in der CPU Funktionseinheiten bereit, die jeden der einzelnen Abschnitte unabhängig voneinander bearbeiten. Wird ein Befehl im ersten Taktzyklus von einer Funktionseinheit geladen, wird er im nächsten Taktzyklus von der zweiten Funktionseinheit decodiert. Die erste Funktionseinheit kann parallel dazu bereits den nächsten Befehl laden usw. Insgesamt entsteht so nach dem Prinzip der Eimerkette ein System, bei dem jede Funktionseinheit in jedem Taktzyklus ihre Aufgabe erledigt und nicht mehr auf die Ausführung der übrigen Abschnitte warten muss. Die Befehlsverarbeitung ist so erheblich effektiver, allerdings wird nach wie vor je Taktzyklus nur ein Befehl von der CPU geladen.
64-Bit-Prozessoren 2003 führte AMD mit den Athlon-64-Prozessoren die 64-Bit-Technologie (AMD64) im Desktop-Bereich ein. Im Gegensatz zu "echten" 64-Bit-Prozessoren (Sun UltraSPARC-, IBM-Power-, Alpha- und Intel-Itanium-Prozessor) arbeitet der Athlon 64 intern mit einem 32-Bit-Prozessor, dessen Register im 64-Bit-Modus adressiert werden können. Daher ist der Prozessor uneingeschränkt zu heutiger 32-Bit- und sogar alter 16-Bit-Software abwärtskompatibel. Aufgrund des Markterfolges der AMD64-Prozessoren zog Intel ab 2004 mit dem Befehlssatz Intel64 (früher EM64T) nach. Moderne Prozessoren ab dem Pentium 4 (Prescott) sind dank Intel64 ebenfalls in der Lage, 64-Bit-Befehle zu verarbeiten.
D D
64-Bit-Desktop: UNIX, Linux, alle Windows-Generationen seit XP Professional 64 Bit 64-Bit-Server: viele Linux-Distributionen, Windows 2003 Server, 2008 Server und Small Business Server 2008 und Nachfolger, Windows Home Server 2011
Grundsätzlich werden beim Einsatz von 64-Bit-Betriebssystemen entsprechende 64-Bit-Treiber benötigt. Dies ist besonders beim Einsatz älterer Hardware und Peripherie problematisch.
© HERDT-Verlag
25
3
PC-Technik - Grundlagen
Superskalare Architektur Eine CPU mit superskalarer Architektur kann je Taktzyklus mehrere Befehle entgegennehmen. Dazu wird die Anzahl der Funktionseinheiten erhöht. Superskalare Prozessoren besitzen die Hardware für jeden Abschnitt der Verarbeitung mehrmals. Wird beispielsweise die Anzahl der Funktionseinheiten vervierfacht, können vier Befehle gleichzeitig von der CPU verarbeitet werden. Moderne PC-Prozessoren verwenden meistens eine Kombination aus Pipelining und superskalarer Architektur.
Hyper-Threading Intel führte 2002 die Hyper-Threading-Technologie ein (HTT). Dabei wird dem Betriebssystem vorgegaukelt, dass es sich bei einem Prozessorkern um zwei Kerne handelt. Mit dieser Prozessorerweiterung ist es dem Prozessor möglich, mehrere Arbeitsschritte (Threads) gleichzeitig abzuarbeiten, sofern die Software dies unterstützt. Bei gleichem Takt werden so die Prozessorressourcen besser ausgenutzt und die Leistung des Computers kann gesteigert werden. Folgende Systeme unterstützen derzeit Hyper-Threading:
D
Intel Pentium-4 mit HT-Erweiterung (ab 3 GHz), Intel-Atom sowie zahlreiche Core i5, Core i7 und neuere Intel-Xeon-Serverprozessoren
D
Zahlreiche AMD-Prozessoren ab dem Athlon 64 X2 und AMD Opteron melden zwar dem Betriebssystem die Fähigkeit zum Hyper-Threading, dies ist aber nicht der Fall. Allerdings arbeitet auch AMD an einem ähnlichen Verfahren wie HTT.
D
Betriebssysteme mit Hyper-Threading-Unterstützung sind Linux, Windows XP und alle Nachfolger sowie Windows Server 2003 und alle Nachfolger.
Multi-Threading Früher verfügte jeder Prozessor nur über einen Kern und konnte jeweils nur einen Prozess (Thread) zum Zeitpunkt X bearbeiten. Wenn jedoch im System mehrere Prozessoren/Prozessorkerne vorhanden sind oder ein Prozessor mehrere Threads (Prozesse) gleichzeitig verarbeiten kann, wird dies als Multi-Threading bezeichnet. Entsprechend angepasste Programme (Bild-, Videobearbeitung und PC-Spiele) laufen als parallele Prozesse ab, was die Verarbeitungsgeschwindigkeit erhöht. Seit Windows XP unterstützen die MicrosoftBetriebssysteme Multi-Threading und den Betrieb mit mehr als einem Prozessorkern. Da der Trend zu immer mehr Prozessoren und vor allem Prozessorkernen geht, ist es zunehmend wichtiger, die Abläufe in einer Software so weit wie möglich zu parallelisieren, um das Potenzial der Multicore-CPUs auszuschöpfen.
Multicore-Prozessoren Als Multicore-Prozessor bezeichnet man eine CPU, bei der zwei oder mehr Prozessorkerne in einem Prozessorgehäuse vereint sind. Entsprechend angepasste Programme (Bild- und Videobearbeitung sowie Computerspiele) laufen als parallele Prozesse ab, was die Verarbeitungsgeschwindigkeit erhöht. Die Entwicklung dieser Bauart kann die Rechenleistung steigern, ohne die produzierte Abwärme und den Stromverbrauch wesentlich zu erhöhen. Heute verfügen so gut wie alle Prozessoren auf dem Markt über mehr als einen Kern.
Cache Die CPU ist mit schnellen Zwischenspeichern versehen, in denen häufig verwendete Daten (Data Cache) und Befehle (Code Cache) abgelegt werden können. Ein Cache kann mit höheren Taktraten angesprochen werden als der externe Arbeitsspeicher. "Cache" bedeutet 'Versteck', und zwar wird der langsame Hauptspeicher vor dem Prozessor versteckt. So lassen sich die Zugriffszeiten auf benötigte Daten deutlich reduzieren und die CPU wird für bestimmte Anwendungen leistungsfähiger. Die erzielbare Leistungssteigerung hängt unter anderem von der Größe dieses Caches, der Busbreite und der Taktrate ab, mit der er angesprochen wird. Verschiedene Prozessorfamilien verfügen über unterschiedlich leistungsfähigen Cache.
26
© HERDT-Verlag
3
Prozessor
Der Cache besteht meist aus mehreren Ebenen. Ein kleiner Level-1-Cache ist auf dem CPU-Chip selbst untergebracht (on-die) und erlaubt maximale Zugriffsgeschwindigkeiten. Ein deutlich größerer Level-2-Cache kann entweder on-die oder im Prozessorgehäuse angeordnet sein. Bei modernen Multicore-Prozessoren gibt es für jeden Kern eigene L1- und L2-Caches. Die Topmodelle von Intel und AMD besitzen außerdem einen von allen Kernen gemeinsam genutzten großen Level-3-Cache, der sich ebenfalls on-die befindet. Vor allem der große L3-Cache sorgt für die enormen Transistorzahlen heutiger CPUs von mehr als 1 Milliarde. Die folgende Tabelle zeigt die Entwicklung der Cache-Größen bei Intel-Prozessoren für Desktop und Server. Prozessor
Kerne
L1 (pro Kern) L2
L3 (gemeinsam)
Intel Pentium (P54)
Desktop
1
16 kB
extern
-
Intel Pentium 4 (Prescott)
Desktop
1
12 kB + 16 kB
1 MB
-
Intel Core 2 Duo (Conroe)
Desktop
2
32 kB + 32 kB
4 MB gemeinsam
-
Intel Core i7 (Bloomfield)
Desktop
4
32 kB + 32 kB
256 kB pro Kern
8 MB
Intel Xeon E7 (Westmere-EX)
Server
10
48 kB
256 kB pro Kern
30 MB
Systemleistungsvergleich Die folgende Tabelle zeigt eine Auswahl an Prozessoren der letzten Jahre und ihre wichtigsten Daten. Um die Leistungsfähigkeit direkt vergleichen zu können, wurde der Passmark ausgewählt. Prozessor
Kerne Sockel Takt FSB (virt.) [GHz] MHz (eff.)
Multi max. max. max. TransisVolt TDP Temp toren/ Watt °C Größe
Herst.- PassProz. mark
seit
Pentium 4 2,8 GHz
1
478
2,8
200 (800)
14
1,5
70
75 °C
55 Mio. 131 mm²
130 nm 420
Aug. 2002
Pentium 4 672 1 (2)
775
3,8
200 (800)
19
1,4
115
71 °C
169 Mio. 135 mm²
90 nm
640
Nov. 2005
Intel Pentium D950
2
775
3,4
200 (800)
17
1,3
130
69 °C
376 Mio. 280 mm²
65 nm
931
Dez. 2005
Intel Core 2 Duo 8400
2
775
3,0
333 9 (1.333)
1,36
65
72 °C
420 Mio. 107 mm²
45 nm
2251
Jan. 2008
Intel Atom 330
2 (4)
437
1,6
133 (533)
1,16
8
85 °C
94 Mio. 26 mm² x2
45 nm
661
Juni 2008
Intel Core 2 Quad Q9650
4
775
3,0
333 9 (1.333)
1,36
95
71 °C
820 Mio. 214 mm²
45 nm
4.623
Jan. 2008
Intel Core i7 920
4 (8)
1366
2,66 (2,93)
133 (-)
20 (22)
1,38
130
68 °C
731 Mio. 263 mm²
32 nm
5.564
Nov. 2008
Intel Core i5 2500K
4
1155
3,3 (3,7)
100 (-)
33 (37)
1,38
65
69 °C
995 Mio. 216 mm²
32 nm
7.263
Jan. 2011
Intel Core i7 995X
6 (12)
1366
3,6 (3,85)
133 (-)
27 (29)
1,38
130
68 °C
1.170 Mio. 32 nm 248 mm²
AMD Athlon XP 3200+
1
462
2,2
200
11
1,6
77
85 °C
55 Mio. 101 mm²
130 nm 499
Mai 2003
AMD Athlon 64 4000+
1
939
2,4
200 12 (1.000)
1,5
89
71 °C
114 Mio.
90 nm
655
Mai 2005
AMD Athlon 64 X2 6000+
2
AM2
3,0
200 15 (1.000)
1,35
125
65 °C
227 Mio.
90 nm
1646
Feb. 2007
AMD Phenom X4 9600
4
AM2+
2,3
200 11,5 (1.600)
1,25
95
64 °C
463 Mio.
65 nm
2328
Dez. 2007
© HERDT-Verlag
12
10.945 März 2010
27
3
PC-Technik - Grundlagen
Prozessor
Kerne Sockel Takt FSB (virt.) [GHz] MHz (eff.)
Multi max. max. max. TransisVolt TDP Temp toren/ Watt °C Größe
Herst.- PassProz. mark
seit
AMD Phenom II X4 965
4
AM3
3,4
200 17 (2.000)
1,4
125
62 °C
758 Mio.
45 nm
4280
Aug. 2009
AMD Phenom II X6 1100T
6
AM3
3,3
200 16,5 (2.000)
1,4
125
62 °C
904 Mio.
45 nm
6618
Dez. 2010
AMD A8-3850
4
FM1
2,9
100 29 (2.000)
1,4
100
-
1.450 Mio. 32 nm 228 mm²
6173
Feb. 2011
Intel Core i5 2520M
2 (4)
1023
2,5 (3,2)
100 (-)
25 (32)
1,4
35
100 °C 624 Mio. 149 mm²
32 nm
3619
Feb. 2011
Intel Core i7 2920XM
4 (8)
988
2,5 (3,5)
100 (-)
25 (35)
1,4
55
100 °C 995 Mio. 216 mm²
32 nm
7662
Jan. 2011
AMD Phenom II N970
4
S1g4
2,2
200 11 (1.800)
?
35
100 °C 234 Mio. 117 mm²
45 nm
2758
Jan. 2011
AMD A83530MX
4
FS1
1,9 (2,6)
200 9,5 (2.000) (13)
1,45
45
100 °C 1.450 Mio. 32 nm 228 mm²
4527
Mai 2011
Übersichten über aktuelle Prozessorleistungen finden Sie im Internet auf den Homepages der Prozessorhersteller oder EDV-Zeitschriftenverlage:
D D D D
http://www.intel.com/deutsch/ http://www.amd.com/de-de/ http://www.pc-erfahrung.de/prozessor/cpu-prozessortabelle.html http://www.tomshardware.com/de/charts/prozessoren,6.html
Ein Programm zum Auslesen der Informationen aus einem Prozessor steht z. B. unter http://www.cpu-z.de/.
3.3
Betriebsmodi des Prozessors
Allgemeines zu den Prozessor-Betriebsmodi Seit der Entwicklung des 80286-Prozessors bieten die neueren Prozessortypen wesentlich mehr Möglichkeiten, als in der Regel genutzt werden. Eine wesentliche Rolle spielt hierbei das Betriebssystem DOS. DOS wurde für die 8086/88-CPU entwickelt und verschließt sich bis heute den wesentlichen Möglichkeiten der aktuellen Prozessoren. Hauptsächlich war bei Intel mit der Vorstellung des 80286-Prozessors daran gedacht worden, in die Welt des Multitaskings einzusteigen. Die neuen Prozessortypen mussten in der Lage sein, einen 8086/88-Prozessor zu emulieren. Die Lösung war, die neueren Prozessortypen in verschiedene Betriebsmodi zu schalten.
Der Real (Address) Mode Ein Prozessor der Klasse 80286 und höher verhält sich im Real Mode wie eine 8086/88-CPU. Die neueren Prozessoren sind aber gegenüber der 8086/88-CPU wesentlich leistungsfähiger und schneller. Für das Betriebssystem DOS macht es aber keinen Unterschied, ob es mit einem 8086/88 arbeitet oder mit einem höheren Prozessortyp. Nach dem Bootvorgang arbeitet ein Prozessor der Klasse 80286 und höher stets zuerst im Real Mode. Erst durch einen speziellen Programmbefehl wird der Prozessor in den erweiterten Modus (Protected Mode) geschaltet. Dies geschieht bei aktuellen Betriebssystemen schon ganz früh im Bootvorgang. Danach wird der Real Mode nicht mehr aktiviert.
28
RAM INTEL 80286/80386 im Real Mode
Max. 1 MB Der Real Mode
© HERDT-Verlag
3
Prozessor
Die größten Nachteile eines im Real Mode betriebenen Prozessors sind der nicht vorhandene Schutz der Programme voreinander (s. u.) sowie die Begrenzung des adressierbaren Speichers auf 1 MB, da in diesem Modus nur 20 Adressleitungen genutzt werden.
Der Protected (Virtual Address) Mode Die erste neue Betriebsart, die mit dem 80286-Prozessor möglich wurde, ist der Protected Mode. Der Prozessor kann durch einen Maschinenbefehl umgeschaltet werden und verhält sich dann gänzlich anders als im Real Mode. Vergessen sind die 1-MB-RAM-Grenze und die feste Einteilung des Hauptspeichers.
RAM Codesegment 2
INTEL 80286/80386
Alle wichtigen Daten können somit irgendwo im zur Verfügung stehenden Hauptspeicher abgelegt werden. Diese Tatsache birgt allerdings gewisse Risiken in sich. Es muss dafür gesorgt werden, dass die Daten im RAM nicht von einem anderen Programm plötzlich überschrieben werden. Zu diesem Zweck wurden Schutzmechanismen eingebaut, die dafür sorgen, dass die Daten auch wieder aufgefunden und vor allem nicht versehentlich überschrieben werden (Protec- Der Protected Mode tion - Schutz). Der Protected Mode bietet im Einzelnen folgende Schutzmechanismen:
Datensegment 2
Codesegment 1
Datensegment 1
Überwachung mittels Privilegstufen Die Daten jedes laufenden Programms werden aufgeteilt in einen Bereich für den Programmcode, das Codesegment, und einen Bereich für die zu bearbeitenden Daten, das Datensegment. Diesen Code- bzw. Datensegmenten wird eine Privilegstufe von 0 bis 3 zugeordnet. Je niedriger die Privilegstufe ist, desto geschützter ist ein Programm bzw. sind dessen Daten. Sollte ein Programm, dem die Privilegstufe 3 zugeteilt wurde, versuchen, auf ein Segment zuzugreifen, das durch die Privilegstufe 0 geschützt ist, erkennt der Prozessor eine Fehlersituation und meldet dies über einen Interrupt dem Betriebssystem. Dieses entscheidet, welche Aktionen erforderlich sind, und beendet in den meisten Fällen das fehlerhafte Programm.
Speicherbereichsschutz Der Protected Mode ist für ein Multitasking-Betriebssystem ausgelegt. Demnach muss jedem laufenden Programm ein eigener, privater Speicherbereich zur Verfügung gestellt werden. Will ein Programm auf einen bestimmten Speicherplatz zugreifen, kann die CPU feststellen, ob dieser Speicherplatz zum privaten Bereich des Programms gehört. Ist dies nicht der Fall, wird wiederum über einen Interrupt dem Betriebssystem dieser fehlerhafte Zugriff mitgeteilt und von diesem entsprechend behandelt; und gegebenenfalls wird das fehlerhafte Programm beendet.
Speichersegmentattribute Verwendet ein Betriebssystem den Prozessor im Protected Mode, können an die Code- und Datensegmente bestimmte Attribute vergeben werden. Einem Segment kann z. B. das Attribut "nur Lesen" zugeordnet werden. Sollte ein laufendes Programm versuchen, in ein solches "schreibgeschütztes" Segment zu schreiben, wird wiederum über einen Interrupt die Kontrolle dem Betriebssystem übergeben. Grundsätzlich erhält jedes Speichersegment ein Attribut, das es als Codesegment oder Datensegment kennzeichnet. Sollte versucht werden, ein Datensegment auszuführen oder ein Codesegment zu verändern, bedeutet dies wiederum eine Verletzung der Schutzmechanismen.
© HERDT-Verlag
29
3
PC-Technik - Grundlagen
Der Virtual Real Mode Ein weiterer Betriebsmodus für Intel-Prozessoren, allerdings erst ab der 80386-Reihe, ist der virtuelle Real Mode. Der Trick dabei ist, dass ein 80386-Prozessor in der Lage ist, mehrere 8086/ 88-CPUs zu emulieren. Jetzt kann in jedem dieser virtuellen Real Modes ein Programm völlig ungestört von anderen ablaufen. Jedem der laufenden Programme wird vorgegaukelt, dass es seinen eigenen 8086/88Prozessor zur Verfügung hat. Die älteren Windows-Betriebssysteme wie 95, 98 und Me arbeiteten in diesem Modus, wenn sie DOSAnwendungen ausführten.
RAM INTEL
Virtual Machine 3
80386 im Virtual Real Mode
Virtual Machine 2
Virtual Machine 1
z. B.: Windows 98
Der Anwender konnte nun mehrere Programme starten und über vordefinierte TastenkombinaDer Virtual Real Mode tionen zwischen den Tasks wechseln. Er konnte dann immer die Anwendung in dem Zustand vorfinden, in dem er sie verlassen hatte. Heutige Betriebssysteme unterstützen diesen Modus nicht mehr, man kann ihn jedoch durch virtuelle DOS-Maschinen per Software emulieren.
3.4
Aktuelle Prozessoren
Intel-Prozessoren für den Desktop-PC Intel Pentium 4 Der Pentium 4 von Intel bietet als Einkern-CPU ausreichend Leistung für Büroarbeiten und das Internet. Er war von 2000 bis 2006 mit Taktfrequenzen von 1.300 - 3.800 GHz erhältlich. In einigen Modellen wurde das Hyper-Threading eingeführt, das einen virtuellen zweiten Prozessorkern bereitstellte. Parallel laufende oder gut angepasste Software lief damit um einiges schneller. Die Prozessoren waren für die Sockel 428, 478 und Sockel T (775) verfügbar.
Intel Pentium 4
Im Bild kann man den silbernen Heatspreader sehen, der den empfindlichen Prozessor schützt und die Abwärme auf eine größere Fläche ableitet. Moderne Prozessoren verfügen alle über einen Heatspreader und sehen daher alle fast gleich aus.
Intel Celeron D Der Celeron D von Intel ist eine abgespeckte Ausführung des Pentium 4. Er bietet ausreichend Leistung für Büroarbeiten und das Internet. Er war von 2004 bis 2007 mit Taktfrequenzen von 2.133 - 3.333 GHz erhältlich. Bei gleicher Taktfrequenz war der Celeron stets langsamer als der P4. Die Prozessoren waren für die Sockel 478 und Sockel T (775) verfügbar.
30
© HERDT-Verlag
Impressum
Matchcode: PCT Autoren: Michael Kuhrts, Christoph Volkmann Redaktion: Martin Dausch, Andrea Weikert Produziert im HERDT-Digitaldruck 5. Ausgabe, September 2011 HERDT-Verlag für Bildungsmedien GmbH Am Kümmerling 21-25 55294 Bodenheim Internet: www.herdt.com E-Mail:
[email protected] © HERDT-Verlag für Bildungsmedien GmbH, Bodenheim Alle Rechte vorbehalten. Kein Teil des Werkes darf in irgendeiner Form (Druck, Fotokopie, Mikrofilm oder einem anderen Verfahren) ohne schriftliche Genehmigung des Verlags reproduziert oder unter Verwendung elektronischer Systeme verarbeitet, vervielfältigt oder verbreitet werden. Dieses Buch wurde mit großer Sorgfalt erstellt und geprüft. Trotzdem können Fehler nicht vollkommen ausgeschlossen werden. Verlag, Herausgeber und Autoren können für fehlerhafte Angaben und deren Folgen weder eine juristische Verantwortung noch irgendeine Haftung übernehmen. Wenn nicht explizit an anderer Stelle des Werkes aufgeführt, liegen die Copyrights an allen Screenshots beim HERDT-Verlag. Sollte es trotz intensiver Recherche nicht gelungen sein, alle weiteren Rechteinhaber der verwendeten Quellen und Abbildungen zu finden, bitten wir um kurze Nachricht an die Redaktion. Die in diesem Buch und in den abgebildeten bzw. zum Download angebotenen Dateien genannten Personen und Organisationen, Adress- und Telekommunikationsangaben, Bankverbindungen etc. sind frei erfunden. Eventuelle Übereinstimmungen oder Ähnlichkeiten sind unbeabsichtigt und rein zufällig. Die Bildungsmedien des HERDT-Verlags enthalten Verweise auf Webseiten Dritter. Diese Webseiten unterliegen der Haftung der jeweiligen Betreiber, wir haben keinerlei Einfluss auf die Gestaltung und die Inhalte dieser Webseiten. Bei der Bucherstellung haben wir die fremden Inhalte daraufhin überprüft, ob etwaige Rechtsverstöße bestehen. Zu diesem Zeitpunkt waren keine Rechtsverstöße ersichtlich. Wir werden bei Kenntnis von Rechtsverstößen jedoch umgehend die entsprechenden Internetadressen aus dem Buch entfernen. Die in den Bildungsmedien des HERDT-Verlags vorhandenen Internetadressen waren zum Zeitpunkt der Erstellung der jeweiligen Produkte gültig. Sollten Sie die Inhalte nicht mehr unter den angegebenen Adressen finden, sind diese eventuell inzwischen komplett aus dem Internet genommen worden oder unter einer neuen Adresse zu finden.