Embedded developers work in a rapidly changing environment. Each new project requires developers to pack increased functionality into smaller, reduced-power embedded products. In addition to the added complexity of the application software for these new projects, customers also demand an interactive interface, ubiquitous connectivity, absolute security, and extreme reliability. To achieve these expanded requirements, embedded designers are turning to multicore architecture such as the 2nd generation Intel® Core™ processors to improve performance, reduce component count, and lower power requirements. Since embedded software invariably falls on the critical path to product delivery, software engineers are also looking for techniques to gain the full benefit of the latest multicore processors without significant changes to their existing development process.
The first step in this embedded product revitalization process is the successful integration of the 2nd generation Intel® Core™ processor family. This new architecture includes seven multicore processors that support extended lifecycle embedded applications. The Core™ i3/i5/i7 processors combine either two or four CPU cores, an integrated graphics processor, Last Level Cache (LLC), and a system agent/memory controller to optimize cost, performance, and power requirements for a wide range of embedded applications. In addition, all of the CPU cores (including the integrated graphics core) feature Intel® Turbo Boost Technology, allowing clock frequencies to scale up temporarily to handle intense workloads. The processors also include Intel® Advanced Vector Extensions (AVX), a new 256-bit instruction set optimized for signal processing applications. With this extended processing power, board designers can boost performance and possibly replace external dedicated DSPs or FPGAs to further reduce the component count and lower power requirements.
The next step is to update and streamline the software development toolset to incorporate multicore support while minimizing modifications to current code creation practices. New announcements from multiple software vendors already provide advanced development tools and board support packages for products based on the 2nd Generation Intel® Core devices. For example, the Prism software analysis tool from CriticalBlue (see figure below) allows software developers to analyze their existing software applications, evaluate the benefits of the new Intel® architecture, and select the appropriate processor. Prism analyzes the behavior of existing code running on simulators or hardware development boards to analyze opportunities to introduce or add further parallel code structures. Developers can select the appropriate member of the 2nd generation Intel® Core processor family and analyze the impact of Intel® Hyper-Threading Technology, data cache misses, and instruction throughput. Prism provides developers with an estimate of the performance gain achievable by partitioning their program into multiple threads while targeting one of the 2nd generation Intel® Core processors. The platform support package for Prism is offered at a price of $400 per month with an annual subscription agreement. You can also download a 30-day evaluation copy of Prism.
Green Hills Software has also updated their INTEGRITY Real Time Operating System (RTOS) and MULTI Integrated Development Environment (IDE) (see figure below) to support the latest Intel® micro-architecture. The INTEGRITY RTOS is built around a partitioning architecture to provide embedded systems with enhanced reliability, security, and real-time performance. Secure partitions guarantee each task the resources it needs to protect the operating system and user tasks from errant and malicious code. INTEGRITY architecture provides Asymmetrical Multiprocessing (AMP) and Symmetrical Multiprocessing (SMP) support optimized for embedded and real-time multicore processors. The MULTI IDE software tools include several C compiler options, a debugger, editor, configuration manager, code browser, and debugger in a single package. MULTI also features DoubleCheck, an integrated static analyzer that isolates bugs caused by complex interactions between code segments that may not be in the same source file. Finally, Green Hills Probe provides a multicore debug control for board bring-up, device driver development, and system level debugging.
These are just a couple of examples where improved development tools and techniques can provide embedded developers with rapid transition to the enhanced performance benefits promised by multicore technology. If you have a new project that might benefit from the latest 2nd generation Intel® Core processor family and you have questions or concerns, please get in touch with fellow followers of the Intel® Embedded Community. Also, please check back as I uncover more information the 2nd generation Intel® Core™ processor family and how you can use it to enhance image analysis.
To view other community content on interoperability, see "Interoperability - Top Picks”
OpenSystems Media®, by special arrangement with Intel® Embedded Alliance
CriticalBlue and Green Hills software are Affiliate members of the by Intel® Embedded Alliance.