The poor scalability of existing superscalar processors has been of great
concern to the computer engineering community. In particular, the
critical-path delays of many components in existing implementations grow
quadratically with the issue width and the window size. This patent
presents a novel way to reimplement these components and reduce their
critical-path delay growth. It then describes an entire processor
microarchitecture, called the Ultrascalar processor, that has better
critical-path delay growth than existing superscalars. Most of our
scalable designs are based on a single circuit, a cyclic segmented
parallel prefix (cspp). We observe that processor components typically
operate on a wrap-around sequence of instructions, computing some
associative property of that sequence. For example, to assign an ALU to
the oldest requesting instruction, each instruction in the instruction
sequence must be told whether any preceding instructions are requesting an
ALU. Similarly, to read an argument register, an instruction must somehow
communicate with the most recent preceding instruction that wrote that
register. A cspp circuit can implement such functions by computing for
each instruction within a wrap-around instruction sequence the
accumulative result of applying some associative operator to all the
preceding instructions. A cspp circuit has a critical path gate delay
logarithmic in the length of the instruction sequence. Depending on its
associative operation and its layout, a cspp circuit can have a critical
path wire delay sublinear in the length of the instruction sequence.
Η φτωχή εξελιξιμότητα των υπαρχόντων superscalar επεξεργαστών ήταν μεγάλης ανησυχίας στην κοινότητα εφαρμοσμένης μηχανικής υπολογιστών. Ειδικότερα, οι καθυστερήσεις κρίσιμος-πορειών πολλών συστατικών στις υπάρχουσες εφαρμογές αυξάνονται quadratically με το πλάτος ζητημάτων και το μέγεθος παραθύρων. Αυτό το δίπλωμα ευρεσιτεχνίας παρουσιάζει έναν νέο τρόπο στο reimplement αυτά τα συστατικά και μειώνει την αύξηση καθυστέρησης κρίσιμος-πορειών τους. Περιγράφει έπειτα ένα ολόκληρο microarchitecture επεξεργαστών, αποκαλούμενο επεξεργαστή Ultrascalar, ο οποίος έχει την καλύτερη αύξηση καθυστέρησης κρίσιμος-πορειών από υπάρχουσα superscalars. Τα περισσότερα από τα εξελικτικά σχέδιά μας είναι βασισμένα σε ένα ενιαίο κύκλωμα, ένα κυκλικό τετμημένο παράλληλο πρόθεμα (cspp). Παρατηρούμε ότι τα τμήματα επεξεργαστών λειτουργούν χαρακτηριστικά σε μια wrap-around ακολουθία οδηγιών, υπολογίζοντας κάποια συνειρμική ιδιοκτησία εκείνης της ακολουθίας. Παραδείγματος χάριν, για να ορίσει ένα ALU στην παλαιότερη οδηγία αίτησης, κάθε οδηγία στην ακολουθία οδηγίας πρέπει να ειπωθεί εάν οποιεσδήποτε προηγούμενες οδηγίες ζητούν ένα ALU. Ομοίως, για να διαβάσει έναν κατάλογο επιχειρήματος, μια οδηγία πρέπει κάπως να επικοινωνήσει με την πιό πρόσφατη προηγούμενη οδηγία που έγραψε εκείνο τον κατάλογο. Ένα κύκλωμα cspp μπορεί να εφαρμόσει τέτοιες λειτουργίες με τον υπολογισμό για κάθε οδηγία μέσα σε μια wrap-around ακολουθία οδηγίας του συσσωρευτικού αποτελέσματος της εφαρμογής κάποιου συνειρμικού χειριστή σε όλες τις προηγούμενες οδηγίες. Ένα κύκλωμα cspp έχει μια καθυστέρηση πυλών κρίσιμων πορειών λογαριθμική στο μήκος της ακολουθίας οδηγίας. Ανάλογα με τη συνειρμική λειτουργία του και το σχεδιάγραμμά του, ένα κύκλωμα cspp μπορεί να έχει μια καθυστέρηση καλωδίων κρίσιμων πορειών υπογραμμική στο μήκος της ακολουθίας οδηγίας.