Hi,
I used ARM cortex M4F for my project.
My question: How I can estimate timing cycle of Udiv instruction? what is the max and min cycle of it?
Thank you.
As per the documentation you reference, it will take a minimum of 2, and a maximum of 12 cycles.
This depends on the values you are dividing. For example 9/3 (0b1001/0b0011) would be significantly faster than arbitrary numbers (12345678/3952).
You can use the DWT cycle counter to measure performance in your application:
https://developer.arm.com/documentation/ka001499/latest/
thank you,
as your answer, the value of "a" variable is 0 or 1, is that right?
The (a) is a reference to the note below that explains why the number of cycles can vary.
This is not (12^a). Apologies for any confusion with the documentation.