For faster navigation, this Iframe is preloading the Wikiwand page for Σωλήνωση (υπολογιστές).

Σωλήνωση (υπολογιστές)

Το λήμμα παραθέτει τις πηγές του αόριστα, χωρίς παραπομπές. Βοηθήστε συνδέοντας το κείμενο με τις πηγές χρησιμοποιώντας παραπομπές, ώστε να είναι επαληθεύσιμο. Το πρότυπο τοποθετήθηκε χωρίς ημερομηνία. Για τη σημερινή ημερομηνία χρησιμοποιήστε: ((χωρίς παραπομπές|4|08|2024))

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

Οι βασικές σωληνώσεις σχετικές με υπολογιστές είναι :

  • η σωλήνωση εντολών όπως η κλασική σωλήνωση RISC, που χρησιμοποιείται στην Κεντρική Μονάδα Επεξεργασίας επιτρέποντας να εκτελούνται παράλληλα τα στάδια διαφορετικών εντολών αυξάνοντας την απόδοση του υπολογιστή. Στη σωλήνωση αυτή τα στοιχεία της επεξεργασίας είναι μέρη του επεξεργαστή που υλοποιούν τα επιμέρους στάδια εκτέλεσης μια εντολής (προσαγωγή, αποκωδικοποίηση, υπολογισμός τελεστών, προσαγωγή τελεστών, εκτέλεση εντολής κτλ.). Πρόκειται για μία μέθοδο παραλληλισμού εντολών στο υλικό του επεξεργαστή.
  • η σωλήνωση γραφικών η οποία συναντάται στις περισσότερες κάρτες γραφικών, οι οποίες αποτελούνται από πολλαπλές μονάδες αριθμητικής ή πλήρεις επεξεργαστές που υλοποιούν τα διαφορετικά στάδια λειτουργιών γραφικής απόδοσης(rendering) όπως προοπτική προβολή, ψαλίδισμα παραθύρων, υπολογισμούς φωτισμού κτλ.
  • η σωλήνωση λογισμικού η οποία αποτελείται από διεργασίες κατάλληλα διαμορφωμένες ώστε το ρεύμα δεδομένων εξόδου της μιας να είναι ρεύμα δεδομένων εξόδου για την επόμενη.
  • η σωλήνωση (pipe) ως ένας μηχανισμός διαδιεργασιακής επικοινωνίας. Έτσι υλοποιείται εσωτερικά η σωλήνωση λογισμικού στα λειτουργικά συστήματα Unix.

Η έννοια της σωλήνωσης

[Επεξεργασία | επεξεργασία κώδικα]

Η έννοια της σωλήνωσης έχει εφαρμογή στην καθημερινότητά μας. Το κλασικό παράδειγμα είναι η σωλήνωση που πραγματοποιείται σε μια αλυσίδα παραγωγής σε ένα εργοστάσιο. Π.χ. σε ένα εργοστάσιο αυτοκινήτων υπάρχουν τρία διακριτά στάδια στην γραμμή παραγωγής: ενσωμάτωση μηχανής (20 λεπτά), ξύλινη εσωτερική επένδυση (5 λεπτά), τροχοί (10 λεπτά). Τα στάδια αυτά εκτελούνται με κάποια σειρά για κάθε παραγόμενο όχημα. Μόλις ενσωματωθεί η μηχανή σε ένα αυτοκίνητο, το τελευταίο αφήνει το στάδιο αυτό για να περάσει στο στάδιο της «επένδυσης». Την ίδια στιγμή ένα καινούργιο όχημα εισέρχεται στο πρώτο στάδιο της «μηχανής». Τα δύο στάδια εκτελούνται παράλληλα από διαφορετικά στάδια της αλυσίδας για διαφορετικά αυτοκίνητα. Αν θέλαμε να φτιάξουμε τρια αυτοκίνητα και η σωλήνωση δεν ξεκινούσε να δουλεύει σε νέο αυτοκίνητο μέχρι να τελειώσει το παλιό, θα χρειαζόμασταν 105 λεπτά. Εκμεταλλευόμενοι όμως τη δυνατότητα που μας παρέχεται για παραλληλη λειτουργία των στάδιων της σωλήνωσης θα χρειαζόμασταν μόνο 75 λεπτά.

Πλεονεκτήματα και μειονεκτήματα

[Επεξεργασία | επεξεργασία κώδικα]

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

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

Σχεδιαστικά ζητήματα

[Επεξεργασία | επεξεργασία κώδικα]

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

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

{{bottomLinkPreText}} {{bottomLinkText}}
Σωλήνωση (υπολογιστές)
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?