R4300i Product Information - MIPS Technologies, Inc.
R4300i Product Information - MIPS Technologies, Inc.
R4300i Product Information - MIPS Technologies, Inc.
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>R4300i</strong> MICROPROCESSOR<br />
0x FFFF FFFF<br />
0x 8000 0000<br />
0x 0000 0000<br />
32-bit<br />
Address<br />
Error<br />
2 GB<br />
Mapped<br />
Figure 46 User Mode Virtual Address Space<br />
The processor operates in User mode when the Status<br />
register contains the following bit-values:<br />
• KSU bits = 10 2<br />
• EXL= 0<br />
• ERL= 0<br />
In conjunction with these bits, the UX bit in the Status<br />
register selects between 32- or 64-bit User mode addressing<br />
as follows:<br />
• when UX = 0, 32-bit useg space is selected<br />
• when UX = 1, 64-bit xuseg space is selected<br />
Supervisor mode is designed for layered operating<br />
systems in which a true kernel runs in <strong>R4300i</strong> Kernel mode,<br />
and the rest of the operating system runs in Supervisor<br />
mode. Figure 47 shows Supervisor mode address space.<br />
32-bit<br />
0x FFFF FFFF<br />
Address<br />
0x E000 0000 error<br />
0.5 GB<br />
0x C000 0000 Mapped<br />
Address<br />
0x A000 0000 error<br />
Address<br />
0x 8000 0000 error<br />
0x 0000 0000<br />
2 GB<br />
Mapped<br />
Figure 47 Supervisor Mode Virtual Address Space<br />
The processor operates in Supervisor mode when the<br />
Status register contains the following bit-values:<br />
• KSU= 01 2<br />
• EXL= 0<br />
• ERL= 0<br />
useg<br />
sseg<br />
suseg<br />
0x FFFF FFFF FFFF FFFF<br />
0x 0000 0100 0000 0000<br />
0x 0000 0000 0000 0000<br />
64-bit<br />
Address<br />
Error<br />
1 TB<br />
Mapped<br />
64-bit<br />
0x FFFF FFFF FFFF FFFF Address<br />
0x FFFF FFFF E000 0000<br />
error<br />
0.5 GB<br />
0x FFFF FFFF C000 0000<br />
Mapped<br />
Address<br />
0x 4000 0100 0000 0000 error<br />
1 TB<br />
Mapped<br />
0x 4000 0000 0000 0000<br />
Address<br />
0x 0000 0100 0000 0000 error<br />
1 TB<br />
Mapped<br />
0x 0000 0000 0000 0000<br />
xuseg<br />
csseg<br />
xsseg<br />
xsuseg<br />
In conjunction with these bits, the SX bit in the Status<br />
register selects between 32- or 64-bit Supervisor mode<br />
addressing:<br />
• when SX = 0, 32-bit supervisor space is selected<br />
• when SX = 1, 64-bit supervisor space is selected<br />
The processor operates in Kernel mode when the Status<br />
register contains one of the following values:<br />
• KSU= 00 2<br />
• EXL= 1<br />
• ERL= 1<br />
In conjunction with these bits, the KX bit in the Status<br />
register selects between 32- or 64-bit Kernel mode<br />
addressing:<br />
• when KX = 0, 32-bit kernel space is selected<br />
• when KX = 1, 64-bit kernel space is selected<br />
The processor enters Kernel mode whenever an<br />
exception is detected and it remains in Kernel mode until an<br />
Exception Return (ERET) instruction is executed. The ERET<br />
instruction restores the processor to the mode existing prior<br />
to the exception.<br />
Kernel mode virtual address space is divided into<br />
regions differentiated by the high-order bits of the virtual<br />
address, as shown in Figure 48.<br />
32-bit*<br />
0x FFFF FFFF<br />
0.5 GB<br />
0x E000 0000<br />
Mapped<br />
0.5 GB<br />
Mapped<br />
0x C000 0000<br />
0.5 GB<br />
Unmapped<br />
0x A000 0000 Uncached<br />
0.5 GB<br />
Unmapped<br />
0x 8000 0000 Cached<br />
0x 0000 0000<br />
2 GB<br />
Mapped<br />
kseg3<br />
ksseg<br />
kseg1<br />
kseg0<br />
kuseg<br />
64-bit<br />
0x FFFF FFFF FFFF FFFF 0.5 GB<br />
0x FFFF FFFF E000 0000 Mapped<br />
0.5 GB<br />
0x FFFF FFFF C000 0000 Mapped<br />
0.5 GB<br />
Unmapped<br />
0x FFFF FFFF A000 0000 Uncached<br />
0.5 GB<br />
Unmapped<br />
0x FFFF FFFF 8000 0000 Cacheable<br />
Address<br />
0x C000 00FF 8000 0000 error<br />
Mapped<br />
0x C000 0000 0000 0000<br />
Address<br />
0x 9800 0002 0000 0000 error<br />
Unmapped<br />
0x 9800 0000 0000 0000 Cached<br />
Address<br />
0x 9000 0002 0000 0000 error<br />
Unmapped<br />
0x 9000 0000 0000 0000 Uncached<br />
Address<br />
0x 4000 0100 0000 0000 error<br />
1 TB<br />
0x 4000 0000 0000 0000 Mapped<br />
Address<br />
0x 0000 0100 0000 0000 error<br />
1 TB<br />
0x 0000 0000 0000 0000<br />
Mapped<br />
Figure 48 Kernel Mode Virtual Address Space<br />
ckseg3<br />
cksseg<br />
ckseg1<br />
ckseg0<br />
xkseg<br />
xkphys<br />
xkphys<br />
xksseg<br />
xkuseg<br />
17 R4300 Data Sheet, Rev 0.3, April 1997