![Intel IXP45X Developer'S Manual Download Page 219](http://html1.mh-extra.com/html/intel/ixp45x/ixp45x_developers-manual_2073092219.webp)
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
August 2006
Developer’s Manual
Order Number: 306262-004US
219
Intel XScale
®
Processor—Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
The MAR (MCRR) instruction has an issue latency, a result latency, and a resource
latency of two cycles. Due to the two-cycle issue latency, the pipeline would always stall
for one cycle following a MAR instruction. The use of the MAR instruction should,
therefore, be used only where absolutely necessary.
3.10.5.6
Scheduling the MIA and MIAPH Instructions
The MIA instruction has an issue latency of one cycle. The result and resource latency
can vary from one to three cycles depending on the values in the source register.
Consider the following code sample:
The second MIA instruction above can stall from zero to two cycles depending on the
values in the registers r2 and r3 due to the one-to-three-cycle resource latency.
Similarly, consider the following code sample:
The MRA instruction above can stall from zero to two cycles depending on the values in
the registers r2 and r3 due to the one-to-three-cycle result latency.
The MIAPH instruction has an issue latency of one cycle, result latency of two cycles
and a resource latency of two cycles.
Consider the code sample shown below:
The second MIAPH instruction would stall for one-cycle due to a two-cycle resource
latency. The MRA instruction would stall for one-cycle due to a two-cycle result latency.
These stalls can be avoided by rearranging the code as follows:
3.10.5.7
Scheduling MRS and MSR Instructions
The MRS instruction has an issue latency of one cycle and a result latency of two
cycles. The MSR instruction has an issue latency of 2 cycles (6 if updating the mode
bits) and a result latency of one cycle.
Consider the code sample:
mia acc0, r2, r3
mia acc0, r4, r5
mia acc0, r2, r3
mra r4, r5, acc0
add r1, r2, r3
miaph acc0, r3, r4
miaph acc0, r5, r6
mra r6, r7, acc0
sub r8, r3, r4
miaph acc0, r3, r4
add r1, r2, r3
miaph acc0, r5, r6
sub r8, r3, r4
mra r6, r7, acc0
mrs r0, cpsr
orr r0, r0, #1
add r1, r2, r3