A multithread pipelined instruction decoder to clock, clear and stall an
instruction decode pipeline of a multi-threaded machine to maximize
performance and minimize power. A shadow pipeline shadows the instruction
decode pipeline maintaining a the thread-identification and
instruction-valid bits for each pipestage of the instruction decoder. The
thread-id and valid bits are used to control the clear, clock, and stall
of each pipestage of the instruction decoder. Instructions of one thread
can be cleared without impacting instructions of another thread in the
decode pipeline. In some cases, instructions of one thread can be stalled
without impacting instructions of another thread in the decode pipeline.
In the present invention, pipestages are clocked only when a valid
instruction needs to advance in order to conserve power and to minimize
stalling.
Ένα multithread διοχέτευσε τον αποκωδικοποιητή οδηγίας στο ρολόι, σαφές και χρονοτριβεί μια οδηγία αποκωδικοποιεί τη σωλήνωση μιας πολύπλοκης μηχανής για να μεγιστοποιήσει την απόδοση και να ελαχιστοποιήσει τη δύναμη. Μια σωλήνωση σκιών σκιάζει την οδηγία αποκωδικοποιεί τη διατήρηση σωληνώσεων ο νήμα-προσδιορισμός και τα οδηγία-έγκυρα κομμάτια για κάθε pipestage του αποκωδικοποιητή οδηγίας. Η νήμα-ταυτότητα και τα έγκυρα κομμάτια χρησιμοποιούνται για να ελέγξουν το σαφή, το ρολόι, και το στάβλο κάθε pipestage του αποκωδικοποιητή οδηγίας. Οι οδηγίες ενός νήματος μπορούν να καθαριστούν χωρίς προσκρούοντας οδηγίες ενός άλλου νήματος αποκωδικοποιούν τη σωλήνωση. Σε μερικές περιπτώσεις, οι οδηγίες ενός νήματος μπορούν να χρονοτριβηθούν χωρίς προσκρούοντας οδηγίες ενός άλλου νήματος αποκωδικοποιούν τη σωλήνωση. Στην παρούσα εφεύρεση, τα pipestages χρονομετριούνται μόνο όταν πρέπει να προωθήσει μια έγκυρη οδηγία προκειμένου να συντηρηθεί η δύναμη και για να ελαχιστοποιήσει την καθυστέρηση.