SANTA CLARA, Calif. -- (BUSINESS WIRE) -- Renesas Electronics America Inc. announced the development of virtualization technology for its V850 CPU architecture that allocates CPU time and system resources for independent processes in a control system, dramatically reducing process interference and facilitating high-speed performance of diverse tasks.

The new virtualization technology allows for increased software configuration flexibility for single-core MCUs, particularly in large-scale control systems performing composite processing, and enables smoother integration and distribution of functions for more efficient software development. In addition, the hardware-based virtualization technology allows independent parallel execution of multiple control systems on a single CPU.

Main functions of the newly developed technology include:

1. Hardware scheduler supporting parallel execution of multiple real-time control tasks: Renesas Electronics has developed simultaneous multithreading (SMT) technology that enables multiple thread execution in parallel. It allows each thread, or unit of software execution, to have dedicated program context resources needed for execution, such as general registers and system control registers. Execution can be switched among the running threads every clock cycle.

Thread switching is handled automatically by a hardware scheduler, ensuring that each thread is allocated the portion of CPU time assigned beforehand by the software developer. Thus, the CPU is alleviated from performing time-management and program-switching overhead functions. Regular execution is maintained and multiple real-time control systems can run in parallel with performance, meeting requirements specified by the developer.

2. Ability to configure a single CPU as multiple virtual CPUs: Renesas Electronics has developed hardware that extends the management of address space and interrupt handling, making it possible for a single CPU to present itself to the software as multiple, virtual CPUs. An address-conversion function provides appropriate separation of memory, preventing the overlap of logical addresses among virtual CPUs or misallocation of memory resources. Interrupt priority is managed independently for each virtual CPU.

Each virtual CPU may be assigned either single or multiple hardware thread resources. With a simple operating system (OS), such as a real-time OS (RTOS), a single thread can be assigned to each virtual CPU. For large-scale operating systems with support for multithreading, multiple threads can be assigned to a single virtual CPU.

3. Bus system that reduces interference between threads The bus system minimizes interference between threads accessing memory or peripheral units and maintains regular input/output (I/O) access by the various threads, thereby providing the capability for I/O virtualization in control systems.

By combining these features, the new technology makes it possible to use a single CPU as multiple virtual CPUs, each running a different OS or supporting independent control systems in parallel. The new technology also can solve software overhead problems related to time management that can occur when separating or integrating control systems, and developing large-scale control systems.

More flexibility is provided regarding the number of virtual CPUs and the combination of frequency performance levels in a virtual multi-core configuration. This versatility enables system designers to account for board characteristics such as mounting location and area. Renesas Electronics plans to implement the newly developed virtualization technology in its next-generation V850 CPUs to provide a new level of CPU architecture scalability and contribute to more flexible development systems for customers.