Πανεπιστήμιο Θεσσαλίας

Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

 

ECE426 Προχωρημένα Θέματα Μεταγλωττιστών

 

 

 

 

 

Μάθημα ΠΜΣ & 8ου εξαμήνου ΠΠΣ

 

Περιγραφή:

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

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

 

Κύριο σύγγραμμα:

A. Aho, M. Lam, R. Sethi, J. Ullman, "Μεταγλωττιστές: Αρχές, τεχνικές και εργαλεία"

 

Το μάθημα χρησιμοποιεί την ηλεκτρονική πλατφόρμα eclass του ΠΘ, όπου αναρτώνται επικαιροποιημένες πληροφορίες, και κατά τη διάρκεια του εξαμήνου και το υλικό του μαθήματος.