I said this before in previous article regarding MIPS' Prpl consortium trying to mimick ARM's Linaro. MIPS is a great processor and very competitive with ARM. The problem is not the hardware folks!!! The problem is the software ecosystem. I think they realized this when they created Prpl. But look at the vendors who are in that consortium. Broadcom is the worst with their total aversion to anything open. Broadcom loves closed hardware and closed software which is an open software ecosystem killer.
ARM has succeeded because they created critical mass among open software guys. How? By having cheap SBCs and dev boards available for software guys to use for learning to program ARM and to develop and debug open software for ARM. Any new software projects are now started on ARM first and maybe ported to MIPS or something else later. If you want to do some ARM programming you can get a powerful board for less than $200. This has caused an explosion in hobbyist development (i.e. maker movement). Well where did those cheap ARM SBCs and dev boards come from? From big ARM licensees like TI (Beagle, Panda) and Samsung (Origen) who subsized them, and some smaller vendors for Arduino and Raspberry Pi.
Where are the cheap SBCs and dev boards for MIPS? If you goto their Prpl page you see some proposed boards here http://www.prplfoundation.org/hardware none of which are actually available to the public. The only thing a MIPS developer can buy today is a Microchip board which is very low end with crippled free toolchain. You will never see cheap SBCs and dev boards from Broadcom who requires NDA for everything. Qualcomm is similar they make 90% of their revenue from IP. The other players like Ingenic could do something but they are not as large as the ARM players who can subsidize it. That is why MIPS is getting their butt kicked. Anyone who licenses MIPS has to be willing to spend more money for softwar than they would for ARM. All this talk about ARM hardware being better is a bunch of bull unless you are talking about availability of peripheral IP blocks that connect to bus. There will be more IP blocks available because they are targeting volume which ARM has. You can use a bus bridge for MIPS but guess what .. the drivers and software libs wil be written for ARM. Its all about the software people!!!
Because when you compile the tip of tree kernel, you have to be sure that you're using the exact correct version of GCC, and that GCC has been built with the correct architectural options. This is especially true for both ARM and MIPS. Otherwise you'll get code that (hopefully) fails imediately or worse, fails intermitantly. This is why we have our own in-house build team.
If you're just running linux, or using an environment supplied by someone else, it may not matter.
Broadcom also has MIPS processors (the XLP family), as does Cavium.
I'm not sure what compiling Linux has to do with it. Linux has run on MIPS processors for decades. And it still is regularly used with Linux. (Did you know that Windows once ran on MIPS processors? Check the Wiki page for Advanced_Computing_Environment. Seems like Microsoft has had a similar problem trying to get Windows on ARM accepted). MIPS and ARM have both been around longer than Linux.
You hit the nail on the head. At this point, we can argue over beer which processor is 0.01% more effecient, but the differences are in the noise. The amount of time we spend ensuring that the compilers generate the correct code when compiling the Linux kernel ensures that we cannot support a second architecture.
Need a private, embedded core for your custom ASIC? MIPs might fit the bill. But I don't see how MIPs can hope to compete in the general purpose market since everyone (TI, NXP, ST, Fujitsu, Marvell, Broadcom, Atmel, Freescale, etc.) but Microchip has picked ARM. Tensilica still makes good money as well, but they aren't in any standard products.
I still remember just around 10 years ago, where we studied MIPS architecture as the primary course and few additional chapters about ARM as the new guy on the bloc at that time. But now the ARM has gone way ahead of MIPS and they have too many offerings coupled with many many clients which brings down their overall base cost while improving their profits every year. It would be a tough way ahead for MIPS.
The article actually does a pretty good job of explaining why MIPS is dead. Most of the postives (other than the marketting fluff about performance) are either in the PowerVR core, or people who already have custom IP. TI is using the PowerVR core in its ARM products.
We made a decision to only use ARM-core-based SoCs for all of our products primarily because our build team didn't have the manpower to support more than one tool-chain architecture. And since you can get just about any price-point and feature set in ARM-based SoCs, why would I bother investing in MIPS?
A clear advantage and unique feature of MIPS is their Hardware Multithreading Architecture – basically this means, the CPU is capable of a kind of multitasking. To go more into detail: When the CPU is in stall cycle in one thread, the other thread can still fulfill computing tasks. The scheduling between multiple hardware threads has been solved very efficiently. This enables us (Lantiq) to make our broadband chips, based on MIPS cores, so efficient with close to 100% of computing capacities. It even enables us to design our hardware to perform real-time computing tasks. That's why Lantiq, a leading supplier of broadband access and home networking technologies, selected and selects MIPS.
Christoph von Schierstädt, Lantiq (using a new account, as the previous seems to have permanent failure; sorry)
A Book For All Reasons Bernard Cole1 Comment Robert Oshana's recent book "Software Engineering for Embedded Systems (Newnes/Elsevier)," written and edited with Mark Kraeling, is a 'book for all reasons.' At almost 1,200 pages, it ...