Αρχιτεκτονικές υπερβαθμωτών μικροεπεξεργαστών με δυναμικη και εκτός σειράς εκτέλεση εντολών και αξιολόγηση της απόδοσής τους
Master Thesis
Συγγραφέας
Δήμητσας, Βασίλειος Π.
Ημερομηνία
2012-10-05Επιβλέπων
Γκιζόπουλος, ΔημήτριοςΠροβολή/ Άνοιγμα
Θεματική επικεφαλίδα
Μικροεπεξεργαστής ; Αρχιτεκτονική ηλεκτρονικών υπολογιστών ; Προγραμματισμός ηλεκτρονικών υπολογιστώνΠερίληψη
Σε αυτή τη μεταπτυχιακή διατριβή γίνεται μελέτη των αρχιτεκτονικών των υπερβαθμωτών επεξεργαστών. Οι υπερβαθμωτοί επεξεργαστές έχουν τη δυνατότητα να επιλύουν τις διακλαδώσεις και να καθορίζουν τη ροή των εντολών με δυναμικό τρόπο. Επίσης, ορισμένες κατηγορίες αυτών εκτελούν τις εντολές ενός προγράμματος εκτός σειράς. Ως αντικείμενο έρευνας χρησιμοποιήθηκε ο επεξεργαστής IVM-1.0, ο οποίος σχεδιάστηκε στο Πανεπιστήμιο του Illinois, στην περιοχή Urbana-Champaign. Ο IVM είναι ο μοναδικός υπερβαθμωτός επεξεργαστής ο οποίος διατίθεται ελεύθερα στην επιστημονική κοινότητα. Υλοποιεί διοχέτευση 12 σταδίων και διαθέτει όλα εκείνα τα χαρακτηριστικά (μονάδα πρόβλεψης διακλαδώσεων, μονάδα πρόβλεψης εξαρτήσεων μνήμης, τεχνικές μετονομασίας, εκ των προτέρων προσκόμιση εντολών και άλλα) που τον κατατάσσουν στην κατηγορία των υπερβαθμωτών αρχιτεκτονικών. Εκτός από την αναλυτική μελέτη της αρχιτεκτονικής του IVM, έγινε και η πειραματική αξιολόγησή του εκτελώντας διάφορα προγράμματα, υλοποιημένα στη γλώσσα προγραμματισμού C και σε συμβολική γλώσσα. Με την εκτέλεση των προγραμμάτων παρουσιάζονται στον αναγνώστη οι διάφορες πτυχές της λειτουργίας ενός υπερβαθμωτού επεξεργαστή. Η μεταπτυχιακή εργασία έχει την ακόλουθη δομή: Αρχικά γίνεται μία εισαγωγική περιγραφή της μελέτης. Στο 1ο κεφάλαιο λαμβάνει χώρα μία αναλυτική περιγραφή της οργάνωσης των υπερβαθμωτών επεξεργαστών, επεξηγούνται οι λόγοι εφεύρεσής τους, αναφέρονται τα πλεονεκτήματά τους έναντι των βαθμωτών και τα γενικά χαρακτηριστικά τους. Στο 2ο κεφάλαιο παρουσιάζεται ο μηχανισμός πρόβλεψης εξαρτήσεων μνήμης με τη χρήση των συνόλων αποθήκευσης (store sets), που έχει σαν στόχο την αύξηση της απόδοσης του επεξεργαστή. Στο 3ο κεφάλαιο περιγράφεται διεξοδικά ο επεξεργαστής IVM και αναφέρονται με λεπτομέρεια όλα τα στάδια της διοχέτευσής του. Στο 4ο κεφάλαιο παρατίθεται η διαδικασία που πρέπει να ακολουθηθεί για την προσομοίωση της εκτέλεσης προγραμμάτων, υλοποιημένων στη γλώσσα προγραμματισμού C, στον IVM. Στο 5ο κεφάλαιο παρουσιάζεται η πειραματική αξιολόγηση του επεξεργαστή με τη βοήθεια προσομοιώσεων των εκτελέσεων κάποιων προγραμμάτων υλοποιημένων στη C και στη συμβολική γλώσσα του Alpha. Τέλος, ακολουθούν τα συμπεράσματα που εξήχθησαν από την παρούσα διατριβή και παρέχονται δύο παραρτήματα: Το παράρτημα Α περιέχει τα scripts που χρησιμοποιούνται κατά τη φάση παραγωγής του εκτελέσιμου προγράμματος και το Β περιέχει μία συνοπτική παρουσίαση της αρχιτεκτονικής συνόλου εντολών Alpha.