Πίσω

Παράδειγμα 2o

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

Aπάντηση

  Όπως δείχνουν τα τόξα, οι εντολές SUBI σχηματίζουν μία εξάρτηση που περιλαμβάνει τις SUBI, LD και SD εντολές, αναγκάζοντας το σώμα να εκτελείται σε σειρά. Η εντολή SUBI εφαρμόζεται όπου κρίνεται απαραίτητο, γεγονός που αυξάνει τον αριθμό των εντολών. Για να βελτιώσουμε τον παραπάνω βρόχο ο μεταγλωττιστής υπολογίζει τις ενδιάμεσες τιμές του R1, αποθηκεύει τον υπολογισμό στο offset των εντολών LD και SD, μειώνει την τελική τιμή του R1 κατά 32 κάνοντας τις τρεις εντολές SUBI περιττές, και επομένως, ο μεταγλωττιστής μπορεί να τις παραλείψει