Coprocesseur Reality
Le coprocesseur Reality (Reality Coprocessor en anglais, souvent abrégé RCP) est l'une des deux principales puces de la Nintendo 64 aux côtés du NEC VR4300, un dérivé du MIPS R4200.
Le RCP a été développé par Silicon Graphics pour Nintendo, spécialement pour la console de jeu vidéo Nintendo 64. Il se compose de deux éléments principaux: le Reality Signal Processor (RSP) et le Reality Display Processor (RDP).
Reality Signal Processor
Le RSP est un processeur vectoriel conçu pour les calculs 3D. Il s'occupe d'une petite partie du pré-traitement audio et d'une grande partie du pré-traitement vidéo de la Nintendo 64. Il permet de l'anti-aliasing temps réel, une gestion de charge automatique, le placement texture et un tampon de profondeur temps réel. Le RSP dispose de 4 x 20 Ko de DMEM (Data MEMory en anglais, mémoire de données) et exécute les instructions contenues dans ses 4 Ko d'IMEM (Instruction MEMory en anglais, mémoire des instructions), lui permettant à tout moment de stocker 1 024 instructions.
Ces instructions sont désignées collectivement sous le nom de microcodes. Un microcode peut être conçus pour effectuer des tâches spécifiques comme les calculs d'illumination ou le traitement de la liste d'affichage du RDP. Le RSP est capable de transférer des données vers et à partir de la mémoire principale et du DMEM/IMEM via un ADM.
Reality Display Processor
Le RDP est programmé par l'utilisation des listes d'affichage. Une liste d'affichage contient une série de commandes, de taille variable, qui donnent des instructions au RDP et contrôle son état de fonctionnement. Le RDP est capable de rendre des géométries ombragées, texturées et tamponné en profondeur sur un tampon d'image arbitraire dans la mémoire principale[1].
Le RDP contient 4 KO de TMEM (Texture MEMory en anglais, mémoire de texture) sur-puce dans laquelle le RDP peut référencer, à n'importe quel moment, jusqu'à huit textures (appelées tuiles). La taille de la mémoire de texture peut être encore réduite à l'aide de tables de correspondances de textures (TLUT), les premiers 2 ko étant alors destinés au stockage des tables.