Cache memory allocation method
First Claim
1. Method of allocating resources available on a computer system to run a plurality of program units concurrently, comprising:
- a step of receiving a request for running a program unit;
a step of obtaining parameters that represent attributes of the program unit;
a step of allocating resources required to run the program unit, based on a resource allocation table and a cache management table as well as the parameters;
a step of registering results of the allocating resources into the resource allocation table; and
a step of registering an allocated storage domain of a cache memory to be used for the program unit into the cache management table;
wherein;
the parameters give positional information for a principal part to be executed at a high frequency in the program unit;
the resource allocation table has address reference information on a main storage to be used for program units as well as the program unit;
the cache management table lists addresses of the cache memory and program units mapped in cache address domains, specifying an address for the program unit; and
the step of allocating resources determines an address of area to be used for the program unit in the main storage, ensuring that the principal part of the program unit is assigned an entry address of free cache area, based on the positional information for the principal part, the address reference information, and the cache management table.
1 Assignment
0 Petitions
Accused Products
Abstract
To assure the multiprocessing performance of CPU on a microprocessor, the invention provides a method of memory mapping for multiple concurrent processes, thus minimizing cache thrashing. An OS maintains a management (mapping) table for controlling the cache occupancy status. When a process is activated, the OS receives from the process the positional information for a specific part (principal part) to be executed most frequently in the process and coordinates addressing of a storage area where the process is loaded by referring to the management table, ensuring that the cache address assigned for the principal part of the process differs from that for any other existing process. Taking cache memory capacity, configuration scheme, and process execution priority into account when executing the above coordination, a computer system is designed such that a highest priority process can have a first priority in using the cache.
-
Citations
13 Claims
-
1. Method of allocating resources available on a computer system to run a plurality of program units concurrently, comprising:
-
a step of receiving a request for running a program unit; a step of obtaining parameters that represent attributes of the program unit; a step of allocating resources required to run the program unit, based on a resource allocation table and a cache management table as well as the parameters; a step of registering results of the allocating resources into the resource allocation table; and a step of registering an allocated storage domain of a cache memory to be used for the program unit into the cache management table; wherein; the parameters give positional information for a principal part to be executed at a high frequency in the program unit; the resource allocation table has address reference information on a main storage to be used for program units as well as the program unit; the cache management table lists addresses of the cache memory and program units mapped in cache address domains, specifying an address for the program unit; and the step of allocating resources determines an address of area to be used for the program unit in the main storage, ensuring that the principal part of the program unit is assigned an entry address of free cache area, based on the positional information for the principal part, the address reference information, and the cache management table. - View Dependent Claims (2)
-
-
3. An operating system capable of running a plurality of program units concurrently and, when receiving a request for running a new program unit, the operating system carrying out:
-
obtaining parameters that represent attributes of the program unit; allocating resources required to run the program unit, based on a resource allocation table and a cache management table as well as the parameters; registering results of the allocating resources into the resource allocation table; and registering an allocated storage domain of a cache memory to be used for the program unit into the cache management table; wherein; the cache memory has entry address domains, each of which is specified by an entry address; the parameters give positional information for a principal part to be executed at a high frequency in the program unit; the resource allocation table has address reference information on a main storage to be used for program units; the cache management table lists addresses of the cache memory and program units mapped in cache address domains; and the allocating resources determines an address of area to be used for the program unit in the main storage, ensuring that an entry address to be assigned for the principal part to be executed at a high frequency in the program unit differs from an entry address assigned for parts to be executed at a high frequency in all program units other than the program unit, based on the positional information for the principal part, the address reference information, and contents of the cache management table. - View Dependent Claims (4, 5, 6, 7, 8, 9)
-
-
10. A computer system including a cache memory, a CPU, and storage:
-
the computer system operating under the control of an operating system stored into the storage, and when the computer system receives a request for running a program unit, the operating system carrying out; obtaining parameters that represent attributes of the program unit; allocating resources required to run the program unit, based on a resource allocation table and a cache management table as well as the parameters; registering results of the allocating resources into the resource allocation table; and registering an allocated storage domain of a cache memory to be used for the program unit into the cache management table; wherein; the cache memory has entry address domains, each of which is specified by an entry address; the parameters give positional information for a principal part to be executed at a high frequency in the program unit; the resource allocation table has address reference information on a main storage to be used for program units; the cache management table lists addresses of the cache memory and program units mapped in cache address domains; and the allocating resources determines an address of area to be used for the program unit in the main storage, ensuring that an entry address to be assigned for the principal part to be executed at a high frequency in the program unit differs from an entry address assigned for parts to be executed at a high frequency in all program units other than the program unit, based on the positional information for the principal part, the address reference information, and the contents of the cache management table. - View Dependent Claims (11)
-
-
12. A computer system including a CPU, a cache memory, and storage and capable of running a plurality of program units concurrently:
-
the computer system having a resource allocation table into which results of allocating resources are registered and a cache management table into which allocated storage domains of the cache memory are registered; the storage including an area storing an operating system that controls the computer system; and when running one of the plurality of program units, the operating system obtaining parameters for the program unit and allocating resources for the program unit, based on contents of the resource allocation table and the cache management table as well as the parameters; wherein; the cache memory has entry address domains, each of which is specified by an entry address; the parameters give positional information for a principal part to be executed at a high frequency in the program unit; the resource allocation table has address reference information on a main storage to be used for program units; the cache management table lists addresses of the cache memory and program units mapped in cache address domains; and the allocating resources determines an address of area to be used for the program unit in the main storage, ensuring that an entry address to be assigned for the principal part to be executed at a high frequency in the program unit differs from an entry address assigned for parts to be executed at a high frequency in all program units other than the program unit, based on the positional information for the principal part, the address reference information, and the contents of the cache management table. - View Dependent Claims (13)
-
Specification