Go Down

Topic: Instruction Cycle Time? (Read 6585 times) previous topic - next topic

hsadan

I have an Arduino Diecimila. I'm trying to figure out how long one instruction cycle takes.

I've tried looking through the datasheet, but all I've found is that it has a throughput of about 10MIPS per 1MHz, and I'm not sure how to go from here.

Anyone know how I can find the instruction cycle time?

Thanks.

kg4wsv

ATmega168 datasheet section 30 is the instruction set summary, including the number of cycles for each instruction.  Most are 1 or 2, a few are 3, function calls and returns are 4 clocks.

The standard Arduino executes at 16MHz, so that's max 16MIPS.  Not sure what the typical instruction mix is, so I don't have an average CPI, which is a more accurate measure of performance.

-j


kg4wsv

Hmm, not sure I actually answered that last part: the instruction cycle time is one clock tick, so 16MHz for the standard arduinos, 8MHz for the lilypad varieties.

-j


mem

#3
Dec 03, 2008, 03:25 am Last Edit: Dec 03, 2008, 03:27 am by mem Reason: 1
>"the instruction cycle time is one clock tick, so 16MHz for the standard arduinos..."

means that a single cycle instruction takes 1 divided by 16MHz -  which is 62.5 nanoseconds

hsadan

great, thanks a lot!

the datasheet said 10~40Mhz, so I wasn't sure what the typical clock speed was.

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy