I have a question. Why is down coutner more efficient than up counter?
In CMSDK, all of timers are with down-counter. I think there is a reason that ARM utilized down-counter except up-counter.
This is a common optimization, as comparing with zero is a standard operation, vs comparing against an arbitrary ceiling value.
You will also see this in code, for example:
for (i=0; i<MAX_VALUE; i++)...
Is typically less efficient than:
for(i=MAX_VALUE; i>0; i--)...
Thanks for your reply.
However, I want to know the reason aspect of Digital Circuit.
I guess there are differences in circuit between down-counter and up-counter
I believe it's still essentially the same answer. Counting up to an arbitrary limit requires you store both the current count and the limit value. Counting down to zero only requires you to store the current count - so less storage.