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

Εξαρτήσεις Δεδομένων

   Μια εντολή j είναι εξαρτώμενη, όσον αφορά τα δεδομένα (data dependent), από μία εντολή i αν ισχύει μία από τις ακόλουθες συνθήκες:

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

Παράδειγμα 1oΠαράδειγμα 1o

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

· Να εκτελέσετε των κώδικα του παραδείγματος χρησιμοποιώντας το λογισμικό προσομοίωσης του DLX, Windlx, το οποίο παρατίθεται στις ιστοσελίδες:

http://www.gup.uni-linz.ac.at/downloads/ti3/windlx
http://www.mkp.com/pub/dlx

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

· Για περισσότερες λεπτομέρειες καλό θα ήταν να συμβουλευόσασταν το παράρτημα Α: «Εργαλεία Προσομοίωσης του DLX».


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

· Μπορείτε να προσδιορίσετε τι συμβαίνει με την εκτέλεση δύο εντολών οι οποίες έχουν εξάρτηση δεδομένων;
· Θεωρείτε πως υπάρχει περίπτωση κινδύνου σε αυτή την περίπτωση; Να αιτιολογήσετε την απάντησή σας.

 

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



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

Η σπουδαιότητα της εξάρτησης δεδομένων συνίσταται στο γεγονός ότι η εξάρτηση:

  • Υποδηλώνει την πιθανότητα κινδύνου.
  • Καθορίζει την σειρά σύμφωνα με την οποία τα αποτελέσματα πρέπει να υπολογιστούν.
  • Θέτει ένα ανώτατο όριο όσον αφορά το βαθμό πιθανής εκμετάλλευσης της παραλληλίας.

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

Η εξάρτηση δεδομένων μπορεί να περιορίσει το βαθμό εκμετάλλευσης της παραλληλίας σε επίπεδο εκτέλεσης εντολής. Μπορείτε να υποδείξετε τρόπους με τους οποίους αυτό μπορεί να αποφευχθεί;

 

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



Παράδειγμα 2oΠαράδειγμα 2o

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

· Να εκτελέσετε των κώδικα του παραδείγματος χρησιμοποιώντας το λογισμικό προσομοίωσης του DLX, Windlx, το οποίο παρατίθεται στις ιστοσελίδες:

http://www.gup.uni-linz.ac.at/downloads/ti3/windlx
http://www.mkp.com/pub/dlx

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

· Για περισσότερες λεπτομέρειες καλό θα ήταν να συμβουλευόσασταν το παράρτημα Α: «Εργαλεία Προσομοίωσης του DLX».


Παράδειγμα 3oΠαράδειγμα 3o


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

Έστω ο παρακάτω κώδικας:
.data
           .word 2,0,100
           .text
main:   lw r1,$DATA(r0)
           lw r4,$DATA +4(r0)
           lw r1,$DATA +8(r0)
loop:   add r4,r4,r2
           sw $DATA(r0),r4
           subi r1,r1,#1
           bnez r1,loop
           trap #0
· Να προσδιορίσετε σε ποια σημεία του προγράμματος εμφανίζονται εξαρτήσεις δεδομένων.
· Να εκτελέσετε των κώδικα του παραδείγματος χρησιμοποιώντας το λογισμικό προσομοίωσης του DLX, Windlx, το οποίο παρατίθεται στις ιστοσελίδες:

http://www.gup.uni-linz.ac.at/downloads/ti3/windlx
http://www.mkp.com/pub/dlx

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

· Για περισσότερες λεπτομέρειες καλό θα ήταν να συμβουλευόσασταν το παράρτημα Α: «Εργαλεία Προσομοίωσης του DLX».