CP0 register summary and reference
141
Programming the MIPS32® 74K™ Core Family, Revision 02.14
B.1.1 Status register
The
Status
register is the most basic (and most diverse, for historical reasons) control register in the MIPS architec-
ture, and its fields are squashed into
. All fields are writable unless noted otherwise.
Figure B.1 Fields in the Status Register
The 74K family
Status
has no non-standard fields - they’re all as defined by
. Here and elsewhere these field
descriptions are fairly terse, and you should read behind this if you’re new to the MIPS architecture. Few of the fields
in
Status
are guaranteed to be initialized by hardware on a CPU reset; bootstrap code should write a reasonable value
to it early on (the same is true of many other CP0 registers, and the rule is “unless you know it’s safe to leave it ran-
dom, initialize it”).
Status[CU3-0,MX,CEE]
: Enables for different extension instruction sets — all are per-TC. The
CU3-0
bits are for co-
processor instruction sets (replicated per-TC), and are writable when such a coprocessor exists. Since no 74K family
CPU has a co-processor 3,
Status[CU3]
is hard-wired zero.
CU1
is most often used for a floating-point unit, if present, while
CU2
is reserved for a customer’s coprocessor. Both
become read-only and read zero if the corresponding coprocessor isn’t fitted.
Setting
Status[CU0]
to 1 has the peculiar effect of allowing privileged instructions to work in user mode; not some-
thing a secure OS is likely to allow often.
MX
is set to 1 to enable instructions in either the MIPS DSP extension to the MIPS architecture, or the MDMX
™
extension. The two may not be used together, and MDMX is unlikely to ever be available for any 74K family core.
But you can find out which by looking at
Config3[DSPP]
(1 if MIPS DSP is implemented) and
Config1[MD]
(1 if
MIPS MDMX is implemented).
CEE
is 1 to enable instructions in the "CorExtend", user-definable instruction set.
Config[UDI]
tells you whether
your CPU has the CorExtend extension; but even then it may not use
CEE
. A user instruction set which uses only
general-purpose registers and accumulators doesn’t need disabling and may not use this bit.
Status[RP]
: Reduced power — standard field.
It’s not connected inside the 74K core, but the state of the RP bit is available on the external core interface as the
SI_RP
signal. The 74K core uses clocks generated outside the core, and this could be used in your design to slow the
input clock(s).
Status[FR]
: if there is a floating point unit, set 0 for MIPS I compatibility mode (which means you have only 16 real
FP registers, with 16 odd FP register numbers reserved for access to the high bits of double-precision values).
Status[RE]
: reverse endianness for instructions run in user mode. This feature is unused by any known OS, and need
not be provided by all MIPS32-compliant CPUs.
Status[BEV]
: "boot exception vectors" — when 1, relocates all exception entry points to near the reset-time start
address.
31
30
29
28
27 26 25
24
23
22
21 20
19
18
17
16 15
8
7
6
5
4
3
2
1
0
CU3 CU2 CU1 CU0 RP FR RE MX
R BEV TS SR NMI
0
CEE
0
IM7-0
R
UM SM ERL EXL IE
In EIC (external int controller) mode
IPL
IM0-1
0
0
0
X
0
1
0
0
X
0
1
Содержание MIPS32 74K Series
Страница 1: ...Document Number MD00541 Revision 02 14 March 30 2011 Programming the MIPS32 74K Core Family...
Страница 10: ...Programming the MIPS32 74K Core Family Revision 02 14 10...
Страница 20: ...1 4 A brief guide to the 74K core implementation Programming the MIPS32 74K Core Family Revision 02 14 20...
Страница 28: ...2 2 PRId register identifying your CPU type Programming the MIPS32 74K Core Family Revision 02 14 28...
Страница 54: ...3 8 The TLB and translation Programming the MIPS32 74K Core Family Revision 02 14 54...
Страница 83: ......
Страница 86: ...6 5 FPU pipeline and instruction timing Programming the MIPS32 74K Core Family Revision 02 14 86...
Страница 101: ...The MIPS32 DSP ASE 101 Programming the MIPS32 74K Core Family Revision 02 14...
Страница 134: ...8 4 Performance counters Programming the MIPS32 74K Core Family Revision 02 14 134...
Страница 154: ...C 3 FPU changes in Release 2 of the MIPS32 Architecture Programming the MIPS32 74K Core Family Revision 02 14 154...