Στην παρούσα διδακτορική διατριβή προτείνονται μεθοδολογίες σχεδίασης εφαρμογών σε ενσωματωμένες πλατφόρμες ειδικού σκοπού για την βελτίωση της απόδοσης εφαρμογών που εκτελούνται σε αυτές. Τα θεωρούμενα συστήματα στοχεύουν σε αριθμητικά απαιτητικές εφαρμογές, όπως είναι εφαρμογές Ψηφιακής Επεξεργασίας Σήματος και πολυμέσων. Οι περιγραφές των εφαρμογών γίνεται σε γλώσσα υψηλού επιπέδου γεγονός που διευκολύνει την υλοποίηση των εφαρμογών στις θεωρούμενες επεξεργαστικές πλατφόρμες. Οι μεθοδολογίες έχουν αυτοματοποιηθεί, με την χρήση πρωτότυπων και εμπορικά διαθέσιμων εργαλείων, για την αποτελεσματική και γρήγορη αποτίμηση των λύσεων σχεδίασης και απεικόνισης.
Αρχικά, προτείνεται μια μέθοδος για την αποτελεσματική υλοποίηση εφαρμογών Ψηφιακής Επεξεργασίας Σήματος σε ένα σύστημα μικροεπεξεργαστή που περιέχει σαν επιταχυντή κρίσιμων τμημάτων ένα ευέλικτο χειριστή δεδομένων (data-path). Η υπεροχή του προτεινόμενου data-path σε σχέση με υπάρχοντες χειριστές δεδομένων δείχνεται για ένα σύνολο χαρακτηριστικών αριθμητικών υπολογιστικών πυρήνων (kernels). Παρουσιάζεται μια αυτοματοποιημένη μέθοδος σύνθεσης πυρήνων για το χειριστή δεδομένων. Αυτή η διαδικασία σύνθεσης ενσωματώνεται σε ένα γενικό περιβάλλον σχεδίασης εφαρμογών για το θεωρούμενο σύστημα που έχει σαν στόχο την βελτίωση της απόδοσης και την μείωση κατανάλωση ενέργειας.
Στην συνέχεια, παρουσιάζεται ένα περιβάλλον λογισμικού που υλοποιεί μια φορμαλισμένη μεθοδολογία για τον διαχωρισμό εφαρμογών Ψηφιακής Επεξεργασίας Σήματος μεταξύ επαναπροσδιοριζόμενων τμημάτων μικτής υφής για πρώτη φορά στην βιβλιογραφία. Κρίσιμα τμήματα επιταχύνονται στο επαναπροσδιοριζόμενο υλικό χονδροειδούς υφής για να ικανοποιηθούν οι χρονικοί περιορισμοί του κώδικα της εφαρμογής που απεικονίζεται στην επαναπροσδιοριζόμενη λογική του συστήματος. Η επαναπροσδιοριζόμενη λογική λεπτής υφής υλοποιείται από ένα ενσωματωμένο Field Programmable Gate Array (FPGA), ενώ η επαναπροσδιοριζόμενη λογική χονδροειδούς υφής από ένα δικό μας αναπτυγμένο χειριστή +δεδομένων υψηλής απόδοσης. Η αποτελεσματικότητα του πρωτότυπου λογισμικού επιβεβαιώνεται χρησιμοποιώντας ρεαλιστικές εφαρμογές. Αναλυτικά πειράματα δείχνουν σημαντικές βελτιώσεις στην απόδοση, ενώ καθορισμένοι χρονικοί περιορισμοί ικανοποιούνται για όλες τις δοκιμασμένες εφαρμογές.
Παρουσιάζεται η ενσωμάτωση ενός προτεινόμενου ευέλικτου προτύπου Επαναπροσδιοριζόμενης Αρχιτεκτονικής Πίνακα (ΕΑΠ) χονδροειδούς υφής σε δύο διαφορετικά συστήματα σε ολοκληρωμένα κυκλώματα. Για την αποτελεσματική εκτέλεση υπολογιστικά απαιτητικών τμημάτων στην ΕΑΠ αναπτύχθηκε μια πρωτότυπη αυτοματοποιημένη διαδικασία απεικόνισης, που βασίζεται σε έναν νέο αλγόριθμο διοχέτευσης βρόχου. Η αποτελεσματικότητα της ΕΑΠ και της αντίστοιχης διαδικασίας απεικόνισης διαπιστώνονται με εκτέλεση ρεαλιστικών εφαρμογών. Στο πρώτο σύστημα η ΕΑΠ μαζί με ένα FPGA σχηματίζουν την επαναπροσδιοριζόμενη λογική μιας υβριδικής πλατφόρμας. Στο δεύτερο σύστημα σε ολοκληρωμένο κύκλωμα, η ΕΑΠ συνδέεται άμεσα με έναν μικροεπεξεργαστή γενικού σκοπού ενεργώντας σαν συνεπεξεργαστής για την εκτέλεση κρίσιμων βρόχων. Πρωτότυπα αυτοματοποιημένα περιβάλλοντα σχεδίασης προτείνονται για την αποτελεσματική και εύκολη υλοποίηση ολόκληρων εφαρμογών στα συστήματα.
Τέλος, προτείνεται μια πρωτότυπη μεθοδολογία διαχωρισμού υλικού/λογισμικού για την βελτίωση της απόδοσης ρεαλιστικών εφαρμογών σε ένα ενσωματωμένο σύστημα σε ολοκληρωμένο κύκλωμα που αποτελείται από έναν προγραμματιζόμενο μικροεπεξεργαστή και FPGA επαναπροσδιοριζόμενη λογική. Η μεθοδολογία έχει αυτοματοποιηθεί σε μεγάλο βαθμό με την χρήση ακαδημαϊκών και εμπορικών εργαλείων. Το FPGA ενεργεί σαν επιταχυντής κρίσιμων τμημάτων κώδικα βελτιώνοντας την απόδοση των εφαρμογών κοντά σε θεωρητικά μέγιστα όρια επιταχύνσεων. Αναλυτικά πειράματα με διαφορετικού τύπου μικροεπεξεργαστές και FPGA δείχνουν την αποτελεσματικότητα της μεθοδολογίας. / In this Ph.D. dissertation, design methodologies for embedded platforms with the aim of improving the performance of realistic applications executed on them are proposed. The considered system platforms target on arithmetic intensive applications, as in the case of Digital Signal Processing and multimedia applications. The applications are coded in a high-level language, fact that eases the implementation of applications in the considered processing platforms. The methodologies have been automated, with the usage of prototype and commercial tools, for the efficient and rapid evaluation of the design and mapping solutions.
Initially, a method is proposed for the effective implementation of Digital Signal Processing applications on a microprocessor system that includes as an accelerator of critical application parts a flexible data-path. The effectiveness of the proposed data-path relative to existing ones is illustrated for a set of characteristic arithmetic intensive kernels. An automated synthesis methodology for kernels is presented. This synthesis method is incorporated on a design flow for the considered system that aims in improving application performance and reducing energy consumption.
Afterwards, a software framework that implements a formalized methodology for partitioning Digital Signal Processing and multimedia applications between mixed granularity reconfigurable hardware parts is presented. Critical application parts are accelerated on the coarse-grained reconfigurable hardware for satisfying timing constraints of application code mapped on the reconfigurable logic of the platform. The fine-grained reconfigurable hardware is implemented by an embedded Field Programmable Gate Array (FPGA), whereas the coarse-grained reconfigurable logic by an our-developed high-performance reconfigurable data-path. The efficiency of the prototype software is justified using realistic applications. Analytical experiments illustrate that important performance improvements are achieved, while the targeted timing constraints are satisfied for all the tested applications.
The incorporation of a proposed flexible template of a Coarse Grained Reconfigurable Array (CGRA) in two different system on chip is presented. For the efficient execution of computational intensive parts on the CGRA an automated mapping process, that it is based on a software loop pipelining algorithm, is developed. The efficiency of the CGRA and of its respective mapping procedure are realized with the execution of real-life applications. In the first system, the CGRA together with an FPGA form the reconfigurable logic of a hybrid platform. In the second system on chip, the CGRA is directly attached to a general purposed microprocessor acting as a co-processor for the execution of critical loops. Automated design frameworks are proposed for the efficient and straightforward implementation of complete applications on the systems.
Finally, a hardware/software partitioning methodology is proposed for the performance improvements of realistic applications in an embedded system on chip that it is composed by a programmable microprocessor and an FPGA reconfigurable hardware. The methodology has been automated in a large extend with the usage of academic and commercial tools. The FPGA acts as an accelerator for critical code segments improving by this way the performance of applications close to maximum theoretical bounds. Extensive experiments with different types of microprocessors and FPGAs show the effectiveness of the methodology.
Identifer | oai:union.ndltd.org:upatras.gr/oai:nemertes:10889/611 |
Date | 06 November 2007 |
Creators | Γαλάνης, Μιχαήλ |
Contributors | Γκούτης, Κωνσταντίνος, Galanis, Michalis, Γκούτης, Κωνσταντίνος, Κουφοπαύλου, Οδυσσέας, Σούντρης, Δημήτριος, Παλιουράς, Βασίλειος, Μπίρμπας, Βασίλειος, Σερπάνος, Δημήτριος, Στουραΐτης, Αθανάσιος |
Source Sets | University of Patras |
Language | gr |
Detected Language | Greek |
Type | Thesis |
Relation | Η ΒΥΠ διαθέτει αντίτυπο της διατριβής σε έντυπη μορφή στο βιβλιοστάσιο διδακτορικών διατριβών που βρίσκεται στο ισόγειο του κτιρίου της. |
Page generated in 0.0032 seconds