Η εξάρτηση ονομάτων προκύπτει όταν δύο εντολές χρησιμοποιούν τον ίδιο καταχωρητή ή την ίδια θέση μνήμης, που καλείται όνομα, αλλά δεν υπάρχει καμιά ροή δεδομένων μεταξύ των εντολών, που να σχετίζεται με το όνομα.
Υπάρχουν δύο είδη εξαρτήσεων ονομάτων μεταξύ μιας εντολής i, η οποία προηγείται της εντολής j:
ΔΡΑΣΤΗΡΙΟΤΗΤΑ 5
ΑΠΑΝΤΗΣΗ ΔΡΑΣΤΗΡΙΟΤΗΤΑΣ 5
ΔΡΑΣΤΗΡΙΟΤΗΤΑ 6
ΑΠΑΝΤΗΣΗ ΔΡΑΣΤΗΡΙΟΤΗΤΑΣ 6 Στις εξαρτήσεις ονομάτων, σε αντιπαράθεση με τις πραγματικές εξαρτήσεις δεδομένων, δεν υπάρχει τιμή που να μεταδίδεται μεταξύ των εντολών. Αυτό υποδηλώνει, ότι εντολές που περικλείονται στην ίδια εξάρτηση ονόματος, μπορούν να εκτελεστούν ταυτόχρονα ή να αναδιαταχθούν, αν το όνομα (καταχωρητής ή θέση μνήμης) αλλάξει, έτσι ώστε οι εντολές να μην συγκρούονται. Αυτή η μετονομασία μπορεί πιο εύκολα να εφαρμοσθεί σε τελεστέους που βρίσκονται σε καταχωρητές και καλείται μετονομασία καταχωρητή. Η μετονομασία καταχωρητή μπορεί να επιτευχθεί με δύο τρόπους:
Παράδειγμα
|
|