Μελέτη προσδιορίσιμων επεξεργαστών και ανάπτυξη συστήματος πολλών πυρήνων για τον αλγόριθμο επεξεργασίας εικόνας JPEG:
Creators: name: Θεοδώρου, Χριστόφορος Γεωργίου
Publisher: name: Aristotle University of Thessaloniki
Year: 2008
Subjects: Ενσωματωμένα συστήματα
Διαμορφώσιμοι/Ρυθμίσιμοι/Προσδιορίσιμοι επεξεργαστές
Αλγόριθμος JPEG
Συστήματα πολλών επεξεργαστών
Επέκταση εντολών επεξεργαστή
Systems-on-chips (SOCs)
Configurable processors
JPEG algorithm
Multi-core systems
Instruction extensions

description: Η εργασία αφορά στη μελέτη της ρύθμισης και επέκτασης επεξεργαστών για την καλύτερη επίδοσή τους σε συγκεκριμένες εφαρμογές. Αυτή η τεχνική δίνει στους σχεδιαστές ενσωματωμένων συστημάτων νέες, πολύ σημαντικές δυνατότητες σχεδιασμού, καθώς μπορούν, μετά από όλη τη διαδικασία εξερεύνησης ρυθμίσεων των επεξεργαστών, να καταλήξουν σε ένα βέλτιστο σύστημα που θα ικανοποιεί με τον καλύτερο δυνατό τρόπο τις ανάγκες του αρχικού σκοπού. Επιπλέον, αυτοί οι διαμορφώσιμοι επεξεργαστές μπορούν να συμμετέχουν και σε συστήματα πολλών επεξεργαστών, και μάλιστα χωρίς να είναι όμοιοι μεταξύ τους. Τέτοια συστήματα πολλών, προσαρμοσμένων επεξεργαστών σε κάποια εφαρμογή, δίνουν τη δυνατότητα στους προγραμματιστές να το διαχειριστούν ποικιλοτρόπως, βελτιώνοντας ακόμη παραπάνω την επίδοση του συστήματος, εκμεταλλευόμενοι την ύπαρξη πολλών μονάδων επεξεργασίας, που μπορούν να λειτουργούν ταυτόχρονα. Στην παρούσα εργασία αναλάβαμε να εξερευνήσουμε τις δυνατότητες βελτίωσης του διαμορφώσιμου επεξεργαστή Xtensaτης Tensilica στην εφαρμογή συμπίεσης εικόνας μέσω του αλγόριθμου JPEG και , επιπλέον, να σχεδιάσουμε και να προσομοιώσουμε συστήματα πολλών διαμορφώσιμων επεξεργαστών που να υλοποιούν τον αλγόριθμο αυτό. Για να επιτευχθεί αυτό, μελετήσαμε την απόδοση του επεξεργαστή σε κάθε στάδιο κωδικοποίησης JPEG ξεχωριστά, και τις δυνατότητες βελτίωσης που υπάρχουν για κάθε στάδιο. Έτσι, φτάσαμε να σχεδιάσουμε συστήματα πολλών επεξεργαστών, με διαφορετικές ρυθμίσεις και επεκτάσεις, προσαρμοσμένα στις ανάγκες της εφαρμογής JPEG, τέτοια ώστε, με ένα σωστά δομημένο προγραμματισμό, να φτάνουν σε βελτίωση ταχύτητας μέχρι και κατά 70%. Φυσικά αυτά τα συστήματα μπορούν να χρησιμοποιηθούν τόσο για εφαρμογές γενικού σκοπού, όσο και για άλλες, ειδικότερες εφαρμογές, με συνηθισμένες επιδόσεις. Τέλος, πραγματοποιήσαμε αναλυτική σύγκριση των χαρακτηριστικών κάθε πολυεπεξεργαστικού συστήματος, με σκοπό την επιλογή του βέλτιστου, για την εκάστοτε χρήση, συστήματος.
description: At the start of the 21st century, there is a new “trend” in computer systems, systems with more than one processors. The integrated circuits industry, trying to catch up to Moore’s law, has created processors whom output of heat makes necessary to include advance cooling systems, but they’re reaching their limit. The model of the superfast and powerful sole processor, gives way to the model of the multi-processors system, where the workload is divided and the performance is enhanced. Furthermore, a new group of systems is being developed, with processors optimized for one particular application. Named ASIP (Application Specific Integrated Processors), these systems are optimized for one application like an ASIC, but have the extra ability to be able to run other applications, with relatively good performance. In this paper, we tried to analyze and design multicore systems, optimized for the JPEGimage compression algorithm. We analyzed the performance of a single-core architecture for that particular application and we compared it with the performances of other architectures with two, three, or five processors. The processors were optimized by choosing specific data and instruction caches to reduce cache misses and the instruction set was extended with specific instructions to speed-up the process of the DES algorithm. In the above explorations, we used models of the Xtensa LX2 processor by Tensilica, a processor family with great customization abilities. Furthermore, we worked with the XtensaXplorer IDE, which allows us to easily measure the performance of every configuration we create, and optimize our processors accordingly. As a benchmark, we used the JPEG application, included in the Powerstone, benchmark suite.