A data processing system (20) is able to perform parameter-selectable
prefetch instructions to prefetch data for a cache (38). When attempting
to be backward compatible with previously written code, sometimes
performing this instruction can result in attempting to prefetch redundant
data by prefetching the same data twice. In order to prevent this, the
parameters of the instruction are analyzed to determine if such redundant
data will be prefetched. If so, then the parameters are altered to avoid
prefetching redundant data. In some of the possibilities for the
parameters of the instruction, the altering of the parameters requires
significant circuitry so that an alternative approach is used. This
alternative but slower approach, which can be used in the same system with
the first approach, detects if the line of the cache that is currently
being requested is the same as the previous request. If so, the current
request is not executed.
Een gegevensverwerkingssysteem (20) kan parameter-verkiesbare prefetchinstructies aan prefetchgegevens voor een geheim voorgeheugen (38) uitvoeren. Wanneer het proberen achteruit compatibel met eerder geschreven code te zijn die, soms deze instructie uitvoert kan in het proberen van aan prefetch overtollige gegevens resulteren door de zelfde gegevens tweemaal prefetching. Om dit te verhinderen, worden de parameters van de instructie geanalyseerd om te bepalen als dergelijke overtollige gegevens prefetched zullen zijn. Als zo, dan worden de parameters veranderd vermijden prefetching overtollige gegevens. In enkele mogelijkheden voor de parameters van de instructie, vereist het veranderen van de parameters significant schakelschema zodat een alternatieve benadering wordt gebruikt. Deze alternatieve maar langzamere benadering, die in het zelfde systeem met de eerste benadering kan worden gebruikt, ontdekt als de lijn van het geheime voorgeheugen dat momenteel wordt gevraagd het zelfde als het vorige verzoek is. Als zo, wordt het huidige verzoek niet uitgevoerd.