Okay this may be a stupid question but I'm going to ask anyways. My background is in software development but I don't deal with the HW level so most of this is from taking a HW class college.

Doesn't introducing a completely different technology level put you at a very large disadvantage due to the fact that any software would have to be rewritten in order to be used on the new HW. I understand that once you get a few layers past the HW it shouldn't be an issue for most things but when you are talking about phones/tablets I would think that the bulk of the software would be interacting pretty heavily with the HW and so a change would require rewrite and a separate version or compile option at least.

Okay this may be a stupid question but I'm going to ask anyways. My background is in software development but I don't deal with the HW level so most of this is from taking a HW class college.

Doesn't introducing a completely different technology level put you at a very large disadvantage due to the fact that any software would have to be rewritten in order to be used on the new HW. I understand that once you get a few layers past the HW it shouldn't be an issue for most things but when you are talking about phones/tablets I would think that the bulk of the software would be interacting pretty heavily with the HW and so a change would require rewrite and a separate version or compile option at least.

rewritten -- no, but most software would have to be recompiled. Some programs use a limited amount of assembly, and that would have to be rewritten, but that's not often or in large quantity.

Especially in the current Android mobile space, porting is suprisingly easy. The manufacturers already have to write all the driver stuff and most of the rest of Android sits on top of that. The other part of the Linux kernel are already ported to MIPS. IF it were a true new arch it might be a different deal.

Okay this may be a stupid question but I'm going to ask anyways. My background is in software development but I don't deal with the HW level so most of this is from taking a HW class college.

Doesn't introducing a completely different technology level put you at a very large disadvantage due to the fact that any software would have to be rewritten in order to be used on the new HW. I understand that once you get a few layers past the HW it shouldn't be an issue for most things but when you are talking about phones/tablets I would think that the bulk of the software would be interacting pretty heavily with the HW and so a change would require rewrite and a separate version or compile option at least.

Most android software is not natively compiled, it's java so compiled to java bytecode which is interpretted at run time by the jvm, so at least for the majority of apps running on android, this would not be an issue. You would just have to make sure that the kernel, drivers, etc are ported to the new hardware.

"The ‘Warrior’ generation of cores will include 32-bit and 64-bit variants with a focus on superior performance efficiency across the high-end, mid-range and entry-level/microcontroller CPUs."

Doesn't sound like they are going for the "application processor" market to me. Looks like an embedded design for controller boards. Look at the stated tentpole features: crypto, virtualization, SIMD, multithreading for better throughput, QoS. If you make audio/video receivers (and need to support HDMI) or a video camera or a sound/video capture device or any number of the hundreds/thousands/millions of controller boards, this is potentially for you.

Ars is making a leap too far if they think this is for handheld/mobile computers.

"The ‘Warrior’ generation of cores will include 32-bit and 64-bit variants with a focus on superior performance efficiency across the high-end, mid-range and entry-level/microcontroller CPUs."

Doesn't sound like they are going for the "application processor" market to me. Looks like an embedded design for controller boards. Look at the stated tentpole features: crypto, virtualization, SIMD, multithreading for better throughput, QoS. If you make audio/video receivers (and need to support HDMI) or a video camera or a sound/video capture device or any number of the hundreds/thousands/millions of controller boards, this is potentially for you.

Ars is making a leap too far if they think this is for handheld/mobile computers.

"energy efficient mobile platforms" is directly from the press release.

Android already has been run on MIPS architecture too, so it's not exactly a huge leap (the MIPS website has how to run ICS on an MIPS SoC). Tied to cheap, good GPUs it could be quite awesome for things like Ouya/handhelds/etc.

Okay this may be a stupid question but I'm going to ask anyways. My background is in software development but I don't deal with the HW level so most of this is from taking a HW class college.

Doesn't introducing a completely different technology level put you at a very large disadvantage due to the fact that any software would have to be rewritten in order to be used on the new HW. I understand that once you get a few layers past the HW it shouldn't be an issue for most things but when you are talking about phones/tablets I would think that the bulk of the software would be interacting pretty heavily with the HW and so a change would require rewrite and a separate version or compile option at least.

