3.11.3. Instrumentation resource behavior when tracing parallel execution

If multiple Instrumentation resource instructions are executed in parallel, the Instrumentation resource must behave as if the instructions were executed in sequence. However, if a resource is activated, by a set or pulse instruction, at any point in the resulting sequence then it must be active for the current cycle. Table 3.12 shows examples of this, for the case where two instructions are executed in parallel.

Table 3.12. Instrumentation resource parallel execution examples, for two instructions

Equivalent instruction sequenceInstrumentation resource behavior [a]
First instructionSecond instruction
No effectSetSet on current cycle, continues [b] on future cycles.
No effectClearHold previous state for current cycle, clear [c] from next cycle.
ClearSetSet on current cycle, continues [b] on future cycles.
ClearPulseSet on current cycle, clear [c] from next cycle.
No effectPulseSet on current cycle, clear [c] from next cycle.

[a] In the descriptions of resource behavior, the current cycle is the cycle when the parallel execution is performed.

[b] Continues means that the resource remains set until another instruction clears the resource. The instruction immediately following the parallel execution might clear the resource. In this case the resource is only active during the current cycle.

[c] Unless the instruction decoded in the next cycle sets the resource.


Copyright © 1999-2002, 2004-2008, 2011 ARM. All rights reserved.ARM IHI 0035B
Non-ConfidentialID060811