Can someone clarify for me what the backend / frontend bound figures represent in the general exploration section of VTune Amplifier XE, I suspect they are calculated using some function of clock cycles / ( slots or instructions ), could someone please provide the exact formula for this, secondly is there any threshold beyond which these figures are deemed to be bad, for example a CPI of 1 is deemed to by not good, is there anything similar that applies to the front end and back end bound figures, finally is there a way of relating the front end bound and back end bound figures to CPI ?
Here are some references for the front-end/back-end analsysis, called the topdown analysis by some Intel folks.
From https://sites.google.com/site/analysismethods/isca2013/program-1 there is a topdown presentation:
Hopefully this will make things clearer.
Back-End/Front-End Stall is a measure of the delay or stall in code stream execution by the CPU processing pipeline. For example good description of Front-End stall can be synchronous wait of the CPU for memory access (assume cache misses) in such a situation execution stack must wait for completion of memory transfers in order to continue execution. Situation can get worse in the term of CPI when the code is highly interdependent so in this case CPU cannot easily perform OOE here of course there is a clear dependency on the amount of prefetched instructions and size of corresponding uops buffers.