![](http://datasheet.mmic.net.cn/370000/-PD30101_datasheet_16680756/-PD30101_96.png)
CHAPTER 4 MEMORY MANAGEMENT SYSTEM
65
Table 4-3. 32-bit Kernel Mode Segments
Address bit
value
Status register bit
value
Segment
name
Virtual address
Physical
address
Size
KSU EXL ERL
KX
32-bit
A[31] = 0
KSU = 00
or
EXL = 1
or
ERL = 1
0
kuseg
0x0000 0000
to
0x7FFF FFFF
TLB map
2 Gbytes
(2
31
bytes)
32-bit
A[31..29] = 100
0
kseg0
0x8000 0000
to
0x9FFF FFFF
0x0000 0000
to
0x1FFF
FFFF
512
Mbytes
(2
29
bytes)
32-bit
A[31..29] = 101
0
kseg1
0xA000 0000
to
0xBFFF FFFF
0x0000 0000
to
0x1FFF
FFFF
512
Mbytes
(2
29
bytes)
32-bit
A[31..29] = 110
0
ksseg
0xC000 0000
to
0xDFFF FFFF
TLB map
512
Mbytes
(2
29
bytes)
32-bit
A[31..29] = 111
0
kseg3
0xE000 0000
to
0xFFFF FFFF
TLB map
512
Mbytes
(2
29
bytes)
(a) kuseg (32-bit Kernel mode, user space)
When KX = 0 in the Status register, and the most-significant bit of the virtual address space is 0, the
kuseg virtual address space is selected; it is the current 2-Gbyte (2
The virtual address is extended with the contents of the 8-bit ASID field to form a unique virtual address.
If the ERL bit of the Status register is 1, the user address space is assigned 2 Gbytes (2
becomes unmapped (with virtual addresses being used as physical addresses) and uncached so that
the cache error handler can use it. This allows the Cache Error exception code to operate uncached
using r0 as a base register.
31
-byte) user address space.
31
bytes) and
(b) kseg0 (32-bit Kernel mode, kernel space 0)
When KX = 0 in the Status register and the most-significant three bits of the virtual address space are
100, the kseg0 virtual address space is selected; it is the current 512-Mbyte (2
References to kseg0 are not mapped through the TLB; the physical address selected is defined by
subtracting 0x8000 0000 from the virtual address.
The K0 field of the Config register controls cacheability.
29
-byte) physical space.