In many industrial situations embedded designers are faced with the challenge of combining slower legacy interface circuitry with the latest high-speed control devices and multiple displays. Often the resulting system includes the original hardware with its operating system and application software plus a completely separate controller with software to handle the newer requirements. This approach obviously increases component count and power requirements and does nothing to increase the performance of the legacy application. Today, with the enhanced processing power of the new 2nd generation Intel® Core™ processor family, designers can employ recently updated virtualization software to readily integrate new requirements with existing embedded applications. Virtualization software creates one or more simulated computer environments or virtual machines that can be used to simultaneously host independent operating systems and applications on a single processor. In embedded applications, virtualization software is widely used to combine a real-time, deterministic operating system with a high-level, interactive operating system such as Windows or Linux.
The 2nd generation Intel® Core™ processor architecture includes multiple features that improve hardware and software performance in a virtual environment. For example, specialized Intel® functions such as Extended Page Tables (EPT) and Page Attribute Table (PAT) provide a hardware assist to the partitioning and allocation of physical memory among virtual machines. The new processors also include Intel® Advanced Vector Extensions (AVX), a 256-bit instruction set that is backward compatible with previous x86 extensions and optimized for heavy computing applications. With the AVX extended performance, designers can potentially eliminate external hardware-based digital signal processing circuitry to reduce the component count and lower overall power requirements. 2nd generation Intel® Core™ processors also feature Intel® Turbo Boost Technology, allowing clock frequencies to scale up temporarily to handle intense workloads.
To take advantage of these performance improvements, embedded software developers have already updated virtualization products to be compatible with the 2nd generation Intel® Core™ architecture. For example, TenAsys Corporation announced that they had validated their popular eVM for Windows embedded virtualization platform that allows designers to host an embedded or real-time operating system (RTOS) alongside Windows on the same multicore processor platform. eVM is installed as a standard Windows application and includes all of the integration tools needed to set up, start, and stop multiple RTOS guest configurations. The Windows-based control panel also allows the user to assign interrupts, allocate I/O devices, and the set up of disk boot images. An interactive Device Manager controls the passing of resources, including real-time interfaces, from Windows to the RTOS. After the system is set up, eVM provides the guest RTOS with the lowest possible interrupt latency, direct access to I/O, and non-paged RAM. In most cases the RTOS runs exactly the same way as it would on a separate legacy platform and there is no need to modify drivers or change code. eVM for Windows has been tested with a wide range of guest operating systems including QNX®, VxWorks®, Linux®, Windows CE and T-Kernel.
Also adding support for 2nd generation Intel® Core™ processors, LynuxWorks recently released version 5.0 of the LynxSecure separation kernel and hypervisor. This upgrade boosts performance for fully virtualized guest operating systems (OSes) and offers 64-bit and symmetric multi-processing (SMP) guest OS virtualization support. LynxSecure was designed to operate in secure defense environments where data and applications with different security levels need to co-reside on a single device without contamination. LynxSecure 5.0 features a new secure device virtualization mechanism, managed from a secure partition, to allow limited physical devices to be virtualized and shared between guest OSes. Another key feature is the ability to run fully-virtualized, 64-bit guest OSes such as Windows 7, Linux, and Solaris OSes across multiple cores while managed by the security of LynxSecure.
Virtualization is a great way to integrate older operating systems along with their existing applications with minor changes while employing the latest tools and software for new development. The virtualization packages presented in this post are just two out of dozens of new-high performance software products that benefit from the new 2nd generation Intel® Core™ processor architecture. If you have a new project that might benefit from this new architecture and you have questions, please share your concerns with fellow followers of the Intel® Embedded Community. Also, please check back as I investigate the some of the latest software tools and board support packages available to designers working on embedded products based on the 2nd generation Intel® Core™ processor family.
OpenSystems Media®, by special arrangement with Intel® Embedded Alliance
LynuxWorks and TenAsys are Affiliate members of the by Intel® Embedded Alliance.