title: Which clock source is used for clocking instructions in cortex-M4
body: <p><a href="https://i.stack.imgur.com/2Z0Ne.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/2Z0Ne.png" alt="enter image description here"></a></p>
  
  <p>In my Cortex-M4, I have am using a 8Mhz oscillator as HSE, which then gets multiplied to 72Mhz using PLL which then drives SYSCLK. This got me thinking, which clock is the one being used to execute instructions? In other words, if our CPI is 1 (an ideal value, of course), does that mean we would execute 8 million instructions per second or 72 million instructions per second?</p>
  
  <p>I also found this <a href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0439b/BIIFBHIF.html" rel="nofollow noreferrer">DWT</a> which can be used to measure clock cycles, and hence CPI. So I am guessing which ever clock that is used to execute instructions would be the same one used by DWT? </p>