Sign in

username:

password:



Not a member?

Search AT91SAM



Search tips

Subscribe to AT91SAM



Ads

Discussion Groups

Discussion Groups | AT91SAM ARM | Newbie advice for performance estimation

For users of the Atmel AT91SAM7 and AT91SAM9 ARM CPU chips. Atmel has taken a new direction by combining on chip flash and ram with the ARM CPU on a single die. This provides low cost devices for small systems using the ARM CPU. This group is to exchange information to help users get started and learn how to use the devices.

Newbie advice for performance estimation - J Johnson - Jan 29 16:44:36 2008

As a newbie to DSP working with an AT91SAM processor I'm wondering if anyone can provide some general advice on how to estimate the performance of some algorithms I've developed. The memory requirements are pretty obvious given my algorithm and I have a good feel for the number of adds, multiplies, etc. but I don't know how to make a reasonable estimate that my N 16-bit multiplies will take M seconds. Any advice on where to begin?

Thanks.
____________________________________________________________________________________
Be a better friend, newshound, and
know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ



(You need to be a member of AT91SAM -- send a blank email to AT91SAM-subscribe@yahoogroups.com )


Re: Newbie advice for performance estimation - Alexander Whiplash - Jan 29 17:17:57 2008


--- J Johnson wrote:

> As a newbie to DSP working with an AT91SAM processor
> I'm wondering if anyone can provide some general
> advice on how to estimate the performance of some
> algorithms I've developed. The memory requirements
> are pretty obvious given my algorithm and I have a
> good feel for the number of adds, multiplies, etc.
> but I don't know how to make a reasonable estimate
> that my N 16-bit multiplies will take M seconds.
> Any advice on where to begin?
>

First thing, get yourself a copy of the ARM System
Developer's Guide. There is a wealth of good info
about code optimization and comparison of the
different cores when executing repetitive multiply-add
ops. There's nothing like timing a function on actual
hardware, as another suggested, for some hard numbers.
Keep in mind that the execution speed can vary
significantly if code is placed in RAM vs flash,
especially so for the ARM7 family which does not have
a cache. This is because it takes two clocks instead
of one to read each instruction from flash. An ARM7
from NXP is faster in this specific regard.

AW
____________________________________________________________________________________
Never miss a thing. Make Yahoo your home page.
http://www.yahoo.com/r/hs



(You need to be a member of AT91SAM -- send a blank email to AT91SAM-subscribe@yahoogroups.com )

Re: Newbie advice for performance estimation - Charles Manning - Jan 29 18:52:36 2008

On Wednesday 30 January 2008 10:23:26 J Johnson wrote:
> As a newbie to DSP working with an AT91SAM processor I'm wondering if
> anyone can provide some general advice on how to estimate the performance
> of some algorithms I've developed. The memory requirements are pretty
> obvious given my algorithm and I have a good feel for the number of adds,
> multiplies, etc. but I don't know how to make a reasonable estimate that my
> N 16-bit multiplies will take M seconds. Any advice on where to begin?
>

I have two main ways of doing this:

A)
Hook pin to oscilloscope.
Turn on a pin.
Run algorithm n times
Turn off pin
Watch timing on oscilloscope

B)
Set up a timer to count at whatever speed.
Capture start time
Run algorithm n times.
Capture end time
Time = (end - start)/n



(You need to be a member of AT91SAM -- send a blank email to AT91SAM-subscribe@yahoogroups.com )

Re: Newbie advice for performance estimation - J Johnson - Jan 30 7:56:14 2008

>----- Original Message ----
>From: Alexander Whiplash
>To: A...@yahoogroups.com
>Sent: Tuesday, January 29, 2008 5:10:20 PM
>Subject: Re: [AT91SAM] Newbie advice for performance estimation
>--- J Johnson wrote:
>
>> As a newbie to DSP working with an AT91SAM processor
>> I'm wondering if anyone can provide some general
>> advice on how to estimate the performance of some
>> algorithms I've developed. The memory requirements
>> are pretty obvious given my algorithm and I have a
>> good feel for the number of adds, multiplies, etc.
>> but I don't know how to make a reasonable estimate
>> that my N 16-bit multiplies will take M seconds.
>> Any advice on where to begin?
>>First thing, get yourself a copy of the ARM System
>Developer's Guide. There is a wealth of good info
>about code optimization and comparison of the
>different cores when executing repetitive multiply-add
>ops. There's nothing like timing a function on actual
>hardware, as another suggested, for some hard numbers.
>Keep in mind that the execution speed can vary
>significantly if code is placed in RAM vs flash,
>especially so for the ARM7 family which does not have
>a cache. This is because it takes two clocks instead
>of one to read each instruction from flash. An ARM7
>from NXP is faster in this specific regard.
>
>AW

