Der AMD Opteron Prozessor (Fortsetzung)
II. Prozessor-Architektur
Die Architektur des Opteron basiert prinzipiell auf seinem K-7 Vorgänger. AMD hat erkannt, dass es besser ist, eine bewährte Architektur zu verbessern, als eine komplett neue zu etablieren. So blieben vom Vorgänger die 128KB L1-Cache, drei Integer-, drei Floating-Point und drei x86-Decoder, die über drei unabhängige Befehls-Decoder-Pipes versorgt werden. Der L2-Cache verdoppelte sich auf 1MB, bleibt aber weiterhin 16-fach assoziativ.

Ein weiteres Zeichen der Evolution des K7 zum K8 ist die Pipeline. Während Intel bei der Einführung der Netburst Microarchitecture den radikalen Sprung von 10 auf 20 Stufen in der Pipeline gemacht hat und damit ein schlechteres Instruktionen/Takt-Verhältnis in Kauf nahm, um dafür die Taktfrequenzen nahezu beliebig nach oben treiben zu können, verlängert sich die Integer-Pipeline des Opteron lediglich um zwei auf 12 Stufen. Die FPU-Pipeline wächst auf 17 Stufen. Damit sind auch hier höhere Taktfrequenzen als früher möglich.
Um diese Pipeline optimal zu füllen und zeitaufwendiges Neuladen zu vermeiden, wurde auch die Sprungvorhersage verbessert. Der Translate Lookaside Buffer (TLB) wurde vergrößert, um Informationen zur Konvertierung von logischen in physikalische Adressen zu beschleunigen. Dazu hat AMD seinem jüngsten Prozessorspross zu den bekannten MMX-, 3DNow!- und SSE- auch SSE2-Erweiterungen mit 16 Registern mit auf den Weg gegeben, doppelt so viele wie beim Pentium 4. 32bit-Applikationen stehen davon allerdings nur 8 zur Verfügung, dies entspricht damit dem Pentium 4. Nur im 64bit-Modus stehen die vollen 16 Register zur Verfügung und zeigen ihre gesamte beschleunigende Wirkung.
Der Hauptunterschied und für AMD derzeit das Alleinstellungsmerkmal ist die Erweiterung des Adressraums auf 64bit, wobei die Register lediglich von den bisherigen 32bit auf 64bit erweitert wurden. Diese Erweiterung versetzt den Opteron im Vergleich zu Intels Itanium in die Lage, ohne aufwendige Emulationen und Geschwindigkeitseinbußen aktuellen 32bit-Code zu verarbeiten und State-of-the-art-Betriebssysteme wie Windows XP genauso aber wie DOS und Windows 9x zu nutzen. Den gleichen Schritt machte Intel seinerzeit beim Übergang vom 16bit (i286-Prozessor) zum 32bit Adressraum (i386-Prozessor). Der i386 ist aber ebenfalls noch in der Lage, 16bit Code auszuführen. Dieser Schritt war damals entscheidend für die gesamte Entwicklung der PC-Branche bis heute.
AMD erklärt nun die Zeit für reif, den nächsten Schritt zu machen, da 32bit nur einen maximalen adressierbaren Speicher von 4GB bedeuten. Dies ist in vielen Serversystemen heutzutage schon die Untergrenze dessen, was benötigt wird. Selbst Techniken wie Physical Address Extension bieten maximal 64GB - und das für den Preis höherer Komplexität und verringerter Geschwindigkeit.
Im Opteron als erstem Prozessor seiner Generation werden von dem 64bit breiten Adressraum allerdings nur 40bit physikalische bzw. 48bit virtuelle Adressbreite genutzt. Dies entspricht 1TB (Terabyte) adressierbarem Speicher. Das sollte allerdings für die Lebensdauer der Opteron-CPUs auch ausreichend sein. In späteren Versionen der Architektur kann AMD den Adressbereich auch einfach erweitern.
Wie oben schon erwähnt, kommt der Opteron sowohl mit gegenwärtigem 32bit-Code als auch mit neuen 64bit-Adressen zurecht. Der Prozessor kennt hierzu drei Betriebszustände:
- Legacy Mode
- 64bit Mode
- Compatiblity Mode
Dies bedeutet, dass der Prozessor unter Betriebssystemen wie Windows XP im Legacy Mode arbeitet und sich wie eine "normale" 32bit-CPU verhält. Durch die ähnliche Architektur sollte die Systemleistungen damit, beschleunigt durch den größeren Cache, SSE2 sowie den durch die längere Pipeline höheren möglichen Takt, etwas über den aktuellen Athlon XP Prozessoren liegen.
Der 64bit Mode ist, wie sein Name schon sagt, rein für 64bit Betriebssysteme und Anwendungen gedacht, erst in diesem Modus kann der Opteron seine volle Leistungsfähigkeit ausschöpfen. Der Compatiblity Mode ist eine Zwischenstufe, die die Nutzung von 32bit Applikationen unter 64 bit Betriebssystemen erlaubt. Diese Zwischenstufe kostet zwar etwas Leistung, welche aber durch die 64bit-Aufrufe des Betriebssystems wieder wettgemacht werden können.