Ανάπτυξη μεθοδολογίας σχεδιασμού επεξεργαστών ειδικού σκοπού
Creators: name: Καββαδίας, Νικόλαος Κ.
Publisher: name: Aristotle University of Thessaloniki
Year: 2008
Subjects: Εργαλεία αυτοματοποίησης σχεδιασμού
Συστήματα πραγματικού χρόνου
Design automation tools
Real-time systems

description: Η παρούσα διδακτορική διατριβή έχει ως αντικείμενο την ανάπτυξη μεθοδολογίας σχεδιασμού επεξεργαστών ειδικού σκοπού, οι οποίοι πλαισιώνουν ενσωματωμένα συστήματα, τα οποία υποστηρίζουν ομάδες εφαρμογών με κοινά χαρακτηριστικά. Χαρακτηριστικά παραδείγματα πεδίων εφαρμογών υπάγονται εν γένει στην ψηφιακή επεξεργασία σήματος χωρίς να υπάρχει θεμελιώδης περιορισμός στη στόχευση και άλλων ρεαλιστικών/βιομηχανικών εφαρμογών. Συχνά υπάρχει η ανάγκη εξυπηρέτησης αυτών των εφαρμογών υπό περιορισμούς φορητότητας, ικανών επεξεργαστικών επιδόσεων, προσαρμοστικότητας/ευελιξίας σε ενδεχόμενες μεταβολές των προτύπων που τις διέπουν, και των χρονικών περιθωρίων από την ανάπτυξη του προϊόντος στο οποίο ενσωματώνονται μέχρι την προώθησή του στην αγορά. Οι προϋποθέσεις αυτές, στις περισσότερες περιπτώσεις, δεν μπορούν να ικανοποιηθούν από τις παραδοσιακές λύσεις των ολοκληρωμένων κυκλωμάτων ειδικού σκοπού (ASIC) λόγω της έλλειψης ευελιξίας και του υψηλού κόστους ανάπτυξής τους και των επεξεργαστών γενικού σκοπού (GPP) οι οποίοι παρουσιάζουν υψηλή κατανάλωση ενέργειας/ισχύος και συγκριτικά χαμηλές επιδόσεις ανά μονάδα επιφάνειας. Λύση στο πρόβλημα αυτό δίνουν οι επεξεργαστές ειδικού σκοπού (ΕΕΣ) και ιδιαίτερα το υποσύνολο των προγραμματιζόμενων ΕΕΣ συνόλου εντολών (ASIP). Οι ASIP συνδυάζουν ικανοποιητική ευελιξία μέσω της δυνατότητας προγραμματισμού τους με χρήση συνόλου εντολών, διατηρώντας παράλληλα τις υψηλές επιδόσεις μιας αφοσιωμένης ASIC λύσης. Ένας επεξεργαστής ειδικού σκοπού σχεδιάζεται είτε για μία εφαρμογή είτε για σύνολο εφαρμογών με κοινά χαρακτηριστικά. Η επιτυχία στο σχεδιασμό του έγκειται στη βέλτιστη εκμετάλλευση των ιδιαίτερων χαρακτηριστικών των εφαρμογών ώστε να ικανοποιηθούν οι απαιτήσεις σε ταχύτητα, επιφάνεια, και κατανάλωση ισχύος, διατηρώντας παράλληλα ένα επιθυμητό επίπεδο ευελιξίας. Για το σκοπό αυτό, η προσπάθεια εστιάζεται στη βελτιστοποίηση των εντατικών, επεξεργαστικά, υπολογιστικών διεργασιών, που είναι κρίσιμες για τις συνολικές επιδόσεις του επεξεργαστή. Οι στόχοι της διδακτορικής διατριβής οι οποίοι επιτεύχθηκαν είναι: η διαμόρφωση μεθοδολογίας για την ανάπτυξη ροής σχεδιασμού ΕΕΣ, η ανάπτυξη νέων τεχνικών στο επίπεδο της αρχιτεκτονικής και μικροαρχιτεκτονικής επεξεργαστών για την επίτευξη υψηλών επιδόσεων κάτω από τις παραπάνω προϋποθέσεις, και η επέκταση ή/και προσαρμογή αλγορίθμων όπως για τη γέννηση ειδικών εντολών, για διεργασίες που υπεισέρχονται στην υλοποίηση επιμέρους τμημάτων της μεθοδολογίας. Προκειμένου την πρακτική εφαρμοστικότητα της μεθοδολογίας εισήχθησαν ισχυρά στοιχεία αυτοματισμού τόσο στην όλη ροή ανάπτυξης όσο και σε επιμέρους βήματα της μεθοδολογίας υπό τη μορφή πρωτότυπων λογισμικών εργαλείων ανάλυσης εφαρμογών, γέννησης ειδικών εντολών και αποτίμησης επιδόσεων. Η αξία της μεθοδολογίας αποτιμήθηκε με την ανάπτυξη πρωτότυπων επεξεργαστών, το σχεδιασμό προσομοιωτών τους και την υλοποίησή τους σε διατάξεις προγραμματιζόμενου πεδίου (FPGA) και τη δοκιμή τους για ενδεικτικά πεδία εφαρμογών. Για την εφαρμογή της μεθοδολογίας αναπτύχθηκε μια νέα οικογένεια επεξεργαστών μέσω καινοτόμων τεχνικών που συμβάλλουν στην αύξηση της υπάρχουσας γνώσης στο πεδίο της ανάπτυξης επεξεργαστών ειδικού σκοπού. Για την επιτάχυνση της εκτέλεσης αλγορίθμων με εντατικές διεργασίες βρόχων αναπτύχθηκε η αρχιτεκτονική Ελεγκτή Βρόχου Μηδενικής Καθυστέρησης (ZOLC), η οποία αποτελεί μακροσκοπική επέμβαση στο περίγραμμα της μικροαρχιτεκτονικής για την ενίσχυση της λογικής ελέγχου. Επίσης, αναπτύχθηκε μικροαρχιτεκτονικό περίγραμμα από μηδενική βάση για τους στοχευόμενους ASIP με ιδιαίτερα χαρακτηριστικά όπως: * την υποστήριξη δεκάδων παραμέτρων ρύθμισης για την κλιμάκωσή τους κατά απαίτηση, * την υποστήριξη εκτέλεσης δομών σύνθετων λειτουργιών με πολλαπλά έντελα εισόδου και εξόδου, * τη θέσπιση εμβόλιμου σταδίου διοχέτευσης για την αποκωδικοποίηση των σύνθετων ειδικών εντολών και τη χρήση παραμετρικού πολυθυρικού αρχείου καταχωρητών για την υποστήριξη αυτών, * τη θέσπιση κλιμακούμενης αρχιτεκτονικής προώθησης δεδομένων για την αξιοποίηση ενδιάμεσων αποτελεσμάτων από μεταγενέστερα στάδια διοχέτευσης, * την υποστήριξη συνεπεξεργαστών σε τοπική διασύνδεση τύπου σημείου-σε-πολλαπλά-σημεία, * την υποστήριξη ειδικών εντολών πολλαπλών κύκλων που ενσωματώνουν πολλαπλές λειτουργίες φόρτωσης ή/και αποθήκευσης από/προς τη μνήμη δεδομένων και μάλιστα όχι απαραίτητα σε σειρά. Η μεθοδολογία χρησιμοποιήθηκε για τη στόχευση ενός συνόλου εφαρμογών επεξεργασίας εικόνας σε επεξεργαστή που πληρεί τις προαναφερθείσες προδιαγραφές, σημειώνοντας σημαντική αύξηση επιδόσεων (περισσότερες από 6 φορές). Σε κάθε περίπτωση, επεξεργαστές της μεθοδολογίας μπορούν να υλοποιηθούν σε τεχνολογίες ASIC και FPGA
description: This Ph.D. dissertation unfolds a methodology for the development and design of application-specific processors, suitable for incorporation in embedded systems, supporting application sets that feature common characteristics. Representative examples of the considered application domains belong to the digital signal processing field, without fundamental reasons for this methodology not being applicable to other realistic/industrial application environments as well. Often, it is required that these applications have to be serviced under constraints of portability, sufficient processing performance, adaptability/flexibility to potential changes to the standards that they ought comply, and the time limitations from the starting point of developing the associated product (to which they are embedded to) to its introduction to the market (time-to-market). In most cases, these requirements cannot be satisfied by deploying the traditional solutions of either Application-Specific Integrated Circuits (ASICs) due to their lack of flexibility, and the associated high development costs and financial risks, or General-Purpose Processors (GPPs) which present increased power/energy consumption and relatively low performance per area unit. Application-Specific Processors and especially their subset of Application-Specific Instruction-set Processors (ASIPs) present a solution to the aforementioned problem. ASIPs provide sufficient flexibility through their programmability by the use of an instruction repertoire, while sustaining the high performance of a dedicated ASIC solution. An application-specific processor is designed for either an application or an application set that present similarities. The success of an ASIP design is determined by the optimal utilization of the respective characteristics of the applications, in order to satisfy requirements on performance, circuit area occupation and energy dissipation, while maintaining the desired level of flexibility. For this purpose, the effort is focused in optimizing the computationally-intensive tasks that are critical for the overall performance of the processor under design. The aims of this Ph.D. dissertation that have been achieved are: the formulation of a methodology for the development of an ASIP design flow, the development of novel techniques at the level of architectural and microarchitectural design for accomplishing the aforementioned requirements regarding processor metrics, and the extension and adaptation of algorithms such as for the generation of custom instructions, for underlying tasks involved in the realization of individual parts of the methodology. For establishing the applicability of the methodology in practice, strong design automation elements have been introduced in both the overall design flow and parts of the methodology in the form of prototype software tools for application analysis, custom instruction generation and selection under constraints, and performance estimation. The merit of the methodology has been evaluated with the end-to-end development of processor prototypes, the design of the corresponding simulators and programming tools, and their implementation in FPGA devices for extensive testing of indicative application fields. For applying the methodology in practice, a new family of processors has been developed through the use of contemporary techniques that contribute to advancing the state of the art in the corresponding field of embedded system design. First, for accelerating the execution of applications incorporating data-intensive loop structures of arbitrary complexity, the ZOLC (Zero-Overhead Loop Controller) architecture has been proposed. ZOLC constitutes a macroscopic intervention at the microarchitecture template for enhancing control logic in the targeted application-specific processors. Further, a novel microarchitecture template was developed from scratch for encompassing the targeted ASIPs with specialized characteristics such as: * support of an extensive list of configuration parameters that can be scaled upon request, * support of atomic execution of complex functionalities involving multiple input and output operands, in the form of application-specific hardware extensions (ASHEs), * establishment of an interim pipeline stage of decoding custom instructions, that are supported by a multi-port register file available to the architecture programmer, * establishment of a scalable data forwarding architecture for exploiting intermediate results from succeeding pipeline stages in the processor, * support of coprocessors to which the processor pipeline is interconnected via a point-to-multi-point network, * support of multi-cycle custom instructions that incorporate multiple load/store operations from/to the data memory that are not necessarily scheduled in-order. The methodology has been used for targeting an image processing application set on a processor that fulfills these specifications, achieving considerable performance improvement of more than 6 times when compared to an unaugmented processor equivalent to standard embedded RISCs. In all cases considered through out the manuscript, processors that adhere to the methodology can be implement in dominant ASIC and FPGA technology processes