zurück zum Artikel

Fall Processor Forum: Details zu AMDs 4-Kern-Prozessor

| Benjamin Benz

Cache-Organisation, neue SSE-Befehle und andere Erweiterungen am Rechenwerk: AMD rückt die Informationen zu ihrem Vierkernprozessor nur tröpfchenweise heraus.

Bild 1 [250 x 183 Pixel @ 12 KB]

Den 2 MByte großen L3-Cache teilen sich beim "Barcelona" alle vier Kerne.

Häppchenweise gibt AMD Details [1] zu dem 4-Kern-Opteron mit dem Codenamen "Barcelona" heraus. Auf dem Fall Microprocessor Forum [2] in San Jose zeigte AMD wieder einmal ein paar wenige neue und einige schon bekannte Architekturdetails sowie einen Die [3]-Shot. Der erste echte Quadcore wird ein Opteron-Prozessor [4] für den Sockel F [5] sein. Der neue Prozessor soll als Drop-in-Replacement Doppelkern-Opterons ersetzen können. Es ändert sich also weder am Sockel, den drei HT [6]-Links noch an der Thermal Design Power (TDP) – maximal 120 Watt – etwas. Diese Effizienzsteigerung erreicht AMD durch die Migration auf einen 65-nm-Fertigungsprozess.

Ähnlich wie Intel [7] arbeitet auch AMD [8] an einer neuen SSE-Erweiterung. Intels SSE4 [9] und AMDs SSE128 werden jedoch (vorerst) nicht kompatibel sein. AMD verbreitert die SSE-Einheit von 64 auf 128 Bit und spendiert ihr zusätzlich noch einige neue Befehle (EXTRQ, INSERTQ, MOVNTSD, MOVNTSS). Dazu kommen noch eigene SSE-MOV-Befehle, die in der Store-Pipeline der FPU ausgeführt werden. Es können zweimal 128 Bit pro Zyklus in die SSE-Einheit geladen werden. Auch müssen die Daten für die SSE-ld-Operationen nicht mehr an bestimmten Wortgrenzen im Speicher ausgerichtet sein (SSE unaligned Load-Execution mode). Hinzugekommen sind auch Erweiterungen des Befehlssatzes um Bitmanipulationen (Zählen der führenden Nullen: LZCNT sowie die Anzahl aller Einsen, auch Hamming-Gewicht oder Population Count genannt – POPCNT).

Die Sprungvorhersageeinheit soll einige Verbesserungen erfahren haben. Ladeoperationen können out-of-order umorganisert werden. Der Befehlsladespeicher wächst von 16 auf 32 Byte.

Ein Sideband Stack [10] Optimizer kümmert sich um Modifikationen des Stacks während PUSH- und POP-Befehlen. Das soll die restlichen Rechenwerke entlasten. Deutlich hat AMD die Größe der Translation Lookaside Buffer (TLB) vergrößert. Die einzelnen Seiten können nun bis zu 1 GByte [11] verwalten. Sollten die Eingangsdaten für eine Division dies erlauben, kann der Divider abbrechen, wenn sich am Endergebnis nichts mehr ändert. Das soll die Latenzzeiten [12] bei Divisionen verkürzen.

Die beiden DDR2-Speicher [13]-Controller [14] können nun völlig unabhängig voneinander arbeiten, was bei geschickter Programmierung die Anzahl der Page-Conflicts reduzieren soll. Ein "Write bursting [15]" genanntes Verfahren soll Schreibzugriffe in den Speicher sammeln und auf einmal ausführen. Den umgekehrten Weg geht der DRAM [16] Prefetcher: Wenn die Speicherschnittstelle nichts zu tun hat, versucht er, demnächst benötigte Daten schon einmal in einen Puffer zu laden.

Bild 2 [250 x 211 Pixel @ 16,7 KB]

Daten im L3-Cache stehen allen Kernen zur Verfügung. Über den L1- und L2-Cache gebietet jeder Kern exklusiv.

