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

Σωλήνωση Υπολογιστών

 

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

 

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

 

Η αντιστοιχία της γραμμής παραγωγής αυτοκινήτων με τη σωλήνωση είναι η εξής:

 

Κάθε βήμα στη γραμμή παραγωγής αντιστοιχεί σε ένα στάδιο της σωλήνωσης.

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

 

Τα στάδια συνδέονται μεταξύ τους για να σχηματίσουν μια σωλήνωση. Μια σωλήνωση έχει δύο άκρα, μία είσοδο και μία έξοδο. Οι εντολές μπαίνουν από το ένα άκρο της σωλήνωσης, προχωρούν, περνώντας μέσα απ' όλα τα στάδια και τέλος βγαίνουν από το άλλο άκρο. Όλα τα στάδια πρέπει να είναι έτοιμα να ξεκινήσουν την εκτέλεση των διαφόρων τμημάτων των εντολών παράλληλα.

 

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

 

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

 

Φανταστείτε μια γραμμή συναρμολόγησης αυτοκινήτων. Έστω ότι δύο διαδοχικά βήματα είναι τα Α και Β. Υποθέστε ότι ο χρόνος για το βήμα Α είναι μικρότερος από εκείνον του Β. Ένα αυτοκίνητο βρίσκεται στο βήμα Α κι άλλο ένα στο βήμα Β. Σκεφτείτε ότι το πρώτο αυτοκίνητο είναι αδύνατον να προχωρήσει στο βήμα Β, αν πρώτα δεν έχει τελειώσει απ' αυτό το βήμα το δεύτερο αυτοκίνητο. Κάτι ανάλογο συμβαίνει και με τη σωλήνωση. Γι' αυτό είναι απαραίτητο να συγχρονιστούν όλα τα στάδια της σωλήνωσης με το πιο αργό στάδιο.

 

Στόχος του σχεδιαστή της σωλήνωσης είναι να ισορροπήσει τα μήκη των σταδίων της. Έχοντας τις εξής προϋποθέσεις:

  1. Ιδανικές συνθήκες
  2. Τέλεια ισορροπημένα στάδια

Ο χρόνος / εντολή (υπολογιστής με σωλήνωση) = χρόνος / εντολή (υπολογιστής χωρίς σωλήνωση) /αριθμός σταδίων

 

<%

 

Τι πετυχαίνουμε τελικά με τη σωλήνωση;

Μ ε τη σωλήνωση πετυχαίνουμε:

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

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

 

Θα πρέπει να δώσουμε ιδιαίτερη προσοχή στο εξής αντιφατικό σημείο:

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

 

 

 

%>

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

Μπορείτε να εξηγήσετε τι πετυχαίνουμε χρησιμοποιώντας την τεχνική της σωλήνωσης;

 

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

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


 

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

Έστω πέντε στάδια σωλήνωσης με χρόνους 10ns, 8ns, 20ns, 15ns, 10ns αντίστοιχα. Πόσο είναι το μήκος του κύκλου μηχανής.

 

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