Please use this identifier to cite or link to this item: http://artemis.cslab.ece.ntua.gr:8080/jspui/handle/123456789/17194
Title: Επέκταση του μεταγλωττιστή HiPE για αρχιτεκτονική ARM 64-bit
Authors: Παπουτσιδάκης, Αθανάσιος
Σαγώνας Κωστής
Keywords: Μεταγλωττιστές γλωσσών προγραμματισμού
Αρχιτεκτονική aarch64
Επεξεργαστές RISC
Γλώσσα προγραμματισμού Erlang
Ανάπτυξη λογισμικού βασισμένη σε δοκιμές
Παραγωγή κώδικα μηχανής
Διεπαφή με περιβάλλοντα εκτέλεσης
Issue Date: 15-Oct-2018
Abstract: Ο σκοπός αυτής της διπλωματικής εργασίας είναι η επέκταση του μεταγλωττιστή HiPE της υλοποίησης OTP της συναρτησιακής γλώσσας προγραμματισμού Erlang, για την παραγωγή εκτελέσιμων προγραμμάτων σε κώδικα μηχανής αρχιτεκτονικής aarch64. Παράλληλα μελετήσαμε τις διαφορές ανάμεσα στην αρχιτεκτονική aarch64 και την προηγούμενή της, την αρχιτεκτονική arm, καθώς και τη διαδικασία που μπορεί ένας κατασκευαστής μεταγλωττιστών να ακολουθήσει για να επεκτείνει ένα γενικό μεταγλωττιστή αρχιτεκτονικής arm για αρχιτεκτονική aarch64. Με αυτή την εργασία οι συσκευές που είναι εξοπλισμένες με επεξεργαστή armv8 ή νεότερο θα είναι ικανές να εκτελέσουν προγράμματα Erlang μεταφρασμένα απευθείας σε κώδικα μηχανής, αυξάνοντας έτσι την ταχύτητα εκτέλεσης και μειώνοντας την κατανάλωση ενέργειας. Επιπλέον, προγραμματιστές που προσαρμόζονται στη νέα αρχιτεκτονική θα έχουν τη δυνατότητα να ανατρέξουν στην ανάλυση των διαφορών που συλλέχθηκαν κατά τη διάρκεια της εργασίας, ώστε να προλάβουν μελλοντικά σφάλματα και απρόβλεπτες δυσκολίες στις υλοποιήσεις τους. Η aarch64 είναι αρχιτεκτονική τύπου RISC, μετεξέλιξη της υπάρχουσας αρχιτεκτονικής arm, και σταδιακά εισάγεται σε πλήθος νέων συσκευών, όσο η βιομηχανία παράγει αποδοτικότερους επεξεργαστές που την χρησιμοποιούν. Υλοποιήσεις της υπάρχουσας αρχιτεκτονικής arm υπάρχουν σε αρκετές γλώσσες προγραμματισμού, και οι διαφορές ανάμεσα στις δύο αρχιτεκτονικές είναι όχι σημαντικά πολλές, έτσι ώστε να είναι όσο το δυνατόν ευκολότερη η μετατροπή και επέκταση των υλοποιήσεων. Η υλοποίηση OTP της γλώσσας Erlang παρέχει ένα οργανωμένο περιβάλλον εκτέλεσης, το οποίο ενεργοποιώντας τον μεταγλωττιστή HiPE είναι ικανό να παράξει και να εκτελέσει κατά παραγγελία κώδικα μηχανής για πληθώρα αρχιτεκτονικών. Τα τμήματα του HiPE που παράγουν κώδικα για κάθε αρχιτεκτονική είναι αυστηρά οργανωμένα στην υλοποίηση και κατά το πλείστον αυτόνομα, δίνοντάς μας τη δυνατότητα να κατασκευάσουμε το τμήμα μεταγλωττιστή για την αρχιτεκτονική aarch64 συμβουλευόμενοι το υπάρχον τμήμα του HiPE για την παρόμοια αρχιτεκτονική arm.
URI: http://artemis.cslab.ece.ntua.gr:8080/jspui/handle/123456789/17194
Appears in Collections:Διπλωματικές Εργασίες - Theses

Files in This Item:
File Description SizeFormat 
Thesis.pdf967.9 kBAdobe PDFView/Open


Items in Artemis are protected by copyright, with all rights reserved, unless otherwise indicated.