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

Κίνδυνοι και προώθηση σε σωληνώσεις μεγαλύτερης αδράνειας.

   Υπάρχει ένας αριθμός διαφορετικών απόψεων για τον εντοπισμό κινδύνων και την προώθηση για μια σωλήνωση όπως αυτή του σχήματος 1.8.3:

  1. Επειδή η μονάδα διαίρεσης δεν είναι πλήρως σωληνωμένη, κατασκευαστικοί κίνδυνοι μπορεί να συμβούν. Αυτοί θα πρέπει να εντοπιστούν και οι εντολές προς διευθέτηση πρέπει να καθυστερήσουν.

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

  3. Οι κίνδυνοι WAW είναι πιθανοί, καθώς οι εντολές δεν φτάνουν στο στάδιο WB με τη σειρά. Σημειώστε ότι οι κίνδυνοι WAR δεν είναι δυνατοί, καθώς οι αναγνώσεις καταχωρητών πάντα γίνονται στο στάδιο ID.

  4. Οι εντολές μπορούν να ολοκληρωθούν σε διαφορετική σειρά από αυτή με την οποία διευθετήθηκαν, προκαλώντας προβλήματα με τις διακοπές.

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

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

Θυμάστε τις κατηγορίες στις οποίες ταξινομούνται οι κίνδυνοι δεδομένων; Να αναφέρετε ποιοι είναι και πότε προκαλούνται οι κίνδυνοι δεδομένων. Για περισσότερες λεπτομέρειες καλό θα ήταν να ανατρέξετε στην 4η ενότητα αυτού του κεφαλαίου: «Κίνδυνοι δεδομένων».

 

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



Η αύξηση των καθυστερήσεων εξαιτίας της μεγαλύτερης αδράνειας των λειτουργιών είναι βασικά η ίδια με αυτή για τη σωλήνωση ακεραίων.

Πριν τη περιγραφή των νέων προβλημάτων που προκύπτουν σε αυτή την FP σωλήνωση και την εξέταση των λύσεων, ας εξετάσουμε τη δυνατή επίδραση των κατασκευαστικών κινδύνων. Το σχήμα 1.8.5 δείχνει μια τυπική ακολουθία FP κώδικα και τις καθυστερήσεις που προκύπτουν.

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

Το παρακάτω παράδειγμα αφορά στα προβλήματα που προκύπτουν από τις εγγραφές.

Παράδειγμα

Παράδειγμα

Στον εντοπισμό των πιθανών κινδύνων, πρέπει να λάβουμε υπόψη κινδύνους ανάμεσα σε:

  • FP εντολές και σε
  • μια FP εντολή και μια εντολή ακεραίων.

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

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

Τα κύρια πλεονεκτήματα είναι:

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

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

Υποθέτοντας ότι η σωλήνωση κάνει όλη την ανίχνευση κινδύνων στο στάδιο ID, υπάρχουν τρεις έλεγχοι που πρέπει να γίνουν προτού μια εντολή διευθετηθεί:

  1. Έλεγχος για κατασκευαστικούς κινδύνους — Περίμενε ώσπου η απαιτούμενη λειτουργική μονάδα να μην είναι απασχολημένη (αυτό χρειάζεται μόνο για διαιρέσεις σε αυτή τη σωλήνωση) και βεβαιώσου ότι η θύρα εγγραφής καταχωρητών θα είναι διαθέσιμη όταν χρειαστεί.

  2. Έλεγχος για κίνδυνο δεδομένων RAW — Περίμενε ώσπου οι πηγαίοι καταχωρητές να παύσουν να καταχωρούνται ως προορισμοί σε εκκρεμότητα σε ένα καταχωρητή σωλήνωσης που δε θα είναι διαθέσιμος όταν η εντολή χρειαστεί το αποτέλεσμα. Ένας αριθμός ελέγχων πρέπει να γίνει εδώ, που εξαρτάται τόσο από τη πηγαία εντολή, που καθορίζει πότε το αποτέλεσμα θα είναι διαθέσιμο, όσο και από την εντολή προορισμού, που καθορίζει πότε χρειάζεται η τιμή.

    Παράδειγμα

    Αν η εντολή στο στάδιο ID είναι μια FP λειτουργία με πηγαίο καταχωρητή F2, τότε ο F2 δεν μπορεί να καταχωρηθεί ως ένας προορισμός στο τμήμα ID/Α1, Α1/Α2 ή Α2/Α3, που αντιστοιχούν σε εντολές πρόσθεσης FP, που δεν θα έχουν τελειώσει όταν η εντολή στο στάδιο ID χρειαστεί ένα αποτέλεσμα. (Το τμήμα ID/A1 είναι το τμήμα του καταχωρητή εξόδου του σταδίου ID που στέλνεται στον Α1).

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

  3. Έλεγχος για κίνδυνο δεδομένων WAW — Προσδιόρισε αν κάποια εντολή στα Α1, …, Α4, D, M1, …, M7 έχει τον ίδιο καταχωρητή προορισμού με αυτή την εντολή. Αν ναι, καθυστέρησε τη διευθέτηση της εντολής στο στάδιο ID.

Παρόλο που η ανίχνευση κινδύνων είναι πιο πολύπλοκη με τις FP λειτουργίες πολλαπλών κύκλων, οι έννοιες είναι ίδιες με τη σωλήνωση ακεραίων του υπολογιστή DLX. Το ίδιο ισχύει και για τη λογική προώθησης.
Η προώθηση μπορεί να υλοποιηθεί ελέγχοντας αν ο καταχωρητής προορισμού σε οποιοδήποτε από τους καταχωρητές EX/MEM, A4/MEM, M7/MEM, D/MEM ή MEM/WB είναι ένας από τους πηγαίους καταχωρητές μιας εντολής κινητής υποδιαστολής. Αν είναι, ο κατάλληλος πολυπλέκτης εισόδου πρέπει να ενεργοποιηθεί ώστε να επιλέξει τα προωθημένα δεδομένα.

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

Έστω η εξής σειρά εντολών:

DIV F0, F2, F4
ADDF F10, F10, F8
SUBF F12, F12. F14

Θεωρείστε δεδομένο ότι:
· Οι εντολές ADDF και SUBF τελειώνουν πιο γρήγορα από την εντολή DIVF, δηλαδή διαρκούν λιγότερους κύκλους ρολογιού.
· Η εντολή ADDF τελειώνει και η DIVF έχει μια αριθμητική διακοπή στο στάδιο EX της σωλήνωσης.

Να προτείνετε πιθανές λύσεις διαχείρισης της διακοπής, καθώς και τα προβλήματα που μπορεί να προκύπτουν σε κάθε περίπτωση.

 

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