Παρακαλώ χρησιμοποιήστε αυτό το αναγνωριστικό για να παραπέμψετε ή να δημιουργήσετε σύνδεσμο προς αυτό το τεκμήριο: http://artemis.cslab.ece.ntua.gr:8080/jspui/handle/123456789/13874
Τίτλος: Μεταγλωττιστής Υλικού
Συγγραφείς: Γιώργος Ασημενός
Παπακωνσταντίνου Γεώργιος
Λέξεις κλειδιά: hardware compiler
circuits
verilog
languages
programming
synthesis
c
μεταγλωττιστής υλικού
προγραμματισμός
σύνθεση
κυκλώματα
γλώσσες
Ημερομηνία έκδοσης: 24-Ιου-2003
Περίληψη: Η παραδοσιακή προσέγγιση για την αντιμετώπιση ενός υπολογιστικού προβλήματος ή γενικότερα για την υλοποίηση ενός αλγορίθμου περιλαμβάνει τον προγραμματισμό σε κάποια γλώσσα υψηλού επιπέδου, τη μεταγλώττιση και μετατροπή σε γλώσσα μηχανής, και τελικά την ακολουθιακή εκτέλεση σε κάποιον επεξεργαστή.<P>Μια πιο επαναστατική προσέγγιση θα ήταν αυτή κατά την οποία η μεταγλώττιση ενός προγράμματος συνθέτει ένα ειδικευμένο κύκλωμα, δηλαδή περιγράφει ένα κομμάτι υλικού (hardware). Έτσι, αντί ο μεταγλωττιστής να παράγει software, παράγει ένα ισοδύναμο, από λειτουργικής άποψης, hardware.<P>Η διπλωματική αυτή εργασία είναι το αποτέλεσμα ερευνητικής δραστηριότητας που έγινε προς αυτή την κατεύθυνση, με στόχο τη σχεδίαση ενός μεταγλωττιστή υλικού για μια δημοφιλή γλώσσα υψηλού επιπέδου. Έτσι, ως αρχική γλώσσα επελέγη η γλώσσα C, της οποίας όμως η σύνταξη (αλλά και η σημασιολογία) υπέστη κάποιες απαραίτητες τροποποιήσεις, οι οποίες και περιγράφονται στην εργασία.<P>Το μεγαλύτερο βάρος της έρευνας δόθηκε στον τρόπο με τον οποίο μπορούν να αναπαρασταθούν κυκλωματικά τα διάφορα στοιχεία της γλώσσας, έτσι ώστε να μη χάνεται η λειτουργικότητά της, και να υποστηριχθούν όσο το δυνατό περισσότερες δυνατότητες της C στο κύκλωμα, όπως η κλήση κατ' αναφορά ή η αναδρομή. Τελικώς προέκυψαν αρκετά ενδιαφέροντα αποτελέσματα, και στην εργασία περιγράφεται αναλυτικά η κυκλωματική απεικόνιση όλων αυτών που συνιστούν ένα πρόγραμμα, όπως οι μεταβλητές, οι εντολές, οι τελεστές, κλπ.<P>Το εγχείρημα ολοκληρώθηκε με την κατασκευή μιας υλοποίησης του μεταγλωττιστή, η οποία διαβάζει προγράμματα που είναι γραμμένα στην (τροποποιημένη) γλώσσα C και εξάγει την περιγραφή του τελικού κυκλώματος σε Verilog. Η υλοποίηση αυτή του μεταγλωττιστή γράφτηκε σε ANSI C, ενώ ως front-end χρησιμοποιήθηκε ο RDP, ένας LL(1) αναλυτής αναδρομικής κατάβασης. Η υλοποίηση σχολιάζεται σύντομα στην εργασία, και δίνονται κάποια παραδείγματα εκτέλεσης. [Σημείωση: Ο πηγαίος κώδικας της υλοποίησης δεν περιλαμβάνεται, και γενικότερα δεν διακινείται ελεύθερα. Ως Proof of Concept (POC) υφίσταται μια έκδοση που πραγματοποιεί online μεταγλώττιση μέσω του web.]<P>Το ηλεκτρονικό έγγραφο απαιτεί Adobe Acrobat Reader 6.0 και άνω.
URI: http://artemis-new.cslab.ece.ntua.gr:8080/jspui/handle/123456789/13874
Εμφανίζεται στις συλλογές:Διπλωματικές Εργασίες - Theses

Αρχεία σε αυτό το τεκμήριο:
Αρχείο ΜέγεθοςΜορφότυπος 
DT2003-0099.pdf2.76 MBAdobe PDFΕμφάνιση/Άνοιγμα


Όλα τα τεκμήρια του δικτυακού τόπου προστατεύονται από πνευματικά δικαιώματα.