We’ve been talking a lot about ARM lately, and why not? It’s the company behind the world’s most popular 32-bit processor. ARM-based chips outnumber even Intel’s better-known x86 processors, and by a wide margin.
But do you know about Mali?
You know, Mali. That French-speaking country in northwest Africa. The one just south of Algeria and north of Burkina Faso, Ivory Coast, and Guinea. It is perhaps fitting that a country encompassing part of the Sahara desert should lend its name to a semiconductor.
In ARM’s world, Mali isn’t a big country but a small graphics processor. Like ARM’s ubiquitous RISC processors, Mali is licensed to hardware designers as synthesizable IP. In other words, it’s a soft GPU core, intended to be incorporated into an SoC alongside one or more ARM processors.
Why the Mali GPU borrowed its name from a landlocked African nation is a bit of a mystery, given that it was designed in Norway, about as far from Saharan dunes as you can get. While Slartibartfast was designing Norway’s fjords, the engineers down the road in Trondheim were penciling in the details of Mali.
The Mali GPU family has been through three generations, with the fourth on its way. The Mali 200, 300, and 400 series will soon be followed by the Mali 600-series. (Yes, they’re skipping 500; I don’t know why.) First out of the gate will be the Mali-T604, a four-core beast based on a new GPU core code-named Midgard (Norse for “middle earth,” the realm of humans). The four shaders run simultaneously, but they can also shut themselves down in mid-render to save power if their performance isn’t needed. At full chat, the T604 can render 2 billion pixels/second, a fairly meaningless (but nevertheless impressive) statistic. Performance is “guaranteed not to exceed” 68 GFLOPS, engineering-speak for really, really fast.
Because the T604 is almost certain to be used alongside one or more ARM Cortex processors, its external interface has been crafted to work well with AMBA buses. This includes sharing and snooping L2 caches, so the T604 can share volatile rendering data with a multicore ARM CPU without necessarily purging all that data out to shared memory. Again, as a power-saving measure, this is an important trait.
If you cross your fingers a little, you could say that Mali is the most popular GPU you can license, although that claim requires a big asterisk. The title of most popular licensed GPU really belongs to Imagination Technologies and its PowerVR GPU. PowerVR is used in more cell phones, tablets, and portable gizmos than Mali (or any other GPU).
ARM gets the consolation prize by virtue of having the most licensees. In other words, ARM has more customers but Imagination Tech has shipped more units. Forty companies have licensed Mali since 2006, and six of them are in production. The other 34 presumably just haven’t finished their designs yet.
That’s a good trend for Mali and potential bad news for PowerVR. If three dozen companies have all spent money on a Mali license but haven’t yet produced a chip, there are a lot of new Mali-based products hurtling down the pipeline. The portable-electronics market is growing fast enough that many of those will be new-to-the-world designs that take nothing away from PowerVR sales. At least a few, however, are likely to be PowerVR converts. It may take awhile, but Mali is mounting a serious threat to market leader PowerVR.
Part of ARM’s plan of attack involves software. At the risk of stating the obvious, graphics processors have to be programmed. And, like any other processors, each GPU family has its own instruction set and programming model. Graphics code written for one GPU doesn’t run on another. It’s not easy to move code from PowerVR (for example) to Mali, or vice versa. The same is true of PC-based graphics chips from nVidia and ATI. They’re all mutually incompatible.
Interestingly, ARM deals with this by not encouraging programmers to write code for Mali. Instead, the company heavily endorses graphics-interface layers such as OpenCL, OpenGL ES, Open VG, and DirectX. This seems a bit counterintuitive. These standards abstract away the hardware and encourage programmers to write code that is portable across multiple GPU architectures. In short, ARM is pushing a standard that makes its own hardware a replaceable commodity.
Though this be madness, yet there is method in’t. Since Mali is the underdog in this market, ARM would have a tough time convincing PowerVR programmers to switch sides and rewrite all their low-level (and probably performance-critical) code for Mali. Instead, the company can take the high road, promoting open standards that graphics programmers are likely to adopt anyway. Just as microcontroller jockeys gradually gave up assembly language for C, so are graphics programmers seeking higher levels of abstraction. Sure, OpenGL and other standards commoditize hardware to some extent, and they could make it easier for developers to switch GPUs down the road. But when you’re not the market leader, that’s a good thing. Convince ’em to switch when you’re behind, then lock ’em in when you’re ahead. Cue wicked laughter.
As a company, ARM has plenty of factors in its favor. It obviously has the Cortex family of CPUs, which have been licensed and produced by nearly every semiconductor company in the world. It also has a big catalog of unexciting low-end (but necessary) peripherals that it built up through corporate acquisitions. ARM’s AMBA bus interface has become one of a handful of commonly used SoC interconnects. And it’s got name recognition, no small thing when you’re pitching to the executive suite or the boardroom. Unless Mali was clearly inferior to its competitors—which is not the case—it’s the easy choice. Write one big check to ARM and take delivery of all the bits you need to make your SoC. Pouvez-vous dire la dominance du marché?