Μια εντολή j είναι εξαρτώμενη, όσον αφορά τα δεδομένα (data dependent), από μία εντολή i αν ισχύει μία από τις ακόλουθες συνθήκες:
Η δεύτερη συνθήκη δηλώνει ότι μία εντολή εξαρτάται από μία άλλη, αν υπάρχει μεταξύ τους μία 'αλυσίδα' από εξαρτήσεις δεδομένων. Πιθανόν η αλυσίδα δεδομένων να είναι τόσο μεγάλη, όσο και ολόκληρο το πρόγραμμα.
Παράδειγμα 1oΔΡΑΣΤΗΡΙΟΤΗΤΑ 1
ΔΡΑΣΤΗΡΙΟΤΗΤΑ 2
ΑΠΑΝΤΗΣΗ ΔΡΑΣΤΗΡΙΟΤΗΤΑΣ 2 Εκτελώντας αυτές τις εντολές ταυτόχρονα σε έναν επεξεργαστή με κλείδωμα σωλήνωσης, αυτός εντοπίζει κινδύνους και καθυστερήσεις, μειώνοντας ή εξαλείφοντας έτσι, την επικάλυψη των εντολών. Ένας επεξεργαστής χωρίς κλείδωμα σωλήνωσης βασίζεται στο προγραμματισμό ενός μεταγλωττιστή. Όμως, ο μεταγλωττιστής δεν μπορεί να προγραμματίσει εξαρτώμενες εντολές ώστε να έχουμε πλήρη επικάλυψη.
Η σπουδαιότητα της εξάρτησης δεδομένων συνίσταται στο γεγονός ότι η εξάρτηση: ΔΡΑΣΤΗΡΙΟΤΗΤΑ 3
ΑΠΑΝΤΗΣΗ ΔΡΑΣΤΗΡΙΟΤΗΤΑΣ 3 ΔΡΑΣΤΗΡΙΟΤΗΤΑ 4
Παράδειγμα 2o
ΔΡΑΣΤΗΡΙΟΤΗΤΑ 5
|
|