Μελέτη του Επεξεργαστή Cell ως Περιβάλλον Εκτέλεσης Παράλληλου Κώδικα

Καθηγητής: Νεκτάριος Κοζύρης ( nkoziris@cslab.ece.ntua.gr )
Επικοινωνία: Κορνήλιος Κούρτης ( kkourt@cslab.ece.ntua.gr )
Άτομα: 1-2

Γενικά

Ο Cell είναι ένας επεξεργαστής, ο οποίος δημιουργήθηκε από τις Sony, Toshiba και IBM και αποτελεί την καρδία του Playstation 3. Η διπλωματική αυτή αφορά τη χρήση του Cell ως προγραμματιστική πλατφόρμα για παράλληλους κώδικες, όπως για παράδειγμα επιστημονικές εφαρμογές.

Βασικά προαπαιτούμενα για την πραγμάτωση της διπλωματικής εργασίας είναι:

Τεχνικά χαρακτηριστικά του Cell

Ο Επεξεργαστής Cell (CBE -- Cell Broadband Engine) είναι ένας ετερογενής πολυνηματικός επεξεργαστής και αποτελείται από:

Οι επεξεργαστικές μονάδες, η μνήμη και οι συσκευές Ε/Ε επικοινωνούν μέσω μιας συνεκτικής (coherent) μονάδας διαύλου (bus), η οποία ονομάζεται EIB -- Element Interconnect Bus.

figs/cell.png

Σχεδιάγραμμα του Cell

Η κεντρική επεξεργαστική μονάδα PPE, χρησιμοποιείται για την εκτέλεση του λειτουργικού συστήματος και έχει τον ρόλο του συντονισμού των συνεπεξεργαστών. Το PPE, αποτελείται από το PPU -- Power Processing Unit, το οποίο είναι συνδεδεμένο σε λανθάνουσες μνήμες (cache) δεδομένων και εντολών πρώτου επιπέδου (L1) μεγέθους 32Kb και σε μία ενοποιημένη λανθάνουσα μνήμη δεύτερου επιπέδου (L2) μεγέθους 512Κb. Το PPU είναι ένας dual-issue, in-order επεξεργαστής που υποστηρίζει 128bit εντολές SIMD.

Τα SPEs αποτελούνται από τη μονάδα επεξεργασίας (SPU -- Synergistic Processign Unit) και έναν ελεγκτή για την πρόσβαση στη μνήμη (MFC -- Memory Flow Controller). Το κάθε SPE λειτουργεί σε μία τοπική μνήμη (LS -- Local Store Memory), στην οποία αποθηκεύει τόσο εντολές, όσο και δεδομένα. Τα SPEs περιλαμβάνουν και έναν ελεγκτή DMA (DMA Engine) για την μεταφορά δεδομένων από και προς την τοπική μνήμη. Τα SPUs υποστηρίζουν 128bit εντολές SIMD και έχουν 128 registers των 128bit για εντολές ακεραίων και μεταβλητής υποδιαστολής.

Το EIB χρησιμοποιείται για την επικοινωνία του PPE, των SPEs, της κύριας μνήμης και των συσκευών Ε/Ε. Το EIB αποτελείται από ένα δακτύλιο διευθύνσεων και τεσσάρων δακτυλίων για τα δεδομένα. Η συχνότητα λειτουργίας του είναι η μισή από αυτή του επεξεργαστή.

Προγραμματιστικό Περιβάλλον

Το προγραμματιστικό περιβάλλον, στο οποίο θα πραγματοποιηθεί η εργασία θα είναι το Cell SDK (Software Development Kit), το οποίο αυτή τη στιγμή βρίσκεται στην έκδοση 1.1 και περιλαμβάνει:

Στάδια Εργασίας