Περίληψη |
Πρόσφατα τεχνολογικά επιτεύγματα στον τομέα των ολοκληρωμένων κυκλωμάτων προσφέρουν την δυνατότητα πρόσθεσης περισσοτέρων τρανζίστορ στα σημερινά ολοκληρωμένα κυκλώματα. Τα «Ολοκληρωμένα Πολυεπεξεργαστικών Συστημάτων» αποτελούν αρχιτεκτονικές οι οποίες διαθέτουν πολλαπλούς πυρήνες επεξεργασίας στο ίδιο ολοκληρωμένο. Αυτό έχει σαν αποτέλεσμα την αύξηση επεξεργαστικής ισχύς, την ευκολότερη κλιμάκωση της σχεδίασης και την αύξηση του λόγου απόδοσης ανά μονάδα κατανάλωσης. Αυτό το είδος σχεδίασης αναμένεται να επικρατήσει στο μέλλον στον τομέα της αρχιτεκτονικής υπολογιστών. Ο σκοπός αυτή της εργασίας είναι η σχεδίαση και υλοποίηση ενός συστήματος πολλαπλών πυρήνων διαμοιραζόμενης μνήμης, το οποίο προσεγγίζει τις ιδιότητες ενός μελλοντικού πολυεπεξεργαστικού συστήματος. Πρωτότυπο του συστήματος αυτού υλοποιήθηκε σε μια FPGA και αποτελεί ένα σύστημα με δυο επεξεργαστικούς πυρήνες. Το σύστημα αξιοποιεί τους δύο ενσωματωμένους επεξεργαστές PowerPC, οι οποίοι και αποτελούν μέρος του όλου συστήματος. Υλοποιήσαμε εξωτερικές κρυφές μνήμες εφοδιασμένες με πρωτόκολλο συνοχής διαμοιραζόμενης μνήμης και ένα δίκτυο τύπου αρτηρίας για να συνδέσουμε τους δύο επεξεργαστές. Η διαμοιραζόμενη μνήμη βρίσκεται στην εξωτερική DDR μνήμη και είναι προσπελάσιμη μέσω του υπο-συστήματος μνήμης. Το επιπρόσθετο κόστος σε εμβαδόν που εισάγεται από το σύστημά μας είναι 33,4% σε μια FPGA μεσαίου μεγέθους. Αποτιμήσαμε την επίδοση του συστήματός μας χρησιμοποιώντας προσομοιώσεις και δοκιμαστικά προγράμματα που τρέχουν και στους δύο επεξεργαστές. Οι προσομοιώσεις μας έδειξαν ότι το σύστημα που υλοποιήθηκε είναι πιο αποδοτικό από κάθε άλλο που προσφέρει συνεπή διαμοιραζόμενη μνήμη και βασίζεται αποκλειστικά σε κομμάτια από την βιβλιοθήκη της Xilinx. Τα δοκιμαστικά προγράμματα που χρησιμοποιούμε προσομοιώνουν βασικές λειτουργίες που εμφανίζονται συχνά σε παράλληλα προγράμματα. Τα αποτελέσματα δείχνουν ότι η απόδοση του σύστημά μας κλιμακώνεται ομαλά σε σχέση με τον ένα επεξεργαστή, για τον αλγόριθμο ταξινόμησης και το πρόγραμμα Παραγωγού-Καταναλωτή, τα οποία δεν δημιουργούν μεγάλες ποσότητες κίνησης συγχρονισμού. Η επιτάχυνση που μετρήθηκε κυμαίνεται από 1,89 έως 1,92 και από 1,89 έως 3,45, αντίστοιχα. Αντιθέτως, το πρόγραμμα του διαμοιραζόμενου μετρητή επιβραδύνθηκε από 3 έως 10 φορές λόγω υπερβολικής κίνησης συγχρονισμού.
|