needed to support virtualization on the IA-64 architecture is described in a 2000 article by Magenheimer and Christian. SPARC A "hyperprivileged" mode for the UltraSPARC architecture was specified in UltraSPARC Architecture 2005.' It defines a sun4v platform which is a super-set of the sun4u platform, but is still compliant to the SPARC v9 Level-1 specification. PowerPC All sensitive instructions in the PowerPC instruction set are privileged. Performance in practice The efficiency requirement in Popek and Goldberg's definition of a VMM concerns only the execution of non-privileged instructions, which must execute natively. This is what distinguishes a VMM from the more general class of hardware emulation software. Unfortunately, even on an architecture that meets Popek and Goldberg's requirements, the performance of a virtual machine can differ significantly from the actual hardware. Early experiments performed on the System/370 (which meets the formal requirements of Theorem 1) showed that performance of a virtual machine could be as low as 21% of the native machine in some benchmarks. The cost of trapping and emulating privileged instructions in the VMM can be significant. This led the IBM engineers to introduce a number of hardware assists, which roughly doubled the performance of the System/370 virtual machines. Assists were added in several stages. In the end, there were over 100 assists on the late models System/370. One of the main driving factors for the development of hardware assists for the System/370 was virtual memory itself. When the guest was an operating system that itself implemented virtual memory, even non-privileged instructions could experience longer execution times - a penalty imposed by the requirement to access translation tables not used in native execution (see shadow page tables). References Notes P. H. Gum, System/370 Extended Architecture: Facilities for Virtual Machines, IBM J. Res. Dev., Vol. 27, No. 6, Nov. 1983, pp. 530–544 Computer architecture Virtualization