This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Cortex-R4 : does "dual-issued pairs" really improve performance ?

Note: This was originally posted on 1st August 2011 at http://forums.arm.com

Hello,

Could someone help me to explain that behavior :
I use a sequence of 4096 instructions (target is TMS570/Cortex-R4F) :
movs r0,#1
str r0, [r8~#0]
movs r1,#2
str r1, [r8~#4]
movs r2,#3
str r3, [r8~#8]
...

When "dual-issue" mode is enabled (bits 28-31 of Auxiliary Control  Register and bits 18-20 of Secondary Auxiliary Control Register are  reset), this code (plus a few instructions bordering it) executes in 5162 clock cycles.
When "dual-issue" mode is disabled (same bits are set), this code executes in 4146 clock cycles !!!

I observe this phenomenon for both ARM and Thumb2 modes.

So when "dual-issue" mode is enabled, it seems that one pipeline stage  is "sometimes" (once out of 4) waiting for dual words (thus introducing  extra wait states) in order to process them by pairs, but I can't find  any description of it.

Could someone help me to understand, please ? This is quite important for me,  because I have to produce highly deterministic real-time software, and  this kind of feature is hard to model...

Thanks for any help.

Best regards

Christophe
Parents
  • Note: This was originally posted on 27th January 2012 at http://forums.arm.com

    Hello Chris,

    Thanks for your help, I will try to get support from TI...

    Note that I have already seen the benefit of dual issue on real pieces of code, I do not challenge this, but this is not what I am focused on. My goal is to predict processor's behavior in any situation for hard real time avionic applications, for which determinism is the crucial leitmotiv.

    Best regards

    Christophe
Reply
  • Note: This was originally posted on 27th January 2012 at http://forums.arm.com

    Hello Chris,

    Thanks for your help, I will try to get support from TI...

    Note that I have already seen the benefit of dual issue on real pieces of code, I do not challenge this, but this is not what I am focused on. My goal is to predict processor's behavior in any situation for hard real time avionic applications, for which determinism is the crucial leitmotiv.

    Best regards

    Christophe
Children
No data