The CLA task execution latency depends on the state of the system:
- CLA task trigger of new task
(normal or background) without background task active:
Task takes 8 cycles from CLA
task trigger to first instruction of task to reach the D2 phase of
pipeline.
Note: If
background task has been configured in the system, then the compiler during
code compilation adds context save instructions at the start of each regular
task and restore instructions at end of each task so that register content
can be saved and restored in case a background task is executing while the
regular task is triggered. When a regular task is entered, this
compiler-generated context save instruction is the first instruction of the
task.
- CLA task trigger of normal task
when background task is active:
Task takes 9 cycles from CLA task trigger to first instruction of normal
task to reach the D2 phase of pipeline. There is a difference of one clock
cycle to force the MSTOP in the D2 phase of the background task before the
task exits as compared to a new task trigger without the background task
active.
Note: If the
MBCNDD/MCCNDD/MRCNDD instructions in the background task are in the D2 phase
of the pipeline when a new task gets triggered, the task takes a minimum of
3 more cycles to complete these uninterruptible instructions adding to the
delay.
- Returning to background task from normal task:
The task takes 5 cycles to
return from a normal task to resume the background task instruction at the
D2 phase of the pipeline.