Re: MIPS vs ARM architectures



On Sat, 30 Jun 2007 12:15:01 +1200, Jim Granville wrote:
Then you should also look a FPGA specific 32 bit cores too.

I should clarify that I don't actually have any product I want to produce
at this point :-) I'm basically trying to learn more about processor
architecture and how to prototype and tinker with these things.

I was under the impression that ARM's instruction set allows for denser
code (even without Thumb), since it allows barrel shifting in
arithmetic instructions and post-increment of index registers. It
seems like a very clever design to me. On the other hand, MIPS has
twice as many registers, 32 vs. 16.

So, that means BOTH vendors can select benchmarks, that make their cores
"look good".

So, I'm guessing ARM would look good in a benchmark with arrays and data
structures that require a lot of addressing modes? While MIPS would look
better in a benchmark with limited memory bandwidth, making the registers
more valuable?

And all (I think?) licensed MIPS processors include an MMU,
while many ARM cores do not have an MMU. Then, ARM is more popular it
seems, but has very high licensing costs. And ARM's assembly language
might be easier to work with, but which is better for compilers?

I'm wondering what others think... what are the relative merits of the
two architectures? Am I correct to think that MIPS might allow faster
clock speeds and smaller dies, because of its simpler instruction set?
Anyway, I'd love to know what others think. Myself, I have only coded
assembly language for x86 and AVR (8-bit RISC microcontroller), so I
don't have any low-level experience with 32-bit RISC.

The Core vendors will pitch that a) the core is everything and b) Theirs
is the best! (and remember, there are MANY cores from MIPS and ARM)

The reality is the core matters less and less, and Memory bandwidth,
Power and peripherals will determine how your system works. Then there
is pure availability.
Try and buy a MIPS Flash based Microcontroller ?

Good point. I know that there's a lot more to a successful device than
just the core. The most complex hardware project I've done used an 8-bit
AVR microcontroller... and it was a pleasure to use, since it had on-chip
DAC, PWM, and GPIO, and in-system-programmable flash memory.

There is more and more choice in the 32 bit MCU area: Soft CPUs, that
are optimised for FPGAs, Freescale have a new V1 Coldfire, Atmel have a
new AVR32 range (as well as ARM7 and ARM9), Zilog have Z16F, Infineon
have the XC2200, and there are many vendors offering ARM uC.....

Coldfire looks not so exciting, since it's based on the CISC m68k, though
I gather it's got a cleaned-up instruction set. The AVR32 looks really
cool, like it is designed to be a do-everything architecture... good code
density, DSP capabilities, SIMD capabilities, MMU, Java, wow. It looks
like Atmel is aiming to really shake up the 32-bit embedded market.

Few these days will care about assembler level code, so choose the best
uC for the task you have.

Debug support, and tools, will start to matter in many design starts.

Yeah, the thing that's appealing about MIPS and ARM to me is that they are
extremely well-supported by Linux and the GCC toolchain. Also, MIPS is
even cooler cause there are free Verilog implementations to play around
with!

Dan
.



Relevant Pages