1-3 N64 Hardware and System Features

1-3-1 Hardware Features


The CPU is fast (about 100 MIPS) and includes the following on-chip cache memory:

Figure 1-3-1 CPU Cache Memory

N64 doesn't require a special dedicated chip to process graphics and audio as was the case with Super NES. N64 uses software to execute almost all processes.


Figure 1-3-2 Process are executed by software

The main memory (RDRAM) can be used by the entire system. Programmers are free to divide up the main memory into buffers (frame buffer, audio buffer, Z-buffer, heap, texture buffer, and so on) as appropriate for each game program. It is a unified memory system.



Figure 1-3-3 Unified Memory System

Almost all processes are executed by the CPU and RCP working together.


Figure 1-3-4 CPU and RCP execute a process in common

The RCP consists of two internal processors the RSP (Reality Signal Processor) and the RDP (Reality Display Processor), I/O Interface, and control logic.


Figure 1-3-5 The configuration of RCP

The RSP and RDP work together to execute GBI (Graphics Binary Interface) commands and render graphics into the frame buffer. The GBI commands are strung together into a specialized command list call the display list.


Figure 1-3-6 RSP and RDP on the graphics process

The RSP also interprets ABI (Audio Binary Interface) commands and creates linear PCM data using the sampling rate specified by the audio buffer.


Figure 1-3-7 RSP onthe audio process

The RSP interprets GBI and ABI commands using software called microcode.


Figure 1-3-8 RSP interprets commands by microcode

The image drawn in the frame buffer is transferred to the video DAC (Digital-to-Analog Converter) through DMA (direct memory access). The image becomes the TV image in the video DAC.


Figure 1-3-9 Image Transfered to DAC through DMA

The PCM data placed in the audio buffer is transferred to audio DAC through DMA. The audio becomes sound in the audio DAC.


Figure 1-3-10 The PCM data transfered to the audio DAC by DMA

For faster processing, game programs are not executed on the N64 Game Pak directly. Instead they are loaded into RDRAM first.

Previous                             N64


Figure 1-3-11 The programs on the Game Pak are loaded on RDRAM



Data coming from the Controller is read by way of the PIF chip as serial data.
Similarly, data in the Controller Pak is also read and written by way of the PIF chip through the Controller as serial data.


Figure 1-3-12 The Data Communication of the Controller



The RDP creates the screen using the Z-buffer (depth buffer) as shown in the following illustration.


Figure 1-3-13 Creating the Screen with the Z-buffer Using RDP

(Note that this is a conceptual illustration only. In practice, the Z-buffer values range from -1.0 to 1.0.)




1-3-2System (Software) Features


Game applications are executed in the multi-thread N64 Operating System.


Figure 1-3-14 The application software is executed on OS



Multi-thread programming provides the following advantages:

As a result, there are fewer bugs and debugging time is reduced.


Figure 1-3-15 Multi-thread programming



Messages provide information throughput between threads.


Figure 1-3-16 "Message" Provide Information Throughput Between Threads



Threads are executed according to their priority, not their actual position in the program code.


Figure 1-3-17 Software execution is provided by priority of threads



Threads that receive interrupt information messages execute interrupt processing.


Figure 1-3-18 Threads provide the interrupt processing



A high-priority thread called the Scheduler manages all the other threads. The Scheduler thread manages messages for the threads by using tasks or the VI retrace (the vertical synchronizing interrupt).


Figure 1-3-19 The scheduler provide management of threads



The CPU executes threads comprised of several processing units (function calls,macros, and so on). The RSP in the RCP, on the other hand, executes processing units called tasks.


Figure 1-3-20 Thread and Task