Speaking strictly on Android, very few developers would have to rewrite their apps. You would need to recompile to the new architecture if you use any native code, but most Android apps simply use the JVM. Only in very specific circumstances do you need to write native code for android apps.

This is more of a burden on device manufacturers, as they will need to make sure the OS plays with the new architecture.

Okay this may be a stupid question but I'm going to ask anyways. My background is in software development but I don't deal with the HW level so most of this is from taking a HW class college.

Doesn't introducing a completely different technology level put you at a very large disadvantage due to the fact that any software would have to be rewritten in order to be used on the new HW. I understand that once you get a few layers past the HW it shouldn't be an issue for most things but when you are talking about phones/tablets I would think that the bulk of the software would be interacting pretty heavily with the HW and so a change would require rewrite and a separate version or compile option at least.

rewritten -- no, but most software would have to be recompiled. Some programs use a limited amount of assembly, and that would have to be rewritten, but that's not often or in large quantity.

Hopefully this will change(since the few MIPS/Android examples were historically of the 'I chose MIPS because I really needed to shave a few pennies off the cheapest and nastiest ARM option' flavor); but existing MIPS android devices are utterly dire. Just horrible.

I have no reason to suspect that there is anything fundamentally problematic with MIPS(it has, after all, run some genuinely respectable workstations, back in the day); but unless Imagination, or some OEM whose competence extends beyond building terrible skins, really steps up the platform support game, it isn't going to be pretty.

ARM has the advantage of being the 'default', and so gets the most attention from Google and the major OEMs. x86 is an outsider; but Intel is pushing it hard(and, when they want to, has some pretty good compiler/platform support/etc, skills to bring to the game). Imagination will need to do some work in this area.

MIPS has always outperformed ARM in performance/MHz and in absolute term as well. It's pretty ironic that our high-performance mobile phones and tablets are powered by the historically worst-performing architecture, which was only good at very low power for devices that didn't need much performance. In addition, with China developing its own MIPS-based Loongsoon processor, they can be very cheap, too. I'm surprised there isn't any joint development effort between Imagination and China, sharing costs, and ensuring a flood of cheap MIPS CPUs coming out of China-based fabs the very instant the design is finished. The first $100 tablet running Android 4.0 was a MIPS-based device, as were some dirt cheap netBook devices running Linux.

MIPS has been known to scale both down to low-end mobile devices and up to workstations and servers, as well as supercomputers. It was SGI systems, running MIPS processors, that rendered the CGI dinosaurs in Jurassic Park, and much more. SGI and MIPS used-to be well represented on the top 500 list.

MIPS has an interesting history, in that it has both been a low-power contender (it was one of, if not the, most common embedded CPUs) and a decently powerful workstation CPU (the R4x00/R5x00/R10000/R12000 series powered the SGI IRIX workstations back when they were good). It should technically be able to perform just fine in tablets and such, though if they can get a good performance/Watt is likely a process than architecture question, and if they can get any buyers isn't that closely related to the performance/efficiency.

At least android for not-ARM is entirely doable; the very few x86 phones have apparently been fine.

edit: And that's what I get for leaving a comment half-written for some minutes; everything interesting has already been said above.

Ars is making a leap too far if they think this is for handheld/mobile computers.

"energy efficient mobile platforms" is directly from the press release.

Android already has been run on MIPS architecture too, so it's not exactly a huge leap (the MIPS website has how to run ICS on an MIPS SoC). Tied to cheap, good GPUs it could be quite awesome for things like Ouya/handhelds/etc.

Micro-controllers need to be energy efficient and mobile too. You're reading too much into the PR. 90% of the PR is talking about microcontroller CPUs. All the features are for microcontroller CPUs. A quote from the CEO from the press release:

"With MIPS, we are creating a solution that a wide range of customers can benefit from and commit to for the long term, across applications ranging from tiny embedded devices to 64-bit many-core products for networking and beyond."

If you read that "and beyond" and think ImagineTech is going to compete with ARMH for the application processor market, you're reading too much into it.

