Hide the complexity of hardware from the operating system. Future microprocessors will need several levels of virtualization. For example, as shown in the figure below, virtualization is needed to hide the complexity of the hardware from the overlying software. The OS kernel and the software should not have to deal with the intricacies of many cores, specialized execution hardware, multiple caches, reconfiguration, and so on. Rather, it should see the processor as one or more unified virtual machines through its global interfaces.
Virtualization provides the necessary abstraction. Virtualization will also be used to ensure manageability, reliability, and security. For example, the processor can be partitioned into multiple virtual processors, some dedicated specifically to management and security tasks and some to manage applications.