CPU Addressing

CPU virtual address translation takes place in either of two ways: via direct mapping, or through the translation lookaside buffer (TLB). When running in kernel mode (as applications do on the Nintendo 64 platform) the address ranges have the behavior described in Table 9-1.

Table 1  32 Bit Kernel Mode Addressing
Beginning Ending Name Behavior
0x00000000 0x7fffffff KUSEG TLB mapped
0x80000000 0x9fffffff KSEG0 Direct mapped, cached
0xa0000000 0xbfffffff KSEG1 Direct mapped, uncached
0xc0000000 0xdfffffff KSSEG TLB mapped
0xe0000000 0xffffffff KSEG3 TLB mapped

The KSEG0 address space is expected to be the most popular, if not only, address space used. In this address space, the physical memory locations corresponding to be KSEG0 address can be determined by stripping off the upper three bits of the virtual address. For example, virtual address 0x80000000 corresponds to physical address 0x0000000, and so on.

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