Test und Analyse: Der Athlon 64 mit Windows XP 64 Bit - Teil 1

08.01.2004
Wer braucht 64 Bit? Diese Frage wird im Enterprise-Computing gerne mit dem großen adressierbaren Speicherbereich beantwortet. Mit 32 Bit breiten Adressregistern ist ohne komplexes Segment-Offset-Management bei maximal vier GByte Arbeitsspeicher Schluss. Die Desktop-Version und die kleinen Server-Versionen von Windows XP arbeiten im vereinfachten Flat-Memory-Modell. Sie teilen die damit maximal möglichen 4 GByte auch noch fest in maximal 2 GByte für Anwendungen und den Rest für den Betriebssystem-Kernel auf.

Wer braucht 64 Bit? Diese Frage wird im Enterprise-Computing gerne mit dem großen adressierbaren Speicherbereich beantwortet. Mit 32 Bit breiten Adressregistern ist ohne komplexes Segment-Offset-Management bei maximal vier GByte Arbeitsspeicher Schluss. Die Desktop-Version und die kleinen Server-Versionen von Windows XP arbeiten im vereinfachten Flat-Memory-Modell. Sie teilen die damit maximal möglichen 4 GByte auch noch fest in maximal 2 GByte für Anwendungen und den Rest für den Betriebssystem-Kernel auf.

Doch wer besitzt (und benötigt) in seinem Desktop-Computer mehr als 2 GByte Arbeitsspeicher - derzeit wohl niemand. Welchen Vorteil hat der "normale PC-User" aber dann von einem 64-Bit-Betriebssystem?

Vor- und Nachteile des 64-Bit-Betriebssystems

Neben dem größeren Adressbereich stehen im 64-Bit-Betrieb aber auch breitere Datenregister zur Verfügung. Pro Taktzyklus lässt sich somit die doppelte Datenmenge verarbeiten. Das Ganze hat aber einen Haken, der die Leistung auch nach unten drücken kann: Adresszeiger und native Datentypen wie Integer sind nun 64 Bit breit statt 32 Bit. Sie belegen somit doppelt so viel Speicher - effektiv finden dadurch nur noch halb so viele Daten im schnellen Prozessor-Cache Platz.

Beim Athlon 64/FX im 64-Bit-Betrieb erhöht sich die Anzahl der allgemeinen Register von 8 auf 16. Zumindest dies erhöht bei angepassten Programmen aber auf jeden Fall die Geschwindigkeit.

Die finale Version von Windows XP 64 Bit Edition für AMD64-Prozessoren soll laut Microsoft in der ersten Jahreshälfte 2004 auf den Markt kommen. Zum Launch-Termin wird es voraussichtlich nur eine geringe Anzahl von 64-Bit-Programmen geben. Entscheidend ist somit auch die Performance bestehender 32-Bit-Anwendungen unter Windows XP 64 Bit. Der Prozessor soll laut AMD auch im 64-Bit-Modus 32-Bit-Code ohne Geschwindigkeitseinbußen ausführen können. Windows XP 64 Bit verwendet hierbei die WOW64-Technologie. Kostet dieses "Windows on Windows 64" Performance?

tecCHANNEL hat eine Beta-Version von Windows XP 64 Bit Edition für AMD64-Prozessoren ausführlich mit 32- und ersten 64-Bit-Applikationen getestet. Wir zeigen in diesem Test, mit welchen Vor- und Nachteilen Sie rechnen können. Einen Vergleich des Athlon64 mit dem Pentium 4 Extreme sowie weiteren Desktop-CPUs unter dem klassischen 32-Bit-Windows XP finden Sie hier.

Betriebsmodi des Athlon 64

Um problemlos mit 32- und 64-Bit-Software agieren zu können, beherrschen die Athlon-64-Prozessoren verschiedene Betriebsmodi:

- Legacy Mode

- 64-Bit-Mode

- Compatibility Mode

