Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Microcontroller/Microprocessor Maximum Frequency?

Status
Not open for further replies.

dariush_abbasi

Member level 3
Joined
Oct 2, 2010
Messages
61
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,288
Activity points
1,664
Hi,
Would you please tell me among the 8051s and AVRs and PICs and ARMs and dsPIC30Fs and dsPIC33Fs which one is faster?
I need a comparison between the common devices,for instance,between dsPIC30F4013(MAX 120MHz) and AT91SAM7S64(MAX 55MHz) not very expensive ones.
As far as i know most PICs,for example,need 4 cycles per instruction,so is it fair to say that PIC18F4550,for example,with the maximum frequency of 48Mhz is same as a 32-bit Cortex™-M3 ARM with 12Mhz?
Does AT91SAM7S64 need 1 cycle per instruction?
Which one is more important for faster execution of instructions?
1-MIPS/MHz
or
2-Frequency itself?
for example as you know:
PIC32MX5XX/6XX/7XX has 80 MHz maximum frequency with 1.56 DMIPS/MHz (Dhrystone 2.1) performance(if you calculate the MIPS would be 124MIPS),
but dsPIC30Fs' MAX Frequency is about 120MHz with Up to 30 MIPS operation.
Which one is faster?
Instructions per second - Wikipedia, the free encyclopedia
Any suggestion highly appreciated.
 
Last edited:

As you said being higher frequency does not mean that a processor has faster than the other. If you look only CPU performance MIPS is the decisive. AT91SAM7S64 is arm based microcontroller and generally arm based microcontroller works 1 cycle per instruction excluding memory access or complex instructions. You can look instruction timings section of their datasheets.

Regards,
ALPER USLU
 

Firstly, MIPS is only a comparative figure. What's even more important is the instructions and how the controller gets a particular thing done. Say for example, you need to have 2 fractional numbers added. Let's take the 5MIPS controller has a better way of managing Arithmetic and Logic operations, and so gets this addition done within 5 instruction cycles. The 20MIPS controller may be dedicated for some other purpose and may be weaker in managing this and so takes 25 instructions. So, here the first controller has done this in 1us, whereas the 20MIPS one has taken 1.25us. So you see it depends on that.

Then there is another factor, ie, controller usage. If you only need to get things done fast, you may just be wasting the controller. If something can be done with an 8-bit PIC/AVR and you use a 32 bit PIC/AVR/ARM just because it's faster, it's a waste of the controller resources. You may have a faster controller, but the application ends up being inefficient in terms of resource usage.

8-bit PIC and AVR limited to 12MIPS and 20MIPS operation respectively can handle any normal day-to-day situation. So, if you can make do with these, then do. The AT91SAM is a POWERFUL 32-BIT processor dedicated for a special purpose whereas the 30MIPS dsPIC30 and 40MIPS dsPIC33 are dedicated to Digital Signal Controlling, ie DSP + uC, with PIC32/AVR32 only for them who ACTUALLY NEED IT. You can use these, but then again, you'd be wasting resources, not to mention, money as they'd probably be more expensive, irrespective of the price difference, whatever that may be, as it will count in bulk production.

So, the end answer is: it's application-specific. Don't use speed, use what you can best make use of and stick to that.

Hope this helps.
Tahmid.
 
  • Like
Reactions: Abeer_h

    Abeer_h

    Points: 2
    Helpful Answer Positive Rating
Hi,
Would you please tell me among the 8051s and AVRs and PICs and ARMs and dsPIC30Fs and dsPIC33Fs which one is faster?
I need a comparison between the common devices,for instance,between dsPIC30F4013(MAX 120MHz) and AT91SAM7S64(MAX 55MHz) not very expensive ones.
As far as i know most PICs,for example,need 4 cycles per instruction,so is it fair to say that PIC18F4550,for example,with the maximum frequency of 48Mhz is same as a 32-bit Cortex™-M3 ARM with 12Mhz?
Does AT91SAM7S64 need 1 cycle per instruction?
Which one is more important for faster execution of instructions?
1-MIPS/MHz
or
2-Frequency itself?
for example as you know:
PIC32MX5XX/6XX/7XX has 80 MHz maximum frequency with 1.56 DMIPS/MHz (Dhrystone 2.1) performance(if you calculate the MIPS would be 124MIPS),
but dsPIC30Fs' MAX Frequency is about 120MHz with Up to 30 MIPS operation.
Which one is faster?
Instructions per second - Wikipedia, the free encyclopedia
Any suggestion highly appreciated.

DMIPS and MIPS are different but DMIPS depends the value of MIPS. Read below wiki article.
Dhrystone - Wikipedia, the free encyclopedia
 

Thanks a lot.
Whatever you said are so informative.
Best wishes and many regards.
 

Hi,
For having an approximately 1 second delay i've ued a delay function same as the following:
In a C compiler for PIC (PIC18F4550-selected frquency 48MHz) the 1 second delay function is as below:
void delay (void){
unsigned long i;//(long in this compiler is 4 Bytes)
for(i = 0;i<1000000;i++);
}

But in a C/C++ compiler for ARM(at91sam7s64-selected frequency 48MHz) the 1 second delay function is as below
void delay (void){
unsigned int i,j;//(int in this compiler is 4 Bytes)
for(i = 0;i<1000000;i++)
for(j = 0;j<1000000;j++);
}

Can i compare these two in terms of speed?
Can we say that the second one is much more faster than the first one both in terms of compiler and chip?
 

But don't forget you are comparing compilers here not chips.
As previously explained - things are much more complex or
we would have very reliable means of comparing chips - and there would
then be no issue to talk about.

With the PIC for example - did you know that microchip has at least one
specific trick to improve efficiency of a nop operation that is far from obvious?
If a simple NOP can be optimised can you be sure your specific release of compiler is doing everything it can.

And then there are the peripherals on a microcontroler - how do they interract
with the main processor. Is the ALU optimised for raw speed or for interrupt latency and so on.

Horses for courses. But an interesting question that should always be asked of course.

jack
 

Hi,

Another thing to remember is that you asked for MAXIMUM frequency, ie, maximum performance. However, this isn't always desired, as higher frequency means higher current consumption, which in some cases may be undesirable, especially in battery operated devices, where you may very well do the job at a lower clock, esp. when you can't have power down or sleep mode acting for some specific reason.

Hope this helps.
Tahmid.
 

Hi,
Yes,as you said maximum frequency is not always desirable.
Thanks for your helps.
 

a mc with less freq. can be more useful than one with more of that.
 

Yes, there are other factors to take into consideration like peripherals, other than speed, which is not the prime factor in selecting microcontroller.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top