Warum eigentlich nicht Nintendo 128?
Wie angedeutet, ist der RCP in erster Linie für Bild und Ton verantwortlich, kann aber eigentlich viel mehr. Das liegt am frei programmierbaren, als Reality Signal Processor (RSP) bezeichneten Prozessorkern. Eigentlich hätte Nintendo mit ihm das Bit-Marketing auf die Spitze treiben und die Konsole Nintendo 128 nennen können. Denn der RSP verfügt über eine 128-Bit-Vektor- oder SIMD-Einheit (Single Instruction, Multiple Data).
Im PC-Bereich hatte Intel 1995 mit MMX gerade einmal eine 64-Bit-Vektorerweiterung eingeführt, 128 Bit gab es erst 1999 mit dem Pentium III. Da der RSP über eine getrennte Skalar- und Vektor-Pipeline verfügt, können Kontroll- und SIMD-Anweisungen parallel ausgeführt werden. Theoretisch kommt der RSP damit auf eine Milliarde 16-Bit-Operationen pro Sekunde. Etwas anderes unterstützt die Hardware nicht, dafür aber Multiply-Accumulate-Operationen, wodurch sich die eine Milliarde Operationen ergibt.
Dafür wurden dem Prozessor einige andere Features entfernt. Er verfügte über keine skalare Multiplikationseinheit – das kann im Zweifel der R4300i übernehmen – und kann lediglich auf je 4 kByte integrierten SRAM für Befehle und Daten zugreifen. Ein nahezu identisches Konzept setzte IBM später mit dem in der Playstation 3 verbauten Cell-Prozessor um – mit dem gleichen Nachteil: Es ist schwer zu programmieren.
Code-Optimierung entscheidet über Spielbarkeit
Auch beim N64 nutzten nur wenige Entwickler die sich bietenden Möglichkeiten, zumal Nintendo das nicht aktiv unterstützte. Die meisten griffen für Transformation und Beleuchtung auf die von Nintendo bereitgestellten Kernel zurück.
Und auch bei Nintendos Code gibt es noch einiges an Optimierungspotenzial, wie ein Modder mit Pseudonym Kaze Emanuar zeigt: Er optimierte in den vergangenen Jahren Super Mario 64 immer weiter und steigerte damit die Bildraten deutlich. Einen großen Einfluss haben dabei kompakterer Code und eine Optimierung des Layouts von Datenstrukturen. Beides führt dazu, dass die verfügbare Speicherbandbreite besser ausgenutzt wird, um die CPU, RSP und Raster-Pipeline konkurrieren.
Der R4300i steuert, der RSP knuspert Zahlen
Das Grundkonzept des RSP ist, dass die CPU ein kleines Programm, den Kernel, in dessen Befehls-RAM lädt. Über einige in den Speicherbereich eingeblendete Register kann die CPU den RSP grundlegend steuern: Der Befehlszeiger kann gesetzt und der RSP etwa angehalten oder gestartet werden.
Anschließend schreibt die CPU Daten und Kommandos in Form von Listen in den Daten-RAM des RSP, die der geladene Kernel dann abarbeitet. Das kann entweder direkt oder über die integrierte DMA-Einheit erfolgen, die der RSP auch selbst kontrollieren kann. Größtenteils sind die Daten Vertizes der zu rendernden Modelle, die entsprechend der Kameraposition transformiert und beleuchtet werden. Denkbar ist aber auch alles andere, was mit SIMD-Operationen gut umsetzbar ist, beispielsweise Multimedia-Codecs oder Physiksimulation.
Knapp der halbe Chip nur für Bildausgabe
Gerastert werden die fertigen Vertizes von einer fest verdrahteten, aber umfangreich konfigurierbaren Einheit, dem Reality Display Processor (RDP). Er bringt einige für die Zeit nicht selbstverständliche Features mit: Er unterstützt einen Z-Puffer, der komplizierte Verdeckungsprüfungen vereinfacht, indem er für jedes gerenderte Pixel dessen Abstand zur Kamera festhält. Überschrieben wird ein Pixel nur, wenn ein näherliegendes Pixel erzeugt wird.
Auch trilineare Filterung, die Interpolation zwischen zwei Mipmap-Ebenen, skalierten Versionen einer Textur, und Kantenglättung (Anti Aliasing) beherrscht der RDP. Insbesondere die trilineare Filterung setzt den N64 von Playstation und Saturn ab. Typisch für die Zeit unterstützt die Hardware auch die Simulation von Nebel, was schlicht als entfernungsabhängige Mischung eines Pixels mit der Nebelfarbe implementiert sein dürfte.
Neben dem RDP ist eine dritte Einheit im RCP integriert: Sie heißt Video Interface (VI) und dient dazu, die Bilddaten optimiert für die verschiedenen unterstützten Fernsehnormen auszugeben. RDP und VI zusammen belegen knapp die Hälfte der Chipfläche des RCP. Digital-Analog-Wandler und Generator für das Bildsignal sind in einem (anfangs waren es zwei) externen Chip implementiert.
Neben den zentralen Komponenten lohnt ein Blick auf die auch auf dem Mainboard eher randständigen, aber nicht weniger wichtigen Chips.
- Anzeige Hier geht es zur Nintendo Switch 2 bei Media Markt Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.

