Processor including replay queue to break livelocks

   
   

A technique is provided for breaking a stalled condition or livelock in a processor having a replay queue. A livelock or stalled condition is detected. One or more instructions are temporarily stored in a replay queue. A release or break in the livelock or stalled condition is detected, and the instructions are then unloaded from the replay queue for replay or re-execution. For a multi-threaded processor, a stall is detected in one of the threads. Instructions of the stalled thread are temporarily stored in a replay queue, except the oldest instruction of the stalled thread which is allowed to replay or re-execute. This allows other threads to have access to execution and replay resources. Eventually, the oldest instruction will execute and retire, which breaks or releases the stalled thread. The instructions stored in the replay queue are then unloaded from the replay queue.

Μια τεχνική παρέχεται για το σπάσιμο ενός χρονοτριβημένου όρου ή livelock σε έναν επεξεργαστή που έχει μια σειρά αναμονής επανάληψης. Livelock ή χρονοτριβημένος ένας όρος ανιχνεύεται. Μια ή περισσότερες οδηγίες αποθηκεύονται προσωρινά σε μια σειρά αναμονής επανάληψης. Μια απελευθέρωση ή ένα σπάσιμο livelock ή χρονοτριβημένο τον όρο ανιχνεύεται, και οι οδηγίες ξεφορτώνονται έπειτα από τη σειρά αναμονής επανάληψης για την επανάληψη ή την επαν-εκτέλεση. Για έναν πολύπλοκο επεξεργαστή, ένας στάβλος ανιχνεύεται σε ένα από τα νήματα. Οι οδηγίες του χρονοτριβημένου νήματος αποθηκεύονται προσωρινά σε μια σειρά αναμονής επανάληψης, εκτός από την παλαιότερη οδηγία του χρονοτριβημένου νήματος που επιτρέπεται για να επαναλάβει ή να επαν-εκτελέσει. Αυτό επιτρέπει σε άλλα νήματα για να έχει πρόσβαση στην εκτέλεση και να επαναλάβει τους πόρους. Τελικά, η παλαιότερη οδηγία θα εκτελέσει και θα αποσυρθεί, το οποίο σπάζει ή απελευθερώνει το χρονοτριβημένο νήμα. Οι οδηγίες που αποθηκεύονται στη σειρά αναμονής επανάληψης ξεφορτώνονται έπειτα από τη σειρά αναμονής επανάληψης.

 
Web www.patentalert.com

< Storage system and data relocation method

< Web interface to an input/output device

> Call processor system and methods

> Method, device, system and recording medium for detecting improper cartridge, and cartridge

~ 00129