Είναι πρακτικά αδύνατο να απαιτήσουμε όλες οι λειτουργίες κινητής υποδιαστολής του DLX να ολοκληρώνονται σε ένα κύκλο ρολογιού, ή ακόμα και δύο. Κάνοντάς το αυτό θα σήμαινε την αποδοχή ενός αργού ρολογιού, ή τη χρήση τεράστιων ποσοτήτων λογικών κυκλωμάτων στις μονάδες κινητής υποδιαστολής ή και των δύο. Αντίθετα, η σωλήνωση κινητής υποδιαστολής θα επιτρέψει μεγαλύτερη αδράνεια στις λειτουργίες. Αυτό είναι ευκολότερο να κατανοηθεί αν φανταστούμε τις εντολές κινητής υποδιαστολής ως να έχουν την ίδια σωλήνωση με τις εντολές ακεραίων, με δύο σημαντικές διαφορές:
ΔΡΑΣΤΗΡΙΟΤΗΤΑ 1
Επίσης, υποθέτουμε ότι τα στάδια εκτέλεσης αυτών των λειτουργικών μονάδων δεν είναι σωληνωμένα. Το σχήμα 1.8.1 δείχνει τη σωληνωμένη δομή που προκύπτει.
ΔΡΑΣΤΗΡΙΟΤΗΤΑ 2
Επειδή το στάδιο ΕΧ δεν είναι σωληνωμένο, καμία άλλη εντολή που χρησιμοποιεί αυτή τη λειτουργική μονάδα δε μπορεί να διευθετηθεί προτού η προηγούμενη εντολή τελειώσει το στάδιο ΕΧ. Επιπλέον, αν μια εντολή δε μπορεί να προχωρήσει στο στάδιο ΕΧ, ολόκληρη η σωλήνωση πριν από αυτή την εντολή θα καθυστερήσει.
Στην πραγματικότητα, τα ενδιάμεσα αποτελέσματα πιθανώς δεν ανακυκλώνονται γύρω από τη μονάδα ΕΧ όπως δείχνει το σχήμα 1.8.1. Αντίθετα το στάδιο ΕΧ έχει έναν αριθμό καθυστερήσεων ρολογιού μεγαλύτερο από 1.
Μπορούμε να γενικεύσουμε τη δομή της σωλήνωσης κινητής υποδιαστολής που φαίνεται στο σχήμα 1.8.1 ώστε να επιτραπεί η σωλήνωση μερικών σταδίων και πολλαπλές εν ενεργεία λειτουργίες.
Για να περιγράψουμε μια τέτοια σωλήνωση, πρέπει να καθορίσουμε τόσο την αδράνεια των λειτουργικών μονάδων όσο και το διάστημα αρχικοποίησης ή διάστημα επανάληψης.
ΔΡΑΣΤΗΡΙΟΤΗΤΑ 3
Σχήμα 1.8.2 - Αδράνειες και διαστήματα αρχικοποίησης για λειτουργικές μονάδες.
Καθώς οι περισσότερες εντολές χρησιμοποιούν τους τελεστέους τους στην αρχή του σταδίου ΕΧ, η αδράνεια είναι συνήθως ο αριθμός των σταδίων μετά το ΕΧ που μια εντολή παράγει ένα αποτέλεσμα – για παράδειγμα, μηδέν στάδια για λειτουργίες της ALU και ένα στάδιο για εντολές φόρτωσης. Η πρωταρχική εξαίρεση είναι οι εντολές αποθήκευσης, οι οποίες χρησιμοποιούν την τιμή που αποθηκεύεται ένα κύκλο αργότερα. Από εδώ και πέρα η αδράνεια μιας αποθήκευσης για την τιμή που αποθηκεύεται, αλλά όχι για τον καταχωρητή διεύθυνσης βάσης, θα είναι έναν κύκλο λιγότερη. Η αδράνεια της σωλήνωσης είναι απαραιτήτως ίση με ένα κύκλο λιγότερο από το βάθος της σωλήνωσης εκτέλεσης, το οποίο είναι ο αριθμός των σταδίων από το στάδιο ΕΧ ως το στάδιο που παράγει το αποτέλεσμα.
Το σχήμα 1.8.3 μας δείχνει πώς αυτή η σωλήνωση μπορεί να σχεδιαστεί επεκτείνοντας το σχήμα 1.8.1. Το διάστημα επανάληψης υλοποιείται στο σχήμα 1.8.3 προσθέτοντας επιπλέον στάδια σωλήνωσης, τα οποία θα διαχωριστούν από επιπρόσθετους καταχωρητές. Επειδή οι μονάδες είναι ανεξάρτητες, ονομάζουμε τα στάδια με διαφορετικό τρόπο. Τα στάδια σωλήνωσης που απαιτούν πολλαπλούς κύκλους ρολογιού, όπως η μονάδα διαίρεσης, διαχωρίζονται περαιτέρω ώστε να δείχνουν την αδράνεια αυτών των σταδίων. Επειδή δεν είναι ολοκληρωμένα στάδια, μόνο μια λειτουργία μπορεί να είναι ενεργή.
Η δομή της σωλήνωσης του σχήματος 1.8.3 απαιτεί την εισαγωγή των επιπρόσθετων καταχωρητών σωλήνωσης (π.χ. Α1/Α2, Α2/Α3, Α3/Α4) και τη μετατροπή των συνδέσεων με αυτούς τους καταχωρητές. Ο καταχωρητής ID/EX πρέπει να επεκταθεί ώστε να συνδέει τον ID με τους EX, DIV, M1 και Α1.
Μπορούμε να αναφερθούμε στο μέρος του καταχωρητή που σχετίζεται με ένα από τα επόμενα στάδια με την ένδειξη ID/EX, ID/DIV, ID/M1 ή ID/A1. Τον καταχωρητή σωλήνωσης μεταξύ του ID και όλων των άλλων σταδίων μπορεί να τον φανταστούμε
ως λογικά ξεχωριστούς καταχωρητές και μπορεί, στη πραγματικότητα, να είναι υλοποιημένος με ξεχωριστούς καταχωρητές. Επειδή μόνο μια λειτουργία μπορεί να βρίσκεται σε ένα στάδιο σωλήνωσης μια χρονική στιγμή, οι πληροφορίες ελέγχου μπορούν να συσχετιστούν με τον καταχωρητή στην αρχή του σταδίου.
ΔΡΑΣΤΗΡΙΟΤΗΤΑ 4
Έτσι, για το παραπάνω παράδειγμα σωλήνωσης, ο αριθμός των σταδίων για μια FP πρόσθεση είναι τέσσερα, ενώ ο αριθμός των σταδίων για ένα FP πολλαπλασιασμό είναι εφτά. Επομένως το παράδειγμα δομής σωλήνωσης του σχήματος 1.8.2 μας επιτρέπει μέχρι και τέσσερις ξεχωριστές προσθέσεις κινητής υποδιαστολής (FP προσθέσεις), εφτά ξεχωριστούς FP πολλαπλασιασμούς ή πολλαπλασιασμούς ακεραίων, αλλά μόνο μια FP διαίρεση.
ΑΠΑΝΤΗΣΗ ΔΡΑΣΤΗΡΙΟΤΗΤΑΣ 4 Η δομή της σωλήνωσης φαίνεται επίσης χρησιμοποιώντας διαγράμματα όπως φαίνεται στο σχήμα 1.8.4 για ένα σύνολο ανεξάρτητων FP λειτουργιών και FP φορτώσεων-αποθηκεύσεων. Φυσικά, η μεγαλύτερη αδράνεια των λειτουργιών κινητής υποδιαστολής αυξάνει τη συχνότητα των κινδύνων RAW και των καθυστερήσεων που προκύπτουν, όπως θα δούμε αργότερα σε αυτή την ενότητα.
|
|