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

Καλώς ήρθατε στον πραγματικό κόσμο! ! !

 

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

 

ΠΑΡΑΔΕΙΓΜΑ: Δεν είναι εφικτό μία λειτουργική μονάδα (πόρος) να εκτελεί δύο λειτουργίες στον ίδιο κύκλο ρολογιού. Για παράδειγμα η ALU, δεν μπορεί να υπολογίζει μια ενεργό διεύθυνση και να εκτελεί μια αφαίρεση, στον ίδιο κύκλο ρολογιού. Γι' αυτό φροντίζουμε οι κύριες λειτουργικές μονάδες(πόροι) του υπολογιστή να χρησιμοποιούνται σε διαφορετικούς κύκλους ρολογιού. Το σχήμα 1.2.1 δείχνει μία απλοποιημένη μορφή της διόδου δεδομένων του DLX.

 

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

 

Σχήμα 1.2.1 - Η εκτέλεση πέντα διαφορετικών εντολών σε κύκλους ρολογιού με χρήση της τεχνικής της σωλήνωσης. Στο σχήμα βλέπουμε καθαρά πως το αρχείο καταχωρητών(Reg) κατά τη διάρκεια εκτέλεσης μίας εντολής χρησιμοποιείται δύο φορές: σαν πηγή από όπου παίρνουμε τους τελεστέους στο στάδιο EX και σαν προορισμός όπου γράφουμε το αποτέλεσμα της εντολής στο στάδιο WB. Παρατηρούμε ότι στον κύκλο ρολογιού 5(CC5) η πρώτη εντολή θέλει να γράψει στο αρχείο καταχωρητών, ενώ η τέταρτη εντολή θέλει να διαβάσει από αυτό. Χρησιμοποιούμε μία μαύρη γραμμή στα αριστερά για να δείξουμε ότι η πρώτη εντολή γράφει στο αρχείο καταχωρητών στο πρώτο μισό του 5ου κύκλου ρολογιού. Χρησιμοποιούμε μία μαύρη γραμμή στα δεξιά για να δείξουμε ότι η τέταρτη εντολή διαβάζει από το αρχείο καταχωρητών στο δεύτερο μισό του 5ου κύκλου ρολογιού. Η διακεκομμένη γραμμή όπου χρησιμοποιείται δείχνει ότι στο αντίστοιχο μισό του κύκλου ρολογιού η εντολή δεν κάνει τίποτα. Η παραπάνω διαδικασία χωρισμού του κύκλου ρολογιού σε δύο μισά, για γράψιμο στο πρώτο μισό και διάβασμα στο δεύτερο μισό του κύκλου, ονομάζεται πρόσβαση σε σειρά. Η συντομογραφία IM δηλώνει τη μνήμη εντολών η DM δηλώνει τη μνήμη δεδομένων.

 

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

Μπορείτε να εξηγήσετε τη χρήση διαφορετικών κρυφών μνημών, μία για τα δεδομένα (DM) και μία για τις εντολές (IΜ), όταν γίνεται χρήση της τεχνικής της σωλήνωσης;

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


 

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

Στο σχήμα 1.2.1 το αρχείο καταχωρητών εμφανίζεται δύο φορές στον 5ο κύκλο ρολογιού. Να περιγράψετε τον τρόπο με τον οποίο χρησιμοποιείται το αρχείο καταχωρητών για την εκτέλεση των διαφορετικών εντολών.

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


 

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

 

Επιπλέον πρέπει να λάβουμε υπόψη μας την ενημέρωση της τιμής του PC όταν η εντολή, η οποία ανακαλείται, είναι μία εντολή διακλάδωσης. Μία εντολή διακλάδωσης αλλάζει την τιμή του PC στο στάδιο ΜΕΜ. Προς το παρόν, θα οργανώσουμε τη σωληνωμένη δίοδο δεδομένων ώστε να γράφει στον PC στο IF στάδιο. Με το πρόβλημα του πώς διαχειρίζονται οι διακλαδώσεις θα ασχοληθούμε αναλυτικά σε επόμενη ενότητα.

Σε κάθε κύκλο ρολογιού ενεργοποιείται ένα στάδιο της σωλήνωσης. Συνεπώς:

Όλες οι λειτουργίες ενός σταδίου πρέπει να ολοκληρώνονται μέσα σ' έναν κύκλο ρολογιού.

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

 

Καταχωρητές σωλήνωσης

 

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

Για παράδειγμα ο καταχωρητής σωλήνωσης μεταξύ των σταδίων IF και ID γράφεται IF/ID και μεταφέρει τιμές από το στάδιο IF στο στάδιο ID.

Oποιαδήποτε τιμή χρειάζεται σε επόμενα στάδια, πρέπει να τοποθετηθεί σε τέτοιον καταχωρητή και να αντιγράφεται από τον έναν καταχωρητή σωλήνωσης μεταξύ ενός ζεύγους σταδίων στον καταχωρητή σωλήνωσης του επόμενου ζεύγους σταδίων. Για παράδειγμα από τον καταχωρητή σωλήνωσης IF/ID στον καταχωρητή σωλήνωσης ID/EX.

Όταν χρησιμοποιηθεί η τιμή, σταματάει κι η αντιγραφή της στους επόμενους καταχωρητές.

 

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

Τι είναι οι καταχωρητές σωλήνωσης και για ποιο λόγο είναι απαραίτητοι στην τεχνική της σωλήνωσης; Να δώσετε ένα παράδειγμα ενός τέτοιου καταχωρητή. Να συγκρίνετε την απάντησή σας με την παράγραφο που αναφέρεται στους Καταχωρητές Σωλήνωσης.

 

ΠΑΡΑΔΕΙΓΜΑ: Σε μία αριθμητική /λογική εντολή ή σε μία εντολή φόρτωσης, στο τελευταίο στάδιο της σωλήνωσης πρέπει να γίνει εγγραφή στο αρχείο καταχωρητών. Επομένως πρέπει να είναι γνωστό το πεδίο τελεστέου καταχωρητή, δηλαδή το πεδίο εκείνο που προσδιορίζει τον καταχωρητή που πρόκειται να γίνει η εγγραφή του αποτελέσματος. Η τιμή αυτή υπάρχει στον καταχωρητή σωλήνωσης MEM/WB, από όπου και παίρνουμε αυτή την τιμή για να ολοκληρωθεί το στάδιο επανεγγραφής της εντολής.

 

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

Μπορείτε να εξηγήσετε το λόγο για τον οποίο το πεδίο του καταχωρητή στον οποίο πρόκειται να γίνει η εγγραφή του αποτελέσματος υπάρχει στον καταχωρητή σωλήνωσης MEM/WB και όχι στον καταχωρητή σωλήνωσης IF/ID;

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