Findet der Athlon 64/FX Windows XP mit 32-Bit-Kernel vor, so arbeitet die CPU im so genannten Legacy-Mode. Der Prozessor verhält sich dabei wie ein normaler x86-Prozessor. Die 64-Bit-Features der AMD64-Architektur liegen dann brach.

Steht dem Athlon 64/FX dagegen Windows XP 64 Bit Edition zur Seite, schaltet die CPU in den Long Mode getauften Betriebsmodus. Der Long Mode der AMD64-Technologie beinhaltet zwei Untermodi: den 64-Bit-Mode und einen Compatibility-Mode. 64-Bit-Anwendungen arbeiten im entsprechenden 64-Bit-Mode. Den Programmen steht somit auch der volle Adressraum zur Verfügung. Windows-64-Bit-Versionen können bis zu 16 TByte Arbeitsspeicher verwalten.

Der Compatibility-Mode der AMD64-Architektur erlaubt unter 64-Bit-Betriebssystemen eine binäre Kompatibilität mit vorhandenen 16- und 32-Bit-Anwendungen. Die Programme müssen nicht neu kompiliert werden. Den 64 Bit großen Adressraum des Betriebssystems können diese aber nicht nutzen.

Zusätzliche 64-BitProzessor-Features

Wenn der Athlon 64 im 64-Bit-Mode arbeitet, stehen dem Prozessor im Vergleich zum Legacy-Mode folgende zusätzliche Features zur Verfügung:

- 64-Bit-Adressraum

- Relative Datenadressierung mit 64-Bit-Offset

- Registererweiterung der acht GPRs auf 64 Bit durch Präfix R

- Acht neue GPRs R8 bis R15

- Acht neue 128-Bit-SSE-Register XMM8 bis XMM15

- 64-Bit-Befehlszeiger (RIP)

Den 64 Bit breiten Adressraum sieht die AMD64-Architektur allerdings nur über eine segmentierte Adressierung vor. Die physikalisch nutzbare Adressbreite ist auf maximal 52 Bit beschränkt. In der ersten AMD64-Generation mit Athlon 64/FX und Opteron implementiert AMD sogar "nur" einen 48 Bit breiten virtuellen Adressraum. Windows XP 64 teilt diesen Speicher in zwei Blöcke: 8 TByte stehen für Anwendungen bereit, das OS belegt 248 TByte pauschal für sich und für Device-Treiber.

Wichtiger als all die virtuellen Speicherbereiche ist jedoch der tatsächlich physikalisch nutzbare Speicher. Die ersten Opteron- und Athlon-64-CPUs arbeiten mit einer physikalischen Adressbreite von 40 Bit. Somit ist 1 TByte pro CPU derzeit die Obergrenze des Speicherausbaus.

Anwendungen, die im Legacy oder Compatibility Mode laufen, stehen beim Athlon 64 weiterhin nur die acht allgemeinen 32 Bit breiten Register EAX, EBX, ECX, EDX, EBP, ESI, EDI und ESP zur Verfügung. Arbeitet der Prozessor dagegen im 64-Bit-Mode, erweitert die AMD64-Architektur diese acht Register über den R-Präfix auf 64 Bit. Die verbreiterten Register erhalten die Bezeichnungen RAX bis RSP. Zusätzlich kann der Athlon 64 im 64-Bit-Mode auf acht neue ebenfalls 64 Bit breite GPRs (General Purpose Register) R8 bis R15 zugreifen.

Für Fließkomma-Berechnungen wurde außerdem die Anzahl der acht 128 Bit breiten SSE-Register mit XMM8 bis XMM15 verdoppelt. Davon profitiert allerdings nur der 64-Bit-Mode. Im Legacy-und Compatibility-Mode ist AMDs Architektur jetzt voll zu Intels SSE2-Befehlssatz kompatibel - und kann dementsprechend nur acht SSE-Register nutzen.

WOW64-Technologie

