Computer with virtual machine mode and multiple protection rings
AssigneeDigital Equipment Corporation
InventorsPaul A. Karger, Timothy E. Leonard, Andrew H. Mason
Life of this patent
Estimating the term…
Loading patent…
AssigneeDigital Equipment Corporation
InventorsPaul A. Karger, Timothy E. Leonard, Andrew H. Mason
Estimating the term…
A computer system including a processor and memory, the processor having a virtual mode of operation in which it uses a virtual machine monitor which allows it to service a plurality of users contemporaneously in a multiplexed manner, and a non-virtual, or real, mode of operation. The computer system has a set of at least three operation mode protection rings representing a hierarchy of access privilege levels in both the real and virtual modes, with the number of privilege levels in both the real and virtual modes being the same. The privilege levels govern the accessibility of memory locations to programs and the executability of certain privileged instructions, which cause control to be transferred to the virtual machine monitor when the processor is in a virtual mode. The two most privileged levels in the virtual mode are both treated as corresponding to the second most privileged level in the real mode, whereby if the processor is in the most privileged virtual operating mode, access to memory locations is permitted only if the location is accessible to the second most privileged mode. When an instruction is retrieved, the processor first performs a probe operation to determine whether it can access any required memory locations in response to its current privilege level, and then determines whether it is in a privilege level which allows it to process the instruction.
A processor for use in a computer system, (a) the processor including processing means for processing instructions in at least three protection ring operating modes each associated with one of a hierarchy of privilege levels (b) said computer system including a memory means which includes a plurality of addressable storage locations for storing instructions requiring access to the memory locations, said memory means being comprised of plural groups of memory locations, wherein the number of memory locations in each memory group may vary, each memory group having an associated privilege means for identifying the protection ring operating modes in which the processor can access any memory location in the group, (c) said processor further comprising:
A processor for use in a computer system, (a) the processor including processing means for processing instructions in at least three protection ring operating modes each associated with one of a hierarchy of privilege levels (b) said computer system including a memory means which includes a plurality of addressable storage locations for storing instruction requiring access to the memory locations, said memory means being comprised of plural groups of memory locations, wherein the number of memory locations in each memory group may vary, each memory group having an associated privilege means for identifying the protection ring operating modes in which the processor can access any memory location in the group, (c) said processor further comprising:
A processor for use in a computer system, (a) the processor including processing means for processing instructions in "N" protection ring operating modes each associated with one of a hierarchy of privilege levels, where "N" is at least three, said processor operating in a virtual mode and in a real mode, (b) said computer system including a memory means which includes a plurality of addressable storage locations for storing instructions requiring access to the memory locations, said memory means being comprised of plural groups of memory locations, wherein the number of memory locations in each memory group may vary, each memory group having an associated privilege means for identifying the protection ring operating modes in which the processor can access any memory location in the group and an associated virtual mode privilege means for identifying the virtual mode protection ring operating modes in which the processor can access any memory location when in the virtual mode, (c) said processor further comprising compression means for establishing a privilege level for storage in said virtual mode privilege means in response to the current protection ring operating mode identified by said operating mode indicating means, said compression means operating in accordance with a compression function "F" which maps a set A=(0, 1, . . . , N) into a second set B=(0, 1, . . . , N), each element of the set A identifying one of the privilege levels when the processor is operating in the virtual mode and each element of the set B identifying one of the privilege levels when the processor is not operating in the virtual mode, the successive elements of each set corresponding to protection rings of progressively lower privilege, such that in each set "0" identifies the most privileged level and "N" identifies the least privileged level, said compression function F satisfying the following conditions:
A processor for use in a computer system, (a) the processor including processing means for processing instructions in "N" protection ring operating modes each associated with one of a hierarchy of privilege levels, where "N" is at least three, said processor operating in a virtual mode and in a real mode, (b) said computer system including a memory means which includes a plurality of addressable storage locations for storing instructions requiring access to the memory locations, said memory means being comprised of plural groups of memory locations, wherein the number of memory locations in each memory group may vary, each memory group having an associated privilege means for identifying the protection ring operating modes in which the processor can access any memory location in the group and an associated virtual mode privilege means for identifying the virtual mode protection ring operating modes in which the processor can access any memory location when in the virtual mode, (c) said processor further comprising compression means for establishing a privilege level for storage in said virtual mode privilege means in response to the current protection ring operating mode identified by said operating mode indicating means, said compression means operating in accordance with a compression function "F" which maps a set A=(0, 1, . . . , N) into a second set B=(0, 1, . . . , N), each element of the set A identifying one of the privilege levels when the processor is operating in the virtual mode and each element of the set B identifying one of the privilege levels when the processor is not operating in the virtual mode, the successive elements of each set corresponding to protection rings of progressively lower privilege, such that in each set "0" identifies the most privileged level and "N" identifies the least privileged level, said compression function F satisfying the following conditions:
A processor for use in a computer system, (a) the processor including processing means for processing instructions in "N" protection ring operating modes each associated with one of a hierarchy of privilege levels, where "N" is at least three, (b) said computer system including a memory means which includes a plurality of addressable storage locations for storing instruction requiring access to the memory locations, said memory means being comprised of plural groups of memory locations, wherein the number of memory locations in each memory group may vary, each memory group having an associated privilege means for identifying the protection ring operating modes in which the processor can access any memory location in the group, (c) said processor further comprising:
A processor for use in a computer system, (a) the processor including processing means for processing instructions in at least three protection ring operating modes each associated with one of a hierarchy of privilege levels (b) said computer system including a memory means which includes a plurality of addressable storage locations for storing instructions requiring access to the memory locations, said memory means being comprised of plural groups of memory locations, wherein the number of memory locations in each memory group may vary, each memory group having an associated privilege means for identifying the protection ring operating modes in which the processor can access any memory location in the group, (c) said processor further comprising:
A processor for use in a computer system, (a) the processor including processing means for processing instructions in at least three protection ring operating modes each associated with one of a hierarchy of privilege levels, said processor operating in a virtual mode and in a real mode, (b) said computer system including a memory means which includes a plurality of addressable storage locations for storing instructions requiring access to the memory locations, said memory means being comprised of plural groups of memory locations, wherein the number of memory locations in each memory group may vary, each memory group having an associated privilege means for identifying the protection ring operating modes in which the processor can access any memory location in the group and an associated virtual mode privilege means for identifying the virtual mode protection ring operating modes in which the processor can access any memory location when in the virtual mode, (c) said processor further comprising compression means for establishing a privilege level for storage in said virtual mode privilege means in response to the current protection ring operating mode identified by said operating mode indicating means, said compression means operating in accordance with a compression function "F" which maps a set A=(0, 1, . . . , N) into a second set B=(0, 1, . . . , M), "N" greater than "M", with each element of the set A identifying one of the privilege levels when the processor is operating in the virtual mode and each element of the set B identifying one of the privilege levels when the processor is not operating in the virtual mode, the successive elements of each set corresponding to protection rings of progressively lower privilege, such that in each set "0" identifies the most privileged level and "N" and "M" identify the least privileged level, said compression function F satisfying the following conditions:
A processor for use in a computer system, (a) the processor including processing means for processing instructions in at least three protection ring operating modes each associated with one of a hierarchy of privilege levels (b) said computer system including a memory means which includes a plurality of addressable storage locations for storing instructions requiring access to the memory locations, said memory means being comprised of plural groups of memory locations, wherein the number of memory locations in each memory group may vary, each memory group having an associated privilege means for identifying the protection ring operating modes in which the processor can access any memory location in the group, (c) said processor further comprising:
A processor for use in a computer system, (a) the processor including processing means for processing instructions in at least three protection ring operating modes each associated with one of a hierarchy of privilege levels, said processor operating in a virtual mode and in a real mode, (b) said computer system including a memory means which includes a plurality of addressable storage locations for storing instructions requiring access to the memory locations, said memory means being comprised of plural groups of memory locations, wherein the number of memory locations in each memory group may vary, each memory group having an associated privilege means for identifying the protection ring operating modes in which the processor can access any memory location in the group and an associated virtual mode privilege means for identifying the virtual mode protection ring operating modes in which the processor can access any memory location when in the virtual mode, (c) said processor further comprising compression means for establishing a privilege level for storage in said virtual mode privilege means in response to the current protection ring operating mode identified by said operating mode indicating means, said compression means operating in accordance with a compression function "F" which maps a set A=(0, 1, . . . , N) into a second set B=(0, 1, . . . , M), "M" greater than "N", with each element of the set A identifying one of the privilege levels when the processor is operating in the virtual mode and each element of the set B identifying one of the privilege levels when the processor is not operating in the virtual mode, the successive elements of each set corresponding to protection rings of progressively lower privilege, such that in each set "0" identifies the most privileged level and "N" and "M" identify the least privileged level, said compression function F satisfying the following conditions:
A processor for use in a computer system, said processor including processing means for processing instructions in at least three protection ring operating modes each associated with one of a hierarchy of privilege levels, the computer system further including a memory including a plurality of addressable storage locations for storing instructions requiring access to memory locations and including operation code means identifying the operation to be performed, each memory location having an associated privilege means for identifying the protection ring operating modes in which the processor can access the memory location, said processor further including:
A processor for use in a computer system, said processor including processing means for processing instructions in at least three protection ring operating modes each associated with one of a hierarchy of privilege level, each memory location having an associated privilege means for identifying the protection ring operating modes in which the processor can access the memory location, said processor further including virtual machine monitor means for establishing the protection ring operating mode in said privilege means including means for determining the privilege level to be assigned to the contents of each said memory location and means for enabling the privilege means to identify the second most privileged operating mode level if the contents of the memory location is to have assigned thereto the most privileged operating mode, and otherwise establishing the privilege means to identify the operating mode level to be assigned thereto.
Dependencies are inferred from the claim text.