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