2-3 RCP (Reality Co-Processor)

The RCP has two processors (RSP and RDP) and I/O interfaces. The RCP is the most important component of the N64 hardware system as shown in the following illustration. All data passes through the RCP, and the RCP serves as a memory controller for the CPU.

Figure2-3-1 The N64 Hardware Block(RCP)



Figure 2-3-1 The RCP Process Blocks



2-3-1 RSP


*RSP (Reality Signal Processor)

The RSP executes graphics and audio tasks. It works based on microcode.

Figure 2-3-3 The N64 Hardware Block(RSP)



*RSP Process Units



Figure 2-3-4 RSP Process Units



SU :Scalar Unit

The Scalar Unit (SU) uses a subset of R4000 instructions for execution.


VU :Vector Unit

The Vector Unit (VU) has eight 16-bit product-sum operation mechanisms.


IMEM :Instruction Memory

Instruction Memory (IMEM) is the memory that stores microcode.


DMEM:Data memory

Data memory (DMEM) is the internal working memory for the RSP microcode.



*Processes Executed by the RSP

(Graphics)

Most of the processes provided by the RSP are executed when vertex data is loaded into the vertex cache. The following are the main processes:


Geometric transformation:

This is necessary when three-dimensional objects move or must be scaled. The RSP does all necessary geometric transformations as needed. The RSP uses the 32-bit fixed-point vertex calculations to perform these transformations.


Clipping:

The clipping process cuts off polygons and pieces of polygons that are out of view of the screen as demonstrated in this illustration:




Figure 2-3-5 Example of clipping



Culling:

The culling process culls data that is not needed from the graphics pipeline. For example, data to draw the back of an object is unnecessary because it cannot be seen, so it is culled. The N64 supports two types of culling:

-Back-face culling

Back-face culling to cull the unseen back of objects

Figure 2-3-6 Image of Back-face culling



-Volume culling

Volume culling to cull items from the display list that draw objects that lie completely outside the current visual field as demonstrated in this illustration:




Figure 2-3-7 Example of Volume culling



Lighting calculations:

Used to calculate lighting.


(Audio)

The RSP processes waveform synthesis by using ABI (Audio Binary Interface) commands.




2-3-2 RDP



*RDP (Reality Display Processor)

The RDP processes the display list created by the RSP and CPU to create the graphics data. The RDP works only with graphics; it does nothing with audio. In other words, the RDP draws the graphics in the frame buffer and processes several drawing-related operations.


Figure 2-3-8 The N64 Hardware Block(RDP)



*RDP Process Units



Figure 2-3-9 RDP Process Units



RS :Rasterizer

The Rasterizer (RS) changes triangles and rectangles into pixels


TX :Texture Engine

The Texture Engine (TX) provides sampling for texels(picture elements) by using TMEM(Texture Memory).


TF :Texture Filter

The Texture Filter (TF) provides filtering for texels created by TX.


CC/AC :Color Combiner/Alpha Combiner

The Color Combiner/Alpha Combiner (CC/AC) combines two colors of pixels created by RS and texels created by TF and interpolates between these two colors.


BL :Blender

The Blender (BL) blends the pixel color set from CC, the color in the frame buffer, the fog color, and so on. It draws the resulting color into the frame buffer. At this time, it can also provide Z-buffering for the first part of the anti-aliasing process.


MI :Memory Interface

The Memory Interface (MI) processes pixel information in the frame buffer including read, modify, and write operations.



*RDP Drawing Cycle Modes

The RDP has the following four cycle modes:


Fill mode (FILL):

In FILL mode, the RDP writes pixels set in the fill color register. Four pixels in 16-bit frame buffer mode and two pixels in 32-bit frame buffer mode are written per cycle.


Copy mode (COPY):

In COPY mode, the RDP transfers the pixels in TMEM to the frame buffer. Four 16-bit pixels or two 32-bit pixels are copied per cycle.


One-cycle mode (1CYCLE):

In one-cycle mode, the RDP uses each process in the RDP pipeline once to write a pixel per cycle.


Two-cycle mode (2CYCLE):

In two-cycle mode, the RDP uses each process in the RDP pipeline twice, except the RS (rasterizer), to write one pixel per two cycles.




2-3-3 VI (Video Interface)


The VI reads data from the frame buffer using a fixed time interval, and sends it to the DA (digital-to-analog) converter (video DAC) to produce the video output.

Figure 2-3-10 The N64 Hardware Block(VI)




Figure 2-3-11 The N64 Hardware Block(VI)




2-3-4 AI (Audio Interface)

The AI reads data from the audio buffer using a fixed time interval, and sends it to the DA (digital-to-analog) converter (audio DAC) to produce the sound output.

Figure 2-3-12 N64 Hardware Block(AI)




Figure 2-3-13 The N64 Hardware Block(AI)