Function-based virtual-to-physical address translation
First Claim
1. A method, comprising:
- detecting invocation of a trap handler;
determining that said invocation of said trap handler was initiated in response to a failure to locate a valid virtual-to-physical address translation for a given virtual address;
in response to said determining, invoking a translation function to translate said given virtual address to a physical address;
wherein said translation function takes said given virtual address as an input; and
wherein said translation function determines said physical address without reference to a translation table.
2 Assignments
0 Petitions
Accused Products
Abstract
A computer system employing memory virtualization may employ a function-based technique for virtual-to-physical address translation. A function-based translation technique may involve replacing a generic trap handler and one or more translation table look-ups with a function to compute a corresponding physical address from a given virtual address. The computer system may be configured to determine a translation function dependent on mappings in one or more translation tables. The computer system may be configured to reorganize a memory, to reorganize one or more translation tables, or to allocate different blocks of memory to an application prior to determining a translation function. Different applications or threads executing on the computer system may employ different translation functions. Different regions of memory may be accessed using different translation functions. Some virtual addresses may be translated using a function while others may be translated using one or more translation table look-ups.
-
Citations
20 Claims
-
1. A method, comprising:
-
detecting invocation of a trap handler; determining that said invocation of said trap handler was initiated in response to a failure to locate a valid virtual-to-physical address translation for a given virtual address; in response to said determining, invoking a translation function to translate said given virtual address to a physical address; wherein said translation function takes said given virtual address as an input; and wherein said translation function determines said physical address without reference to a translation table. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system, comprising:
-
a processor configured to support memory virtualization; and a memory configured to communicate with said processor; wherein said processor is further configured to; detect an invocation of a trap handler; determine that said invocation of a trap handler was initiated in response to a failure to locate a valid virtual-to-physical address mapping for translating a given virtual address to a physical address of said memory; in response to said determining, invoke a translation function to translate said given virtual address to said physical address; wherein said translation function takes said given virtual address as an input; wherein said translation function determines said physical address without reference to a translation table; and wherein said translation function comprises one or more of;
an arithmetic operation, a logical operation, a modulus operation, a shift operation and a rotate operation. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A processor configured to support memory virtualization, comprising:
-
a trap handler; and an exception handler; wherein said exception handler is configured to invoke said trap handler in response to a failure to locate a valid virtual-to-physical address mapping for translating a given virtual address to a physical address of a memory; wherein said trap handler is configured to invoke a function to translate said given virtual address to said physical address, wherein said function takes said given virtual address as an input, wherein said function determines said physical address without reference to a translation table, and wherein said function comprises one or more of;
an arithmetic operation, a logical operation, a modulus operation, a shift operation and a rotate operation. - View Dependent Claims (20)
-
Specification