Βασικά το pipelining είναι μια πολύ περίεργη έννοια που όμως είναι "κλεμένη" από τις γραμμές παραγωγής των εργαστασίων!
Θα σου αναφέρω το παράδειγμα με βάση την παραγωγή ενός αντικειμένου Α που έστω έχει 3 χαρακτηριστικά ενδοιάμεσα στάδια!
Στάδιο Α: 15 μχ (μονάδες χρόνου)
Στάδιο Β: 20μχ
Στάδιο Γ: 5μχ
Δηλαδή η διαδικασία παραγωγής του Α θέλει 40μχ και αυτό δεν αλλάζει! Με τις παραδοσιακές μεθόδους μπορούμε να έχουμε ένα Α κάθε 40μχ! Με το pipelining μπορούμε να έχουμε πρακτικά ένα κάθε 20μχ ως εξής
Ξεκινάει το αντικείμενο Α1 στο πρώτο στάδιο.Κάνει 15μχ.
Τελειώνει και προχωράει το Α1 στο Στάδιο Β. Παράλληλα ξεκινάει και το αντικείμενο Α2 το στάδιο Α.
Μετά από 20μχ.
Α1 στο ΣΓ
Α2 στο ΣΒ
Α3 στο ΣΑ
Μετά από 40μχ από την αρχή το Α1 είναι έτοιμο δεν άλλαξε κάτι αλλά μετά από 20μχ τώρα θα έχω το Α2 και μετά 20μχ το Α3 και ούτο καθεεξής! Ο χρόνος παραγώγής δεν αλλάζει αλλά αλλάζει ο ρυθμός παραγωγής που ορίζεται από το στάδιο με τον μέγιστο χρόνο! Αυτό λέγεται maximize throughoutput.
Έτσι και στους υπολογιστές. Φαντάσου μια εντολή που θέλει δεδομένα από την μνήμη να τα κάνει πράξη και να τα βάλει στην μνήμη! Το pipelining έχει φτοιαχθεί ώστε ο κατακερματισμός των σταδιών να είναι συμβατός με τα στάδια ολοκλήρωσης μιας εντολής και με το μέγιστο μχ των σταδιών να μην απέχει πολύ από τα άλλα για μεγιστοποιήση της απόδοσης!
Σημείωση: Το μήνυμα αυτό γράφτηκε 19 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.