
iiiPeriPheraLModuLes1(systeM):interruPtControLLer(itC)
s1C33L17teChniCaLManuaL
ePson
iii-2-5
III
ITC
When the CPU is reawaken from SLEEP mode by an interrupt, it enters a program executable state by trap
processing and executes an interrupt handling routine for the interrupt generated. In trap processing of the CPU, the
address for the instruction next to slp is saved to the stack as a return address from the interrupt handling routine, so
that the reti instruction in the interrupt handling routine branches to the instruction next to slp.
Cause-of-interrupt flags in the interrupt controller (ITC) cannot be set in SLEEP mode as the clock is not supplied
to the ITC in SLEEP mode.
Therefore, when the clock is not supplied to the ITC, the interrupt signals from the interrupt sources that have
been enabled to generate an interrupt are input to the CMU through the ITC and used to wake up the CPU from a
standby mode. In this case, the cause-of-interrupt flag is set after the clock has started supplying to the ITC. The
CPU can wake up from SLEEP mode by a cause of interrupt as described above even if the PSR is set to disable
interrupts, note however, that the CPU does not execute the interrupt handling routine.
The #NMI signal releases the CPU from SLEEP mode when it goes low level.
notes: InSLEEPmode,thereisatimelagbetweeninputofaninterruptsignalforwakeupandthe
startoftheclocksupplytotheITC,soadelaywilloccuruntiltheinterruptcontroller(ITC)sets
thecause-of-interruptflag.Therefore,nointerruptwilloccuriftheinterruptsignalisdeasserted
beforetheclockissuppliedtotheITC,asthecause-of-interruptflagintheITCisnotset.
Furthermore,additionaltimeisneededfortheCPUtoaccepttheinterruptrequestfromthe
ITC,theCPUmayexecuteafewinstructionsthatfollowtheslpinstructionbeforeitstartsthe
interruptprocessing.
The same problem may occur when the CPU wakes up from SLEEP mode by NMI. No
interruptwilloccurifthe#NMIsignalisdeassertedbeforetheclockissupplied,astheNMI
flagisnotset.
If the cause of interrupt used to restart from the standby mode has been set to invoke the
IDMA,theIDMAisstartedupbythatinterrupt.
IfaninterrupttobegenerateduponcompletionofIDMAisdisabledatthesettingoftheIDMA
side, no interrupt request is signaled to the CPU.Therefore, the CPU remains idle until the
nextinterruptrequestisgenerated.