Resource management using multiply pendent registers
AssigneeIntel Corporation
InventorsSaliesh Kottapalli, Udo Walterscheidt
Life of this patent
Estimating the term…
Abstract
A resource management system and method is disclosed. The resource management system and method enables multiple instructions that access the same memory resource to be processed at the same time without write after write data hazards.
Claims30
A method of accessing a memory resource, comprising:
- processing a first instruction in an instruction pipeline, wherein the first instruction requires access to the memory resource;
- processing a second instruction in the instruction pipeline while the first instruction is being processed, wherein the second instruction requires access to the memory resource;
- and
- updating the memory resource to prevent a data hazard based on an order of receipt of a first instruction response and a second instruction response.
A method of managing access to a memory resource, comprising:
- storing first tracking information in response to a first instruction requiring access to the memory resource;
- storing second and third tracking information in response to a second instruction requiring access to the memory resource;
- and
- managing access to the memory resource by changing the first, second and third tracking information in one of a plurality of sequences based on an order of receipt of a first instruction response and a second instruction response.
A method of managing access to a memory register, comprising:
- establishing a data structure that includes pendency information associated with the memory register;
- receiving a first instruction that requires access to the memory register;
- storing first information associated with a primary pendency of the memory register in the data structure;
- receiving a second instruction that requires access to the memory register;
- storing second information associated with a secondary pendency of the memory register in the data structure;
- and
- changing the first and second information stored in the data structure based on an order of receipt of a first data return associated with the first instruction and a second data return associated with the second instruction.
A method of controlling access to a memory register, comprising:
- establishing a data structure that is adapted to contain primary and secondary pendency information associated with the memory register;
- receiving a first instruction in an instruction pipeline, wherein the first instruction requires access to the memory register;
- storing first information associated with a primary pendency of the memory register in the data structure;
- receiving a second instruction in the instruction pipeline, wherein the second instruction requires access to the memory register;
- storing second information in the data structure associated with a secondary pendency of the memory register;
- and
- changing the first and second information stored in the data structure based on an order of receipt of first and second responses corresponding to the respective first and second instructions.
A system for managing access to a memory resource, comprising:
- a memory resource tracking information database to contain primary and secondary pendency information associated with the memory resource;
- a memory resource access detector to change at least one of the primary and the secondary pendency information in response to instructions requiring access to the memory resource;
- a data return detector to change at least one of the primary and the secondary pendency information based on an order of receipt of data returns;
- and
- a memory resource update unit to use at least one of the primary and secondary pendency information to update the memory resource to prevent a data hazard.
A memory management system, comprising:
- a computer readable memory;
- and
- a processing unit having an instruction pipeline, wherein the processing unit is adapted to receive first and second instructions in the instruction pipeline that each require access to the computer readable memory, wherein the processing unit is further adapted to store primary and secondary pendency information in a data structure in response to receipt of the first and second instructions in the instruction pipeline and wherein the processing unit is further adapted to change the primary and secondary pendency information stored in the data structure based on an order of receipt of primary and secondary data returns that correspond to the respective first and second instructions.
A software routine stored on a computer readable memory and adapted to be executed by a processor, the software routine comprising:
- first software that establishes a data structure adapted to contain primary and secondary pendency information associated with a memory resource;
- second software that receives a first instruction in an instruction pipeline, wherein the first instruction requires access to the memory resource;
- third software that stores first information associated with a primary pendency of the memory resource in the data structure in response to receipt of the first instruction;
- fourth software that receives a second instruction in the instruction pipeline, wherein the second instruction requires access to the memory resource;
- fifth software that stores second information associated with a secondary pendency of the memory resource in the data structure;
- and
- sixth software that changes the first and second information stored in the data structure based on an order of receipt of first and second responses corresponding to the respective first and second instructions.
Dependencies are inferred from the claim text.