DSPRelated.com
Forums

Is the MIPS showed in the processors data sheet suitable to C program?

Started by --- --- August 20, 2003

 I am using C6205, it reads as 1600 MIPS, but thats under the assumption that all instructions are executing in parallel. Can the C compiler support so absolute optimization?

If not, then how can I estimate whether my C program can achieve the running times in one second?

Do you have the estimation that the C6205 can really achieve the 1600 MIPS?

A confused newbie is expecting response! J




Happy,
 
Keep in mind that you should think of the speed as "up to 1600 MIPS" - with 1600 only being attainable on rare occaisions [usually via hand tweaked code].
Some things that will affect performance-
app size - if it does not fit in internal mem you will never see close to 1600 mips...
Your code/algorythms - the ability of the compiler to generate efficient code will vary greatly - depending on what it is doing [and who coded it].
 
I have seen designs with the same DSP [same speed] where the effective mips of one was 2.5x faster...
 
The only solution is to understand the requirements of your design and understand the DSP and how it is affected by its environment.
 
mikedunn

--- --- <h...@yahoo.com.cn> wrote:

 I am using C6205, it reads as 1600 MIPS, but thats under the assumption that all instructions are executing in parallel. Can the C compiler support so absolute optimization?

If not, then how can I estimate whether my C program can achieve the running times in one second?

Do you have the estimation that the C6205 can really achieve the 1600 MIPS?

A confused newbie is expecting response! J





_____________________________________
About this discussion group:

To Join:  Send an email to c...@yahoogroups.com

To Post:  Send an email to c...@yahoogroups.com

To Leave: Send an email to c...@yahoogroups.com

Archives: http://www.yahoogroups.com/group/c6x

Other Groups: http://www.dsprelated.com


">Yahoo! Terms of Service.



    Thanks for your clear advice!
    Oh, It seems I must experience much more program work to improve.




Hi all,

While we were at this, is it possible to profile the program to get
the MIPS for, lets say, each function in the program? Can't seem to
find this in the CCS documentations.

Thanks

--- In , --- --- <happy_zrr@y...> wrote:
> Thanks for your clear advice!
> Oh, It seems I must experience much more program work to
improve.
>
>
> ---------------------------------
>




Hello!
      Suggest you to see the 2278 Message <How to calculate MCPS>.May it help!
Yeo Han Kwang <s...@yahoo.com> wrote:
Hi all,

While we were at this, is it possible to profile the program to get
the MIPS for, lets say, each function in the program? Can't seem to
find this in the CCS documentations.

Thanks

--- In c...@yahoogroups.com, --- --- wrote:
> Thanks for your clear advice!
> Oh, It seems I must experience much more program work to
improve.> ---------------------------------_____________________________________
Note: If you do a simple "reply" with your email client, only the author of this message will receive your answer. You need to do a "reply all" if you want your answer to be distributed to the entire group.

_____________________________________
About this discussion group:

To Join: Send an email to c...@yahoogroups.com

To Post: Send an email to c...@yahoogroups.com

To Leave: Send an email to c...@yahoogroups.com

Archives: http://www.yahoogroups.com/group/c6x

Other Groups: http://www.dsprelated.com




Oh! Sorry! I mean the 2301 Message, the reply of 2278.

Yeo Han Kwang <s...@yahoo.com> wrote:
Hi all,

While we were at this, is it possible to profile the program to get
the MIPS for, lets say, each function in the program? Can't seem to
find this in the CCS documentations.

Thanks

--- In c...@yahoogroups.com, --- --- wrote:
> Thanks for your clear advice!
> Oh, It seems I must experience much more program work to
improve.> ---------------------------------_____________________________________
Note: If you do a simple "reply" with your email client, only the author of this message will receive your answer. You need to do a "reply all" if you want your answer to be distributed to the entire group.

_____________________________________
About this discussion group:

To Join: Send an email to c...@yahoogroups.com

To Post: Send an email to c...@yahoogroups.com

To Leave: Send an email to c...@yahoogroups.com

Archives: http://www.yahoogroups.com/group/c6x

Other Groups: http://www.dsprelated.com





Hi :
      C6x Buddies!
      In my C program, I want to do right shift operation.
      For example:
      long   a;
      int      b;
      b = a>>8;
      But this operation can not do round shift. Is there any C languge for this?
     Expecting for your answer!




Happy_zzr,
 
I am not sure of your exact question.  It sounds as if you want to perform a rotate [a circular right shift where the LSBs are looped back to the MSBs.  Is that correct??
 
Your example appears to start with a 40 bit number [c6x long] and end up with a 32 bit number.  It looks like you need to get rid of 8 bits anyway...  I am a bit confused.
 
There is a way to solve your problem in C - it may take more than 1 statement to do it.
 
Please provide details - # of initial bits, # of result bits and where they should come from.
 
mikedunn
 


--- --- <h...@yahoo.com.cn> wrote:

Hi :
      C6x Buddies!
      In my C program, I want to do right shift operation.
      For example:
      long   a;
      int      b;
      b = a>>8;
      But this operation can not do round shift. Is there any C languge for this?
     Expecting for your answer!





_____________________________________
About this discussion group:

To Join:  Send an email to c...@yahoogroups.com

To Post:  Send an email to c...@yahoogroups.com

To Leave: Send an email to c...@yahoogroups.com

Archives: http://www.yahoogroups.com/group/c6x

Other Groups: http://www.dsprelated.com


">Yahoo! Terms of Service.



> --- --- <> wrote:
>
> Hi :
> C6x Buddies!
> In my C program, I want to do right shift operation.
> For example:
> long a;
> int b;
> b = a>>8;
> But this operation can not do round shift. Is there any C languge for
> this?
> Expecting for your answer!
>
if this you try in c language ..then no problem...but why you are storing
result in int data types..but in c6x..you have to see how much bit is taken for
long variable..and int data types..
regards
sandeep

> ---------------------------------
>
> this message will receive your answer. You need to do a "reply all" if you
> want your answer to be distributed to the entire group.
>
> _____________________________________
> About this discussion group:
>
> To Join: Send an email to
>
> To Post: Send an email to
>
> To Leave: Send an email to
>
> Archives: http://www.yahoogroups.com/group/c6x
>
> Other Groups: http://www.dsprelated.com >
>


I guess, b = (a+128)>>8; is the only way to do round shift in C.
Regards
Ajeet
-----Original Message-----
From: --- --- [mailto:h...@yahoo.com.cn]
Sent: Saturday, August 23, 2003 2:58 PM
To: c...@yahoogroups.com
Subject: [c6x] How to do round shift operation in C program


Hi :
      C6x Buddies!
      In my C program, I want to do right shift operation.
      For example:
      long   a;
      int      b;
      b = a>>8;
      But this operation can not do round shift. Is there any C languge for this?
     Expecting for your answer!





_____________________________________
About this discussion group:

To Join:  Send an email to c...@yahoogroups.com

To Post:  Send an email to c...@yahoogroups.com

To Leave: Send an email to c...@yahoogroups.com

Archives: http://www.yahoogroups.com/group/c6x

Other Groups: http://www.dsprelated.com


">Yahoo! Terms of Service.