Virtually speaking: Smart architectures for smart home gateways: Page 4 of 8

September 28, 2017 //By Simon Forrest, Director of Segment Marketing, Imagination
We’re at the dawn of a new technological revolution: an era where billions of hitherto disparate and unrelated devices become connected and able to share information. Of course, we all recognise this as the onset of the “Internet of Things”, which promises to make everyone’s lives simpler and easier.

Enter the virtualized world

Virtualization has been employed in the enterprise server market for many years with the notion that a single server can run multiple software environments and services simultaneously, and by doing so reduce the associated running costs and capital expenditure on the hardware. Imagination has uniquely integrated the same technology into its entire line-up of MIPS processors, from the entry-level to the high end of embedded systems. MIPS CPUs offer full hardware virtualization, where the chip itself provides all elements necessary to securely boot the system and maintain several virtualized environments, each completely isolated from one another, backed by supremely fast context-switching – all of which are essential in the embedded environment.

In a virtualized system a privileged piece of code called the hypervisor is run in place of the native operating system. This is established through the usual mechanisms of secure boot managed by hardware-enforced root-of-trust, which guarantees that the hypervisor is the first trusted code to execute on the processor. The hypervisor manages access to all processor cores and resources in the system including peripherals, the radio communications and external memory; it enables the creation of virtual machines, or “containers”, each running an independent software environment. With such a system based on the MIPS architecture, it is possible to create up to 31 virtual environments on the I-Class cores designed to target this application. Through the hypervisor, multiple operating systems can run concurrently, each in its own isolated virtual environment; each behaving as if it had direct access to the underlying hardware and memory subsystem.

Design category: