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


Τι συμβαίνει σε κάθε στάδιο μιας DLX σωλήνωσης;

Κάθε εντολή είναι ενεργοποιημένη σε ένα ακριβώς στάδιο κάθε χρονική στιγμή. Για το λόγο αυτό, ό,τι ενέργειες κάνει μια εντολή συμβαίνουν μεταξύ ενός ζευγαριού καταχωρητών σωλήνωσης. Κατά συνέπεια η πληροφορία, που υπάρχει στους καταχωρητές σωλήνωσης μεταξύ των σταδίων, μας λέει για το τι πρόκειται να συμβεί παρακάτω στη σωλήνωση. Τα πεδία των καταχωρητών σωλήνωσης έχουν ονόματα, τα οποία δείχνουν το ρεύμα των δεδομένων από το ένα στάδιο στο επόμενο. Για παράδειγμα στο πεδίο cond, του καταχωρητή σωλήνωσης EX/MEM, το οποίο γράφεται EX/MEM.cond, ελέγχεται η συνθήκη διακλάδωσης. Η τρέχουσα εντολή αποκωδικοποιείται στο τέλος του ID σταδίου. Συνεπώς, οι ενέργειες της εντολής στα δύο πρώτα στάδια είναι ανεξάρτητες από τον τύπο της εντολής.

 

Το στάδιο IF της επόμενης εντολής εξαρτάται από το αν η εντολή στον καταχωρητή EX/MEM είναι εντολή διακλάδωσης με συνθήκη και αν η συνθήκη της αληθεύει ή όχι. Πράγματι:

Αν η συνθήκη της εντολή διακλάδωσης αληθεύει, τότε ο στόχος της διακλάδωσης χρησιμοποιείται για να υπολογιστεί η επόμενη τιμή του PC.

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

 

Έλεγχος για την σωλήνωση

 

Για τον έλεγχο στη σωλήνωση αρκεί να καθορίσουμε, την ενεργοποίησή του για κάθε έναν από τους τέσσερις πολυπλέκτες στη δίοδο δεδομένων. Όπως φαίνεται στο σχήμα 1.2.2 οι πολυπλέκτες βρίσκονται στα εξής σημεία:

  1. Στην πάνω είσοδο της ALU. Ενεργοποιείται σύμφωνα με το αν η εντολή είναι διακλάδωση ή όχι.
  2. Στην κάτω είσοδο της ALU. Ενεργοποιείται σύμφωνα με το αν η εντολή είναι μία λειτουργία καταχωρητή-καταχωρητή της ALU ή όποιο άλλο είδος λειτουργίας.
  3. Στο στάδιο IF. Επιλέγει αν θα χρησιμοποιηθεί η τρέχουσα τιμή του PC ή η τιμή από τον καταχωρητή EX/MEM.NPC ως διεύθυνση της εντολής. Ελέγχεται από το πεδίο EX/MEM.cond.
  4. Στο στάδιο WB. Ελέγχεται από το αν η εντολή στο στάδιο αυτό είναι μία εντολή φόρτωσης ή λειτουργία της ALU. Στον καταχωρητή MEM/WB καθορίζεται το πεδίο προορισμού, που θα γράψει η ALU.
  5. Υπάρχει ένας ακόμα πολυπλέκτης, ο οποίος δε φαίνεται στο σχήμα 1.2.2. Χρησιμοποιείται για την επιλογή του σωστού τμήματος του καταχωρητή IR, το οποίο βρίσκεται στον καταχωρητή σωλήνωσης MEM/WB και το οποίο καθορίζει το πεδίο προορισμού του καταχωρητή.

 

 

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

 

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

Η εγγραφή του PC γίνεται μόνο στο στάδιο IF σύμφωνα με τον τρόπο που έχει τοποθετηθεί ο πολυπλέκτης επιλογής του PC. Μπορείτε να εξηγήσετε τι θα συνέβαινε στην περίπτωση που δεν υπήρχε αυτός ο πολυπλέκτης στη δίοδο δεδομένων;

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