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

Στατική Πρόβλεψη Διακλάδωσης. Χρήση Τεχνολογίας Μεταγλωττιστή

   Η αποτελεσματικότητα της τεχνικής καθυστέρησης διακλάδωσης εξαρτάται κατά ένα μέρος από το αν έχουμε προβλέψει σωστά ποιο δρόμο θα ακολουθήσει η σωλήνωση. Η δυνατότητα πρόβλεψης μιας διακλάδωσης σε χρόνο μεταγλωττιστή βοηθάει στον προγραμματισμό κινδύνων δεδομένων. Έστω ότι έχουμε τον παρακάτω κώδικα:

LW R1, 0 (R2)
SUB R1, R1, R3
BEQZ R1, L
OR R4, R5, R6
.....
L: ADD R7, R8, R9

Η εξάρτηση των εντολών SUB και BEQZ από την εντολή LW σημαίνει ότι θα χρειαστεί μια καθυστέρηση μετά από την LW.

Έστω ότι γνωρίζουμε ότι αυτή η διακλάδωση ακολουθείται σχεδόν πάντα και ότι η τιμή του R7 δε χρειαζόταν στην εντολή η οποία βρίσκεται μεταξύ της εντολής διακλάδωσης και του στόχου διακλάδωσης. Τότε θα μπορούσαμε να αυξήσουμε την ταχύτητα του προγράμματος μετακινώντας την εντολή ADD R7 , R8 , R9 στη θέση μετά την εντολή LW.

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

Σχήμα 1.6.9 Το ποσοστό λανθασμένης πρόβλεψης για τη μέθοδο της πρόβλεψης με βάση πληροφορίες από προηγούμενα τρεξίματα ποικίλει, αλλά γενικά είναι καλύτερο για προγράμματα FP που έχουν μέσο ποσοστό λανθασμένης πρόβλεψης 9% με μία παρέκκλιση του 4% σε σχέση με τα προγράμματα ακεραίων για τα οποία το μέσο ποσοστό είναι 15% με παρέκκλιση της τάξης του 5%.Οι πραγματικές επιδόσεις εξαρτώνται και από την ακρίβεια της πρόβλεψης και από τη συχνότητα της διακλάδωσης ,που ποικίλει από 3% έως 24%.


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

Έστω ο παρακάτω κώδικας:

   SUB    R10, R4, R8
   BEQZ    R1, name
   AND    R12, R2, R5
   OR    R13, R2, R6
   ADD    R14, R4, R2
   SLT    R15, R6, R7
   …………………………
   name: LW    R4, 50(R7)

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

 

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


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

Έστω ο ακόλουθος κώδικας:

    SUB   R1, R2, R3
    BNΕZ    R3, N
    OR    R4, R5, R2
    ………………….
N:    AND R5, R3, R2

· Αν εκτελεστεί ο παραπάνω κώδικας υπάρχει περίπτωση να εμφανιστεί κάποιος κίνδυνος;
· Τι είδος κίνδυνος είναι αυτός και σε ποιο σημείο του κώδικα εμφανίζεται;
· Να προτείνετε τρόπο αντιμετώπισης του κίνδυνου που πιθανόν προκύπτει.

 

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