Υπάρχει ένας αριθμός διαφορετικών απόψεων για τον εντοπισμό κινδύνων και την
προώθηση για μια σωλήνωση όπως αυτή του σχήματος 1.8.3:
ΔΡΑΣΤΗΡΙΟΤΗΤΑ 5
Η αύξηση των καθυστερήσεων εξαιτίας της μεγαλύτερης αδράνειας των λειτουργιών είναι βασικά η ίδια με αυτή για τη σωλήνωση ακεραίων.
Πριν τη περιγραφή των νέων προβλημάτων που προκύπτουν σε αυτή την FP σωλήνωση και την εξέταση των λύσεων, ας εξετάσουμε τη δυνατή επίδραση των κατασκευαστικών κινδύνων. Το σχήμα 1.8.5 δείχνει μια τυπική ακολουθία FP κώδικα και τις καθυστερήσεις που προκύπτουν.
Στον εντοπισμό των πιθανών κινδύνων, πρέπει να λάβουμε υπόψη κινδύνους ανάμεσα σε:
Εκτός από τις FP φορτώσεις – αποθηκεύσεις και τις μετακινήσεις (moves) ακεραίων καταχωρητών, οι καταχωρητές FP και ακεραίων είναι διακεκριμένοι. Όλες οι εντολές ακεραίων λειτουργούν στους καταχωρητές ακεραίων, ενώ οι λειτουργίες κινητής υποδιαστολής χρησιμοποιούν μόνο τους δικούς τους καταχωρητές. Έτσι, πρέπει να λαμβάνουμε υπ' όψιν μας μόνο τις FP φορτώσεις – αποθηκεύσεις και τις μετακινήσεις καταχωρητών μεταξύ κλασματικών αριθμών και ακεραίων αριθμών στον εντοπισμό κινδύνων μεταξύ εντολών FP και ακεραίων. Τα κύρια πλεονεκτήματα είναι:
Το κύριο μειονέκτημα, πέρα από την ανάγκη για ένα επιπλέον αρχείο καταχωρητών, είναι το μικρό κόστος των περιστασιακών μετακινήσεων που χρειάζονται ανάμεσα στα δύο σύνολα καταχωρητών. Υποθέτοντας ότι η σωλήνωση κάνει όλη την ανίχνευση κινδύνων στο στάδιο ID, υπάρχουν τρεις έλεγχοι που πρέπει να γίνουν προτού μια εντολή διευθετηθεί: Παράδειγμα Η διαίρεση είναι κάπως πιο περίπλοκη, αν θέλουμε να επιτρέψουμε τους τελευταίους κύκλους της διαίρεσης να επικαλυφθούν, καθώς πρέπει να χειριστούμε με ειδικό τρόπο την περίπτωση όπου μια διαίρεση είναι κοντά στον τερματισμό της. Παρόλο που η ανίχνευση κινδύνων είναι πιο πολύπλοκη με τις FP λειτουργίες πολλαπλών κύκλων, οι έννοιες είναι ίδιες με τη σωλήνωση ακεραίων του υπολογιστή DLX. Το ίδιο ισχύει και για τη λογική προώθησης. ΔΡΑΣΤΗΡΙΟΤΗΤΑ 6
Αυτή η απλοποίηση του ελέγχου σωλήνωσης είναι ένα επιπλέον πλεονέκτημα του να έχουμε ξεχωριστά αρχεία καταχωρητών για δεδομένα που είναι ακέραιοι και κινητής υποδιαστολής.
Αν η εντολή στο στάδιο ID είναι μια FP λειτουργία με πηγαίο καταχωρητή F2, τότε ο F2 δεν μπορεί να καταχωρηθεί ως ένας προορισμός στο τμήμα ID/Α1, Α1/Α2 ή Α2/Α3, που αντιστοιχούν σε εντολές πρόσθεσης FP, που δεν θα έχουν τελειώσει όταν η εντολή στο στάδιο ID χρειαστεί ένα αποτέλεσμα. (Το τμήμα ID/A1 είναι το τμήμα του καταχωρητή εξόδου του σταδίου ID που στέλνεται στον Α1).
Στην πράξη, οι σχεδιαστές πρέπει να αγνοούν αυτή τη βελτιστοποίηση προς όφελος
ενός απλούστερου ελέγχου διευθέτησης.
Η προώθηση μπορεί να υλοποιηθεί ελέγχοντας αν ο καταχωρητής προορισμού σε οποιοδήποτε από τους καταχωρητές EX/MEM, A4/MEM, M7/MEM, D/MEM ή MEM/WB είναι ένας από τους πηγαίους καταχωρητές μιας εντολής κινητής υποδιαστολής. Αν είναι, ο κατάλληλος πολυπλέκτης εισόδου πρέπει να ενεργοποιηθεί ώστε να επιλέξει τα προωθημένα δεδομένα.
DIV F0, F2, F4
ADDF F10, F10, F8
SUBF F12, F12. F14
Θεωρείστε δεδομένο ότι:
· Οι εντολές ADDF και SUBF τελειώνουν πιο γρήγορα από την εντολή DIVF, δηλαδή διαρκούν λιγότερους κύκλους ρολογιού.
· Η εντολή ADDF τελειώνει και η DIVF έχει μια αριθμητική διακοπή στο στάδιο EX της σωλήνωσης.
Να προτείνετε πιθανές λύσεις διαχείρισης της διακοπής, καθώς και τα προβλήματα που μπορεί να προκύπτουν σε κάθε περίπτωση.
|
|