Επαναπροσδιοριζόμενες αρχιτεκτονικές για υλοποίηση ψηφιακών συστημάτων
Creators: name: Βασιλειάδης, Νικόλαος
Publisher: name: Aristotle University of Thessaloniki
Year: 2009
Subjects: Επεξεργαστές ειδικού σκοπού
Επαναπροσδιοριζόμενοι επεξεργαστές
Ενσωματωμένα συστήματα
Μικροαρχιτεκτονική επεξεργαστών
Μεταγλωττιστές
Application spesific processors
Reconfigurable processors
Embedded systems
Processor microarchitecture
Compilers

description: Το ευρύτερο πεδίο ενδιαφέροντος της διδακτορικής διατριβής είναι η ανάπτυξη μεθοδολογιών σχεδιασμού και προγραμματισμού επαναπροσδιοριζόμενων αρχιτεκτονικών για την αποδοτικότερη εκτέλεση των σύγχρονων ενσωματωμένων εφαρμογών. Αντικειμενικός στόχος είναι η παραγωγή μιας συστηματικής προσέγγισης για την επέκταση τυπικών ενσωματωμένων επεξεργαστών και του αντίστοιχου περιβάλλοντος προγραμματισμού τους, με την κατάλληλη υποδομή η οποία θα υποστηρίζει την διασύνδεση και αξιοποίηση αυθαίρετου τύπου και αριθμού επαναδιαμορφώσιμων λειτουργικών μονάδων. Στην πρώτη ενότητα επεκτείνεται ένας τυπικός επεξεργαστής πυρήνα με μια απλή και αποδοτική επαναδιαμορφώσιμη λειτουργική μονάδα με βαθμό ανάλυσης διαμόρφωσης ψηφιακής λέξης. Η μονάδα συνδέεται ισχυρά στα στάδια διοχέτευσης του επεξεργαστή και εκτελεί σύνολα από βασικές εντολές του επιταχύνοντας την εκτέλεση της εφαρμογής. Σχεδιάζεται η μικροαρχιτεκτονική της επαναδιαμορφώσιμης μονάδας η οποία αποτελεί ένα δυναμικό περίγραμμα, τα χαρακτηριστικά του οποίου μπορούν εύκολα να καθοριστούν για την βέλτι- στη εκτέλεση του στοχευόμενου πεδίου εφαρμογών. Στην συνέχεια, υλοποιείται περιβάλλον ανάπτυξης εφαρμογών το οποίο αυτοματοποιεί τις διαδικασίες, εύρεσης, επιλογής και υλοποίησης της ειδικών λειτουργιών βελτιστοποιώντας τις επιδόσεις του επεξεργαστή χωρίς να απαιτεί επιπρόσθετη ανάπτυξη από τον χρήστη. Το περιβάλλον διαθέτει δυνατότητα επαναστόχευσης των αρχιτεκτονικών παραμέτρων του επαναπροσδιοριζόμενου επεξεργαστή με αυτοματοποιημένη παραγωγή του νέου μοντέλου υλικού και των εργαλείων προγραμματισμού του. Η προσέγγιση της ενότητας αυτής αποτιμάται με την υλοποίηση μοντέλου αξιολόγησης και την εκτέλεση μετροπρογραμμάτων. Στην δεύτερη ενότητα, προτείνεται μια πιο γενική προσέγγιση η οποία αφορά συστηματική μεθοδολογία για την επέκταση του επεξεργαστή πυρήνα, μιας και μόνο φοράς, με την κατάλληλη υποδομή η οποία θα του προσφέρει στην συνέχεια την δυνατότητα διασύνδεσης οποιουδήποτε τύπου και αριθμού. Αρχικά προτείνεται, οργάνωση μηχανής η οποία επιτρέπει την συνύπαρξη και την συνεργασία του επεξεργαστή και των επαναδιαμορφώσιμων μονάδων σε ένα κοινό πλαίσιο λειτουργίας. Η μηχανή υποστηρίζει ένα υβριδικό μοντέλο διασύνδεσης των μονάδων, το οποίο συνδυάζει τα χαρακτηριστικά της ασθενής και ισχυρής διασύνδεσης και προσφέρει ευελιξία και αυξημένες επιδόσεις. Για την επικοινωνία του επεξεργαστή πυρήνα με τις μονάδες και τον έλεγχο τους, προτείνεται η επέκταση με νέες εντολές οι οποίες ενσωματώνονται χωρίς τροποποίηση της δομής του επεξεργαστή πυρήνα. Ταυτόχρονα, προτείνεται μια αποδοτική μικροαρχιτεκτονική υλοποίηση η οποία μπορεί να εφαρμοστεί στην πλειοψηφία των ενσωματωμένων επεξεργαστών. Η υλοποίηση πραγματοποιείται με περιορισμένο αριθμό και μέγεθος επεμβάσεων στην μικροαρχιτεκτονική του επεξεργαστή πυρήνα, χωρίς να επηρεάζει τις επιδόσεις του. Στην συνέχεια προτείνεται και υλοποιείται ολοκληρωμένο περιβάλλον ανάπτυξης εφαρμογών το οποίο ξεκινά από τον πηγαίο κώδικα της εφαρμογής σε τυπική γλώσσα προγραμματισμού και καταλήγει στο τελικό εκτελέσιμο. Το περιβάλλον υποστηρίζει την αυτόματη αναγνώριση ειδικών λειτουργιών οι οποίες συνδέονται ισχυρά και την ημιαυτόματη αυτών που ακολουθούν την ασθενή διασύνδεση, ενώ υλοποιεί ένα μοντέλο συν- σχεδιασμού υλικού / λογισμικού το οποίο αφαιρεί τις σχετικές με τον σχεδιασμό του υλικού πληροφορίες επιτρέποντας την χωριστή σχεδίαση των δυο συνιστωσών. Η προσέγγιση της ενότητας αυτής αποτιμάται με την υλοποίηση μοντέλου αξιολόγησης και την εκτέλεση μετροπρογραμμάτων
description: This thesis deals with the development of methodologies for the design and programming of reconfigurable architectures for the efficient implementation of embedded applications. The main objective is the creation of a systematic approach for the extension of typical embedded processors and their supporting programming environment with the appropriate infrastructure to support the coupling and utilization of any type and number of reconfigurable functional units. The thesis is organized in two primary section, each of them forming a standalone and complete research project which addresses all aspects of reconfigurable processor design. In the first section, a typical processor core is extended with a simple and efficient coarse-grain reconfigurable functional unit. The unit is tightly-coupled to the pipeline stages of the core and executed cluster of the processor’s base instructions to accelerate the execution of the application. In the following the microarchitecture design of the unit is performed. The unit forms a dynamic template which characteristics can be configured at design time to best match the requirements of the target application domain. Then, an application development framework is developed which automate the process of identification, selection and implementation of the custom operations. This way performance is optimized without any development by the user side. The architectural parameters of the reconfigurable processor can be re-target in which case the application development environment automatically generates the new hardware model and the optimized programming tools. The approach presented in this section is evaluated by the development of an evaluation model and the execution of several benchmarks. In the second section, a more systematic approach methodology for the extensions of the processor core, once, with the necessary infrastructure to support thereafter the coupling of any type and number of reconfigurable function units. First, the machine organization which supports the co-operation of the processor and units under a common framework is proposed. The machine supports a hybrid type of coupling which combines the characteristics of the loose and the tight type of coupling. The instruction set of the processor is extended with new instructions for the communication and control of the units. The instruction are incorporated without modification of the processor’s structure. Also, an efficient microarchitecture implementation that can be applied to the vast majority of embedded processors. The implementation is performed with limited modifications to the processor’s microarchitecture and without affecting its performance. In the following a complete application development is proposed and implemented which starts from the application source code described in a high-level programming language and produces the final executable. This environment supports the automatic identification of the tightly-coupled custom operations and the semi-automatic profiling driven of the loosely-coupled custom operations. Moreover, the framework supports a hardware / software co-design approach which abstracts the hardware related information from the software allowing the independent development of them and their later porting to any device. The approach presented in this section is evaluated by the development of an evaluation model and the execution of several benchmarks