Microsofts Windows XP 64 Bit Edition für AMD64-Prozessoren verfügt über die WOW64-Technologie zum Ausführen von 32-Bit-Programmen. WOW64 steht für Windows on Windows 64 und ist ein so genannter Translation Layer. Führt ein 32-Bit-Programm eine Systemanfrage an das 64-Bit-Betriebssystem durch, so müssen dessen Argumente wie beispielsweise Address-Pointer übersetzt werden. Diese Aufgabe übernimmt der WOW64-Layer, der ein integraler Bestandteil von Windows XP 64 Bit Edition ist.

Jede 32-Bit-Applikation ist dynamisch mit dem WOW64-Layer verlinkt. Alle Anfragen der Programme werden an die aus DLLs bestehenden Layer weitergeleitet. WOW64 führt bei jedem Systemaufruf folgende Sequenz von Operationen durch:

- Übersetzen von notwendigen Parametern

- Übermittelt Befehlsaufrufe an den 64-Bit-Kernel

- Übersetzen von Ergebnissen

- Übermitteln der Daten/Ergebnisse an die Applikation

Verantwortlich für das Bereitstellen der 32-Bit-Umgebung unter Windows XP 64 Bit Edition sind die drei Dateien wow64.dll, wow64win.dll und wow64cpu. dll. So führt beispielsweise wow64cpu.dll das Umschalten des Betriebsmodus am AMD64-Prozessor durch. Die beiden CPU-Zustände 64-Bit- und Compatibility-Mode wählt die DLL über zwei zu setzende Flags im CS-Descriptor.

Für 32-Bit-Applikationen gelten unter Windows XP 64 Bit Edition weiterhin die 32-Bit-Restriktionen. So können sie auch nicht vom bis zu 16 TByte großen Adressraum profitieren. Allerdings stehen den 32-Bit-Programmen mit WOW64 volle 4 GByte Arbeitsspeicher zur Verfügung - unter Windows XP 32 Bit gibt es nur 2 GByte für Anwendungen.

Neu ist die WOW64-Technik beim AMD64-Betriebssystem nicht: Microsoft verwendet das Verfahren bereits in der 64-Bit-Windows-Version für Intels Itanium-Prozessoren. Ein ähnliches Verfahren mit dem Namen WOW führt auch in vorhandenen 32-Bit-Windows-Versionen 16-Bit-Anwendungen aus.

Inkompatibilitäten

Microsoft beschränkt Windows XP 64 Bit Edition für AMD-64-Prozessoren auf den Einsatz von 32- und 64-Bit-Programmen. Alte 16-Bit-Anwendungen kann das Betriebssystem nicht mehr ausführen.

Bei 64-Bit-Windows können in einem Prozess 32- und 64-Bit-Threads nicht gleichzeitig laufen. Hieraus ergeben sich beispielsweise Probleme beim Surfen mit dem integrierten 64-Bit-Internet-Explorer. So stellt der Browser Webseiten mit aktivem 32-Bit-Content - erzeugt via OCX oder DLLs - nicht dar. Findet der 64-Bit-Internet-Explorer einen entsprechenden Inhalt vor, muss er die 32-Bit-Version des Browsers starten.

Eine Kompatibilität zu 32-Bit-Gerätetreibern bietet Windows XP 64 Bit Edition ebenfalls nicht. Angepasste 64-Bit-Treiber sind für jede zu installierende Hardware notwendig. Vor allem ältere oder exotische Hardware wird unter dem 64-Bit-Windows den Dienst quittieren, wenn der Hersteller keinen entsprechenden Treiber anbietet. Das Treiberproblem trifft auch auf diverse Software-Pakete zu, die beispielsweise einen Dongle benötigen. So konnten wir unsere Lightwave-3D-Software unter Windows XP 64 Bit Edition nicht installieren, weil der Sentinel-Dongle-Treiber nicht funktioniert. Ein bereits existierender 64-Bit-Sentinel-Treiber für das Itanium-basierende 64-Bit-Windows lässt sich ebenfalls nicht verwenden.

