Enabling Your Next Step

SEARCH
Concept Software Development Hardware Development Mechanical Development Test and Verification Production Product Life Cycle

ARM versus X86

- Considerations for the embedded segment

Increasingly powerful ARM-processors are seriously challenging entry-level X86-processors in the embedded segment. X86-processors, not the least Intel® Atom™, take on the challenge and offer low power solutions to match what's required in battery powered and handheld units.

 

The decision on whether to pick X86 or choose ARM needs to be supported by a thorough investigation on the possibilities and limitations to the respective alternatives. It's a choice on processor performance, power consumption and price but also on eco system of hardware and software components, Input/Output interfaces and development strategy and efforts.

 

In development projects top priorities are commonly development cost and especially the cost for development and maintenance of software, the cost per unit for the complete system and the features and performance of the product.

 

Let's begin with a closer look at the cost of components. Hectronic has made a study on the system cost structure of the typical industrial Human-Machine Interface application.The application includes a 15 inch display and 32 Gigabyte MLC-based Flash SSD.

 

The study among other things could be basic data for the choice between the Intel® Atom™ E6XX (600MHz) and the iMX53X Cortex A8 (800MHz) processor from Freescale. The two are roughly equivalent in terms of computing performance, since Intel® Atom™ E6XX has increased performance per clock cycle.

 

Comparing cost of components

The cost structure of the two alternative systems is shown in the picture below. It turns out that the ARM platform (Processor and companion chip) is the 14% cheaper alternative. It's a fact tempting to put in focus.

 

But a fact is also that 14% turns into a price difference of merely 0.7% for the complete system. The cost of processor and chipset aren't really that a great percentage of the overall component cost. In this case the display and touch screen make up more than half the cost of components in the complete system. A decisive effort on evaluation of optional displays and touch screens for instance would have a better chance of lowering the cost of components.

 

To ellaborate more on the price difference Intel® Atom™ E6XX offers more functionality and a richer set of modern interfaces such as PCI Express and Gigabit Ethernet. Even though requirements of the system undergoing evaluation don't include these interfaces it's worth considering to pay extra for the possibility to add functionality in the future.

 
 
ARM versus X86 - Cost comparison

 

Click to enlarge the picture

 

Component cost comparison in a study of a typical HMI system. The study compares costs for a system based on an ARM-processor to one based on an X86-processor.

 
 

Choosing an ecosystem

In large production volumes often found on the consumer market the influence on the unit price from processor and chipset pricing is substantial. In volumes of a couple of thousands a year, which is common in the embedded space, the cost of development is much more influential.

 

That’s why the choice between ARM and X86 in embedded applications is to a large extent to pick an ecosystem with additional hardware and software components to support development. The operating system is a key element in that ecosystem and so is the general supply of usable ready-made software applications. These two aspects definitely has an impact on the level of complexity in software development and the result in terms of cost in time and money.

 

The picture below is an overview of the support for various operating systems for these two competing architectures.

 
ARM
Windows CE
Linux
Android
 
 
 
 
 
X86
Windows CE
Linux
Android
Windows 7 full version
Windows 7 Embedded
Windows Vista
Windows XP full version
Windows XP Embedded
 
The above table is an overview of the support for operating systems in ARM and X86 architectures respectively. Real time operating systems are not included in the list since the support tends to vary much within both architectures and the discussion on general support thereby is difficult.
 
 

Android is based on an embedded Linux core and additional graphical user interface and Java engine. It’s widely used in advanced mobile telephones based on ARM processors. Even though the Android support can be considered in place both for the ARM and the X86 architecture it’s still a bit complicated to have the OS up and running in practice. When Android is preferred it’s probably a good idea to check for information on what platforms are used in mobile phones and tablets to draw advantages from support work that has already been done by others.

Windows CE has increased support for ARM and X86 in general compared to Android but the support varies from one platform to the other. Some platforms are well supported with Board Support Packages and others require quite an effort from the software developer.

 

Comparing support for operating systems

