Architecture

2.6.2Direct segment mapping

The R3900 Processor Core includes a direct segment mapping MMU. The following virtual address spaces are available depending on the processor mode (Figure 2-8 shows the address mapping).

(1) User mode

One 2 Gbyte virtual address space (kuseg) is available. Virtual addresses from 0x0000 0000 to 0x7FFF FFFF are translated to physical addresses 0x4000 0000 to 0xBFFF FFFF, respectively.

(2) Kernel mode

The kernel mode address space is treated as four virtual address segments. One of these is the same as the kuseg space in user mode; the remaining three are the kernel segments kseg0, kseg1 and kseg2.

(a) kuseg

This is the same as the virtual address space available in user mode. Address translation is also the same as in user mode. The upper 16 Mbytes of kuseg is reserved for on-chip resources and is not cacheable.

(b) kseg0

This is a 512 Mbyte segment spanning virtual addresses 0x8000 0000 to 0x9FFF

FFFF.Fixed mapping of this segment is made to physical addresses 0x0000 0000 to 0x1FFF FFFF, respectively. This area is cacheable.

(c)kseg1

This is a 512 Mbyte segment from virtual address 0xA000 0000 to 0xBFFF FFFF.

Fixed mapping of this segment is made to physical address 0x0000 0000 to 0x1FFF

FFFF, respectively. Unlike kseg0, this area is not cacheable.

(d) kseg2

This is a 1 Gbyte linear address space from virtual addresses 0xC000 0000 to 0xFFFF

FFFF.The upper 16 Mbytes of kseg2 are reserved for on-chip resources and are not cacheable. Of this reserved area, 0xFF20 0000 to 0xFF3F FFFF is a 2 Mbyte reserved area intended for use as a debugging monitor area and for testing.

21

Page 29
Image 29
Toshiba TX39 user manual Direct segment mapping, Kuseg, Kseg0, Kseg1, Kseg2