…i don't understand what you are trying to do here, how do you want to do that
and to your question, CPUs are hugely complicated black boxes that do lots of complicated shit, and you can definitely never ever calculate any program runtime by counting the assembly operations or something like that
let me give you a quick overview: c program gets compiled to assembly, gets compiled to machine code.
on execution, it gets loaded into your ram. your cpu's program pointer register gets pointed to where the program is in the RAM so it can start fetching things. between the RAM and the CPU's registers you have two levels of cache because compared to your CPU the RAM is extremely slow. the second level cache is basically just a small, but very fast RAM chip somewhere on your mobo, and the first level cache is built into your actual CPU chip using the same technology (CMOS).
so normally, your CPU's registers will try to primarily interact with your first-level cache when performing an operation, because otherwise it will spend ages waiting on the RAM and whatnot.
then, inside the CPU itself, you do not only have multiple CPU cores, but inside the CPU core you have multiple ALUs and multiple units for calculating stuff and so on, and all those work in parallel. the incoming machine code commands get translated to yet another lower level of micro machine code or something that are then distributed across the different parts inside a CPU part as good as possible.
now the way the CPU is doing that is not perfect, it's using some black magic called branch prediction to determine in advance how conditional jump commands are going to evaluate before they actually get evaluated.
for example:
//this is fast because the condition will first evaluate to false 50 times and then evalutate to true 50 times
array = [ 1, 2, 3, …. 100]
for (x=0, x<100; x++) {
if (array[x]>50) { do something}
}
//this is slow because the branch prediction doesnt work with random behaviour
array = [ 33, 8, 23, 67 ….]// random values between 0 and 100
for (x=0, x<100; x++) {
if (array[x]>50) { do something}
}