Most android software is not natively compiled, it's java so compiled to java bytecode which is interpretted at run time by the jvm

This is exactly wrong. Android apps can be written as java source code, but the compiled output is not java bytecode at all. It is Dalvik bytecode, which is interpreted by the Dalvik VM. This is why Google does not have to buy a Java license from Oracle and is why Oracle was unsuccessful in their suit against Google for not purchasing a license.

In addition, with China developing its own MIPS-based Loongsoon processor, they can be very cheap, too. I'm surprised there isn't any joint development effort between Imagination and China, sharing costs, and ensuring a flood of cheap MIPS CPUs coming out of China-based fabs the very instant the design is finished.

The problem is that MIPS has no cost advantage compared to ARM since they're comparable ISAs produced on the same fabs. Worse, since ARM has massively more software support, it usually ends up being more expensive and awkward to use MIPS in mobile. Hence Loongsoon has gone no where, and Imagination will likely struggle to attract much attention to their line up.

Doesn't introducing a completely different technology level put you at a very large disadvantage due to the fact that any software would have to be rewritten in order to be used on the new HW.

Full STOP.

Software hasn't needed to be "rewritten" for each new architecture since machine and assembly language stopped dominating. In 1969 Brian Kernighan and Dennis Ritchie wrote a "portable" programming language called "C" and compiler for their Unix operating system, and ever since, moving most software from one processor architecture to another has basically just involved "recompiling" it on the new system.

When it comes to the underlying operating system, there's going to be some low-level work to get the kernel booting, but that's generally true of every new ARM device as well, since there's no standard ISA with common memory locations and such, so each phone pretty much needs a custom kernel, with various memory locations hard-coded, and drivers built-in. Above the kernel, the rest of the base system should just need a recompile.

And going up to the user-land... if we're talking about Android specifically, about 90% of applications (apk) aren't native to the processor, either. Android is basically Java based, so most apps will work, no matter what the processor. The other 10% are typically multimedia players, high-end games, etc., these include things like Flash and Firefox. Those will need to be recompiled by their authors to run on the new architecture, and could possibly need some significant porting effort as well. However, one alternative is to include an ARM emulation layer instead. Native apps will run slower, but at least they will run, without waiting for everyone to recompile their software for the new device.

"The ‘Warrior’ generation of cores will include 32-bit and 64-bit variants with a focus on superior performance efficiency across the high-end, mid-range and entry-level/microcontroller CPUs."

Doesn't sound like they are going for the "application processor" market to me. Looks like an embedded design for controller boards. Look at the stated tentpole features: crypto, virtualization, SIMD, multithreading for better throughput, QoS. If you make audio/video receivers (and need to support HDMI) or a video camera or a sound/video capture device or any number of the hundreds/thousands/millions of controller boards, this is potentially for you.

Ars is making a leap too far if they think this is for handheld/mobile computers.

From the press release:

"Imagination is developing the MIPS presence in key segments such as mobile by continuing to grow the MIPS ecosystem, and by exploiting open operating systems and emerging trends toward architecture neutrality and portability."

Since people keep responding to my previous comment I did state that I understand once you get a few layers removed the software should be fine. I was specifically asking about the underlying OS having to be rewritten and not having worked with phones/tablets was unsure how much was abstracted. The most experience that I had with getting software to work on different HW was between x86 and x64 cpus. I was not aware that it would basically be the same going from ARM to MIPS.

I also was not aware that there already was a MIPS version of android.

MIPS isn't actually dead, it's just very very quiet. The most visible example that comes readily to mind is Broadcom: all their product differentiation is in the wired or wireless networking and switching silicon; but if the product needs a general-purpose OS shoved into it somewhere(as with any BCM-based home router), they'll generally pop a MIPS core in there.

I assume MIPS doesn't have the arrangement like ARM were they design, license to others, and others do the fabbing?

They actually do follow a fairly similar model: their licensees page. They don't have many takers for fancy-tablet-SoC type products; but a whole lot of networking gear has a MIPS core handling coordination/configuration/housekeeping for network interfaces.

