Κεφάλαιο 1 | Ενότητα8 | Ερωτήσεις επισκόπησης | Επόμενο| Λεξικό όρων

Επέκταση της σωλήνωσης του DLX για λειτουργίες κινητής υποδιαστολής

   Είναι πρακτικά αδύνατο να απαιτήσουμε όλες οι λειτουργίες κινητής υποδιαστολής του DLX να ολοκληρώνονται σε ένα κύκλο ρολογιού, ή ακόμα και δύο. Κάνοντάς το αυτό θα σήμαινε την αποδοχή ενός αργού ρολογιού, ή τη χρήση τεράστιων ποσοτήτων λογικών κυκλωμάτων στις μονάδες κινητής υποδιαστολής ή και των δύο. Αντίθετα, η σωλήνωση κινητής υποδιαστολής θα επιτρέψει μεγαλύτερη αδράνεια στις λειτουργίες. Αυτό είναι ευκολότερο να κατανοηθεί αν φανταστούμε τις εντολές κινητής υποδιαστολής ως να έχουν την ίδια σωλήνωση με τις εντολές ακεραίων, με δύο σημαντικές διαφορές:

  1. Ο κύκλος ΕΧ μπορεί να επαναληφθεί όσες φορές χρειάζεται για να ολοκληρωθεί η λειτουργία κινητής υποδιαστολής. Ο αριθμός των επαναλήψεων μπορεί να ποικίλλει για διαφορετικές λειτουργίες. Αντίθετα, στη σωλήνωση ακεραίων το στάδιο EX εκτελείται μια μόνο φορά για κάθε εντολή.
  2. Στη λειτουργία κινητής υποδιαστολής μπορούν να υπάρχουν πολλαπλές λειτουργικές μονάδες. Καθυστέρηση θα συμβεί αν η προς εκτέλεση εντολή προκαλέσει είτε κατασκευαστικό κίνδυνο για τη λειτουργική μονάδα που χρησιμοποιεί είτε κίνδυνο δεδομένων.

ΔΡΑΣΤΗΡΙΟΤΗΤΑ 1

Θυμάστε ποιες είναι οι εντολές κινητής υποδιαστολής του υπολογιστή DLX; Για περισσότερες λεπτομέρειες καλό θα ήταν να ανατρέξετε στις σημειώσεις του μαθήματος «Αρχιτεκτονική Υπολογιστών Ι» και συγκεκριμένα στο 2ο κεφάλαιο: «Αρχιτεκτονικές Συνόλου Εντολών».


Υποθέτουμε ότι υπάρχουν τέσσερις ξεχωριστές λειτουργικές μονάδες στον υπολογιστή DLX :
  1. Η κύρια μονάδα ακεραίων που χειρίζεται
    • τις φορτώσεις-αποθηκεύσεις
    • λειτουργίες ακεραίων της ΑLU
    • διακλαδώσεις

  2. Πολλαπλασιαστής
    • ακεραίων
    • κινητής υποδιαστολής

  3. Αθροιστής κινητής υποδιαστολής που χειρίζεται
    • πρόσθεση
    • αφαίρεση
    • μετατροπή αριθμών κινητής υποδιαστολής.

  4. Διαιρέτης
    • ακεραίων
    • κινητής υποδιαστολής.

Επίσης, υποθέτουμε ότι τα στάδια εκτέλεσης αυτών των λειτουργικών μονάδων δεν είναι σωληνωμένα. Το σχήμα 1.8.1 δείχνει τη σωληνωμένη δομή που προκύπτει.

ΔΡΑΣΤΗΡΙΟΤΗΤΑ 2

Μπορείτε να σχεδιάσετε τα στάδια της σωλήνωσης έτσι ώστε να περιλαμβάνει τις τέσσερις ξεχωριστές λειτουργικές μονάδες του υπολογιστή DLX; Να συγκρίνετε το σχήμα που σχεδιάσατε με το σχήμα 1.8.1.