Benchmark-Vorbetrachtung

Die Beta-Version von Microsofts Windows XP 64 Bit Edition stand uns als Build 3790.dnsrv.030707-1810 mit installiertem Service Pack 1 v.1033 zur Verfügung. Zum Vergleich für die Performance-Tests dient Windows XP Professional SP1a. Alle Benchmarks haben wir mit einem Athlon 64 FX-51 und 1024 MByte DDR400-SDRAM durchgeführt. Als Mainboard kommt das Asus S8KN mit NVIDIAs nForce3-Chipsatz zum Einsatz. Den Grafikpart übernimmt eine Geforce FX 5900 Ultra von MSI. Der AGP-8x-Grafikkarte mit 256 MByte DDR-SDRAM stand der Detonator-FX-Treiber 50.40 als 64-Bit-Version zur Seite. Die im Windows XP 64 Bit Edition integrierten DirectX-Treiber besitzen die Versionsnummer 8.1. DirectX 9 war zum Testzeitpunkt als 64-Bit-Variante noch nicht verfügbar.

Vorläufige Ergebnisse

Die Messwerte unter Windows XP (32) sind nur bedingt mit denen des Desktop-CPU-Tests (Webcode: a1244) vergleichbar. Der dort benutzte VIA K8T800-Chipsatz ist bei etlichen Tests deutlich schneller als der nForce3. Für VIAs Chipsatz standen uns jedoch noch keine 64-Bit-Treiber zur Verfügung, so dass alle Messungen dieses Tests einheitlich auf dem nForce3-Board stattfanden.

Für die Performance-Analyse der WOW64-Technologie von Windows XP 64 Bit Edition nutzen wir die aus unseren CPU-Tests (Webcode: a1244) bekannten 32-Bit-Benchmarks. OpenGL-Anwendungen wie SPECviewperf 7.1 oder GLmark 1.1p mussten wir aber außen vor lassen. Unter Windows XP 64 Bit Edition zeigen sich starke Grafikfehler und Frame-Raten, die um den Faktor 10 zu niedrig sind. Aussagekräftige Ergebnisse sind damit nicht möglich. Die OpenGL-Implementation von NVIDIAs 64-Bit-Detonator-Treiber bedarf noch deutlicher Optimierung.

Für den Test der 64-Bit-Performance unterstützte uns AMD mit entsprechenden 64-Bit-Anwendungen. Hierbei handelte es sich um einen DivX-Encoder, Encryption-Software sowie ein Packer-Programm. Alle Anwendungen standen uns zusätzlich als 32-Bit-Variante zur Verfügung. Damit lässt sich direkt der Geschwindigkeitsunterschied zwischen 32- und 64-Bit-Programmen zeigen. Bei den Ergebnissen ist allerdings zu berücksichtigen, dass AMD nur "gut abschneidende" 64-Bit-Programme ausgewählt hat.

WOW64: SPEC CPU2000 Integer

Die Benchmark-Suite SPEC CPU2000 verwendet Ganzzahlen- und Fließkomma-Programme und wird mit den Sourcecodes geliefert. Es handelt sich hierbei nicht um Lowlevel-Benchmarks, sondern um Software, die realitätsnahe Aufgabenstellungen bearbeitet. Ausführliche Details zu SPEC CPU2000 finden Sie in unserem Test: Athlon 64/FX vs. Pentium 4.

Für den Test der Integer-Performance des Athlon 64 FX-51 im 32-Bit-Betrieb unter beiden Windows-Versionen kompilieren wir die SPEC-Benchmarks praxisnah für das Base-Rating. Dazu verwenden wir Intel C++ 7.1 und MS Visual Studio für alle Integer-Tests.

