Run your embedded OS alongside Windows without sacrificing determinism, performance or features using the eVM virtualization manager. Evaluate the INtime RTOS for Windows Development Environment Develop Real-time Windows Applications Using Visual Studio

 

 

 

 

 

Utilizing SIMD instructions on the INtime RTOS with the Intel IPP library

Single-instruction, multiple-data (SIMD) instruction set technology is an efficient computational schema commonly applied to digital signal processing algorithms. The Intel MMX and SSE (Streaming SIMD Extensions) instructions give programmers a means to operate on multiple data elements and deliver substantially increased performance for applications typically delegated to expensive digital signal processors (DSP).

The Intel IPP library

The Intel® Integrated Performance Primitives (the IPP library) deliver a rich set of options from which to choose, and optimize use of the Intel MMX and SSE instruction sets, automatically adjusting to support the feature set of the specific processor on which your application is run. Using the library simplifies the integration of DSP functionality into your applications, so you can focus your time and effort on building the value-add functionality that will differentiate your product in the market.

The Intel IPP library includes functions for algorithms in the following categories:

  •  Video Decode/Encode
•  Audio Decode/Encode
•  JPEG/JPEG2000
•  Data Compression
•  Cryptography
•  Speech Coding
•  Speech Recognition
•  Image Processing
•  Image Color Conversion
•  Computer Vision
•  Signal Processing
•  Vector/Matrix Mathematics
•  String Processing
•  Data Integrity & Error Correction
 

Sophisticated primitives designed for the construction of audio, video and speech codecs such as MP3 (MPEG-1 Audio, Layer 3), MPEG-4, H.264, VC-1,H.263, JPEG, JPEG2000, G.729, and computer vision are also included.

IPP performance gains

The following figure provides a chart of the performance improvements that can be achieved by replacing expertly constructed C code with equivalent Intel IPP functions for a range of application domains. The graph represents performance gains measured with Intel IPP version 3.0.

IPP Benchmark Results

The vertical bars indicate the average performance improvement factor that was achieved by using the Intel IPP functions. The gray bars indicate gains from code optimized for an Intel Pentium III processor and the blue bars for an Intel Pentium 4 processor, when compared to equivalent C code. These results represent averaged values derived from a test suite that is included with the library.

Additional information about SIMD and the IPP library

TenAsys is not an authorized reseller for the Intel IPP library. Please visit the Intel IPP page or contact your authorized Intel reseller for pricing and availability of the Intel IPP library. You need the standard Intel® Integrated Performance Primitives for Windows product in order to integrate the IPP library with INtime real-time applications.

Microsoft Visual Studio is all that is required to create IPP applications for the INtime RTOS. All the standard INtime wizards and debug tools are available for development of your application.

INtime applications are limited to use of the IPP static linkage models. Run-time dispatch (automatic detection of the underling CPU) is supported by the static linkage model, insuring that optimum performance of the IPP library is always acheived, regardless of the underlying processor platform.

For more details regarding Intel SIMD instructions:

•  Streaming SIMD Extensions
•  Intel® Streaming SIMD Extensions 4 (SSE4) Instruction Set Innovation
•  Using the new Intel Streaming SIMD Extensions (SSE4) for audio, video and image apps

For more details regarding the Intel IPP library:

•  Intel® Integrated Performance Primitives
•  Intel® Integrated Performance Primitives Benchmarks
•  Intel® IPP linkage models - quick reference guides

Intel processors that support the IPP library

Intel Pentium 4, Xeon and Pentium M processors include support for MMX through SSE2 technology. Processors based on the Intel Core microarchitecture support the MMX, SSE, SSE2, SSE3, and SSSE3 instruction sets. Those based on the Enhanced Intel Core microarchitecture also support the newest SSE4.1 instruction set