EmbeddedRelated.com
Forums
The 2024 Embedded Online Conference

ARM Cortex M3 - Who's utilizing it?

Started by diggerdo February 17, 2006
"diggerdo" <gotoit@dig.biz> wrote in message 
news:IhuJf.33863$H71.18390@newssvr13.news.prodigy.com...
> > "D." <user@servet.net> wrote in message > news:43f6614c$0$1596$c3e8da3@news.astraweb.com... >> Ulf Samuelsson wrote: >>> diggerdo wrote:
>>>> Anybody know who has implemented the ARM Cortex M3 core >>>> in a chip available to the masses? >>> >>> And exactly WHY do you want to use a chip which is hardly or not sold by >>> anyone? >> >> Not YET sold by anyone. It's the next generation ARM wave, and it will >> take a little while to see devices built around it. Same thing for the >> other variants (the A8 and future R derivatives). >> >> Ulf, we're waiting for the ARM Cortex vs AVR32 battle. :) > > So Ulf comment was literally true. Seemed almost sarcastic.
He was sarcastic too.
> The M3 was announced two years ago in 2004. > Why isn't it in production yet? Curious.
It was October 2004 so only 15 months ago. There was working silicon late 2005, it will be in production by the end of 2006, with first consumer products appearing in 2007. It normally takes much longer. ARM11 was announced 4 years ago (april 2002), and the first ARM11 based phone was only recently released. If you add design & implementation, the total lag from conception of a new architecture, a new CPU based on that, turning it into a MCU or ASIC, use it in a consumer product, to being available in the stores is around 5-8 years. Add another 2-5 years before a CPU/architecture becomes mainstream. ARM9 still hasn't overtaken the 10 year old ARM7 in terms of volume for example. Wilco
Wilco Dijkstra wrote:
> Test sillicon is available, and if you understand some Russian, you can > become an alpha tester (http://supplier.ru/rus/news/?action=show&id=7).
FYI, their PDF press release contains the link to the news page in English: <http://www.embedded-developer.com/cm3> Scroll down for the application form (the same as its Russian variant in .doc file). Vadim
Wilco Dijkstra wrote:
> "Ulf Samuelsson" <ulf@a-t-m-e-l.com> wrote in message >>One of the arguments for an ARM, is the second source. >>The first company to release a Cortex will not have a second source... > > > Any of the existing ARMs are of course second sources for any new > ARMs (including Cortex) - that's the advantage of binary compatibility.
We have had this discussion before. It reveals there is more than one 'Binary Compatible' yardstick: Marketing: Will this thing understand some opcodes ? Great, we'll call it "binary compatible", (we'll point out later that's not actually 100.0% binary compatible with their old software) Software Quality Manager: Will this thing need new tool chains, and new libraries, and new qualification flows, and will it crash if it encounters _any_ ARM opcodes. We may not know they are there - after all, our existing ARM7's will not tell us that. They run just fine. No ? Then that is NOT binary compatible. A Pentium PC is Binary compatible: It will run a 10 year old EXE, out of the box. It does not choke on any 8086 opcodes. We have claims of "revolutionary" and "binary compatible" and "faster/smaller" and the spin merchants don't seem to realise these are not mutually compatible. The info so far, sounds decidely 'middle of the road', barely up to mature, proven silicon that is already shipping. -jg
Wilco Dijkstra wrote:
> "Ulf Samuelsson" <ulf@a-t-m-e-l.com> wrote in message > news:dt5q6v$g3$1@nntp.aioe.org... >> D. wrote: >> T.I has licensed the Cortex-A8, but I think this is for Nokia and >> alike... The AVR32 seems to run at higher frequency and has an MMU >> so they may be focusing on different markets. > > Yes, the AVR32 is definitely not in the same market as the M3. It is > an ARM11 + Jazelle + Thumb-2 clone, but because it is late (MIPS did > it > a few years ago), it now will have to compete with Cortex-A8. Ouch...
Don't think any one plans to put a Cortex-A8 in a smart card which is one very obvious application for the AVR32... Cortex M3 does not have a MMU so that could be problematic when you want to share the smartcard for different vendors (Amex/Visa/Mastercard)
> > Wilco
-- Best Regards, Ulf Samuelsson ulf@a-t-m-e-l.com This message is intended to be my own personal view and it may or may not be shared by my employer Atmel Nordic AB
Jim Granville wrote:
> Wilco Dijkstra wrote: >> "Ulf Samuelsson" <ulf@a-t-m-e-l.com> wrote in message >>> One of the arguments for an ARM, is the second source. >>> The first company to release a Cortex will not have a second >>> source... >> >> >> Any of the existing ARMs are of course second sources for any new >> ARMs (including Cortex) - that's the advantage of binary >> compatibility. >
The key here is "new" ARMs, it is certainly not compatible with "old" ARMs... The Cortex - M3 does not implement the 32 bit ARM mode which means that most of the real low level stuff needs to change. If you need the highest performance, with ARM7TDMI you run in 32 bit ARM mode and you (luckily not I ) rewrite things in 32 bit assembler. Anything done this way is hard to port. The Cortex M3 is according to ARM lower performance than the ARM7TDMI but has lower power consumption which is probably higher than that of an 8 bit micro so it is not the fastest and not the lowest power. It is not unlikely that compiler vendors will add Cortex functionality to their tools. If they do this for free, then there is of course easier to bring a new part into a company since the decision level goes down if investment in tools are not visible. -- Best Regards, Ulf Samuelsson ulf@a-t-m-e-l.com This message is intended to be my own personal view and it may or may not be shared by my employer Atmel Nordic AB
> >> Doesn't look like there are Semiconductor companies in the official >> Cortex M3 list of licensees... > > Does STMicroelectronics qualify as a semiconductor? >
Yep, They were not on the list on the ARM website where I checked. When googling for the ST pressrelease I found the announcement and another piece of news. ST and Freescale just announced cooperation in promoting the PowerPC for Automotive so I guess they are not betting everything in the automotive market on the Cortex-M3.
> > Wilco
-- Best Regards, Ulf Samuelsson ulf@a-t-m-e-l.com This message is intended to be my own personal view and it may or may not be shared by my employer Atmel Nordic AB
"Ulf Samuelsson" <ulf@a-t-m-e-l.com> wrote in message 
news:dt6s9g$ao4$2@nntp.aioe.org...
> Jim Granville wrote: >> Wilco Dijkstra wrote: >>> "Ulf Samuelsson" <ulf@a-t-m-e-l.com> wrote in message >>>> One of the arguments for an ARM, is the second source. >>>> The first company to release a Cortex will not have a second >>>> source... >>> >>> Any of the existing ARMs are of course second sources for any new >>> ARMs (including Cortex) - that's the advantage of binary >>> compatibility. >> > The key here is "new" ARMs, it is certainly not compatible with "old" > ARMs... > > The Cortex - M3 does not implement the 32 bit ARM mode > which means that most of the real low level stuff needs to change.
Like the startup and exception handling code? Each CPU already needs a unique startup sequence - you can't run the startup code for an ARM7 on an ARM9 or ARM11 and visa versa. One of the benefits of Cortex-M3 is that you need less startup code as the hardware does more (for example nested interrupts can use C directly without needing an assembler veneer).
> If you need the highest performance, with ARM7TDMI > you run in 32 bit ARM mode and you (luckily not I ) rewrite things in 32 > bit > assembler. > Anything done this way is hard to port.
Since Thumb-2 is a reencoding of ARM instructions, any existing ARM assembler can be assembled to Thumb-2 with minimal effort. You may have heard about the UAL (unified assembler syntax) which is a new syntax shared between ARM, Thumb-1 and Thumb-2. Before anyone mentions it, yes of course it is backwards compatible!
> The Cortex M3 is according to ARM lower performance than the ARM7TDMI > but has lower power consumption which is probably higher than that of an 8 > bit micro > so it is not the fastest and not the lowest power.
According to the ARM website both the M3 and ARM7tdmi run at 100MHz, and the M3 has the same Dhrystone MIPS as an ARM9E running ARM code (1.2 DMIPS/Mhz). A quick scan of the AVR8 CPUs revealed that the ATtiny2313/V seems to be the lowest power AVR at 0.41 mW/Mhz. Cortex-M3 uses 3.5 times less power... Additionally a 32-bit CPU can do a lot more work per cycle, so they run at a lower frequency or sleep for longer. So a higher performance CPU that uses more power may actually use less *energy* to do a specific task.
> It is not unlikely that compiler vendors will add Cortex functionality to > their tools. > If they do this for free, then there is of course easier to bring a new > part > into a company > since the decision level goes down if investment in tools are not visible.
Keil has announced Cortex-M3 support in their tools, but if you prefer no-cost over low-cost tools: GCC already supports Thumb-2, so Cortex-M3 is likely added soon. Wilco
"Ulf Samuelsson" <ulf@a-t-m-e-l.com> wrote in message 
news:dt6s9g$ao4$1@nntp.aioe.org...
> Wilco Dijkstra wrote: >> "Ulf Samuelsson" <ulf@a-t-m-e-l.com> wrote in message >> news:dt5q6v$g3$1@nntp.aioe.org... >>> D. wrote: >>> T.I has licensed the Cortex-A8, but I think this is for Nokia and >>> alike... The AVR32 seems to run at higher frequency and has an MMU >>> so they may be focusing on different markets. >> >> Yes, the AVR32 is definitely not in the same market as the M3. It is >> an ARM11 + Jazelle + Thumb-2 clone, but because it is late (MIPS did >> it >> a few years ago), it now will have to compete with Cortex-A8. Ouch... > > Don't think any one plans to put a Cortex-A8 in a smart card > which is one very obvious application for the AVR32...
I don't think anyone sane is going to put the AVR32 there. As I said, it is an ARM11 class core, so totally unsuitable for smartcards (it doesn't even have a rotate instruction which is essential for cryptography). Maybe there will be a smaller low power version eventually but that wasn't mentioned. Interestingly it turns out Atmel's marketing department has been working overtime - their benchmarking figures are obviously bogus. They chose to compare against the i.MX21/i.MX31 numbers using GCC (not the fastest compiler around by a large margin) and present them as official ARM926 and ARM1136 numbers. For the codesize results they chose EEMBC figures, however the EEMBC codesize figures optimized for performance are totally meaningless. The ARM1026 numbers on eembc.org are 34.8% faster than the i.MX31 (ARM1136) numbers, which goes to show how much difference a professional compiler can make... So the 1026 is actually 5% faster than AVR32. ARM1136 is faster than the 1026, the latest ARM compiler is 20% faster - where does that leave AVR32? "AVR32 Constently Outperforms in EEMBC Benchmarks" There is a spelling mistake. That should be: underperforms.
> Cortex M3 does not have a MMU so that could be problematic > when you want to share the smartcard for different vendors > (Amex/Visa/Mastercard)
The M3 has an optional MPU. Wilco
Wilco Dijkstra wrote:
> Interestingly it turns out Atmel's marketing department has been > working overtime - their benchmarking figures are obviously bogus. > > They chose to compare against the i.MX21/i.MX31 numbers using > GCC (not the fastest compiler around by a large margin) and present > them as official ARM926 and ARM1136 numbers. For the codesize > results they chose EEMBC figures, however the EEMBC codesize > figures optimized for performance are totally meaningless.
Are you surprised ? All marketing departments are desperate to make their offerings look good, so they choose their leading-edge, against the others trailing edge, and then are selective as well. I use a general nudge factor of 2:1 in filtering market droid fluff. If they cannot claim a difference of more than one generation in performance, then it is not revolutionary, and probably merely comparable with the 'other guys' next release anyway... -jg
Wilco Dijkstra wrote:

> I don't think anyone sane is going to put the AVR32 there. As I said, > it is an ARM11 class core, so totally unsuitable for smartcards > (it doesn't even have a rotate instruction which is essential for > cryptography).
I can see a RLC, and ASL, but you are right, apparently no rotate not-thru-carry ? -jg

The 2024 Embedded Online Conference