dc.contributor.author | Παπουτσιδάκης, Αθανάσιος | el |
dc.contributor.author | Papoutsidakis, Athanasios | en |
dc.date.accessioned | 2019-05-17T09:58:58Z | |
dc.date.available | 2019-05-17T09:58:58Z | |
dc.date.issued | 2019-05-17 | |
dc.identifier.uri | https://dspace.lib.ntua.gr/xmlui/handle/123456789/48765 | |
dc.identifier.uri | http://dx.doi.org/10.26240/heal.ntua.16366 | |
dc.rights | Αναφορά Δημιουργού - Παρόμοια Διανομή 3.0 Ελλάδα | * |
dc.rights.uri | http://creativecommons.org/licenses/by-sa/3.0/gr/ | * |
dc.subject | Μεταγλωττιστές γλωσσών προγραμματισμού | el |
dc.subject | Γλώσσα προγραμματισμού Erlang | el |
dc.subject | Αρχιτεκτονική aarch64 | el |
dc.subject | Επεξεργαστές RISC | el |
dc.subject | Ανάπτυξη λογισμικού βασισμένη σε δοκιμές | el |
dc.subject | Παραγωγή κώδικα μηχανής | el |
dc.subject | Διεπαφή με περιβάλλοντα εκτέλεσης | el |
dc.subject | Programming language compilers | en |
dc.subject | AArch64 architecture | en |
dc.subject | RISC processors | en |
dc.subject | Erlang programming language | en |
dc.subject | Test-driven development | en |
dc.subject | Machine code production | en |
dc.subject | Interfacing with runtime systems | en |
dc.title | Επέκταση του μεταγλωττιστή HiPE για αρχιτεκτονική ARM 64-bit | el |
dc.title | Extension of the HiPE compiler for the 64-bit ARM architecture | en |
heal.type | bachelorThesis | |
heal.classification | Επιστήμη υπολογιστών / πληροφορική | el |
heal.classification | Compilers (Computer programs) | en |
heal.classification | Computer science | en |
heal.classificationURI | http://data.seab.gr/concepts/77de68daecd823babbb58edb1c8e14d7106e83bb | |
heal.classificationURI | http://id.loc.gov/authorities/subjects/sh86007588 | |
heal.classificationURI | http://id.loc.gov/authorities/subjects/sh89003285 | |
heal.language | el | |
heal.access | free | |
heal.recordProvider | ntua | el |
heal.publicationDate | 2018-10-15 | |
heal.abstract | Ο σκοπός αυτής της διπλωματικής εργασίας είναι η επέκταση του μεταγλωττιστή HiPE της υλοποίησης OTP της συναρτησιακής γλώσσας προγραμματισμού Erlang, για την παραγωγή εκτελέσιμων προγραμμάτων σε κώδικα μηχανής αρχιτεκτονικής aarch64. Παράλληλα μελετήσαμε τις διαφορές ανάμεσα στην αρχιτεκτονική aarch64 και την προηγούμενή της, την αρχιτεκτονική arm, καθώς και τη διαδικασία που μπορεί ένας κατασκευαστής μεταγλωττιστών να ακολουθήσει για να επεκτείνει ένα γενικό μεταγλωττιστή αρχιτεκτονικής arm για αρχιτεκτονική aarch64. Με αυτή την εργασία οι συσκευές που είναι εξοπλισμένες με επεξεργαστή armv8 ή νεότερο θα είναι ικανές να εκτελέσουν προγράμματα Erlang μεταφρασμένα απευθείας σε κώδικα μηχανής, αυξάνοντας έτσι την ταχύτητα εκτέλεσης και μειώνοντας την κατανάλωση ενέργειας. Επιπλέον, προγραμματιστές που προσαρμόζονται στη νέα αρχιτεκτονική θα έχουν τη δυνατότητα να ανατρέξουν στην ανάλυση των διαφορών που συλλέχθηκαν κατά τη διάρκεια της εργασίας, ώστε να προλάβουν μελλοντικά σφάλματα και απρόβλεπτες δυσκολίες στις υλοποιήσεις τους. Η aarch64 είναι αρχιτεκτονική τύπου RISC, μετεξέλιξη της υπάρχουσας αρχιτεκτονικής arm, και σταδιακά εισάγεται σε πλήθος νέων συσκευών, όσο η βιομηχανία παράγει αποδοτικότερους επεξεργαστές που την χρησιμοποιούν. Υλοποιήσεις της υπάρχουσας αρχιτεκτονικής arm υπάρχουν σε αρκετές γλώσσες προγραμματισμού, και οι διαφορές ανάμεσα στις δύο αρχιτεκτονικές είναι όχι σημαντικά πολλές, έτσι ώστε να είναι όσο το δυνατόν ευκολότερη η μετατροπή και επέκταση των υλοποιήσεων. Η υλοποίηση OTP της γλώσσας Erlang παρέχει ένα οργανωμένο περιβάλλον εκτέλεσης, το οποίο ενεργοποιώντας τον μεταγλωττιστή HiPE είναι ικανό να παράξει και να εκτελέσει κατά παραγγελία κώδικα μηχανής για πληθώρα αρχιτεκτονικών. Τα τμήματα του HiPE που παράγουν κώδικα για κάθε αρχιτεκτονική είναι αυστηρά οργανωμένα στην υλοποίηση και κατά το πλείστον αυτόνομα, δίνοντάς μας τη δυνατότητα να κατασκευάσουμε το τμήμα μεταγλωττιστή για την αρχιτεκτονική aarch64 συμβουλευόμενοι το υπάρχον τμήμα του HiPE για την παρόμοια αρχιτεκτονική arm. | el |
heal.abstract | The purpose of this thesis project is the adaptation of the HiPE compiler of the OTP implementation of the Erlang programming language, for the production of executables in machine code of aarch64 architecture. Concurrently we studied the differences between the aarch64 architecture and its predecessor, the arm architecture, as well as the procedure a compiler implementer may follow to adapt a generic arm compiler for the aarch64 architecture. With this effort the devices equipped with an armv8 or newer processor will become able to execute Erlang applications directly translated to machine code, thus increasing their execution speed and reducing the energy consumption. Moreover, programmers adapting to the new architecture will be able to consult the analysis of the differences collected during the project, so that they may avoid future errors and unexpected difficulties during their implementations. Aarch64 is a RISC type architecture, a successor to the existing arm architecture, and is gradually introduced into a plethora of new devices, as the industry produces more efficient processors for it. Implementations of the existing arm architecture exist in various programming languages, and the differences between the two architectures are not too many, so that adapting and augmenting implementations would be as easy as possible. The OTP implementation of the Erlang language provides an organized runtime system, which by activating the HiPE compiler is able to produce and execute on demand machine code for a variety of architectures. The HiPE backends that produce code for each architecture are definitively organized within the implementation and mostly autonomous, granting us the ability to construct the compiler backend for the aarch64 architecture by consulting the existing backend of HiPE for the similar arm architecture. | en |
heal.advisorName | Σαγώνας, Κωνσταντίνος | el |
heal.committeeMemberName | Παπασπύρου, Νικόλαος | el |
heal.committeeMemberName | Κοζύρης, Νεκτάριος | el |
heal.committeeMemberName | Γκούμας, Γεώργιος | el |
heal.academicPublisher | Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών | el |
heal.academicPublisherID | ntua | |
heal.numberOfPages | 69 σ. | |
heal.fullTextAvailability | true |
Οι παρακάτω άδειες σχετίζονται με αυτό το τεκμήριο: