Transcription

1 White Paper Better Digital Signal Performance; Lower Costs With Innovative IntervalZero RTX Real-time Platform I. Overview Digital Signal Processors (s) have specialized architectures that are optimized for heavy math computations and they have dominated the real-time digital signal processing market as a cost-effective solution for many complex designs. Although s remain a viable choice for many systems, developers are finding that proprietary s are no longer required to perform real-time digital signal processing. Instead, developers are migrating to the IntervalZero RTX Real-time Platform, which comprises multi-core x86 general purpose processors (GPPs), the Windows operating system and RTX real-time software to outperform s, to significantly reduce costs, and to streamline development cycles. This paper compares -based systems with systems based on the RTX Real-time Platform and provides an overview of the economic and operational benefits that are catalysts for the increasing migration from s. IntervalZero s symmetric multiprocessingenabled RTX software provides hard real-time functionality for Windows operating systems, including the breakthrough Windows 7 with its touch and gesture capabilities. II. System Diagrams a. -Based Platform Duo System Diagram 1 - Traditional System Design 1 2 /FPGA Subsystem 3 s rely on specialized architectures designed for heavy math computations, but not for general processing. Because of s computational focus, GPPs are used for human machine interface (HMI) and general purpose functions such as input and output (Diagram 1). Additionally, it should be noted that s require separate memory devices for each device and separate buses are needed for all interprocessor communications (i.e. PCIe or Serial). b. RTX Real-time Platform World Class User Interface Windows Kernel 0 Atom (Now) X Diagram 2 - RTX RTX Platform Application Platform RTX Platform X+1 Hardware Options Application Windows Kernel Extension - RTX X+2 x86 Single or Multicore (Now)... X+31 x64 Multicore (2011) The RTX Real-time Platform takes a different approach, with the multiple cores divided up for dedicated realtime processing and general purpose processing. Diagram 2 illustrates a multi-core x86 device with cores dedicated for Windows and cores dedicated to RTX for real-time signal processing functions. Unlike the design, memory is shared using the same high-speed bus, allowing for data sharing and interprocessor communications. The following chart shows a comparison of the two architectures and in the sections that follow, this paper will discuss the merits of the architectures in detail. Page 1

2 III. Comparison Chart: vs. RTX Real-time Platform Category Platform RTX Real-time Platform RTX Benefit Hardware Design Custom board design Long development cycle Difficult to modify hardware Requires In Circuit Emulators (ICE) (COTS) Short development cycle Easy to change hardware Local Debug no ICE needed Reduced Cost Reduced Risk Faster Time To Market Drivers / BSP Custom Drivers device specific Standard Drivers Cost Productivity System Communication Custom protocol Custom buses Shared memory Standard APIs Ease of use Future proof Memory Chip Down hard to change Limited selection Limited memory reach (1GB) No MMU PnP/COTS Modules easy to change Large selection Large memory reach (>4GB) MMU Virtual memory Reduced system size, cost and complexity RTOS Proprietary winapi Familiar API Development Environment Proprietary Tools Manufacture specific Proprietary Compilers Standard x86 Tools Microsoft Visual Studio Intel and Microsoft Compilers Common tool chain throughout the product Code Base Assembly and C Architecture specific C, C++, C# Universal / Portable Uses other higher level languages for non real-time Libraries libraries from OEM Intel supplied IPP library Other 3rd party libraries No requirement to use OEM proprietary libraries. Benchmarks 1.25 GHz - Max core speed 20 GFLOPS / Device Max 3.0 GHz - Max core speed >50 GFLOPS / Device Max Faster Higher performing IV. Hardware Design: The x86/x64 multi-core advances from Intel and AMD are changing the way systems developers meet real-time signal processing needs. New GPPs not only have multiple cores with extremely high clock speeds, but also perform complex math efficiently. They deliver several times the performance of standard s, as can be seen from the benchmarks in the comparison chart. Additionally, multi-core x86 devices are delivered with Commercial off the Shelf (COTS) hardware, which is not usually an option for users. COTS hardware rather than custom hardware translates into reduced costs, shorter time to market, and less risk. a) Processor Selection When replacing s with x86 multi-core, attention should be focused on the number of cores needed, as well as which x86 processor family best fits the system requirements. As a rough guideline, there can be a 1:1 relationship between s and x86 cores. Because of the extremely high clock speeds with the x86 cores, the design will likely require fewer cores, but the 1:1 ratio is a conservative start, with room for optimization. Both Intel and AMD have different processor families based on cost and power. For example, Intel s Atom and AMD s Fusion devices are focused on embedded systems requiring low power and cost minimization. b) Board Design In -based systems, engineers spend a great deal of time selecting the right processor so that the board can be designed and built in time for the software. Having to make hardware commitments early in the design often creates challenges and any miscalculation can lead to a hardware redesign, which will have a negative impact on the delivery schedule. When using the RTX Real-time Platform there are no strict deadlines for choosing and designing the hardware. Because RTX is x86 based, standard COTS hardware is available for both development and production. With no custom boards or drivers required for development, the final hardware selection is performed later in the design cycle. This reduces risk and greatly improves the chances of releasing products on time. Page 2

3 Also, because RTX is based on an x86 Windows architecture, engineers can use PCs as both development and target machines. No separate target system with specialized in circuit emulators is needed to develop and debug code. As the comparison chart shows, RTX s use of COTS hardware reduces both engineering costs and risks. c) Communication -based systems rely on custom hardware and software interfaces when communicating between devices. Serial lines and sometimes PCI buses are used for inter-processor communications. These custom interfaces are troublesome to design on custom hardware and can be difficult to upgrade as requirements change. The RTX Real-time Platform uses shared memory and formalized APIs to communicate between the processes. Because everything is running on a single device, it is easy to share data and messages between threads running on different cores. This communication architecture makes programming easy and scalable. d) Memory Selection While s require separate memory devices, with the RTX Platform memory is consolidated into a single memory device. Also, the x86-based platform can use standard off-the-shelf memory modules (i.e. 4GB SDRAM DIMM) and memory modules can be easily changed as system requirements dictate. s require on-board memory chips because of strict timing and routing requirements. Switching out memory chips is difficult and requires board changes to add or remove memory. The -based approach is more costly, complex and less flexible than the RTX Platform. V. Software Design: Software advances have also had significant impact on -based systems. The demand for standardized tooling in lieu of the proprietary tool sets is a recent change for many developers. Programming s requires proprietary tools and lower-level languages such as C and Assembly. Many engineering teams find that proprietary tools and low-level languages require specialized expertise, which is often very difficult to find and expensive to acquire. The use of standardized development tools and higherlevel languages, such as Visual Studio and C++, not only increases productivity but also greatly reduces engineering costs. a) General Purpose OS: The demand for complex graphical user interfaces (GUIs) has also impacted - based systems. Customers are increasingly seeking elaborate touch-and-gesture-based user interfaces on top of a real-time subsystem. s have never had the GUI and I/O support to satisfy most complex system requirements. That is why GPP s running general purpose operating systems are typically found next to s to handle all of the I/O and the complex user interfaces. As a result of the strong demand for powerful GUIs, Windows is becoming the preferred operating system because of its abundant tools support and its standardization. The use of standardized tools like Visual Studio and the large support structure of Microsoft s Developers Network make transitioning from s to RTX straight forward. b) Real-time Operating System: s use proprietary RTOSs from device manufacturers such as /BIOS from Texas Instruments (TI) or VDK from Analog Devices (ADI). These -based RTOSs are quite capable, but have significant limitations because of the lack of communications among the different cores. Each runs its own application and very little inter-processor communication is used. The RTX Real-time Platform implements a single symmetric multiprocessing scheduler across all of the cores in the real-time subsystem (Diagram 3). Instead of a separate RTOS and application running on each real-time core, the RTX Platform uses a single real-time scheduler to schedule threads across a number of different cores. The flexible SMP scheduling model makes synchronization Page 3

4 and communications among the different cores/ threads simple and easy to implement. Load balancing can be easily implemented from the APIs provided by the RTX Subsystem. The RTX APIs enable threads to be moved between processors during runtime. Diagram 3 RTX SMP-enabled Scheduler This scalability translates well when moving the application to systems with different core configurations. When cores are either added or removed from a system, the user can easily use logic within their application to load balance threads as needed. c) Development Tools manufactures provide proprietary tools such as Code Composer Studio from TI and Visual++ from ADI. While these tools are very useful for developing -based applications, market demand and cost pressures are providing impetus for more standardized tooling. Additionally, s low-level tooling and proprietary coding practices do not promote code reuse and portability. This translates into longer development times and higher risks. Many developers are finding that working with proprietary tools is not only challenging, but also costly to maintain. RTX uses Microsoft s Visual Studio which is the industry standard tool for x86/x64- based programming. Finding engineering talent for Microsoft tools is easier and more cost effective than is the case with s. Leveraging the support and robustness of Visual Studio and the Microsoft Developers Network (MSDN) makes for increased productivity and reduced costs. Most engineering teams prefer the use of standardized tools for their robustness and their support. d) Code Base Migrating code base to the RTX Platform is straight forward. When considering a port, the developer needs to be aware that there are two parts to an RTX application. First, there is the general purpose, or non real-time processing and then there is the /real-time processing. The non real-time/general purpose code will directly port over using a standard Visual Studio project and will run on the Windows operating system. The /real-time code will also be built using Visual Studio, but it will be running on the RTX controlled cores (real-time subsystem). s are usually programmed in both C and Assembly. While the Assembly code is not portable and will need to be written in C or C++, the C code can be ported over using Visual Studio. The RTX Platform enables real-time users to code efficiently in C++ rather than having to start with C and Assembly programming. While s do have some C++ support, object-oriented languages lose too much efficiency to be useful when compiled for architectures. The RTX Platform s strong support for C++ is a distinct advantage. Through RTX s use of powerful x86 devices, programmers can use C++ to increase productivity. By keeping the code base in higher level languages like C/C++, portability and code reuse can be leveraged to reduce costs and risks. e) Libraries Texas Instruments and Analog Devices both provide optimized libraries to help developers with performance and time to market. To take the place of these libraries Intel created the Integrated Performance Primitives (IPP). The IPP library is essentially a collection of optimized functions (i.e., imaging, video, etc.) for the multi-core x86 architectures. The IPP library helps to increase productivity and performance by providing optimized routines for the most common -based functions. Page 4

5 VI. Benchmarks: There are a number of ways to measure performance between processors. Because the focus is on s, measuring the number of floating point operations per second (GFLOPS) is used in this comparison. Benchmarks 1.25 GHz - Max core speed 20 GFLOPS / Intel Multi-core 3.0 GHz - Max core speed 32 GFLOPS / The comparison above is between ac66xx multi-core from Texas Instruments and an Intel i7 Sandy Bridge device. The TI 1.25 GHz outputs 20 Single Precision GFLOPS per core. The Intel i7 Sandy Bridge processor outputs 32 Double Precision GFLOPS per core. Although the GFLOPS performance is very strong with the TI, it does not match the raw performance and speed of the Intel processors. VII. Summary: The RTX Real-time Platform marries the powerful Windows 7 interface with the real-time signal processing capabilities of Intel s and AMDs multi-core architectures. Using standardized COTS hardware and standardized tooling greatly simplifies the engineering effort and reduces cost. The RTX Platform increases innovation, portability and scalability while also reducing costs. There will always be a need for digital signal processing, but because of the many hardware and software advances, dedicated s are an option, but not a requirement. For complex systems requiring powerful graphical user interfaces along with real-time signal processing, there are higher-performing, more-scalable, less costly options. IntervalZero.com Copyright 2011 IntervalZero, Inc. All rights reserved. All trademarks, trade names, service marks and logos referenced herein belong to their respective companies

FYS3240 PC-based instrumentation and microcontrollers LabVIEW Real-Time and Embedded Spring 2011 Lecture #10 Bekkeng, 11.5.2011 Embedded Computing An embedded system is a computer system designed to perform

Optimizing ARM Cortex-A9 support in Windows Embedded Compact A DISCUSSION OF RANDOM HANGS AND OTHER ISSUES USING WINDOWS EMBEDDED COMPACT ON FREESCALE I.MX6 APPLICATION PROCESSOR AND HOW THEY WERE SOLVED

223 Design and Implementation of the Heterogeneous Multikernel Operating System Yauhen KLIMIANKOU Department of Computer Systems and Networks, Belarusian State University of Informatics and Radioelectronics,

Siemens and National Instruments Deliver Integrated Automation and Measurement Solutions The Need for Integrated Automation and Measurement Manufacturing lines consist of numerous decoupled systems for

Embedded Development Tools Software Development Tools by ARM ARM tools enable developers to get the best from their ARM technology-based systems. Whether implementing an ARM processor-based SoC, writing

Chapter 1 Introduction to ios Development Objectives: Touch on the history of ios and the devices that support this operating system. Understand the different types of Apple Developer accounts. Introduce

Minimum Requirements for a Windows CE Board Support Package Kurt Kennett, Senior Software Design Engineer, Windows Embedded CE Windows CE is an excellent choice for a small and feature rich OS that you

Special FEATURE By Heinrich Munz Heinrich Munz of KUKA Roboter discusses in this article how to bring Microsoft Windows CE and WindowsXP together on the same PC. He discusses system and application requirements,

Module Introduction PURPOSE: The intent of this module is to provide an overview of CodeWarrior Linux Tools and Solutions and the Linux product strategy. OBJECTIVES: Identify the CodeWarrior Linux Tools

Windows Embedded Security and Surveillance Solutions Windows Embedded 2010 Page 1 Copyright The information contained in this document represents the current view of Microsoft Corporation on the issues

TMurgent Technologies x64 Servers: Do you want 64 or 32 bit apps with that server? White Paper by Tim Mangan TMurgent Technologies February, 2006 Introduction New servers based on what is generally called

White Paper Virtualization Technology Industrial Automation Achieving Real-Time Performance on a Virtualized Introduction Good for many applications down to the 100 microsecond cycle time range A mainstay

Nurve Networks Chameleon AVR Credit Card Sized Computers GENERAL OVERVIEW The Chameleon AVR 8-Bit is the evolution of the high performance, small footprint, application development board. Similar to the

Operating Systems: Internals and Design Principles Chapter 13 Embedded Operating Systems Eighth Edition By William Stallings Embedded System Refers to the use of electronics and software within a product

Unified Communications Server: Clustering and Fault Tolerance Capabilities This paper provides an overview of the server architecture, configurations, and connectivity, and discusses how these contribute

How do Users and Processes interact with the Operating System? Users interact indirectly through a collection of system programs that make up the operating system interface. The interface could be: A GUI,

Tablets in Data Acquisition Introduction In the drive to smaller and smaller data acquisition systems, tablet computers bring a great appeal. Desktop personal computers gave engineers the power to create

Whitepaper The top 10 advantages of a Windows based PBX Why your next Phone System should be software based This whitepaper outlines the top 10 advantages of choosing a Windows based PBX as your next phone

White Paper Avoiding PCB Design Mistakes in FPGA-Based Systems System design using FPGAs is significantly different from the regular ASIC and processor based system design. In this white paper, we will

GPU System Architecture EPCC The University of Edinburgh Outline Why do we want/need accelerators such as GPUs? GPU-CPU comparison Architectural reasons for GPU performance advantages GPU accelerated systems

CS 16: Assembly Language Programming for the IBM PC and Compatibles First, a little about you Your name Have you ever worked with/used/played with assembly language? If so, talk about it Why are you taking

WAYNE FUSION FORECOURT SYSTEM Meet the new face of forecourt control. Control where you need it most. Control where you The Wayne Fusion Forecourt System allows your dispensers, tank gauging system, price

Java in Education Introduction Choosing appropriate tool for creating multimedia is the first step in multimedia design and production. Various tools that are used by educators, designers and programmers

TI Linux and Open Source Initiative Backgrounder Texas Instruments Incorporated (TI) has supported the use of embedded real-time operating systems in digital signal processing (DSP) for many years with

Chapter 1: Operating System Models 1 2 Operating System Models 2.1 Introduction Over the past several years, a number of trends affecting operating system design are witnessed and foremost among them is

What can DDS do for You? Learn how dynamic publish-subscribe messaging can improve the flexibility and scalability of your applications. 2 Contents: Abstract 3 What does DDS do 3 The Strengths of DDS 4