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

Περιορισμοί στους επεξεργαστές πολλαπλής διευθέτησης

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

  1. Έμφυτοι περιορισμοί της παραλληλίας σε επίπεδο εντολών στα προγράμματα.
  2. Δυσκολίες στην κατασκευή του υλικού.
  3. Ειδικοί περιορισμοί για υπερβαθμωτή ή VLIW εφαρμογή.

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

Παράδειγμα

Αν η σωλήνωση κινητής υποδιαστολής έχει καθυστέρηση πέντε κύκλων και θέλουμε να προγραμματίσουμε μαζί δύο σωληνώσεις κινητής υποδιαστολής χωρίς καθυστερήσεις, τότε θα πρέπει να υπάρχουν 10 λειτουργίες κινητής υποδιαστολής ανεξάρτητες από την πιο πρόσφατα διευθετημένη λειτουργία κινητής υποδιαστολής. Γενικά, χρειάζεται να βρούμε έναν αριθμό ανεξάρτητων λειτουργιών σχεδόν ίσο με το μέσο βάθος σωλήνωσης ίσο με τον αριθμό των λειτουργικών μονάδων. Αυτό σημαίνει ότι σχεδόν 15 ως 20 λειτουργίες, θα χρειαστούν για να κρατήσουμε απασχολημένο έναν επεξεργαστή πολλαπλής διευθέτησης με πέντε λειτουργικές μονάδες.

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

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

Μπορείτε να προσδιορίσετε με ποιον τρόπο θα μπορούσαμε να επεκτείνουμε τον αριθμό των διευθετήσεων;

 

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



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

Ανάμεσα, στους υπερβαθμωτούς και στους VLIW επεξεργαστές υπάρχουν και αυτοί που χρησιμοποιούν συνδυασμό στατικού προγραμματισμού από τον μεταγλωττιστή και δυναμικού προγραμματισμού με χρήση υλικού, το οποίο παίρνει την απόφαση για το πόσες από τις επόμενες n εντολές θα διευθετήσει.


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

Ποιες κατηγορίες επεξεργαστών πολλαπλής διευθέτησης γνωρίζετε και τι είδους προγραμματισμός χρησιμοποιείται σε αυτούς τους επεξεργαστές; Να συγκρίνετε την απάντησή σας με τους ορισμούς που υπάρχουν στην πρώτη υποενότητα: «Γενικά για τους VLIW και υπερβαθμωτούς επεξεργαστές».