Everyone, whether from the technology community to the analyst communities, is eagerly awaiting processors based on the ARM (ARMH) instruction set architecture to enter into the server world. The primary advantage that the vendors of these chip vendors tout is improved power efficiency for a number of key workloads, such as cloud computing, web 2.0, networking, and other usage situations that do not necessarily require the highest performing cores, but require a lot of smaller, more power efficient cores with tight integration of other server system components.
ARM Instruction Set: A Panacea Or A Red Herring?
A lot has been made of the notion that ARM-based processors are inherently more power efficient than counterparts running instruction sets such as Intel's (INTC) and Advanced Micro Devices' (AMD) x86-64. This is actually pretty far from the truth. While the ARM instruction set offers a few advantages due to its more pure RISC pedigree, this is a red herring.
A microprocessor's efficiency, especially in the era of multi-million transistor, multi-core designs, is not very dependent on the little quirks that separate a pure RISC instruction set like ARM versus something like Intel's x86 with CISC roots. It is more dependent on the micro-architecture, physical design, and the actual process nodes/transistors. Let me elaborate:
The instruction set defines the interface to the programmer. Essentially, this specifies types of data that the CPU can handle, the way memory is handled, and how I/O is performed. Think of this as almost the "language" that the CPU can natively speak.
Microarchitecture, on the other hand, defines how that instruction set is implemented. This encompasses the execution units, the branch prediction, how many instructions-per-cycle can be executed, clever techniques for handling multiple concurrent threads of execution, caches, and so forth. The major part of the performance and power efficiency characteristics of a given CPU are due to microarchitecture. To drill this point home, the Intel's upcoming "Haswell" micro-processor is more power efficient than its current "Ivy Bridge" on the same 22nm process due to a better, more efficient micro-architecture.
Finally, the last major component is the actual physical design. While having a great micro-architecture is awesome, the actual physical implementation is key. Circuit design, timing analysis, chip manufacturability, and high level synthesis are all key to hitting performance and power efficiency goals.
So, the whole "ARM chips are better than x86 because they're RISC" notion is silly and savvy investors ought not fall for this hype. That being said, there are some compelling reasons to be excited for ARM-in-servers:
What's So Exciting About ARM In Servers, Then?
The reason that many smaller, fabless design houses are excited about the ARM instruction set has very little to do with "efficiency" of the instruction set. The real reason ARM is exciting is that any company can go get a license to build its own ARM-compatible chips.
Now, why ARM compatibility? Well, the real answer is software compatibility. No company wants to go and design a brand new instruction set architecture to try to go head to head with Intel's x86. Why? There's very little software support! While Intel's instruction set has decades of compilers, profilers, optimizers, and codebases available, any brand new instruction set would need to be accompanied with such tools. That's a huge investment that has a very strong chance of going down the drain. The barrier to entry for a brand new instruction set is high, and the smaller, more agile companies looking into competing in the server CPU space simply can't afford to take that risk.
The nice thing about ARM is that there's already a lot of software support out there for the instruction set, subsidized by ARM's widespread penetration into the mobile system-on-chip space. The goal, then, is to leverage this infrastructure to build unique micro-architectures and system designs for a wide variety of targeted usage scenarios.
So, I Want To Invest In ARM-In-Servers! What Do I Buy?
There are a number of ways to play the ARM-In-Servers game. Here are two prominent companies that have publicly announced plans to enter the ARM server race.
1. Nvidia (NVDA)
Nvidia is known primarily for designing high performance graphics processors for gaming, professional, and high performance computing use. The company publicly announced plans to enter the high performance CPU space with its internally-designed ARMv8 core code-named "Project Denver". In addition, the company plans to leverage its general purpose GPU expertise to leverage coupled with a more traditional CPU by way of its ARM core to provide solutions for a wide spectrum of server needs.
2. Applied Micro (AMCC)
Applied Micro is the most aggressive on the ARM-server front, having recently demonstrated the world's first 64-bit ARM-compatible processor designed for servers named "X-Gene" (even ARM itself does not have an ARMv8 -- or 64 bit ARM -- compatible design available yet). The company has repeatedly stressed that its goal in designing its low power server chips is to go with "brawny cores" and to accept "no compromises." In addition to designing what seems to be a strong, fairly high performance CPU core, the company's expertise in optical transport, networking, and storage solutions has led to what appears to be one of the most highly integrated system-on-chip solutions to date. Applied Micro is small and is essentially "betting the house" on the success of its ARM server chips.