For embedded stuff where you DO have to write quite a lot of ASM, MIPS is very popular since it's REALLY easy to write ASM for. I believe it is/was mostly standard that the ASM you learn in Computer Org is MIPS ASM.

"Imagination is developing the MIPS presence in key segments such as mobile by continuing to grow the MIPS ecosystem, and by exploiting open operating systems and emerging trends toward architecture neutrality and portability."

This quote comes from the tail end of a section providing branding/advertising for MIPS IP. It is not talking about the "Warrior" CPU IP being used as an application processor or in an SoC for phones and tablets.

This comes from the generic "company statement" or "about the company" sections typically at the bottom of a press release. In this case, they are just talking about Imagination Technologies the company and their portfolio of products, which include the PowerVR series of GPUs in many smartphone and tablet SoCs today. It's not talking about a MIPS CPU or the "Warrier" CPU IP specifically.

Really, if ImgTech is really entering the smartphone and tablet SoC market, it will be blindingly obvious as they will specifically say that they have an architecture and IP for the market. They will tease or offer up benchmarks that are relevant to the market. You have none of this in the press release, which only talks about the MIPS Aptiv "micro controller and deep embedded" processors, and a roadmap tease with the "Warrior" family of MIPS processors, which appears to be a successor to the Aptiv processors.

"The ‘Warrior’ generation of cores will include 32-bit and 64-bit variants with a focus on superior performance efficiency across the high-end, mid-range and entry-level/microcontroller CPUs."

Doesn't sound like they are going for the "application processor" market to me. Looks like an embedded design for controller boards. Look at the stated tentpole features: crypto, virtualization, SIMD, multithreading for better throughput, QoS. If you make audio/video receivers (and need to support HDMI) or a video camera or a sound/video capture device or any number of the hundreds/thousands/millions of controller boards, this is potentially for you.

Ars is making a leap too far if they think this is for handheld/mobile computers.

MIPS is also big in the home/SOHO router industry. A lot (most?) of the OTS routers at consumer electronics stores run MIPS.

Seems Imgtec are still trying to chase ARM in the microcontroller space, adding floating point to try to compete with the Cortex-M4. I wonder if they'll also release a really tiny core to compete with Cortex-M0 and the 8/16-bit market as well.

In addition, with China developing its own MIPS-based Loongsoon processor, they can be very cheap, too. I'm surprised there isn't any joint development effort between Imagination and China, sharing costs, and ensuring a flood of cheap MIPS CPUs coming out of China-based fabs the very instant the design is finished.

Once ARM started selling licenses to Chinese companies, their interest in MIPS seems to have dropped close to zero.

Okay this may be a stupid question but I'm going to ask anyways. My background is in software development but I don't deal with the HW level so most of this is from taking a HW class college.

Doesn't introducing a completely different technology level put you at a very large disadvantage due to the fact that any software would have to be rewritten in order to be used on the new HW. I understand that once you get a few layers past the HW it shouldn't be an issue for most things but when you are talking about phones/tablets I would think that the bulk of the software would be interacting pretty heavily with the HW and so a change would require rewrite and a separate version or compile option at least.

Most android software is not natively compiled, it's java so compiled to java bytecode which is interpretted at run time by the jvm, so at least for the majority of apps running on android, this would not be an issue. You would just have to make sure that the kernel, drivers, etc are ported to the new hardware.

Why on earth would your post get any down votes? Everything you said was true.

Edit: Oh, I just read another post and it was the part about the Java Bytecode (it's really Dalvik Bytecode) that probably got you the down votes....

I guess this proves that there are always people willing to throw good money at a stupid idea.

Couldn't the same thing have been said about ARM many years ago? I remember them as the Acorn RISC machine but Intel became the dominate CPU architecture. "Hey! Why put good money into ARM when the x86 instruction set is the standard?"

What about PowerVR? "Why don't you guys just quit?! nVidia and ATI have the graphics market locked up. You can't compete. There's no room for you guys anymore". But now they're a pretty big player in the mobile graphics market.

I like seeing these smaller alternative technologies continue onward. Sometimes the marketplace provides an evolutionary niche for them to thrive and they may even surprise us by becoming dominate again.