11 Feb 2014

46029

0

On ARM

A lot of people have expressed excitement or enthusiasm regarding ARM though when asked to explain their enthusiasm the result has often been incoherent babbling. In other words, the vast majority of people still have trouble communicating their thoughts in a clear and, more importantly, concise, manner. ARM is interesting though and from multiple perspectives. The biggest point is the amount of processing power it represents despite its small physical, power, and thermal footprint. A decade ago, the computation capabilities of systems in that same space were anemic to say the least. That limitation severely constrained the applications they could be used for and tended to degrade the user experience rather significantly due to their lackluster response. Now though ARM processors produce more than enough power to not only fulfill the basic needs of computer users but are also encroaching upon applications where performance is paramount.

The most self-evident example of this proliferation of processing power is in the smartphone and tablet market. Whereas previously cellphones were used for just making calls, now they act as gateways to the wider internet and have even effectively supplanted the mobile gaming market. We'll see how much longer Nintendo can fight against that onslaught. Tablets used to be little more than props from scifi but today they are pretty much everywhere. With all of that power, software developers were given a whole new market in the form of the app stores by the big three platforms, Android, iOS, and if we're being generous, Windows Phone. The desktop software market had hit a sort of saturation point long ago but the mobile market is still growing. Personally I'm not sure how much larger it can grow since there's only a finite number of things one can do with a phone or tablet and most of those needs seem to have been serviced. But the point stands in that the vast increase in processing power has made it possible to do so much more on previously constrained platforms. No wonder software developers are salivating.

And then there are the users. In this case however, I'm not talking about the users of a smartphone or tablet. I'm talking about the engineers that use the actual ARM processors. These are the people that design embedded systems that need some kind of computing capability but are severely constrained by either power, space, or thermal limits. For them ARM is an old friend, albeit one that's gotten much more capable in recent years. For these engineers the increased power can mean simplified designs. Now an ARM processor can drive and control many more components. Instead of needing to distribute multiple processors, control can be centralized in a single processor saving space and power. Not only that, the processor can actually do some useful data crunching instead of simply acting as a relay. And with the increased complexity of software that can run on ARM, the ease of use also increases. Instead of custom real time operating systems that are extremely cumbersome to use and program, a generic Linux distro can be dropped in instead. There's a lot to be said for making software development simpler and faster. As such, the increased use of the ARM processors has helped directly in making the processor easier to use and integrate. The very definition of a computer is being fit into smaller and smaller footprints, making it possible to apply computing to more and more tasks. Whether that's a good or bad thing will be sorted out in the marketplace, though one good thing that has happened is making setting up custom computing solutions more and more approachable. While one still needs some electrical engineering background to design and build a board, one no longer needs to be a giant multinational to fund the production of said boards. The leveling of that particular field should mean more competition and more interesting new ideas.

Finally, there are the computer architects. The CPU war that Intel pretty handily won had the side effect of significantly reducing the opportunities for computer architects to find a job where they could have a meaningful impact in industry, besides Intel of course. AMD was always a distant second but even though its processors were for a time competitive, it never truly commanded the market and mind share that Intel did. With PowerPC basically being withdrawn from the consumer markets and it and SPARC confined to fairly niche markets, there really were not that many places a computer architect could go to work on new processor designs. ARM Holdings' business model is however very different from Intel's. Instead of selling processors, ARM Holdings licenses the processor design and even the ISA for third parties to customize. Apple, NVidia, Qualcomm, and Samsung are only some of the companies that have developed custom processors implement the ARM ISA. These aren't just designs that combine a generic ARM processor with a bunch of peripherals like graphics and memory, these are basically genuine custom CPU designs where groups experiment with pipelining, branch prediction, and even layout to maximize performance and minimize power usage. It's been over a decade since there were that many companies engaged in this kind of research and development. All in all, it's exciting times for computer architects.

The one group that I will not talk about are the users of things like smartphones and tablets. The reason is, in my opinion, fairly obvious. These are the people who didn't know what to do with the increases in processing power of their desktops, which is why they're able to migrate most of their computing needs to a tablet in the first place. That may sound a bit harsh but I've never been able to work up much enthusiasm for consumption, which is what these people use their devices for. And in catering to this crowd, too many companies have taken a sort of in your face approach to marketing their devices. That's always rubbed me the wrong way. A piece of technology should integrate cleanly into one's life. It is most certainly not the focus of it. As such, I believe the truly successful devices will be things that get out of people's way, that make things easier without being noticeable. That's going to require a bit more thought than throwing things at the wall and seeing what sticks, a guide that I try to apply to all the projects I work on.

This blog post represents the personal opinion of the author and is not representative of the position of the ReactOS Project.