Last week I wrote about two of the three main microprocessor technologies and promised an article on the third. What exactly sets ARM apart from the competition, and exactly why is it the number one microprocessor technology in the world? I will get into both topics and let you know about the sleeping giant in computer technology.
ARM has been running in the background for a couple of decades and is probably one of the least known processor technologies, but almost everyone owns at least one. ARM has been the powerhouse behind internet connected devices for the last decade, powering nearly 90 percent of the cellular phones on the market, nearly all internet connected appliances including several automobiles. The secret behind ARM is the nature of the product. Anyone can manufacture their own ARM processors, with or without modifications.
I have written articles about open source software in the past, which is software that can be freely distributed with attribution. ARM is the same thing, only with hardware. You can download complete plans for even the latest ARM processors and modify them to suit your needs, then have them manufactured to your specifications. The designs are released primarily at the core level, and the manufacturer is responsible for designing the interfaces between the cores, memory and device buses. This leaves the ARM market wide open for companies to use and improve the core designs, provided they share their research with the ARM community.
Another major difference between ARM and AMD or Intel, is the defined instruction sets. AMD and Intel use a complex instruction set (CISC) and ARM uses a reduced instruction set (RISC). This brings about both advantages and disadvantages. The primary disadvantage is that the RISC processors are a little harder to write efficient programs for; because of the reduced instruction set, you wind up having to produce code for more complete functions that exist natively in AMD and Intel. Among them are memory access modes and operations. A RISC processor only has two memory access operations, LOAD and STORE, whereas CISC processors can have custom memory access functions such as pipeline and stream based instructions.
You might think having a smaller instruction set and dealing with less memory control operations would make the processor easier to program, but in reality it makes things more difficult for the software developer. The great news is that most of these complexities are hidden from the end developer by the compiler and high-level languages, so this impact is minimal for everyone except operating system and compiler developers.
The advantages to RISC are two-fold; having a smaller instruction set and less complex memory access routines results in a lower transistor count in the processor. The lower transistor count equates to a savings in both power consumption and heat generation, resulting in a much more power efficient design. RISC instructions run faster, consume less memory and less power than CISC instructions, but seems it may balance out because it requires more RISC instructions to perform the same operation than it does in a CISC system.
However, here’s the deal, the ARM cortex processor core uses 75 percent less power than an Intel CISC processor. This means unless you require nearly four times the number of instructions, RISC architectures are much more energy efficient, and this is why ARM is breaking into the high performance computing market where the real focus becomes the number of operations per second, followed very closely by the number of operations per watt. ARM is currently the winner in the second category, and as more software engineers focus efforts on developing efficient RISC code, ARM will make rapid advances in the first category.
Until next week, stay safe and learn something new.