Please use this identifier to cite or link to this item:
http://artemis.cslab.ece.ntua.gr:8080/jspui/handle/123456789/8678
Full metadata record
DC Field | Value | Language |
---|---|---|
dc.contributor.author | Ισίδωρος Σιδερής | |
dc.date.accessioned | 2018-07-22T22:39:07Z | - |
dc.date.available | 2018-07-22T22:39:07Z | - |
dc.date.issued | 2009-1-15 | |
dc.date.submitted | 2008-12-10 | |
dc.identifier.uri | http://artemis-new.cslab.ece.ntua.gr:8080/jspui/handle/123456789/8678 | - |
dc.description.abstract | Η γλώσσα Java είναι μία σύγχρονη αντικειμενοστρεφής γλώσσα προγραμματισμού, που έχει διαδοθεί ιδιαίτερα σε μια πληθώρα συστημάτων. Τελευταία, έχει κάνει αισθητή την παρουσία της και σε ενσωματωμένες/φορητές συσκευές, όπως κινητά τηλέφωνα, set-top boxes κα. Τα κύρια χαρακτηριστικά της γλώσσας, τα οποία οδήγησαν και στην ευρεία διάδοσή της, είναι η παρεχόμενη ασφάλεια και η μεταφερσιμότητα των εφαρμογών, καθώς τα εκτελέσιμα προγράμματα Java περιέχουν εντολές μίας εικονικής μηχανής, της εικονικής μηχανής Java.Το στρώμα λογισμικού που μεσολαβεί μεταξύ του εικονικού εκτελέσιμου και της πλατφόρμας του οικείου συστήματος, οδηγεί σε σημαντική επιβράδυνση στην εκτέλεση. Η διατριβή αυτή επικεντρώνει στη μείωση αυτής της επιβάρυνσης σε φορητά συστήματα που τρέχουν πολυμεσικές εφαρμογές. Προτείνονται μικροαρχιτεκτονικές τεχνικές για την υλοποίηση μίας αποδοτικής εικονικής μηχανής Java για τέτοια συστήματα. Δίνεται ιδιαίτερη έμφαση στη διατήρηση της μεταφερσιμότητας, που έχει ιδιαίτερη αξία σε διαδικτυακά περιβάλλοντα και σε υπηρεσίες αλληλεπιδραστικής τηλεόρασης, όπου μπορούν να ανταλλάσσονται εφαρμογές από διακομιστή σε χρήστη ή μεταξύ χρηστών. Για το λόγο αυτό, προτείνονται τεχνικές που εκτελούν βελτιστοποιήσεις δυναμικά, κατά το χρόνο εκτέλεσης, και δε βασίζονται σε στατική προεπεξεργασία των προγραμμάτων.Πιο αναλυτικά, προτείνονται τεχνικές για δυναμική μετάφραση σε υλικό ροών εντολών Java (bytecodes) σε εντολές RISC. Η μετάφραση στηρίζεται στον αλγόριθμο OPEX, που προτάθηκε από τους Kharashi κα, και επιτελεί φωλιασμένη ομαδοποίηση εντολών Java, απαλείφοντας πλήρως τις προσβάσεις στοίβας. Αρχικά, προτείνεται μία τεχνική που μεταφράζει μπλοκ εντολών Java (δυναμικά σε υλικό), και αποθηκεύει τα αποτελέσματα της μετάφρασης (δηλ. εντολές RISC) σε ειδική κρυφή μνήμη, εξασφαλίζοντας έτσι μεγάλους ρυθμούς αποκωδικοποίησης, ικανούς να τροφοδοτήσουν εκτός σειράς υπερβαθμωτούς επεξεργαστές RISC. Η διατριβή αυτή μελετά και την ενσωμάτωση μηχανισμού επιτάχυνσης μετάφρασης εντολών Java σε συστήματα σε ψηφίδα με τον επεξεργαστή ARM και το διάδρομο AMBA. Πιο συγκεκριμένα, προτείνεται ειδικό περιφερειακό που μεταφράζει ροές εντολών Java σε εντολές RISC. Τέλος, προτείνεται ειδική επέκταση εντολών που επιταχύνει τη μετάφραση bytecodes σε εντολές RISC. Οι εντολές αυτές χρησιμοποιούν μεγάλους καταχωρητές και επεξεργάζονται πολλά bytecodes παράλληλα.Επιπλέον, μελετούνται τεχνικές για την εξάλειψη της επιβάρυνσης που επιφέρει ο μηχανισμός των εξαιρέσεων στις προσβάσεις αντικειμένων και πινάκων. Προτείνεται ειδική επέκταση εντολών που επιτελεί τους ελέγχους αυτούς σε υλικό. Η μεταγωγή από ένα μεταφρασμένο μπλοκ σε ένα άλλο, επιβαρύνει κι αυτή σημαντικά την εκτέλεση σε μία εικονική μηχανή JIT. Κι αυτό, γιατί σε κάθε διακλάδωση λαμβάνει χώρα αναζήτηση της πραγματικής διεύθυνσης μπλοκ με βάση το μετρητή προγράμματος Java. Για το λόγο αυτό, προτείνονται ειδικές εντολές διακλάδωσης που διατηρούν τις πιο πρόσφατες αντιστοιχίσεις σε ειδική κρυφή μνήμη και εκτελούν διακλαδώσεις σε έναν κύκλο. | |
dc.language | Greek | |
dc.subject | java virtual machine | |
dc.subject | java processor | |
dc.subject | embedded java | |
dc.subject | java | |
dc.subject | bytecodes | |
dc.subject | java ilp | |
dc.subject | predecoded cache | |
dc.subject | superscalar | |
dc.subject | asic | |
dc.subject | aμβα | |
dc.subject | stack folding | |
dc.subject | opex | |
dc.subject | hardware translation | |
dc.subject | isa extension | |
dc.subject | simplescalar | |
dc.subject | risc | |
dc.subject | out of order | |
dc.subject | system-on-chip | |
dc.subject | codesigned virtual machine | |
dc.subject | vliw | |
dc.subject | εικονική μηχανή java | |
dc.subject | επεξεργαστής java | |
dc.subject | ενσωματωμένα συστήματα java | |
dc.subject | παραλληλία σε επίπεδο εντολών | |
dc.subject | κρυφή μνήμη προαποκωδικοποίησης | |
dc.subject | υπερβαθμωτός επεξεργαστής | |
dc.subject | ομαδοποίηση στοίβας | |
dc.subject | μετάφραση σε υλικό | |
dc.subject | επέκταση συνόλου εντολών | |
dc.subject | εκτός σειράς εκτέλεση | |
dc.subject | σύστημα σε ψηφίδα | |
dc.subject | συσχεδιασμένη εικονική μηχανή | |
dc.subject | επεξεργαστής μεγάλου μήκους λέξης | |
dc.title | Σχεδίαση Και Αποδοτική Υλοποίηση Της Εικονικής Μηχανής Java Για Πολυμεσικές Εφαρμογές | |
dc.type | PhD Thesis | |
dc.description.pages | 216 | |
dc.contributor.supervisor | Πεκμεστζή Κιαμάλ | |
dc.department | Τομέας Τεχνολογίας Πληροφορικής & Υπολογιστών | |
dc.organization | ΕΜΠ, Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών | |
Appears in Collections: | Διδακτορικές Διατριβές - Ph.D. Theses |
Files in This Item:
File | Size | Format | |
---|---|---|---|
PD2009-0005.pdf | 2.96 MB | Adobe PDF | View/Open |
Items in Artemis are protected by copyright, with all rights reserved, unless otherwise indicated.