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

Εξαρτήσεις Ονομάτων

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

  1. Η αντι-εξάρτηση μεταξύ της εντολής i και της εντολής j, προκύπτει όταν η εντολή j γράφει στον καταχωρητή ή στην θέση μνήμης, όπου η εντολή i διαβάζει και έχει εκτελεστεί πρώτη. Η αντι-εξάρτηση αντιστοιχεί σε κίνδυνο WAR και ο εντοπισμός των WAR κινδύνων, οδηγεί στη διάταξη ενός μη- εξαρτώμενου ζεύγους εντολών. Παράδειγμα :
  2. MULTD F3 , F0 , F5
    ADDD F0 , F2 , F4

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

Μπορείτε να εντοπίσετε σε ποιο σημείο προκαλείται ο κίνδυνος WAR;

 

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



  1. Η εξάρτηση εξόδου, προκύπτει όταν η εντολή i και η εντολή j γράφουν στον ίδιο καταχωρητή ή στην ίδια περιοχή μνήμης. Η διάταξη μεταξύ των εντολών πρέπει να διατηρείται. Οι εξαρτήσεις εξόδου διασφαλίζονται εντοπίζοντας WAW κινδύνους. Παράδειγμα :
  2. ADD R4 , R0 , R2
    LW R4 , 100(R1)

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

Μπορείτε να εντοπίσετε σε ποιο σημείο προκαλείται ο κίνδυνος WAW;

 

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



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

Αυτή η μετονομασία μπορεί πιο εύκολα να εφαρμοσθεί σε τελεστέους που βρίσκονται σε καταχωρητές και καλείται μετονομασία καταχωρητή. Η μετονομασία καταχωρητή μπορεί να επιτευχθεί με δύο τρόπους:

  • Στατικά, από έναν μεταγλωττιστή.
  • Δυναμικά με χρήση του υλικού.
ΠαράδειγμαΠαράδειγμα