A data processing apparatus includes first (78) and second (80) functional
unit groups, each includes a plurality of functional units and a register
file (76) comprising a plurality of registers. A comparator (181) receives
the operand register number of a current instruction for a functional unit
in the first functional unit group, and the destination register number of
an immediately preceding instruction for the second functional unit group.
A register file bypass multiplexer (174) selects the data from the
register corresponding to the operand number of the current instruction on
no match and selects the output of the second functional unit group
(hotpath 172) if the comparator indicates a match. The first functional
unit utilizes the output of the second functional unit group without
waiting for the result to be stored in the register file.
Μια συσκευή επεξεργασίας δεδομένων περιλαμβάνει πρώτα (78) και οι δεύτερες (80) λειτουργικές ομάδες μονάδων, κάθε μια περιλαμβάνουν μια πολλαπλότητα των λειτουργικών μονάδων και ενός αρχείου καταλόγων (76) περιλαμβάνοντας μια πολλαπλότητα των καταλόγων. Ένας συγκριτής (181) λαμβάνει τον αριθμό καταλόγων τελεστέου μιας τρέχουσας οδηγίας για μια λειτουργική μονάδα στην πρώτη λειτουργική ομάδα μονάδων, και τον αριθμό καταλόγων προορισμού μιας αμέσως προηγούμενης οδηγίας για τη δεύτερη λειτουργική ομάδα μονάδων. Ένας πολυδιαυλωτής παράκαμψης αρχείων καταλόγων (174) επιλέγει τα στοιχεία από τον κατάλογο που αντιστοιχεί στον αριθμό τελεστέου της τρέχουσας οδηγίας για καμία αντιστοιχία και επιλέγει την παραγωγή της δεύτερης λειτουργικής ομάδας μονάδων (hotpath 172) εάν ο συγκριτής δείχνει μια αντιστοιχία. Η πρώτη λειτουργική μονάδα χρησιμοποιεί την παραγωγή της δεύτερης λειτουργικής ομάδας μονάδων χωρίς αναμονή το αποτέλεσμα που αποθηκεύεται στο αρχείο καταλόγων.