In einzelnen Fällen wie der objektorientierten Datenbank der Anwendung 255.vortex arbeitet das 32-Bit-Programm unter Windows 64 Bit Edition um bis zu vier Prozent schneller. Performance-Einbußen bis zwei Prozent wie in der Visualisierungs-Software 252.eon sind durch die WOW64-Technologie ebenfalls möglich.

Die Fortsetztung lesen Sie in der Ausgabe 3/04.

tecCHANNEL-Compact "Windows professionell einsetzen"

tecChannel.de ist die Nummer eins der Online-Fachmedien in Deutschland (IVW 9/03). Auf www.tecChannel.de finden Sie mehr als 1.700 Beiträge und über 13.000 News zu allen Themen der IT. Das Online-Programm wird ergänzt durch das noch umfangreichere kostenpflichtige tecCHANNEL-Premium und die tecCHANNEL-Compact-Buchreihe.

Das neue tecCHANNEL-Compact "Windows professionell einsetzen" ist keine der üblichen Tipps&Tricks-Sammlungen mit Hinweisen, wie Sie Ihr Windows schneller und schöner machen, sondern bietet kompetente Artikel zum (zukunfts)sicheren, effizienten Einsatz von Windows Me/2000/XP/2003 in Netzwerken. Neben dem neuen Windows Server 2003 stellen wir Ihnen auch die Möglichkeit vor, im kleinen Büro ein sicheres Netz aufzubauen. Die Ausgabe ist ab sofort im Handel oder im Online-Shop unter www.tecChannel.de/shop für 9,90 Euro (gegen Rechnung) inklusive Versandkosten zu bestellen.

Glossar

AGP: Acclerated Graphics Port: Der AGP ist ein von Intel entwickelter Steckplatz für 3D-Grafikkarten basierend auf dem PCI-Bus. Über den AGP kann eine Grafikkarte direkt auf den Hauptspeicher des Systems zugreifen und dadurch Texturen benutzen, die im lokalen Speicher der Karte keinen Platz mehr finden.

CPU: Central Processing Unit: Zentraleinheit. Der Prozessor als Ganzes.

DDR-SDRAM: Double Data Rate SDRAM: Verdoppelt die Bandbreite durch Nutzung beider Taktflanken für die Datenübertragung.

DLLs: Dynamic Link Library. In einer DLL lassen sich Routinen zusammenfassen, die von mehreren Programmen benötigt werden. Das spart Platz, weil die Routine nur einmal vorhanden ist und nicht in jedem Programm. Zudem wird die Versions-Verwaltung vereinfacht, weil bei Fehlern nur eine DLL ausgetauscht werden muss, statt aller Programme, die die fehlerhafte Routine verwenden.

Dongle: Zum Schutz vor Raubkopien speziell codierter Baustein am Computer (meist am Parallel- oder Seriellport), ohne den bestimmte Software wie beispielsweise AutoCAD nicht funktioniert.

FPU: Floating Point Unit: Fließkommaeinheit. Funktionsblock im Prozessor, der auf die Bearbeitung von Fließkommazahlen optimiert ist.

OpenGL: Open Graphics Language: Von SGI entwickelte hardwareunabhängige 3D-Grafikschnittstelle mit vorgefertigten Funktionen für Rendering, Texturen und andere Visualisierungseffekte.

SSE: Streaming SIMD Extensions. Intels Marketingbezeichnung für einen erweiterten 3D- und Multimedia-Befehlssatz. SIMD steht für Single Instruction Multiple Data.

SSE2: Streaming SIMD Extensions 2. Intels Bezeichnung für einen erweiterten 3D- und Multimedia-Befehlssatz. SIMD steht für Single Instruction Multiple Data. SSE2 ist die zweite Version, die im Pentium 4 debütierte.

Threads: Ein Thread besteht aus einer Abfolge von Befehlen sowie dem Zustand der Sequenz. Dieser wird durch Counter, Call/Return-Stack sowie Thread-eigener Daten repräsentiert. Ein Task besteht immer aus einem oder mehreren Threads.

Zur Startseite