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
|
Is the MIPS showed in the processors data sheet suitable to C program?
Started by ●August 20, 2003
Reply by ●August 20, 20032003-08-20
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:
|
|
Reply by ●August 20, 20032003-08-20
Reply by ●August 22, 20032003-08-22
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. > > > --------------------------------- > |
|
Reply by ●August 23, 20032003-08-23
Hello!
Suggest you to see the 2278 Message <How
to calculate MCPS>.May it help!
Yeo Han Kwang <s...@yahoo.com> wrote: Hi all, |
Reply by ●August 23, 20032003-08-23
Oh! Sorry! I mean the 2301 Message, the reply of 2278. Yeo Han Kwang <s...@yahoo.com> wrote: Hi all, |
Reply by ●August 23, 20032003-08-23
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!
|
Reply by ●August 25, 20032003-08-25
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:
|
|
Reply by ●August 25, 20032003-08-25
> --- --- <> 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 > > |
Reply by ●August 25, 20032003-08-25
I guess, b = (a+128)>>8; is the only way to do
round shift in C.
Regards
Ajeet
|