SPONSORED LINKS

Detailed Specifications of the Nintendo 64 main unit and architecture

The specifications of the machine are widely available. This page aims to be different so we won't be printing the same stuff that everyone else is. For the benefit of new readers, the N64 has the following capabilities (actual hardware performance is detailed below):

* 235x224 to 640x480 flicker free interlaced screen resolution.
* Hardware Z-Buffering
* Hardware Anti-aliasing
* Hardware Texture Mapping (32x32 pixel texture maps)
* Tri-Linear filtered MIP Mapping
* Perspective Correction (Inverse Texture Mapping)
* Environment Mapping
* 32bit RGBA pixel-colour frame buffer
* 21bit colour output
* Stereo 16bit PCM audio
* Capable of 64 channels at 44Khz

The Nintendo 64 has three main features. Here is the simple picture taken directly from the official Nintendo 64 Introductory Manual (see dev section) that gives names to the various chips:

Main CPU

The heart of the console is the NEC MIPS R4300i processor. This is a low-cost chip based on the workstation-class MIPS 4400. The processor is able to operate in either a 32bit or 64bit mode and includes both a 64bit integer data execution unit and a 64bit floating point unit.

The chip has a single issue, five stage instruction pipeline that handles both the integer and floating point instructions. The chip also has two 64bit wide on-chip caches, a 16k instruction cache and an 8k data cache. The caches provide a 20% performance increase. Memory management is provided off-chip on the RCP.

The R4300i used in the Nintendo 64 is internally clocked at 93.75Mhz which is slower than the original 100Mhz design specification, but is still faster than any other currently available console at that time. Externally, the R4300i uses a 32bit system interface. It can execute 125 Dhrystone MIPS and is rated at 60 SPECint92 and 45 SPECfp92.

* For more information about the R4300i, check out the MIPS website *

 

Reality Co-Processor

The second component of interest is the custom chip - the Reality Co-Processor (RCP). This is a 62.5Mhz chip that interfaces directly to the CPU. The RCP is designed to handle most of the audio and graphics processing. In addition to this, the chip also contains DMA logic, audio and video outputs, and a joystick input. The chip also supports timing and signals for the game cartridges.

There are two processors inside the RCP:

* RSP: Short for Reality Signal Processor. The RSP performs all 3D manipulations and audio functions. A special feature is that this processor is configurable via microcode allowing the system to be optimised over time.

* RDP: Reality Drawing Processor. A pixel drawing processor. This unit performs all pixel-level operations including texture mapping, anti-aliasing, tri-linear interpolation, MIP mapping and z-buffering.The RDP operates on a display list to provide it's graphics output meaning the RDP is essentially an Object List Processor.

SGI claim that the RCP contains a vector processor (probably the RSP) that can perform over half a billion arithmetic operations per second - approximately 10 times the raw compute power of a lowend Pentium. Internally the RCP performs 128bit processing, although this could be "split" between the RSP and RDP.

The audio is generated by both the R4300i and the RCP, presumably using the CPU to provide the music data, while the RCP performs the actual sound generation. It is possible to produce 16bit stereo sound at up to 48Khz (greater than CD at 44.1Khz). The number of sound channels is not defined in hardware. The total number of simultaneous voices depends on the software although 64 channels is apparently possible.

The process of designing the RCP took six supercomputers running simulations for 24 hours that took seven days to complete. The result is a processor smaller than a fingernail.

 

RAMBUS Unified Memory Architecture

There is a trend forming to use a Unified Memory Architecture (UMA) in forthcoming systems. The abortive M2 console also features a UMA. Although the Atari Jaguar was the first console to use a UMA, the Nintendo 64 is the most successful. A UMA uses a single chunk of RAM. All processors access and share the same memory.

The advantages of using a UMA is that the programmer can decide how much memory to allocate to program code, graphics data, screen buffer, audio data etc. In older systems (including the Sony Playstation and Sega Saturn), memory was assigned for certain tasks (1 megabyte VRAM, 2 Megabytes Main RAM etc). If a game does not use all the sound memory, it cannot be used for bitmaps. The UMA is a more flexible architecture.

The Nintendo 64 uses 36Mbits of RAMBUS 9bit DRAM. In more common terms this equates to 4 megabytes. The extra bit is presumably used for parity. The chips use a fast 8bit channel running at approximately 500Mhz. This yields a bandwidth of 520.5MB/sec or 4,500M bit/sec (exact benchmarks vary). The high speed of the memory, coupled with a 256k cache for both the R4300i and RCP, allow the system to make full use of the UMA.

There is an extra 4 megabytes of RDRAM (Expansion Pak) which plug into the front expansion connector on the top of the N64 taking the total amount of RAM in the system to 8 megabytes.

* For more information about RAMBUS memory, check out the RAMBUS website *

 

The Nintendo 64 partitions audio and graphics into separate tasks. The R4300i works as the central controller and interrupt handler. It also handles all high-level audio processing functions (the number of channels depends on what else the CPU is doing).

For example, the R4300i uses the FPU to synthesise high-precision audio wave forms. The RCP handles those jobs where software algorithms alone can't meet the bandwidth requirements. To generate sounds, the R4300i processes a list of musical events (for example, MIDI notes) to determine the resource and timing requirements. It then builds a digital signal processing command list, starts a DMA transfer of data from mass storage to main memory, and then goes to the next task. The RCP parses the command stream and processes the data in main memory. The DMA controller then sends the processed data to a digital-to-analog converter (DAC) for sound generation.

For generating graphics, the R4300i can readily create and manipulate models (3-D objects described as a mesh of polygons) for use in game scenes. When the game code needs to update the position and the attributes of the models, the R4300i can handle these updates in real time. The models are next forwarded to the graphics coprocessor, which performs matrix manipulation and renders the image. The R4300i's 64-bit mode gives game developers extra precision for models and other calculations without having to write high-precision algorithms or incurring a performance penalty.

Directly from the Nintendo 64 page at Mips Technologies, Inc.

Nintendo64 has roughly 1,000 times the performance of the computers used to land a man on the moon. (ahhh, those old times...)


The raw computational power inside Nintendo64 could perform the calculations necessary to tabulate the tax returns of 6.5 million people per second (IRS Form 1040, the long form).


The team that was assembled to design Nintendo64 included engineers that had previously designed such diverse products as Silicon Graphics workstations, personal computers, military flight simulators, supercomputer systems, professional electronic music synthesizers, laser printers, home stereo systems, digital cash registers, stadium scoreboard systems, personal computer graphics systems, karoke machines, word processing computers, medical imaging systems, and software systems for NASA.


The Nintendo warehouse prior to the launch ranked #1 as the world's top supercomputer site.


If the Webster's Dictionary was on a Nintendo64 cartridge, the Nintendo64 could read the entire dictionary in a 1/4 of a second.