HEAL DSpace

Επέκταση του μεταγλωττιστή HiPE για αρχιτεκτονική ARM 64-bit

Αποθετήριο DSpace/Manakin

Εμφάνιση απλής εγγραφής

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


Αρχεία σε αυτό το τεκμήριο

Οι παρακάτω άδειες σχετίζονται με αυτό το τεκμήριο:

Αυτό το τεκμήριο εμφανίζεται στην ακόλουθη συλλογή(ές)

Εμφάνιση απλής εγγραφής

Αναφορά Δημιουργού - Παρόμοια Διανομή 3.0 Ελλάδα Εκτός από όπου ορίζεται κάτι διαφορετικό, αυτή η άδεια περιγράφεται ως Αναφορά Δημιουργού - Παρόμοια Διανομή 3.0 Ελλάδα