Πίσω

Δραστηριότητα 1

   · Θυμάστε τι είναι ο προγραμματισμός σωλήνωσης και τι πετυχαίνουμε με αυτή την τεχνική;
· Να εφαρμόσετε την τεχνική του προγραμματισμού σωλήνωσης, δίνοντας ένα παράδειγμα.
· Για περισσότερες λεπτομέρειες καλό θα ήταν να ανατρέξετε στο 1ο κεφάλαιο και συγκεκριμένα στην 5η ενότητα: «Κίνδυνοι Δεδομένων που απαιτούν καθυστερήσεις».


Απάντηση δραστηριότητας 1

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

Παράδειγμα:

Έστω η παρακάτω ακολουθία:

a = b * c;
d = e + f ;

όπου a, b, c, d, e, f είναι διευθύνσεις μνήμης. Υποθέστε ότι οι φορτώσεις έχουν αδράνεια ενός κύκλου ρολογιού. Ο κώδικας για τη δεδομένη ακολουθία εντολών , ώστε να αποφεύγονται οι καθυστερήσεις είναι:

LW Rb, b
LW Rc, c
LW Re, e   ; ανταλλαγή της θέσης των εντολών για αποφυγή της καθυστέρησης
MUL Ra, Rb, Rc
LW Rf, f
SW a, Ra     ; ανταλλαγή αποθήκευσης /φόρτωσης αποφυγή καθυστερήσεων
SUB Rb, Re, Rf
SW d, Rd

Παρατηρούμε ότι η χρήση διαφορετικών καταχωρητών για την πρώτη και δεύτερη δήλωση είναι απαραίτητη, για να είναι σωστός ο προγραμματισμός. Αν η μεταβλητή e φορτωνόταν στον ίδιο καταχωρητή με τη μεταβλητή b ή τη μεταβλητή c, ο προγραμματισμός δε θα ήταν σωστός.