Thanks for the advice. I actually just got the ARM System Developer's Guide so I'm glad to hear it's useful. I have a pretty good feel for how I'd time a function if I had the hardware to prototype on but I guess what I'm really interested in are any techniques for estimating without access to the hardware and what I'm hearing is that is a difficult thing to do. I wonder how, in general, people decide what hardware to purchase if there aren't good techniques for determining how fast your algorithms will run. I guess short of some sort of simulator (ideally free or cheap in order to compare several different chips) it's just a bit of a guess...
____________________________________________________________________________________
Looking for last minute shopping deals?
Find them fast with Yahoo! Search. http://tools.search.yahoo.com/newsearch/category.php?category=shopping



(You need to be a member of AT91SAM -- send a blank email to AT91SAM-subscribe@yahoogroups.com )

Re: Newbie advice for performance estimation - Chris DeLise - Jan 30 8:11:06 2008

If you have $300 to spend, there are excellent rapid development boards with a limited version of the IAR Systems development software included. You get a working board plus a JTAG programmer/debugger with a USB interface. You can use open source tools but these are easier to get up and running. The IAR Kickstart lets you compile up to 32K worth of code, certainly enough to do some performance testing.

Google "ATMEL arm eval board kickstart" for more - IAR has versions for most ARM CPUs.

Chris

----- Original Message -----
From: J Johnson
To: A...@yahoogroups.com
Sent: Wednesday, January 30, 2008 7:42 AM
Subject: Re: [AT91SAM] Newbie advice for performance estimation
>----- Original Message ----
>From: Alexander Whiplash
>To: A...@yahoogroups.com
>Sent: Tuesday, January 29, 2008 5:10:20 PM
>Subject: Re: [AT91SAM] Newbie advice for performance estimation
>
>
>--- J Johnson wrote:
>
>> As a newbie to DSP working with an AT91SAM processor
>> I'm wondering if anyone can provide some general
>> advice on how to estimate the performance of some
>> algorithms I've developed. The memory requirements
>> are pretty obvious given my algorithm and I have a
>> good feel for the number of adds, multiplies, etc.
>> but I don't know how to make a reasonable estimate
>> that my N 16-bit multiplies will take M seconds.
>> Any advice on where to begin?
>>
>
>First thing, get yourself a copy of the ARM System
>Developer's Guide. There is a wealth of good info
>about code optimization and comparison of the
>different cores when executing repetitive multiply-add
>ops. There's nothing like timing a function on actual
>hardware, as another suggested, for some hard numbers.
>Keep in mind that the execution speed can vary
>significantly if code is placed in RAM vs flash,
>especially so for the ARM7 family which does not have
>a cache. This is because it takes two clocks instead
>of one to read each instruction from flash. An ARM7
>from NXP is faster in this specific regard.
>
>AW

Thanks for the advice. I actually just got the ARM System Developer's Guide so I'm glad to hear it's useful. I have a pretty good feel for how I'd time a function if I had the hardware to prototype on but I guess what I'm really interested in are any techniques for estimating without access to the hardware and what I'm hearing is that is a difficult thing to do. I wonder how, in general, people decide what hardware to purchase if there aren't good techniques for determining how fast your algorithms will run. I guess short of some sort of simulator (ideally free or cheap in order to compare several different chips) it's just a bit of a guess...

__________________________________________________________
Looking for last minute shopping deals?
Find them fast with Yahoo! Search. http://tools.search.yahoo.com/newsearch/category.php?category=shopping

------------------------------------------------------------------------------
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.516 / Virus Database: 269.19.15/1249 - Release Date: 1/29/2008 9:51 AM



(You need to be a member of AT91SAM -- send a blank email to AT91SAM-subscribe@yahoogroups.com )