1

I am using Arm Developer Suite 1.2 (ARM7TDMI) along with AXD debugger, in order to optimize a C algorithm about image convolution.

When I am introducing the scatter file and the memory map files, I am getting two additional metrics, Wait States and True Idle Cycles.

I can understand that Wait States are introduced because of the read/write times I am using in the memory map file.

However, I am not sure what True Idle Cycles are. I checked the manual and it states that True Idle Cycles is "The number of I_Cycles less the number that are part of an I-S pair". I am not sure what that really means. What is an I-S pair, and thus what are the True Idle Cycles?

Peter Cordes
  • 328,167
  • 45
  • 605
  • 847
k.rallis
  • 51
  • 1
  • 1
  • 3
  • Read: https://developer.arm.com/documentation/ddi0214/b/memory-interface/bus-cycle-types?lang=en – 0___________ Nov 28 '21 at 19:03
  • You might be better off optimizing by making things as "cache friendly" as possible. For example, an cache efficient matrix transpose: https://stackoverflow.com/questions/5200338/a-cache-efficient-matrix-transpose-program That is, if you fetch a cache line, be sure to use all of it. And, when writing fill up the write cache line before moving on. We'd need to see your code to help with that. What is your convolution kernel size (e.g. 3x3)? And, what convolution are you doing? Do you have a coefficient weighting matrix? – Craig Estey Nov 28 '21 at 19:50

0 Answers0