Embodiments are provided in which a first and second instructions are
executed in parallel. A first and a second address are generated according
to the first and second instructions, respectively. The first address is
used to select a data cache line of a data cache RAM and a first data bank
from the data cache line. The second address is used to select a second
data bank from the data cache. The first and second data banks are
outputted in parallel from the data cache RAM. An instruction pair testing
circuit tests the probability of the first and second instructions
accessing a same data cache line of the data cache RAM. If it is unlikely
that the two instructions will access a same data cache line, the second
instruction is refetched and re-executed, and the second data bank is not
used.
De belichamingen worden verstrekt waarin eerste en tweede instructies uitgevoerde tegelijkertijd parallel zijn. Een eerste en tweede adres wordt geproduceerd volgens de eerste en tweede instructies, respectievelijk. Het eerste adres wordt gebruikt om een lijn van het gegevensgeheime voorgeheugen van een RAM van het gegevensgeheime voorgeheugen en een eerste databank van de lijn van het gegevensgeheime voorgeheugen te selecteren. Het tweede adres wordt gebruikt om een tweede databank van het gegevensgeheime voorgeheugen te selecteren. De eerste en tweede databanken zijn outputted tegelijkertijd parallel van de RAM van het gegevensgeheime voorgeheugen. Een testende kring van het instructiepaar test de waarschijnlijkheid van de eerste en tweede instructies die tot een zelfde lijn van het gegevensgeheime voorgeheugen van de RAM van het gegevensgeheime voorgeheugen toegang hebben. Als het onwaarschijnlijk is dat de twee instructies tot een zelfde lijn van het gegevensgeheime voorgeheugen toegang zullen hebben, is de tweede instructie refetched en re-uitgevoerd, en de tweede databank wordt niet gebruikt.