Die Quadcore-Prozessoren, die 2007 auf den Markt kommen sollen, werden drei verschiedene Caches haben. Jeder Kern gebietet dabei über 64 KByte L1- und 512 KByte L2-Cache. Den L3-Cache mit 2 MByte teilen sich alle vier Kerne. Alle drei Caches arbeiten erst einmal nach dem Victim-Cache-Prinzip, bei dem der tiefer liegende Cache die Daten aufnimmt, die aus dem näher am Kern liegenden herausfallen. Allerdings können Cache-Lines [17], die (wahrscheinlich) von anderen Kernen mitbenutzt werden trotzdem im L3-Cache verbleiben. In die Entscheidung, ob Daten im L3-Cache verbleiben oder nicht, fließen unter anderem die MOESI-Bits aber auch der Inhalt der Cache-Lines ein. So werden Code-Segmente eher mit anderen Kernen geteilt als Datensegmente.

Der Barcelona-Kern kann ganze Speicherbereiche aber auch Cache-Lines einzelnen virtuellen Maschinen zuordnen. Das "Nested Paging" (NP) – Teil der Pacifica-Erweiterung – entlastet den Hypervisor von aufwendigen Umrechnungen und besonders auch von Mechanismen des Zugriffschutzes. Normalerweise enthält jede Page Table ein Register [18] (CR3) das die physische Adresse der Seite speichert. Bei den Nested Page Tables erhält jede VM ein eigenes gCR3-Register. Diese zusätzliche Übersetzungsschicht gaukelt jeder VM einen eigenen physischen Adressraum vor. Bei einem Kontextwechsel muss daher nicht mehr – aus Sicherheitsgründen – der ganze Cache geleert werden, sondern die VM erhält nur Zugriff auf ihre eigenen Cache-Lines.

Auch bei den Stromsparfunktionen hat AMD nachgerüstet. So soll es nun getrennte Powerplanes für die Northbridge [19] und den Kern geben. So kann in einem Mehrwegesystem beispielsweise die Spannung der Kerne gesenkt werden, während der Speichercontroller andere CPUs mit Daten versorgt. Die Taktfrequenz [20] kann für jeden Kern einzeln eingestellt werden.

Zum Fall Microprocessor Forum 2006 [21] siehe auch: (bbe [22])


URL dieses Artikels:
https://www.heise.de/-170102

Links in diesem Artikel:
[1] https://www.heise.de/news/SPF-AMD-gibt-Details-zu-den-Quad-Core-CPUs-bekannt-125260.html
[2] http://www.instat.com/Fallmpf/06/
[3] http://www.heise.de/glossar/entry/Die-398061.html
[4] http://www.heise.de/glossar/entry/Prozessor-395716.html
[5] https://www.heise.de/news/AMD-bringt-Server-CPUs-der-Opteron-Serie-mit-DDR2-Interface-152190.html
[6] http://www.heise.de/glossar/entry/Hyper-Threading-395985.html
[7] http://www.intel.com
[8] http://www.amd.com
[9] https://www.heise.de/news/IDF-Neues-SSE4-mit-50-Befehlen-166566.html
[10] http://www.heise.de/glossar/entry/Stack-395678.html
[11] http://www.heise.de/glossar/entry/Gigabyte-395779.html
[12] http://www.heise.de/glossar/entry/Latenzzeit-397517.html
[13] http://www.heise.de/glossar/entry/DDR2-Speicher-395664.html
[14] http://www.heise.de/glossar/entry/Controller-395688.html
[15] http://www.heise.de/glossar/entry/Burst-399287.html
[16] http://www.heise.de/glossar/entry/Dynamic-Random-Access-Memory-395584.html
[17] http://www.heise.de/glossar/entry/Cache-Line-398055.html
[18] http://www.heise.de/glossar/entry/Register-398197.html
[19] http://www.heise.de/glossar/entry/Northbridge-399573.html
[20] http://www.heise.de/glossar/entry/Taktfrequenz-395726.html
[21] http://www.instat.com/Fallmpf/06/
[22] mailto:bbe@ct.de
[23] https://www.heise.de/news/Fall-Processor-Forum-Soft-Prozessor-fuer-FPGAs-170679.html
[24] https://www.heise.de/news/Fall-Processor-Forum-4-Wege-SuperH-Prozessor-170669.html
[25] https://www.heise.de/news/Fall-Processor-Forum-Power6-mit-5-GHz-170647.html
[26] https://www.heise.de/news/Fall-Processor-Forum-Energie-sparen-mit-TeraOps-Chips-170203.html
[27] https://www.heise.de/news/Fall-Processor-Forum-Niagara-die-Zweite-170133.html
[28] https://www.heise.de/news/Fall-Processor-Forum-SPARC64-VI-und-VII-170120.html