29.12.2014 Views

R4300i Product Information - MIPS Technologies, Inc.

R4300i Product Information - MIPS Technologies, Inc.

R4300i Product Information - MIPS Technologies, Inc.

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!