An interesting recent trend in the embedded computing space is the emergence of ARM processors as an option. In a space dominated at various times by Power Architecture and x86, this is a welcome additional choice, particularly for low-power applications.
1. ARM is not like other processors
ARM is quite different to most other processors in that it is an instruction set and architecture definition that is defined by ARM Holdings, a company that does not fabricate processors. ARM Holdings licenses the designs and architectures to third parties that then fabricate specific devices, typically after the addition of extra hardware (e.g. modems for wireless applications, a DSP in the case of TI OMAP). This leads to a proliferation of sources of ARM devices of many, many different flavors. In fact, the number of licenses for the three flavors of ARM Cortex (-A, -R and –M) totals almost 400. How many other processor architectures can claim that number of potential vendors.
2. ARM can be powerful
Most current ARMs in the field are 32-bit processors, but 64-bit versions are starting to emerge. The ARMv8-A definition introduces 64-bit architecture support including 64-bit processing and extended virtual addressing. In fact, if you have an iPhone 5S, you have just such a 64-bit ARM processor in your pocket.ARM can also support SIMD vector processing via the NEON extensions. This provides a 128- bit wide vector pipeline for signal processing – typically used for audio codecs, but certainly not limited to that.
3. ARM can be viable in safety critical systems
ARM processors are also gathering interest in safety critical systems due mainly to the simplicity of their (RISC) design and the availability of models with lock-step execution on multiple cores. Compared with other Complex Instruction Set Computing (CISC) processors, this can provide an easier path to safety certification.
4. ARM is available on XMC
One example of an embedded board level product is the XMCM01 processor XMC module that GE Intelligent Platforms introduced recently. Based on a quad-core ARM System on Chip (SoC) from Marvell, it provides many integrated features, and supports ECC memory – which is somewhat of a rarity in ARM processors. At under 10W, this is a great choice for general purpose computing. An interesting aside is that Intel developed its own ARM line, XScale, which was subsequently sold to Marvell.
5. ARM speaks CUDA
If more signal- or image processing horsepower is needed, consider NVIDIA’s Tegra K1. This mates 192 fully programmable GPU computing cores with four ARM Cortex-A15 CPU cores (with a fifth battery-saver core also), and provides a class-leading over 300GFLOPS for less than 10W. The integrated ARM cores obviate the need for a separate, power-hungry x86 host processor. This opens up a host of applications where high floating point computation speed is needed, but only a limited power budget is available – say, payloads on small UAVs, or man-wearable battery powered systems – while supporting the same CUDA programming model as its larger and more power-thirsty brethren. This consistency of programming model from small, discrete K1s to arrays of many high-end K5000s provides scalability and software reuse across multiple platform sizes. GE is working on COM Express boards that combine the small footprint of the form factor, which is enabled by the high level of integration of the K1 SoC, with the flexibility of the COM Express infrastructure, using custom carrier boards to match the I/O required.
So if you need high performance processing, but you need to adhere to a very low power budget, give your local friendly GE Intelligent Platforms sales person a call. They will be happy to help you discover whether ARM is right for you.