Execution Overview

This chapter describes the hardware architecture of the Nintendo 64 game machine, in order to help you write software for the machine. Later sections of this manual describe the details you need to know to program each component.

The Nintendo 64 game consists of a number of hardware components that work together to produce the graphics and audio for the game. The heart of the system is the Reality CoProcessor (RCP). Attached to the RCP are memory chips, the MIPS R4300 CPU, and some miscellaneous I/O chips.

The RCP is the center of the game; all data must pass through it. It acts as the memory controller for the CPU. The RCP runs the graphics and audio microcode. The display portion of the RCP renders into the graphics frame buffer located in main memory. The video and audio portions of the RCP, DMA frame buffer, and audio data from main memory to drive the video and audio DACs. The figure below is a block diagram of the Nintendo 64 system.

Figure 3.1.1 Nintendo 64 Hardware Block Diagram

The CPU and RCP are both processors that can execute at the same time. Threads execute on the CPU and tasks execute on the RCP. Accesses to main memory from threads and tasks also occur in parallel.

The game program runs on the R4300 CPU as a collection of threads, each of which has its own stack. The operating system is a collection of routines that can be called in a thread. The operating system controls which thread is running on the CPU. A thread can access all of physical memory. Please see Section 6.2, “N64 Operating System Overview, Threads,” for more information.

Tasks run on the RCP, which is a microcode engine that processes a task list. Task lists are generated by a thread running on the R4300 CPU and are stored in main memory. The game program creates the task list, calls an OS routine to load the appropriate microcode, and then starts the RCP running to process the task list. The microcode on the RCP reads the task list from main memory. The RCP task can also write into main memory.

Copyright © 1999 Nintendo of America Inc. All Rights Reserved Nintendo and N64 are registered trademarks of Nintendo Last Updated January, 1999