Andes Workshop

Page 1 of 1

Author:  infinity [ Wed Apr 20, 2011 10:37 am ]
Post subject:  STANDBY指令


pp1.gif [ 20.34 KiB | Viewed 11882 times ]

Syntax: STANDBY SubType (= no_wake_grant, wake_grant)
Purpose: It is used for a core to enter a standby state while waiting for external events to
Description: This instruction puts the core and its associating structures into an
implementation-dependent low power standby mode where the instruction execution stops
and most of the pipeline clocks can be disabled. The core has to enter the standby mode
after all external memory and I/O accesses have been completed.
In general, the core leaves the standby mode when an external event happens that needs the
core’s attention. However, to facilitate the need for an external power manager to control
the clock frequency and voltage, the wakeup action may need the external power
manager’s consent. Thus two flavors of STANDBY instruction are defined to distinguish
the different usages. The SubType field definitions are listed as follows.
pp2.gif [ 30.28 KiB | Viewed 11882 times ]

pp3.gif [ 10.5 KiB | Viewed 11882 times ]

The wakeup external events include interrupt (regardless of masking condition), debug
request, wakeup signal, reset etc. And the instruction execution restarts either from the
instruction following the STANDBY instruction or from the enabled interrupt handler
which cause the core to leave the standby mode. When entering an interrupt handler, the
IPC system register will have the address of the instruction following the STANDBY
An implementation can export the standby state to an external agent such as a
power/energy controller to further regulate the clock or the voltage of the processor core
for maximum energy savings. However, if any such clock or voltage regulation causes any
core/memory state loss, software is responsible to preserve the needed states before the
core enters standby mode. And if such state loss has happened, the only sensible way to
bring the core into action is through a reset event.


Page 1 of 1 All times are UTC + 8 hours [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group