Σχήμα 1.8.1- Η σωλήνωση του DLX με τρεις επιπλέον μη σωληνωμένες λειτουργικές μονάδες κινητής υποδιαστολής. Επειδή μόνο μια εντολή διευθετείται σε κάθε κύκλο ρολογιού, όλες οι εντολές διέρχονται από τη βασική σωλήνωση για λειτουργίες ακεραίων. Οι λειτουργίες κινητής υποδιαστολής απλώς επαναλαμβάνονται (πέφτουν σε loop) όταν φτάνουν στο στάδιο ΕΧ. `Όταν τελειώσουν το στάδιο ΕΧ, προχωρούν στο ΜΕΜ και το WB για την ολοκλήρωση της εκτέλεσης.

Επειδή το στάδιο ΕΧ δεν είναι σωληνωμένο, καμία άλλη εντολή που χρησιμοποιεί αυτή τη λειτουργική μονάδα δε μπορεί να διευθετηθεί προτού η προηγούμενη εντολή τελειώσει το στάδιο ΕΧ. Επιπλέον, αν μια εντολή δε μπορεί να προχωρήσει στο στάδιο ΕΧ, ολόκληρη η σωλήνωση πριν από αυτή την εντολή θα καθυστερήσει.

Στην πραγματικότητα, τα ενδιάμεσα αποτελέσματα πιθανώς δεν ανακυκλώνονται γύρω από τη μονάδα ΕΧ όπως δείχνει το σχήμα 1.8.1. Αντίθετα το στάδιο ΕΧ έχει έναν αριθμό καθυστερήσεων ρολογιού μεγαλύτερο από 1.
Μπορούμε να γενικεύσουμε τη δομή της σωλήνωσης κινητής υποδιαστολής που φαίνεται στο σχήμα 1.8.1 ώστε να επιτραπεί η σωλήνωση μερικών σταδίων και πολλαπλές εν ενεργεία λειτουργίες.

Για να περιγράψουμε μια τέτοια σωλήνωση, πρέπει να καθορίσουμε τόσο την αδράνεια των λειτουργικών μονάδων όσο και το διάστημα αρχικοποίησης ή διάστημα επανάληψης.

  • Ορίζουμε την αδράνεια ως τον αριθμό των κύκλων που μεσολαβούν μεταξύ μιας εντολής που παράγει ένα αποτέλεσμα και μιας άλλης εντολής που χρησιμοποιεί το αποτέλεσμα αυτό.
  • Ορίζουμε το διάστημα αρχικοποίησης ή επανάληψης ως τον αριθμό των κύκλων που πρέπει να περάσουν μεταξύ της διευθέτησης δύο εντολών δοσμένου τύπου. Σαν παράδειγμα, θα χρησιμοποιήσουμε τις αδράνειες και τα διαστήματα αρχικοποίησης του σχήματος 1.8.2.

ΔΡΑΣΤΗΡΙΟΤΗΤΑ 3

Να προσδιορίσετε την αδράνεια των εντολών ακεραίων της ALU και των εντολών φόρτωσης. Να αιτιολογήσετε την απάντησή σας.

 

ΑΠΑΝΤΗΣΗ ΔΡΑΣΤΗΡΙΟΤΗΤΑΣ 3





Σχήμα 1.8.2 - Αδράνειες και διαστήματα αρχικοποίησης για λειτουργικές μονάδες.



Καθώς οι περισσότερες εντολές χρησιμοποιούν τους τελεστέους τους στην αρχή του σταδίου ΕΧ, η αδράνεια είναι συνήθως ο αριθμός των σταδίων μετά το ΕΧ που μια εντολή παράγει ένα αποτέλεσμα – για παράδειγμα, μηδέν στάδια για λειτουργίες της ALU και ένα στάδιο για εντολές φόρτωσης. Η πρωταρχική εξαίρεση είναι οι εντολές αποθήκευσης, οι οποίες χρησιμοποιούν την τιμή που αποθηκεύεται ένα κύκλο αργότερα. Από εδώ και πέρα η αδράνεια μιας αποθήκευσης για την τιμή που αποθηκεύεται, αλλά όχι για τον καταχωρητή διεύθυνσης βάσης, θα είναι έναν κύκλο λιγότερη. Η αδράνεια της σωλήνωσης είναι απαραιτήτως ίση με ένα κύκλο λιγότερο από το βάθος της σωλήνωσης εκτέλεσης, το οποίο είναι ο αριθμός των σταδίων από το στάδιο ΕΧ ως το στάδιο που παράγει το αποτέλεσμα.

Έτσι, για το παραπάνω παράδειγμα σωλήνωσης, ο αριθμός των σταδίων για μια FP πρόσθεση είναι τέσσερα, ενώ ο αριθμός των σταδίων για ένα FP πολλαπλασιασμό είναι εφτά. Επομένως το παράδειγμα δομής σωλήνωσης του σχήματος 1.8.2 μας επιτρέπει μέχρι και τέσσερις ξεχωριστές προσθέσεις κινητής υποδιαστολής (FP προσθέσεις), εφτά ξεχωριστούς FP πολλαπλασιασμούς ή πολλαπλασιασμούς ακεραίων, αλλά μόνο μια FP διαίρεση.

Το σχήμα 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 και όλων των άλλων σταδίων μπορεί να τον φανταστούμε ως λογικά ξεχωριστούς καταχωρητές και μπορεί, στη πραγματικότητα, να είναι υλοποιημένος με ξεχωριστούς καταχωρητές. Επειδή μόνο μια λειτουργία μπορεί να βρίσκεται σε ένα στάδιο σωλήνωσης μια χρονική στιγμή, οι πληροφορίες ελέγχου μπορούν να συσχετιστούν με τον καταχωρητή στην αρχή του σταδίου.

Σχήμα 1.8.3 - Μια σωλήνωση που επιτρέπει πολλαπλές ξεχωριστές λειτουργίες κινητής υποδιαστολής. Ο FP αθροιστής και ο FP πολλαπλασιαστής είναι πλήρως σωληνωμένοι και έχουν βάθος τεσσάρων και εφτά σταδίων, αντίστοιχα. Ο FP διαιρέτης δεν είναι σωληνωμένος, αλλά απαιτεί 25 κύκλους ρολογιού για να ολοκληρωθεί. Η αδράνεια στις εντολές ανάμεσα στη διευθέτηση μιας FP λειτουργίας και της χρησιμοποίησης του αποτελέσματός της, χωρίς την έκθεση σε μια καθυστέρηση RAW, καθορίζεται από τον αριθμό των κύκλων που δαπανώνται στα στάδια εκτέλεσης. Για παράδειγμα, η τέταρτη εντολή μετά από μια FP πρόσθεση μπορεί να χρησιμοποιήσει το αποτέλεσμά της πρόσθεσης αυτής. Για λειτουργίες ακεραίων της ALU, το βάθος της σωλήνωσης εκτέλεσης είναι πάντα 1 και η επόμενη εντολή μπορεί να χρησιμοποιήσει τα αποτελέσματα. Τόσο οι φορτώσεις ακεραίων όσο και κινητής υποδιαστολής ολοκληρώνονται κατά τη διάρκεια του ΜΕΜ, που σημαίνει ότι το σύστημα μνήμης πρέπει να παρέχει είτε 32 είτε 64 bits σε ένα παλμό του ρολογιού.

ΔΡΑΣΤΗΡΙΟΤΗΤΑ 4

Με ποιο τρόπο θα σχεδιάζατε τα στάδια της σωλήνωσης ώστε να πετύχετε υψηλότερο ρυθμό ρολογιού και ποια θα ήταν τα μειονεκτήματα αυτού του τρόπου σχεδίασης;

 

ΑΠΑΝΤΗΣΗ ΔΡΑΣΤΗΡΙΟΤΗΤΑΣ 4



Η δομή της σωλήνωσης φαίνεται επίσης χρησιμοποιώντας διαγράμματα όπως φαίνεται στο σχήμα 1.8.4 για ένα σύνολο ανεξάρτητων FP λειτουργιών και FP φορτώσεων-αποθηκεύσεων. Φυσικά, η μεγαλύτερη αδράνεια των λειτουργιών κινητής υποδιαστολής αυξάνει τη συχνότητα των κινδύνων RAW και των καθυστερήσεων που προκύπτουν, όπως θα δούμε αργότερα σε αυτή την ενότητα.

Σχήμα 1.8.4 - Ο χρονισμός της σωλήνωσης ενός συνόλου ανεξάρτητων λειτουργιών κινητής υποδιαστολής. Τα στάδια με πλαγιαστά γράμματα δείχνουν πού χρειάζονται δεδομένα, ενώ τα στάδια με έντονα γράμματα δείχνουν πού είναι διαθέσιμο ένα αποτέλεσμα. Οι FP αποθηκεύσεις, όπως οι αποθηκεύσεις ακεραίων, χρησιμοποιούν τους πηγαίους τελεστέους τους σε δύο διαφορετικές χρονικές στιγμές.