How do you reduce operating power and maintain high performance? Intel’s answer is like putting ten pounds of olives in a five pound bag – in a good way!
Many engineers look at the inexorable march to ever-increasing levels of integration as ways to reduce cost and save space, while increasing what can be implemented using a piece of new technology. But integration has two other critical factors that can be exploited to reduce power consumption and increase performance.
One simple way of looking at performance is to consider the amount of power, and hence time delays, required to get a signal on and off a chip. Power is related to the capacitance being driven, the operating voltage and the frequency. Often this is expressed as:
It’s easy to see a strong motivation to reduce operating voltage since it is a squared term. Each halving of the operating voltage results in reducing the portion of power consumption attributable to an input/output buffer driving a signal by a factor of four. Likewise, reducing the need to go on and off chip reduces the power needed to drive a given signal through the reduction in line capacitance.
Power and performance are two sides of the same coin. The more code can be executed on chip, the greater the reduction in power needed to drive lines by more than an order of magnitude while moving the operating frequency barrier to higher levels.
The question for embedded systems is what to build on-chip to both increase performance while reducing power consumption. Intel has a series of answers in the Intel® Atom™ E6xx series of processors. With all of the currently offered Atom-based processors featuring a 512k L2 cache, the next real power savings and performance boost comes from performing more compute-intensive operations using on-chip hardware. The E6xx does that by bringing 2D/3D graphics operations into the on-chip hardware platform.
Intel has offered graphics support libraries for many years. Now the Atom E6xx provides a fully integrated capability. The newest members of the Atom family include a fully integrated graphics engine, video encoder, video decoder, and direct support for a variety of display types including SVDO, LVDS, and VGA. These higher levels of integration demand more support from operating systems to leverage the new hardware capabilities. Microsoft (1) Windows Operating Systems supporting the Atom E6xx products include Embedded Standard 2009, Embedded Standard 7, and Embedded POS Standard 2009. Microsoft’s long involvement with desktop computing has been one impetus that has moved forward their support of general software graphics engines for more than fifteen years. But embedded operating systems have some different and unique requirements. Among these requirements are a small OS footprint in memory and required processor cycles, the ability to control power consumption, and improved performance while maintaining low power. Microsoft has moved embedded operating systems into a family of various versions of the embedded Windows System. The embedded version of the OS includes a wide variety of higher level graphical and video capabilities:
- MPEG Layer-2 (MPEG2) Codecs
- MPEG Layer-3 (MP3) Codecs
- MPEG Layer-4 (MPEG4) Codecs
- Windows Media Video VC-1 (WMV) Codecs
- Audio and Video Engines and Media Foundation
- DirectX and Windows Device Experience
- Graphics Platform
- Image Mastering API V2
- Media Player
- Windows Media Player 12
All together there are literally hundreds of sub-components within the Windows environment that perform various pieces of video and graphical processing. These systems level functions are in turn supported by Intel’s video and graphics drivers.
Microsoft’s Media Player application is an example of the power of the Microsoft software architecture when combined with Intel drivers. Using the Atom E622 processor, applications that employ software decoders can use the DXVA API to enable hardware accelerated decoding and rendering of video. The Intel® Embedded Graphics Driver (IEGD) implements a Direct Driver Interface (DDI) to DXVA as one capability. The embedded software stack uses the Variable Length Decoding (VLD) entry point to decode compressed video bit-streams. The decode process is implemented completely in the on-chip Atom E6xx hardware. Decoded video is passed to the Video Mixing Renderer (VMR) which in turn uses either Microsoft DirectDraw or Microsoft Direct3D APIs) to render video. The rendering process can be achieved using Atom graphics hardware acceleration.
QNX® Software Systems Co.(2) offers their Neutrino™ embedded Operating System for the Intel Atom E6xx processors. The newest member of the Atom processor family offers a new level of I/O flexibility by moving to PCI-Express as the processor-to-chipset interface. The processor is designed to support the Intel Platform Controller Hub EG20T. The controller integrates a wide range of widely used common I/O blocks, including a disk drive serial port - SATA, USB, SD/SDIO/MMC, and Gigabit Ethernet MAC. In addition, the controller also includes interfaces such as CAN, IEEE1588, SPI, I2C, UART, and GPIO. Most of these communications and peripheral control protocols are directly supported in the Neutrino RTOS.
QNX’s approach to graphics and video support is a microcosm of the greater Intel Embedded ecosystem for the Atom embedded processor family. QNX’s contributions to the growing third party and Open Software movement includes a Graphic package. Where the Microsoft graphics approach has been promoted initially by desktop applications, QNX has developed small footprint options for graphics and video operation.
The QNX Graphics Framework (GF) is used to create application user interfaces without the need or overhead of a full windowing system. GF can render directly to hardware. Doing so makes it faster and more responsive in an embedded environment. This is achieved by providing direct access to graphics drivers. Significantly, no message-passing or context-switching is required while rendering. By using hardware acceleration, the application operates at the highest performance levels while simultaneously consuming the least power.Other RTOS vendors also support the Atom E6xx processor, including Green Hills Software (3) Wind River Systems (4), and TenAsys(5).
Historically new horizons of applications have been opened to practical systems as specialized hardware has been integrated into single chip and near-single chip solutions. But some of the most surprising new applications come from applying the intrinsic mathematical functions in unanticipated ways to solve a greater variety of problems.
What other applications can you think of that could apply Atom E6xx capabilities like vertex processing, rendering, and other traditional operations like CODECs and rendering?
1. Microsoft Corporation is an Associate Member of the Intel Embedded Alliance
2. QNX Software Systems is an Associate Member of the Intel Embedded Alliance
3. Green Hills Software is an Affiliate Member of the Intel Embedded Allaince
4. Wind River Systems is an Associate Member of the Intel Embedded Alliance
5. TenAsys is an Affiliate Member of the Intel Embedded Alliance
Roving Reporter (Intel Contractor)
Intel® Embedded Alliance