Among the listed operating systems Linux and Windows are the more uncomplicated to work with in your embedded development project. Historically Linux support has generally been good in the X86 architecture and excellent for Intel® platforms. Linux support for the ARM architecture varies depending on the processor. Search for the more widely used processors to ensure proper Linux support.

 

If you are striving for the really safe start in software development a Windows OS on an X86 processor is probably your first choice. A Windows OS in full version always (at least really close to always) is up and running instantly. When things are working properly it’s time to downscale to an embedded Windows version. If you are not up for it yourself there are a lot of companies and professionals out there that knows Windows and are willing to offer their services.

 

Reducing software development cost

Also choosing an X86 based platform there is the advantage from performing development on a PC host of the same architecture as your embedded target system. Any software application that works on the X86 host also works on the embedded target. And in addition to this there is a large number of professional software components in the X86 ecosystem to choose from

The software percentage of development investments and maintenance costs increases steadily in the embedded segment. Today software makes up a large part of the product value but budget estimations on software development in time and money are difficult make. The standardized X86 approach with an ecosystem built from many years of software evolution is in this perspective the often the safer and more cost-efficient choice.
 

BIOS or bootloader

The traditional BIOS is an example of the different approach in X86 compared to ARM. The Basic Input/Output System, BIOS is exclusively used in X86 processors. BIOS is a firmware configuring and connecting the hardware to the operating system and it offers support for a variety of OS and supports new OS versions. BIOS also offers additional functionality such as hardware testing and diagnostics, flexible configuration and platform management.

One downside to BIOS is the prolonged start-up time. ARM designs use the so much faster boot loader approach for hardware configuration and operating system start-up. Some of the functionality in the X86 BIOS is feasible also in ARM based applications but the development efforts may be costly. There is an open source initiative on bootladers for selected X86 platforms running Linux. It’s a fair guess that bootloader technology will be increasingly supported among X86 platforms in the near future.


What appears to be a BIOS today isn’t always the traditional X86 firmware. The truth is that the legacy BIOS are sometimes replaced by commercial Unified Extensible Firmware Interface solutions, UEFI. The UEFI specification doesn’t follow completely in the footsteps of the traditional BIOS since it’s not including full X86 backward compatibility.

 

Modernizing firmware - The UEFI initiative

UEFI defines an OS firmware interface, similar to BIOS, but the interfaces known as Boot Services and Runtime Services are not specific to any processor platform. The compatibility requirements for replacing BIOS are met adding compatibility modules.

The UEFI initiative is among other things there to modernize the X86 firmware. The traditional BIOS has a history beginning many years back being the OS firmware in PC-XT and PC-AT computers. Backward compatibility requirements and the diversification of the PC market have limited the possibility for modernization.

The UEFI initiative already promotes an alternative to the traditional X86 BIOS and the support for bootloader technology in the X86 architecture is expected to grow. It’s our opinion that the future holds a variety of non-BIOS alternatives for X86 in a supplied based on a variety of business models including licensing (traditionally used for BIOS), license free and open source. It involves freedom of choice but also more work on implementation.
 

Standardization in the X86 architecture

The X86-architecture has been widely used in desktops and servers over the years and the evolution has led to not only increased general computing performance but also a number of standardized fast interfaces such as PCI, PCI Express and SATA. Standardization has played an important part in promoting X86-based COM modules, motherboards and single board computers. These off-the-shelf products have offered a fast route to starting and finishing embedded development with X86.

 

The ARM architecture on the other hand is offered in wide variety of System-on-a-chip solutions excellently targeting specific applications. Also, the X86 versus ARM battle in applications in which power consumption is everything will definitely more often have ARM as the winner. The more complex CISC architecture in an X86 platform is more developer friendly but pays for it with an overhead, for example in power consumption.

 

The powerful ARM-processors now entering the market with fast interfaces such as PCI Express and SATA are more of a challenge to developers than prior ARM versions with interfaces like I2C, SPI and serial ports. Board layout, routing, signal integrity and shielding are more critical aspects to ensure operation and avoid disturbance.

 

High-end ARM challenges developers

Companies used to developing their own ARM designs are faced with the decision to invest to increase the competence and continue in-house development or address the issue differently. The complexity in high-end ARM processors is likely to promote an optional strategy, the semi-custom design.

 

