Information processing apparatus
AssigneeHitachi, Ltd.
InventorTohru Nojiri
Life of this patent
Estimating the term…
Abstract
An information processing apparatus for managing a storage such as a register file divided into a plurality of register banks. A register bank pointer is provided for each register bank in the register file so as to link the register bank to another optional register bank. The activation records for each of a plurality of tasks are allocated to the corresponding register banks in the register file. The necessary number of register banks for the allocation of the activation records for each task are linked together. The number of register banks linked together or released from the linking is changed with the increase and decrease of the number of activation records to be allocated for each task.
Claims5
An information processing apparatus comprising:
- a main storage unit;
- and
- an information processing unit for executing tasks;
- wherein said information processing unit includes:
- a register file having a plurality of register banks each having a plurality of registers,
- free bank linking means for linking a plurality of free register banks one after another to form a free bank linked list having a head free register bank and a tail free register bank and setting a special identifier in said tail free register bank of the free bank linked list when the free bank linked list is changed, said free register banks being register banks which have not yet been used,
- task linking means for linking register banks as task control banks one after another to form a task queue having a head task control bank and a tail task control bank, wherein each task control bank is allocated to one of a plurality of tasks to be executed by said information processing unit,
- pointer means for storing a free bank head pointer for pointing to said head free register bank of the free bank linked list, and task queue head and tail pointers for respectively pointing to said head and tail task control banks of the task queue, and
- record linking means, responsive to a procedure call from a currently executed task, for separating said tail free register bank from the free bank linked list, allocating said separated tail free register bank to an activation record for a called side of said procedure call as a record bank and linking an allocated record bank to a head portion of a task linked list corresponding to said currently executed task to update said task linked list, said task linked list including one of said task control banks and register banks for called sides of procedure calls already executed but not returned, and said one task control bank being linked to a head register bank of said task linked list.
Dependencies are inferred from the claim text.