China’s Loongson Creates MIPS Processor That Can Run x86 & ARM Code
A challenge some software developers must face is having to support more than one architecture - be it x86, ARM, or something else. Wouldn't it be great, then, if one processor could support more than one of them at once, potentially allowing developers to target just one base architecture? China's Loongson seems to agree, offering its 3A2000 and 3B2000 processors as proof.
While this design might make you think that these chips are targeted at mobile devices, they're actually designed for desktops and workstations, as well as things like network routers. The 3B2000 could be used in dual or quad CPU servers. Loongson apparently really means business here.
To add x86 and ARM support, Loongson makes use of a binary translation layer, which immediately makes it seem as though this is not going to be a high-performance option. Ideally, there'd be dedicated chip space for x86 and ARM dies, but it's just unrealistic given its complexity. This implementation could also help Loongson avoid legal issues, depending on how it's being done.
If these chips take off in any way, you can be sure that ARM and Intel will be investigating to find that out for themselves. This isn't the first time Loongson has faced questionable legal predicaments; when it launched its first chips, it had to leave out some patented instructions. It wasn't until an agreement was struck up with MIPS Technologies that Loongson's chips became appropriately "MIPS-based".
Legal questions aside, it's interesting (but not too surprising) that this kind of design is possible. If the chips are able to deliver decent ARM and x86 performance, they could actually prove quite useful in some instances. Perhaps not surprisingly, taking advantage of this translation layer will require Linux, naturally with a MIPS-based distro.