Reply by some one January 30, 20122012-01-30
Thanks for the discussion, people. I appreciate the replies, especially
since they were on the weekend. Its nice to have an answer to this on
Monday morning.

From the reading I did on the weekend, I concur that the M3s are a bit
faster to a lot faster than the ARM7 devices.

I also figure the M4 is about to same to significantly faster than the
ARM9s, depending on the application and which ARM9.

The Cortex devices have a cache that is faster than accessing regular
program memory. They will give a somewhat misleading result in some of
these benchmarks if things work out just perfectly with the use of the
cache versus a more realistic (real world) use of it. But they are still
faster than their respective ARM7 and ARM9 counterparts.

An Engineer's Guide to the LPC2100 Series

Reply by Tim Mitchell January 30, 20122012-01-30
> I am very surprised that some keep trying to compare MCUs
> by pin toggle rates.
> That has virtually nothing to do with MIPS, which is
> internal instruction processing. Entirely different
> aspects of speed.

But for microcontroller use, this is sometimes an important requirement...

--
Tim Mitchell
Reply by Leon Heller January 30, 20122012-01-30
On 30/01/2012 06:36, Bob T wrote:
> It looks like NXP wants to ball and chain developers with their mbed
> program.

The mbed is actually an ARM project, NXP only supplies the chips. NXP is
directly involved with the LPCXpresso, though.

Leon
--
Leon Heller
G1HSM
Reply by Chris January 30, 20122012-01-30
> Anyone have any comments on the relative speed of ARM7 (LPC2148),
> ARM9(LPC2939) and Cortex M3 devices ? STM32F2x or STM32F4 ?

I have done numerous ARM7 designs and now in the middle of an M3 design.
The M3 is faster running virtually the same code, and the IRQ processing appears much faster.
The M3 also has more powerful instructions that execute in less clocks.

I am very surprised that some keep trying to compare MCUs by pin toggle rates.
That has virtually nothing to do with MIPS, which is internal instruction processing.
Entirely different aspects of speed.

A 100MHz MCU running single cycle instructions means each instruction is 10nSec.
To send data to a pin means a very different bus transaction and pin drivers involved.
That takes a lot more time, and the pin drivers cannot even handle those rates.
But that has nothing to do with MIPS or instruction processing speed.

Chris.
Reply by Paul Curtis January 30, 20122012-01-30
> > I'm presently using an LPC2148. Executable is now close to 256K, but
> > I'm pushing the limits time wise. The Cortex
> > M3 at the same clock rate is overall quite a bit slower.
>
> Those figures don't match our numbers, which indicate that
> Cortex-M3 can be 20% better than ARM7 on a clock by clock basis.
> See
> http://www.mpeforth.com/arena/xbench32.fth
> Cortex-M3 and M4 performance is critically dependent on the memory
> architecture and the bus settings.
>
> Our figures for an STM32F407 Discovery board (A silicon) indicate that it has
> a very good memory implementation. NXP have competition at last.

The STM32F4 line with the ART is top of the Cortex-M pile for performance
for the moment. Freescale have done some more chest-banging for the Kinetis
(possibly because they now have Geoff Lees there) indicating they'll have
the fastest Cortex-M device in the middle of the year. Yawn.

There are, of course, certified benchmark scored for many Cortex-M cores,
e.g. STM32F4

<http://www.eembc.org/benchmark/reports/benchreport.php?benchmark_seq89&s
uite=CORE>

The F4 achieves about 2.8 CoreMarks/MHz, the 2939 is 1.18 for comparison.

The benchmark suite is open and that means you can run a copy on your own
target CPU/compiler combination.

--
Paul Curtis, Rowley Associates Ltd http://www.rowley.co.uk
SolderCore running Defender... http://www.vimeo.com/25709426
Reply by some one January 30, 20122012-01-30
I figured this out.

First, the STM32F405 is a Cortex M4 processor. It runs at 168MHz for a
speed of 210 DMIPS. And it has a floating point processor. I kept
thinking it was an M3 processor.

The STM32F205 is a 120 MHz Cortex M3 device delivering 150 DMIPS.

From the Wiki page, the LPC2939 which uses the ARM968E-S, will be in the
same ballpark, if not a bit slower than the M4, probably about the same
speed as the M3. The Jazelle version does 220 MIPS and the 968E-S will be
slower than it.

Speed aside, I like 2 other things about the STM line. 1) STLink has an
available gdb library 2) I think the CAN subsystem in the STM devices is
more versatile in that it can save up to 12 CAN messages in memory before
CPU intervention is required to prevent losing them.

So, unfortunately, unless someone tells me something bad about these STM
devices, I think we will be going with an STM product.

Thanks for all the help.
Reply by Stephen Pelc January 30, 20122012-01-30
DaveS said

> I'm presently using an LPC2148. Executable is now close
> to 256K, but I'm pushing the limits time wise. The Cortex
> M3 at the same clock rate is overall quite a bit slower.

Those figures don't match our numbers, which indicate that
Cortex-M3 can be 20% better than ARM7 on a clock by clock basis.
See
http://www.mpeforth.com/arena/xbench32.fth
Cortex-M3 and M4 performance is critically dependent on the
memory architecture and the bus settings.

Our figures for an STM32F407 Discovery board (A silicon)
indicate that it has a very good memory implementation. NXP have
competition at last.

Stephen
--
Stephen Pelc, s...@mpeforth.com
MicroProcessor Engineering Ltd - More Real, Less Time
133 Hill Lane, Southampton SO15 5AF, England
tel: +44 (0)23 8063 1441, fax: +44 (0)23 8033 9691
web: http://www.mpeforth.com - free VFX Forth downloads
Reply by koutote January 30, 20122012-01-30
> Anyone have any comments on the relative speed of ARM7 (LPC2148),
> ARM9(LPC2939) and Cortex M3 devices ? STM32F2x or STM32F4 ?

Check this out but I do not cross my finger:
http://en.wikipedia.org/wiki/List_of_ARM_microprocessor_cores
Reply by cfbsoftware1 January 30, 20122012-01-30
> They obviously understand that supporting open source tools
> is good business. It looks like NXP wants to ball and chain developers
> with their mbed program.

The mbed system is an ARM product not an NXP product (although the mbed does use NXP MCU's). NXP are also promoting the LPCXpresso system which is based on CodeRed's IDE which uses the gcc compiler.

Chris Burrows

CFB Software
Astrobe: ARM Oberon Development System
http://www.astrobe.com
Reply by some one January 30, 20122012-01-30
I don't want to get between David and Bob in their argument, but there is
nothing I hate more than having to use proprietary development tools.

Give me gcc and gdb and I'm a happy camper. Learn it once, use it
everywhere.

If I could get one thing from chip manufacturers, it would be to support
the porting of gcc for their controller.

Once I have gcc and gdb, I can use Eclipse. And I use Eclipse for
everything. One IDE. Learn it once, use it everywhere. Its portable and
it works for a wide variety of applications.

I was saddened to learn recently that the gcc team, as of gcc 4.6, has put
the HC11/HC12 community on notice that unless they do a substantial clean
up of their code in gcc, it will be eliminated from future versions. If I
was Freescale, I'd have a hired person working on that ASAP. But maybe
Freescale doesn't care about the HC11 anymore or gcc for it either for that
matter. I find this saddening.

Anyone have any comments on the relative speed of ARM7 (LPC2148),
ARM9(LPC2939) and Cortex M3 devices ? STM32F2x or STM32F4 ?

Thanks