IDT MIPS32 4Kc Processor Core
Power Management
79RC32438 User Reference Manual
2 - 83
November 4, 2002
Notes
Memory Coherence Issues
A cache presents coherency issues within the memory hierarchy which must be considered in the
system design. Since a cache holds a copy of memory data, it is possible for another memory master to
modify a memory location, thus making other copies of that location stale if those copies are still in use. A
detailed discussion of memory coherence is beyond the scope of this document, but following are a few
related comments.
The 4Kc processor core contains no direct hardware support for managing coherency with respect to its
caches, so it must be handled via system design or software. The 4Kc caches are write-through, so all data
writes will eventually be sent to memory. Due to write buffers, however, there could be a delay in how long it
takes for the write to memory to actually occur. If another memory master updates cacheable memory
which could also be in the 4Kc caches, then those locations may need to be flushed from the cache. The
only way to accomplish this invalidation is by use of the CACHE instruction.
The SYNC instruction may also be useful to software enforcing memory coherence, as it flushes the 4Kc
processor core’s write buffers.
Power Management
Register-Controlled Power Management
The RP bit in the CP0 Status register a standard software mechanism for placing the system into a low
power state. The state of the RP bit is available externally via the SI_RP signal. Three additional pins,
SI_EXL, SI_ERL, and EJ_DebugM support the power management function by allowing the user to change
the power state if an exception or error occurs while the core is in a low power state. Setting the RP bit of
the CP0 Status register causes the core to assert the SI_RP signal. The external agent can then decide
whether to reduce the clock frequency and place the core into power down mode.
If an interrupt is taken while the device is in power down mode, that interrupt may need to be serviced
depending on the needs of the application. The interrupt causes an exception which in turn causes the EXL
bit to be set. The setting of the EXL bit causes the assertion of the SI_EXL signal on the external bus, indi-
cating to the external agent that an interrupt has occurred. At this time the external agent can choose to
either speed up the clocks and service the interrupt or let it be serviced at the lower clock speed. The
setting of the ERL bit causes the assertion of the SI_ERL signal on the external bus, indicating to the
external agent that an error has occurred. At this time the external agent can choose to either speed up the
clocks and service the error or let it be serviced at the lower clock speed.
Similarly, the EJ_DebugM signal indicates that the processor is in debug mode. Debug mode is entered
when the processor takes a debug exception. If fast handling of this is desired, the external agent can
speed up the clocks.
The core provides 4 power down signals that are part of the system interface:
–
The SI_RP signal represents the state of the RP bit (27) in the CP0 Status register.
–
The SI_EXL signal represents the state of the EXL bit (1) in the CP0 Status register.
–
The SI_ERL signal represents the state of the ERL bit (2) in the CP0 Status register.
–
The EJ_DebugM signal indicates that the processor has entered debug mode.
Three of the pins change state as the corresponding bits in the CP0 Status register are set or cleared.
The fourth pin indicates that the processor is in debug mode.
Instruction-Controlled Power Management
The second mechanism for invoking power down mode is through execution of the WAIT instruction. If
the bus is idle at the time the WAIT instruction reaches the M stage of the pipeline, the internal clocks are
suspended and the pipeline is frozen. However, the internal timer and some of the input pins (SI_Int[5:0],
SI_NMI, SI_Reset, SI_ColdReset, and EJ_DINT) continue to run. If the bus is not idle at the time the WAIT
instruction reaches the M stage, the pipeline stalls until the bus becomes idle, at which time the clocks are
stopped. Once the CPU is in instruction controlled power management mode, any enabled interrupt, NMI,