
MOTOROLA
Chapter 2. Programming Model
2-5
User-level registers (VEA)
—The PowerPC VEA introduces the time base facility
(TB) for reading. The TB is a 64-bit register pair whose contents are incremented
once every four bus clock cycles. The TB consists of two 32-bit registers—time base
upper (TBU) and time base lower (TBL). Note that the time base registers are read-
only when in user state.
The 603e’s supervisor-level registers are described as follows:
Supervisor-level registers (OEA)
—The OEA defines the registers that are used
typically by an operating system for such operations as memory management,
configuration, and exception handling. The supervisor-level registers defined by the
PowerPC architecture for 32-bit implementations are described as follows:
—
Configuration registers
– Machine state register (MSR). The MSR defines the state of the processor.
The MSR can be modified by the Move to Machine State Register
(
mtmsr
),
System Call (
sc
), and Return from Exception (
rfi
) instructions. It can be read
by the Move from Machine State Register (
mfmsr
) instruction.
Implementation Note
—The 603e defines MSR[13] as the power
management enable (POW) bit and MSR[14] as the temporary GPR
remapping (TGPR) bit. These additional bits are described in Table 2-1.
Table 2-1. MSR[POW] and MSR[TGPR] Bits
Bit
Name
Description
13
POW
Power management enable (603e-specific)
0
Disables programmable power modes (normal operation mode).
1
Enables programmable power modes (nap, doze, or sleep mode).
This bit controls the programmable power modes only, it has no effect on dynamic power
management (DPM). MSR[POW] may be altered with an
mtmsr
instruction only. Also, when
altering the POW bit, software may alter only this bit in the MSR and no others. The
mtmsr
instruction must be followed by a context-synchronizing instruction.
See Chapter 9, “Power Management,” for more information on power management.
14
TGPR
Temporary GPR remapping (603e-specific)
0
Normal operation
1
TGPR mode. GPR0–GPR3 are remapped to TGPR0–TGPR3 for use by TLB miss
routines.
The contents of GPR0–GPR3 remain unchanged while MSR[TGPR] = 1. Attempts to use
GPR4–GPR31 with MSR[TGPR] = 1 yield undefined results. Overlays TGPR0–TGPR3 over
GPR0–GPR3 for use by TLB miss routines. When this bit is set, all instruction accesses to
GPR0–GPR3 are mapped to TGPR0–TGPR3, respectively. The contents of GPR0–GPR3 are
unchanged as long as this bit remains set. Attempts to use GPR4–GPR31 when this bit is set
yields undefined results.The TGPR bit is set when either an instruction TLB miss, data read
miss, or data write miss exception is taken. The TGPR bit is cleared by an
rfi
instruction.