Data processing system and method
First Claim
1. A data processing system, comprising a first memory element for storing data, from which data is read out in predetermined data units, each data unit being identified by a data identifier, a second memory element for receiving data units from said first memory element, said second memory element being arranged to store a plurality of data units read from said first memory element, a data requesting element that requests data from said second memory element, where said data requesting element comprises an element for establishing a sequence of data identifiers, each data identifier relating to data to be requested, and where the requesting procedure of said data requesting element is controlled in accordance with a program that proceeds according to said sequence, said data requesting element being operable to perform a request for data by providing said second memory element with a data identifier related to data being requested, where said second memory element is operable to provide said data requesting element with data being requested if the data being requested is present in said second memory element, and is furthermore operable to perform a prefetch procedure for data units from said first memory element, said prefetch procedure comprising:
- upon detecting a first predetermined change in status of said second memory element, determining a first given data unit in said second memory element associated with said first predetermined change in status, checking if said first given data unit fulfils a predetermined condition, said predetermined condition relating to a prefetch data identifier stored in association with said first given data unit, said prefetch data identifier identifying a different data unit than said first given data unit, and if said predetermined condition is fulfilled, giving to said first memory element a demand for at least a data unit identified by said prefetch data identifier stored in association with said first given data unit, and upon detecting a second predetermined change in status of said second memory element, determining a second given data unit in said second memory element associated with said second predetermined change in status, and giving said first memory element a demand for at least a data unit identified by the data identifier that in said sequence follows the data identifier relating to the second given data unit.
1 Assignment
0 Petitions
Accused Products
Abstract
A data processing system and method involving a data requesting element and a first memory element from which said data requesting element requests data is described. An example of such a system is a processor and a first level cache memory, or two memories arranged in a hierarchy. A second memory element is provided between the first memory element and the requesting element. The second memory element stores data units read out of said first memory element, and performs a prefetch procedure, where said prefetch procedure contains both a sequential sub-procedure and a sub-procedure based on prefetch data identifiers associated with some of the data units.
-
Citations
41 Claims
-
1. A data processing system, comprising
a first memory element for storing data, from which data is read out in predetermined data units, each data unit being identified by a data identifier, a second memory element for receiving data units from said first memory element, said second memory element being arranged to store a plurality of data units read from said first memory element, a data requesting element that requests data from said second memory element, where said data requesting element comprises an element for establishing a sequence of data identifiers, each data identifier relating to data to be requested, and where the requesting procedure of said data requesting element is controlled in accordance with a program that proceeds according to said sequence, said data requesting element being operable to perform a request for data by providing said second memory element with a data identifier related to data being requested, where said second memory element is operable to provide said data requesting element with data being requested if the data being requested is present in said second memory element, and is furthermore operable to perform a prefetch procedure for data units from said first memory element, said prefetch procedure comprising: -
upon detecting a first predetermined change in status of said second memory element, determining a first given data unit in said second memory element associated with said first predetermined change in status, checking if said first given data unit fulfils a predetermined condition, said predetermined condition relating to a prefetch data identifier stored in association with said first given data unit, said prefetch data identifier identifying a different data unit than said first given data unit, and if said predetermined condition is fulfilled, giving to said first memory element a demand for at least a data unit identified by said prefetch data identifier stored in association with said first given data unit, and upon detecting a second predetermined change in status of said second memory element, determining a second given data unit in said second memory element associated with said second predetermined change in status, and giving said first memory element a demand for at least a data unit identified by the data identifier that in said sequence follows the data identifier relating to the second given data unit. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41)
-
-
25. A method of controlling a data processing system, said data processing system comprising a first memory element for storing data, from which data is read out in predetermined data units, each data unit being identified by a data identifier, a second memory element for receiving data units from said first memory element, said second memory element being arranged to store a plurality of data units read from said first memory element, a data requesting element that requests data from said second memory element, where said data requesting element comprises an element for establishing a sequence of data identifiers, each data identifier relating to data to be requested, and where the requesting procedure of said data requesting element is controlled in accordance with a program that proceeds according to said sequence, said data requesting element being operable to perform a request for data by providing said second memory element with a data identifier related to data being requested,
where said method comprises that second memory element is operated to provide said data requesting element with data being requested if the data being requested is present in said second memory element, and said method furthermore comprises that said second memory element is operated to perform a prefetch procedure for data units from said first memory element, said prefetch procedure comprising: -
upon detecting a first predetermined change in status of said second memory element, determining a first given data unit in said second memory element associated with said first predetermined change in status, checking if said first given data unit fulfils a predetermined condition, said predetermined condition relating to a prefetch data identifier stored in association with said first given data unit, said prefetch data identifier identifying a different data unit than said first given data unit, and if said predetermined condition is fulfilled, giving to said first memory element a demand for at least a data unit identified by said prefetch data identifier stored in association with said first given data unit, and upon detecting a second predetermined change in status of said second memory element, determining a second given data unit in said second memory element associated with said second predetermined change in status, and giving said first memory element a demand for at least a data unit identified by the data identifier that in said sequence follows the data identifier relating to the second given data unit.
-
Specification