PC-Technik - Grundlagen
Transcription
PC-Technik - Grundlagen
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: info@herdt.com © 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.