Fall Processor Forum: Niagara, die Zweite

Bis zu 64 Threads soll der Niagara 2 von Sun gleichzeitig ausführen können und die Gleitkommaschwäche seines Vorgängers ausbügeln.

In Pocket speichern vorlesen Druckansicht 37 Kommentare lesen
Lesezeit: 3 Min.
Von
  • Benjamin Benz

Jeder der acht Kerne des Niagara 2 kann bis zu acht Threads parallel ausführen. [Klicken für vergrößerte Ansicht]

Der Niagara-2-Prozessor von Sun soll doppelt so viele Threads parallel ausführen können wie sein Vorgänger UltraSPARC T1 alias Niagara. Der UltraSPARC T1 stellte die radikalste Form der Mehrkernarchitektur bei kommerziellen Rechnern dar. Vereinfacht gesagt, lässt der kalifornische Hersteller seinen Prozessor möglichst viele einfache Aufgaben gleichzeitig ausführen. Dabei kam der UltraSPARC T1 mit einem typischen Leistungsbedarf von nur 72 Watt aus – Sun sprach von der CoolThread-Technik und von ökologisch verantwortlichem Rechner-Einsatz (Eco Computing).

Jeder der acht Kerne des Niagara 2 bearbeitet nun acht Threads parallel. Diese Verdoppelung erreicht Sun durch eine zweite Ausführungseinheit (EXU) pro Kern. Jeder der acht Threads erhält einen eigenen Instruction Puffer. Diese Puffer sind in zwei Gruppen zu je vier Threads organisiert. Eine zusätzliche "pick"-Stufe in der Pipeline entscheidet jeden Zyklus, welche zwei Threads bereit sind, ausgeführt zu werden. So teilen sich die vier Threads einer Gruppe eine EXU. Da nicht alle Teile der Pipeline wie beispielsweise die LOAD/STORE-Einheit (LSU) doppelt vorhanden sind, kann es dazu kommen, dass einer der Threads warten muss.

Ein PCIe-Interface mit 8 Lanes sowie zwei 10-Gigabit-Ethernet-Schnittstellen hat Sun ebenfalls in den Chip integriert. Dabei können die Netzwerkschnittstellen virtualisiert und auf bis zu acht Partitionen verteilt werden.

Der neunte Port des Crossbarswitches verbindet I/O-Geräte mit den Prozessorkernen. [Klicken für vergrößerte Ansicht]

Ebenfalls neu und als Reaktion auf die Gleitkommaschwäche des ersten Niagara gedacht, ist eine kombinierte Floating-Point/Graphics Unit (FGU). Die acht Threads müssen sich diese aber teilen. Die Cryptoeinheit Stream Processing Unit (SPU), die jeder Core einmal besitzt, hat Sun deutlich überarbeitet. Sie besitzt zwei getrennte Untereinheiten (Modular Arithmetic Unit und Cipher/Hash Unit) sowie eine eigene DMA-Engine. Für Multiplikationen muss die FGU herhalten. Die SPU beherrscht nun mehr Algorithmen (RC4, DES, 3DES, AES-128/192/256, MD5, SHA-1/256) als beim Niagara 1. Zusammen sollen die acht Crypto-Einheiten in der Lage sein, die Daten auf den beiden 10-Gigabit-Ethernet-Schnittstellen in Echtzeit zu ver- oder entschlüsseln.

Den L2-Cache unterteilt Sun in acht Bänke zu je 512 KByte. Damit die Kerne gemeinsam effizient auf den 16-fach assoziativen L2-Cache zugreifen können, verbindet ein 8×9-Crossbarswitch jeden Kern mit jeder Bank. Pro Zyklus kann ein Kern in den Cache, mit dem er gerade verbunden ist, 8 Byte schreiben oder 16 Byte daraus lesen. Je zwei Cache-Bänke teilen sich einen Dual-Channel-FBDIMM-Speichercontroller. Der neunte Port am Switch ist für eine I/O-Schnittstellen reserviert – für mehr I/O-Ports war laut Sun kein Platz mehr auf dem Die.

Über die Taktfrequenz des in einem 65-nm-gefertigten Niagara 2 wollte Sun auch auf eindringliche Nachfragen nichts verraten. Die Gleitkommaleistung soll sich jedoch im Vergleich zum T1 um einen Faktor 10 verbessern. Ebenso wenig war der Sprecher bereit, zu kommentieren, ob man eine Niagara-2-Version für mehr als einen Sockel plant. Die erste Version wird jedenfalls keine externe kohärente Schnittstelle besitzen. Allerdings gab man zu erkennen, das man eine solche Schnittstelle durchaus für eine gute Idee halte. (bbe)