A processor is provided that includes an execution unit for executing
instructions and a replay system for replaying instructions which have not
executed properly. The replay system is coupled to the execution unit and
includes a checker for determining whether each instruction has executed
properly and a plurality of replay queues or replay queue sections coupled
to the checker for temporarily storing one or more instructions for
replay. In one embodiment, thread-specific replay queue sections may each
be used to store a long latency instruction for each thread until the long
latency instruction is ready to be executed (e.g., data for a load
instruction has been retrieved from external memory). By storing the long
latency instruction and its dependents in a replay queue section for one
thread which has stalled, execution resources are made available for
improving the speed of execution of other threads which have not stalled.
Een bewerker wordt verstrekt die een uitvoeringseenheid voor het uitvoeren van instructies en een replay systeem omvat om instructies over te spelen die niet behoorlijk hebben uitgevoerd. Het replay systeem wordt gekoppeld aan de uitvoeringseenheid en omvat een controleur voor het bepalen of elke instructie behoorlijk en een meerderheid van replay rijen uitgevoerd heeft of replay rijsecties die aan de controleur voor tijdelijk het opslaan van één of meerdere instructies voor replay worden gekoppeld. In één belichaming, kunnen de draad-specifieke replay rijsecties elk worden gebruikt om een lange latentieinstructie voor elke draad op te slaan tot de lange latentieinstructie klaar om is worden uitgevoerd (b.v., is het gegeven voor een ladingsinstructie teruggewonnen van extern geheugen). Door de lange latentieinstructie en zijn dependents in een replay rijsectie voor één draad op te slaan die heeft geblokkeerd, worden de uitvoeringsmiddelen ter beschikking gesteld voor het verbeteren van de snelheid van uitvoering van andere draden die niet hebben geblokkeerd.