Προηγμένα Υπολογιστικά Συστήματα: Τεχνικές Βελτιστοποίησης Κώδικα για Πολυεπεξεργαστικές Αρχιτεκτονικές
Κωδικός | 632 |
---|---|
Εξάμηνο | Χειμερινό |
Ώρες Διδασκαλίας - Ώρες Εργαστηρίου | 3 - 0 |
Διδάσκοντες | Γεώργιος Γκούμας |
Περιγραφή
Σκοπός του μαθήματος είναι η μελέτη των αρχιτεκτονικών χαρακτηριστικών των σύγχρονων επεξεργαστών και η αποδοτική αξιοποίησή τους από τον κώδικα που εκτελείται σε αυτές. Μελετώνται όλες οι γνωστές τεχνικές βελτιστοποίησης κώδικα για την επιτάχυνση της εκτέλεσης των πιο χρονοβόρων τμημάτων, καθώς και εκμετάλλευση του παραλληλισμού που μπορεί να βρεθεί σε διάφορα σημεία των προγραμμάτων. Αναλυτικά τα περιεχόμενα περιλαμβάνουν:
Σύγχρονοι Επεξεργαστές: Πολυνηματικοί, Ύπερβαθμωτοί, Πολλαπλών Πυρήνων. Ιεραρχίες Αρχιτεκτονικών Κρυφών Μνημών. Τεχνικές Βελτιστοποίησης Κώδικα: Ανάλυση Εξαρτήσεων, Μετασχηματισμοί επαναληπτικών Βρόχων, πρόβλεψη διακλάδωσης, μετασχηματισμοί δεδομένων. Βελτιστοποίηση τοπικότητας αναφοράς σε κρυφές μνήμες για τη μείωση των αστοχιών (cache & TLB misses), Πολυνηματικός Προγραμματισμός για συστήματα πολλαπλών πυρήνων & πολλαπλών επεξεργαστών.