Hi all, I've been curious about the relative merits of ARM and MIPS and just stumbled across a thread from March in which this was discussed a bit
I'm a physics student and have gotten interested in RISC processors, since taking a course on Verilog/FPGA. I've been playing around with the open-source MIPS cores uCore and YACC (from opencores.org), and it's pretty fun to get a 100 MHz MIPS processor running on my Altera development board.
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. 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.
Thanks!
Dan Lenski