Real world signals are the basis for stimulus and response for embedded systems. Without real world signal interfaces, embedded processors would have a shortage of applications. Much attention has been paid to high data rate sensors, but the sensor continuum includes data rates that span a wide range.
Most real world signals, unlike digital signals, are continuous in nature. Continuous (analog) signals can be processed by linear components as part of a control system, digital processing carries with it significant benefits. These benefits include repeatability, no component drift, ease of calibration, and the ability to adapt signal processing to changing environments. More than thirty years ago telecommunications engineers recognized the power of digital signals that could represent analog quantities. Digital signal representation for analog signals was understood by very few engineers when realtime digital signal processing first became available.
Today the landscape has changed dramatically. Ordinary run-of-the-mill processors are fully capable of processing lower bandwidth signals that don’t require substantial signal processing. More modern, higher performance processors, like the Intel® Core™ i7, bring new architectural features to the embedded application space. Engineers can select from Intel processors to meet application needs: Atom processors offer low power operation giving designers flexibility in low power applications, and Core™ i5 and Core i7 processors provide high performance instructions including Advanced Vector Extensions (AVX). Parallelism through multi-cores and multiple-data operation instruction extensions, like AVX, are key to achieving needed performance for realtime signal processing. Early special-purpose signal processors achieved their realtime performance by using multi-data instructions that performed a dual data fetch, multiply-accumulate, and save instruction in a single cycle. Regardless of the specific processor that you choose, you will be maintaining compatibility with the large code base of the Intel Architecture.
AVX packs a lot of functionality into the new extensions to the Intel Architecture. Much of Intel’s AVX power comes from the vector pipeline width. The execution unit and critical registers are 256 bits wide. AVX’s vector pipeline can execute multiple operations in parallel using a Single Instruction, Multiple Data (SIMD) architecture. Instead of a single Arithmetic Logic Unit (ALU) performing a function using two operands to yield a single result, several ALUs can operate on multiple pairs of data simultaneously. By replicating the number of ALUs, AVX can produce several results in the same time that a standard processor core takes to produce one. This is particularly effective where the same operation is performed many times across a large data set, such as typical digital filtering. The ability to recast sequential operations into multiple parallel sequences is common in DSP algorithms including matrix operations, filter functions, and Fast Fourier Transforms.
AVX operates on 256-bit wide registers which can represent either:
- eight 32-bit single-precision floating point numbers or
- four 64-bit double-precision floating point numbers
Current Intel AVX implementations retain 128-bit wide integer registers which can represent:
- two 64-bit integers or
- four 32-bit integers or
- eight 16-bit short integers or
- sixteen 8-bit bytes or characters
Many algorithms for performing realtime signal processing are well suited to single precision fixed point operations. Eight fixed point data can fit within 128 bits of the 256-bit pipeline. AVX extends the data type to 32-bit single precision floating point data. Eight concurrent operations are possible, and for some operation sequences like multiply-add, two instructions can be executed per cycle. Under these circumstances, this hardware capability allows sixteen operations to proceed concurrently.
The bandwidth that can be processed by Intel Core processors with AVX has prompted many Intel Embedded Alliance members to offer single board computers as standard product. Member companies Kontron’s (1) VX3030, Advantech’s (2)ARK-3440, Radiys’ (3) CEQM67, and GE Intelligent Platforms (4) SBC324 are a few of Core i7-based products.
GE Intelligent Platforms has developed a series of embedded hardware platforms that bring the power of Intel’s Advanced GE Intelligent Platforms has developed a series of embedded hardware platforms that bring the power of Intel’s Advanced Vector Extensions (AVX) to the SBC324 3U OpenVPX rugged single board computer. One of five core i7-based boards from GE-IP, the SBC324 features a quad core processor operating at up to 2.1GHz, and up to 8GBytes of DDR3 1.333MHz memory. These hardware features make for exceptional performance in size, weight and power-constrained applications. The GE-IP AVX-based boards are targeted at especially harsh environments such as unmanned vehicles. GE-IP plans for the SBC324 include deployment not only in traditional 3U VPX applications such as command/control, but also in Intelligence, Surveillance, Reconnaissance (ISR), radar/sonar and other signal processing.
The real power behind the SBC324 is software. GE-IP’s AXISLib-AVX is a set of signal and vector processing libraries that include more than 600 high performance digital signal processing and vector mathematical functions – optimized for AVX operation. Each function helps developers maximize system and application performance while minimizing time-to-market. The libraries are designed to complement the hardware power of the AVX-based SBC324 by supporting advanced realtime embedded signal processing applications such as ISR. AXIS-AVX can operate standalone or as an integral software module within the AXIS Advanced Multiprocessor Integrates Software environment.
Wind River Systems’ (5) Linux® and VxWorks OSes can be used to manage Curtiss Wright Controls Embedded Computing Core i7-based CHAMP-AV8. The board features two quad-core Intel® Core™ i7 processors that combine to produce an incredible 269 GFLOPS of peak performance. Harnessing all of this computing power takes some forethought by engineers. Central to the application architecture, the use of multi-cores requires explicit decisions about how multi-cores and signal processing algorithms will be managed by software. Increasingly embedded software shifts the responsibility for managing multi-cores and parallelism from the application code to operating systems. Wind River’s VxWorks includes Symmetric Multi Processing (SMP) core reservation, which allows for a single core in a multi-core system to be allocated for a single process and be isolated from other processes/cores. An additional facility of VxWorks called “spinlock” works in the Asymmetric Multi Processing (AMP) configuration to avoid instruction stalls. These capabilities can be critical to ensure hard-realtime operation for signal processing algorithms.
(Intel E6x5 DSP engines in FPGA)
In addition to multi-core programmable processors, Intel provides alternatives for a wide range of signal processing using the Atom E6x5 processor with up to 39 configurable DSP engines – or any other unique accelerator you can define. The E6x5’s multi-chip module packaging technology controls package capacitance and bond wire inductance by minimizing conductor length and keeping those connections within the same package. The use of an Altera FPGA as part of the E6x5 brings all of the design flexibility of an FPGA to single package embedded processors. From a systems standpoint, these FPGA-based computing elements may be treated as peripherals that are explicitly invoked through setting registers and the like, or managed through the use of an Asymmetrical Multi Processing (AMP) Operating System like Wind River’s Carrier Grade Operating System (CGOP). Kontron offers a single board computer featuring an Intel Atom E6x5 processor. The Microspace® MSMT PCIe/104™ SBC includes a 1.3GHz processor, 1GB RAM, HSMC for custom interfaces, all in a small footprint. The E6x5 procesor’s Altera FPGA provides flexible I/O configuration for application-specific elements. Standard and optional I/O on the SBC include USB, audio, graphics, Ethernet, and a realtime clock. All you need to add is your code and FPGA configuration.
Embedded processor choices can simplify your next systems design.
- Kontron is a Premiere member of the Intel Embedded Alliance
- Advantech is a Premiere member of the Intel Embedded Alliance
- RadiSys is a Premiere member of the Intel Embedded Alliance
- GE Intelligent Platforms is an Associate member of the Intel Embedded Alliance
- Wind River Systems is an Associate member of the Intel Embedded Alliance
Roving Reporter (Intel Contractor)
Intel® Embedded Alliance