The semi-custom design strategy offers fast and easy access to new and powerful computing technology in a standardized COM module which is mounted on a custom design carrier board. An advantage is that developers avoid having to master development of the processor platform itself. They are able to focus their efforts on adding interfaces, features and functionality on the carrier board for the product to be competitive.

 

The COM module interface is standardized. Scalability is easier using the same carrier board in a range of products based on the performance levels of the COM modules. Yet another advantage using the semi-custom strategy arises when the COM module is near end-of-life. A COM module replacement is a lot easier to integrate than having to redesign the complete hardware.

 

Reducing cost

Over the years these have been much appreciated advantages in applications based on X86 processors and have reduced development and product maintenance cost for mid-range production volumes.  It’s our belief that evolution now has reached the point where the semi-custom strategy definitely will make sense in a wider range of ARM-based applications.

 

The best fit form factor for ARM is Qseven since this form factor is targeting low power mobile applications. The Qseven COM module specification version 1.20 includes separate minimum configurations, one specifically targeting ARM processors. The first Qseven modules based on ARM have seen the day of light. It’s a fair guess that more ARM-based Qseven modules are imminent and COM Express modules are likely to follow.

 

System I/O

interface

PCI Express lanes
Serial ATA channels
USB 2.0 ports
LVDS Channels
DisplayPort, TMDS, SDVO

High definition

audio/AC'97

Ethernet 10/100

Mbit/Gigabit

ExpressCard

support

Low pin count bus

SD I/O 8-bit

for SD/MMC cards

System management

bus

I2C bus
SPI bus
CAN bus
Watchdog trigger
Power button
Power good
Reset button
LID button
Sleep button

Suspend to RAM

(S3 mode)

Wake
Battery low alarm
Thermal control
Fan control

ARM/RISC

minimum config.

0
0
3
0

0

 

0

 

0

 

0

 

0

0

 

0

 

1
0
0
1
1
1
1
0
0

0

 

0
0
0
0

X86 minimum

configuration

1 (x1 link)
0
4
0

0

 

0

 

0

 

0

 

0

0

 

1

 

1
0
0
1
1
1
1
0
0

0

 

0
0
0
0

Maximum

configuration

4
2
8
Dual channel 24bits

1

 

1

 

1

(Gigabit Ethernet)

2

 

1

1

 

1

 

1
1
1
1
1
1
1
1
0

1

 

1
1
1
1
 
Features supported in the Qseven COM module form factor standard separated into minimum configurations for ARM and X86 respectively.
 
 

Offering ARM and X86 based COM modules

Hectronic has a history of offering COTS or custom design COM modules, motherboards and systems to our customers. We have based our designs on a couple of complementing X86-processor platforms and ARM9 with embedded Linux for entry level applications. Powerful ARM processors such as Cortex-A8 and Cortex-A9 are increasingly interesting for use in embedded applications.

 

Therefore Hectronic introduces a couple of additional ARM modules to promote the benefits of the semi-custom strategy and broaden the processor platform options to our customers. The Q7-NT2 is a COM module in the Qseven form factor. It's based on the NVidia Tegra290 processor which is a Dual-Core ARM Cortex-A9 architecture.

 

The Q7-NT2 is roughly in the same performance segment as a couple of existing COM modules based on X86 processors. Hectronic H6049 and Hectronic H6055 are two Qseven modules based on processors from the Intel® Atom™ processor family. Hectronic H6812 is also based on Intel® Atom™ and the form factor is COM Express Compact.

 

The NR-S5PC100 and the NR-S5PV210 are two alternatives from a new family of COM modules in the nanoRISC form factor. They are based on the Cortex-A8 architecture and represent options in an emerging performance segment between the ARM9-based modules H6042 and H6043 and modules based on Intel® Atom™. The nanoRISC form factor has been created for applications requiring both small form factor and lowest power consumption using the latest RISC processor and I/O technology.

 

Hectronic continuously develops our offer to ensure our customers the maximum benefit from having us as their technical partner in development of the processor platforms of their products, be it based on ARM or X86.