TITLE: Uops from the Decoded ICache
This metric describes the percentage of uops delivered to the micro-op queue that came from the Decoded ICache.
The Decoded ICache has many advantages over the legacy decode pipeline. It eliminates many bottlenecks of the legacy decode pipeline such as instructions decoded into more than one micro-op and length changing prefix (LCP) stalls. Having a high percentage of uops coming from the DSB is typically very good for performance. However, if UopSource_DSB is greater than ~70% and you are also front end bound, you can perform the following next steps to drill down into possible causes:
1) Investigate switches from Decoded ICache to legacy decode pipeline since it may be switching to run portions of code that are too small to be effective
2) Look at the amount of bad speculation, since branch mispredictions still impact FE performance
3) Determine the average number of micro-ops being delivered per 32-byte chunk hit. If there are many taken branches from one 32-byte chunk into another, it impacts the micro-ops being delivered per cycle.
4) Micro-op delivery from the Decoded ICache may be an issue
EQUATION: IDQ.DSB_UOPS / (IDQ.MITE_UOPS + IDQ.DSB_UOPS + IDQ.MS_UOPS)