Συστήματα σε Ολοκληρωμένα Κυκλώματα

Σχετικά έγγραφα
Διαφορές single-processor αρχιτεκτονικών και SoCs

Συστήματα σε Ολοκληρωμένα Κυκλώματα

Συστήματα σε Ολοκληρωμένα Κυκλώματα

Κυκλωμάτων» Χειμερινό εξάμηνο

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Η/Υ Το chipset ενός υπολογιστικού συστήματος. Δρ. Μηνάς Δασυγένης

Συστήματα σε Ολοκληρωμένα Κυκλώματα

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο

MPSoCs για εφαρμογές Video

Αρχιτεκτονική Υπολογιστών Ι (ένα)

Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου. Ενότητα 2

ΑρχιτεκτονικήΥπολογιστών. Ι (ένα) Δημήτρης Γκιζόπουλος. Καθηγητής

METROPOLIS. Ένα περιβάλλον σχεδιασμού για ετερογενή συστήματα

Ψηφιακή Επεξεργασία Σήματος

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC

Εισαγωγή στην Αρχιτεκτονική Η/Υ

Αρχιτεκτονική υπολογιστών

i Throughput: Ο ρυθμός ολοκλήρωσης έργου σε συγκεκριμένο χρόνο

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ. (Μέτρηση και τεχνικές βελτίωσης απόδοσης)

Μνήμη και Προγραμματίσιμη Λογική

Δομημένος Προγραμματισμός

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

ΕΞΕΡΕΥΝΗΣΗ ΧΩΡΙΚΟΥ ΣΧΕΔΙΑΣΜΟΥ ΣΕ ΔΙΚΤΥΑ ΟΛΟΚΛΗΡΩΜΕΝΩΝ ΚΥΚΛΩΜΑΤΩΝ: ανάλυση υπόθεσης (case study)

Ενσωματωμένα Συστήματα

Αρχιτεκτονική Υπολογιστών

Εισαγωγή στην Αρχιτεκτονική Η/Υ

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής

Συστήµατα και Αλγόριθµοι Πολυµέσων

Αρχιτεκτονική Υπολογιστών

Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems)

Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Αρχιτεκτονική υπολογιστών

Αρχιτεκτονική υπολογιστών

Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου)

Η ΤΑΞΙΝΟΜΗΣΗ ΤΟΥ FLYNN!!! 1 ο ΕΠΑΛ ΡΟΔΟΥ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ!!!! Χατζηνικόλας Κώστας

Το μάθημα συνοπτικά (1) Το μάθημα συνοπτικά (2) Τι είναι ένα υπολογιστικό σύστημα ;

Αρχιτεκτονική Υπολογιστών

Κεφάλαιο 3 Λειτουργικά Συστήματα Β ΕΠΑΛ

Συστήματα σε Ολοκληρωμένα Κυκλώματα

Αρχιτεκτονική Υπολογιστών

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή

4/10/2008. Εισαγωγή στη σχεδίαση συστημάτων VLSI. Περιεχόμενα μαθήματος. Γιώργος Δημητρακόπουλος. Βιβλιογραφία. Ψηφιακά συστήματα.

Μάθημα 10 ο ΔΙΑΧΕΙΡΙΣΗ ΕΙΣΟΔΟΥ ΕΞΟΔΟΥ (INPUT/OUTPUT)

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς

Συστήματα VLSI. Εισαγωγή. Γιώργος Δημητρακόπουλος. Δημοκρίτειο Πανεπιστήμιο Θράκης. Άνοιξη 2014

Κεφάλαιο Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων.

ΥΠΗΡΕΣΙΑ ΕΙΚΟΝΙΚΟΥ ΕΡΓΑΣΤΗΡΙΟΥ ΣΧΕ ΙΑΣΜΟΥ

Ιστορία των επεξεργαστών (CPUs)

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Υπολογιστικά μοντέλα (MoC) για SoC

Περιεχόμενα. Πρόλογος... XI. Κεφάλαιο 1. Συστήματα Βασισμένα σε FPGA Κεφάλαιο 2. Τεχνολογία VLSI Εισαγωγή Βασικές Αρχές...

Λογικά σύμβολα των CPU, RAM, ROM και I/O module

Προγραµµατισµός Συστηµάτων Πραγµατικού Χρόνου

Το μάθημα συνοπτικά (1) Το μάθημα συνοπτικά (2) Τι είναι ένα υπολογιστικό σύστημα ;

1. Οργάνωση της CPU 2. Εκτέλεση εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο επίπεδο των επεξεργαστών

Αρχιτεκτονική υπολογιστών

Αρχιτεκτονική Υπολογιστών

Κεφάλαιο 2: Λογισμικό (Software) Εφαρμογές Πληροφορικής Κεφ. 2 Καραμαούνας Πολύκαρπος

Αρχιτεκτονική Λογισμικού

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,

ΚΕΦΑΛΑΙΟ 2 - ΛΟΓΙΣΜΙΚΟ

Αρχιτεκτονική Υπολογιστών. ηµήτρης Γκιζόπουλος Καθηγητής

Κεντρική Μονάδα Επεξεργασίας. Επανάληψη: Απόδοση ΚΜΕ. ΚΜΕ ενός κύκλου (single-cycle) Παραλληλισμός σε επίπεδο εντολών. Υπολογιστικό σύστημα

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Μεταγλώττιση και σύνδεση πολλαπλών αρχείων κώδικα. Προγραμματισμός II 1

Information Technology for Business

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΡΩΤΑΠΑΝΤΗΣΕΙΣ

Συστήματα σε Ολοκληρωμένα Κυκλώματα

ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΙΚΟΣ ΔΙΚΤΥΩΝ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ

Αρχιτεκτονική Μνήμης

5 η Θεµατική Ενότητα : Μνήµη & Προγραµµατιζόµενη Λογική. Επιµέλεια διαφανειών: Χρ. Καβουσιανός

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

Μαλούτα Θεανώ Σελίδα 1

Διαβιβάζεται συνημμένως στις αντιπροσωπίες το έγγραφο - C(2017) 6321 final - Annex 1 Part 6/11.

Εισαγωγή στην πληροφορική

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Προγραμματιζόμενη Λογική Γιατί;

ΧΡΟΝΙΚΗ ΠΕΡΙΟΔΟΣ Γεωργία Πελέκη, Έλντα Μπάλι Τζαφέρι Τζένη, Αλεξία Παπαδοπούλου, Ντοριλέιν Γκαρσία

Chapter 4 ( ή 1 στο βιβλίο σας)

Περιεχόμενα. 2 Μαργελης Γεωργιος

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 5

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων

Κεφάλαιο 1.5: Τα βασικά μέρη ενός υπολογιστή

Παραλληλισμός σε επίπεδο εντολών

Ανάπτυξη δικτυακών εκπαιδευτικών παιχνιδιών πολλών χρηστών. Δ. Μετάφας. (Android, ipad κ.α.). Το παιχνίδι που θα επιλεγεί για την

Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες. (οργάνωση, λειτουργία και απόδοση)

EM 361: Παράλληλοι Υπολογισμοί

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΕΙΣΑΓΩΓΗ

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ. Ενότητα 1 η : Ανάπτυξη Λογισμικού & Προγραμματισμός

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Αρχιτεκτονική Μνήµης

Transcript:

Συστήματα σε Ολοκληρωμένα Κυκλώματα Κεφάλαιο 1: Τι, Γιατί και Πώς των MPsoCs Διδάσκων: Καθηγητής Οδυσσέας Κουφοπαύλου Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών

ΕΙΣΑΓΩΓΗ Τα Multiprocessor systems-on-chips (MPSoCs) αποτελούν την τελευταία εξέλιξη της VLSI τεχνολογίας Ένα απλό ολοκληρωμένο σύστημα μπορεί να εμπεριέχει πάνω από 100 εκατομμύρια τρανζίστορ και οι τελευταίες προβλέψεις μιλούν για πάνω από ένα δισεκατομμύριο τρανζίστορ Όλη αυτή η υπολογιστική δύναμη απαιτεί τη μεταφορά σε σχεδιασμό από την αρχιτεκτονική υπολογιστών σε λογικό σχεδιασμό

ΕΙΣΑΓΩΓΗ Οι σύγχρονες εφαρμογές απαιτούν οι σχεδιαστές να λύσουν θέματα, τα οποία δε λύνονται από την κλασική αρχιτεκτονική υπολογιστών, για εφαρμογές real-time και για απαιτήσεις χαμηλής κατανάλωσης Επομένως ο σχεδιασμός MPSoC αποτελεί ένα σημαντικό πεδίο έρευνας

Τί είναι MPSoCS? Το SoC αποτελεί ένα ολοκληρωμένο σύστημα το οποίο υλοποιεί τις περισσότερες ή όλες της πράξεις ενός ηλεκτρονικού συστήματος Ένα από τα χαρακτηριστικά του SoC είναι η πολυπλοκότητά του (complexity)

Τί είναι τα MPSoCS? Τα στοιχεία (components) ενός SoC εξαρτώνται από την εφαρμογή Πολλά SoCs περιέχουν αναλογικά στοιχεία για επικοινωνία με τον εξωτερικό κόσμο Πολλές όμως Ι/Ο εφαρμογές υψηλής απόδοσης απαιτούν ένα ξεχωριστό αναλογικό τσιπ για καλύτερη υποστήριξη του ψηφιακού SoC

Τί είναι τα MPSoCS? Το σύστημα μπορεί να εμπεριέχει Mνήμη Eπεξεργαστές (central processing units [CPUs]) Ειδική λογική (specialized logic), Διαύλους (busses), και Άλλες ψηφιακές μονάδες Η αρχιτεκτονική του συστήματος είναι συνήθως προσανατολισμένη ως προς την εφαρμογή και δεν είναι ένα γενικού σκοπού κύκλωμα

Τί είναι MPSoCS? Τα Systems-on-chips συναντιόνται σε πολλές κατηγορίες προϊόντων: Στα κινητά τηλέφωνα χρησιμοποιούνται προγραμματιζόμενοι επεξεργαστές για την επεξεργασία σημάτων και λειτουργιών των πρωτοκόλλων. Αυτοί οι επεξεργαστές πρέπει να λειτουργούν με χαμηλές απαιτήσεις σε ενέργεια Οι τηλεπικοινωνίες και το διαδίκτυο χρησιμοποιούν ειδικού σκοπού systems-on-chips, όπως οι network processors, ώστε να χειρίζονται υψηλούς ρυθμούς πληροφορίας Ψηφιακή τηλεόραση και set-top boxes χρησιμοποιούν πολύπλοκους πολυεπεξεργαστές για εφαρμογές αποκωδικοποίησης πραγματικής εικόνας και ήχου Τα Video games χρησιμοποιούν παράλληλης επεξεργασίας μηχανές

Τί είναι MPSoCS? Οι προηγούμενες εφαρμογές δεν χρησιμοποιούν γενικού σκοπού επεξεργαστές επειδή ένας γενικού σκοπού επεξεργαστής δεν είναι μια αποδοτική επιλογή από άποψη κόστους επειδή δεν παρέχεται η απαιτούμενη απόδοση Τα ψηφιακά προϊόντα πρέπει να έχουν χαμηλές τιμές

Τί είναι τα MPSoCS? Επομένως τί είναι ένα MPSoC; Είναι ένα system-on-chip το οποίο εμπεριέχει πολλαπλούς επεξεργαστές Πρακτικά, τα περισσότερα SoC είναι MPSoCs επειδή είναι δύσκολη η κατασκευή ενός SoC χωρίς τη χρήση πολλών CPU

Τί είναι MPSoCS? Μπλοκ διάγραμμα για τυπικό compact disc/mpeg layer-3 (CD/MP3), ένα ολοκληρωμένο το οποίο ελέγχει το CD drive και αποκωδικοποιεί MP3 αρχεία ήχου. Η αρχιτεκτονική DVD συστήματος είναι περισσότερο πολύπλοκη αλλά έχει όμοια χαρακτηριστικά στα αρχικά σταδία της επεξεργασίας Το διάγραμμα αυτό εμφανίζει τη διασύνδεση ανάμεσα σε διαφορετικές μονάδες επεξεργασίας (processing elements- PEs)

Τί είναι MPSoCS? Αρχιτεκτονική του Emotion Engine ολοκληρωμένου του Sony PlayStation 2 Το Emotion Engine είναι ένα από τα πιο πολύπλοκα chips στο PlayStation 2 Περιλαμβάνει γενικού σκοπού επεξεργαστή που εκτελεί εκατομμύρια πράξεων το δευτερόλεπτο, σετ εντολών και δύο μονάδες επεξεργασίας VPU0 και VPU1 Οι δύο μονάδες επεξεργασίας έχουν διαφορετικές εσωτερικές αρχιτεκτονικές Το ολοκληρωμένο περιλαμβάνει 5.8 εκατομμύρια τρανζίστορς, δουλεύει στα 300 MHz, και αποδίδει 5.5 Gflops.

Τί είναι MPSoCS? Γιατί υπάρχει ανάγκη για υψηλή απόδοση; Τα περισσότερα SoCs έχουν ανάγκη για υψηλή απόδοση για την ικανοποίηση απαιτήσεων σε πραγματικό χρόνο Γιατί υπάρχει ανάγκη για χαμηλή κατανάλωση ισχύος; Αυξάνεται ο χρόνος ζωής της μπαταρίας του συστήματος, λιγότερες θερμικές και ηλεκτρομαγνητικές καταπονήσεις, λιγότερο κόστος για την ψύξη και το πακετάρισμα του προϊόντος

Τί είναι τα MPSoCS? Το γεγονός ότι τα MPSoC είναι multiprocessor υπονοείται ότι ο σχεδιασμός λογισμικού είναι ένα χαρακτηριστικό ολόκληρου του σχεδιασμού του ολοκληρωμένου Στους MPSoC, είτε το hardware είτε το software μπορούν να λύσουν ένα πρόβλημα, το οποίο μπορεί να δίνει καλύτερα αποτελέσματα σε απόδοση, ισχύ και σχεδιαστικό χρόνο Ο σχεδιασμός Software για ένα MPSoC αποτελεί μεγάλη πρόκληση για τους σχεδιαστές λογισμικού.το Software πρέπει να είναι υπερβολικά αξιόπιστο. Πρέπει επίσης να υπερβαίνει περιορισμούς, όπως ενέργεια και απόδοση

Τί είναι MPSoCS? Το γεγονός ότι τα περισσότερα MPSoCs είναι ένα σύνολο ανομοιογενών επεξεργαστών καθιστά δυσκολότερο τον αποδοτικό προγραμματισμό τους Μολονότι όμως οι απλές αρχιτεκτονικές προγραμματίζονται ευκολότερα, συχνά είναι ακριβότερες και λιγότερο ενεργειακά αποδοτικές Ο συνδυασμός σε ένα σύστημα παραμέτρων όπως υψηλή αξιοπιστία, υψηλή απόδοση και χαμηλής κατανάλωσης ισχύος λογισμικό σε ένα ανομοιογενές σύστημα επεξεργαστών αποτελεί θέμα έρευνας στην επιστήμη του Software

Τί είναι MPSoCS? Πολλοί MPSoCs χρειάζεται να ενσωματώσουν λογισμικό που δεν αναπτύσσεται από τους σχεδιαστές ολοκληρωμένων Όμως, οι χρήστες των ολοκληρωμένων πρέπει να προσθέτουν τα δικά τους χαρακτηριστικά στο σύστημα ώστε να διαφοροποιούνται τα προϊόντα από τα ανταγωνιστικά Τα πρώτα VLSI συστήματα με ενσωματωμένους επεξεργαστές χρησιμοποιούν περιβάλλοντα λογισμικού που είναι δύσκολο για τους σχεδιαστές λογισμικού να τα τροποποιήσουν Νέα MPSoCs έχουν καλύτερα αναπτυξιακά περιβάλλοντα, χρησιμοποιώντας διαφορετικά πακέτα λογισμικού για

Τί είναι MPSoCS? Ένας MPSoC είναι ένας ανομοιογενής πολυεπεξεργαστής: υπάρχουν αρκετοί διαφορετικοί τύποι στοιχείων επεξεργασίας, το σύστημα μνήμης πρέπει να είναι κατανεμημένο ομοιογενώς γύρω από τον επεξεργαστή, και το δίκτυο διασύνδεσης μεταξύ των PE και της μνήμης πρέπει να είναι επίσης ανομοιογενές Τα MPSoCs συχνά απαιτούν μεγάλες ποσότητες μνήμης

Γιατί MPSoCS? Κλασική αρχιτεκτονική συστήματος πολυεπεξεργαστών (sharedmemory model) Η αρχιτεκτονική αυτή προτιμάται εξαιτίας της ευελιξίας της στο προγραμματισμό

Γιατί MPSoCS? Γιατί όμως δεν χρησιμοποιούμε απλές αρχιτεκτονικές για όλες τις εφαρμογές; Γιατί πολλές φορές χρησιμοποιούμε συστήματα πολυεπεξεργαστών τα οποία δεν είναι τόσο εύκολα στον προγραμματισμό τους;

Γιατί MPSoCS? Χρησιμοποιώντας ένα μόνο επεξεργαστή το σύστημα δε θα αποδίδει το ίδιο καλά για όλες τις εφαρμογές; Απλές εφαρμογές όπως ο χειρισμός βάσεων δεδομένων σε ένα PDA μπορεί να αντιμετωπιστεί από έναν επεξεργαστή, πολύπλοκες όμως εφαρμογές που απαιτούν υψηλή απόδοση για κωδικοποίηση ήχου και εικόνας, απαιτούν συστήματα πολλαπλών επεξεργαστών

Γιατί MPSoCS? Γιατί δεν ενσωματώνουμε συστοιχίες ομοίων επεξεργαστών σε ένα σύστημα; Αν χρησιμοποιούσαμε την ίδια αρχιτεκτονική για διαφορετικές εφαρμογές το κόστος κατασκευής θα ήταν πολύ μικρό Οι προγραμματιστές θα μπορούσαν ευκολότερα να αναπτύξουν λογισμικό εφόσον θα έχουν οικειοποιηθεί με σχεδιαστικές πλατφόρμες λογισμικού

Γιατί MPSoCS? Υπάρχουν όμως περιορισμοί στις εφαρμογές που δεν καλύπτονταν από τις παραπάνω αρχιτεκτονικές: Πρέπει να εκτελούνται real-time υπολογισμοί Πρέπει να είναι αποδοτικές στην επιφάνεια Πρέπει να είναι χαμηλής κατανάλωσης Όλοι αυτοί οι περιορισμοί αντιμετωπίζονται από ανομοιογενείς multiprocessors

Γιατί MPSoCS? Οι υπολογισμοί σε πραγματικό χρόνο απαιτούν καλύτερο σχεδιασμό συστημάτων Πολλές SoC εφαρμογές απαιτούν υψηλή απόδοση όπως υψηλής ανάλυσης κωδικοποίησης video Απαιτείται προσεχτικός σχεδιασμός στο: instruction set, memory system, και system bus. Επιπλέον απαιτείται προσεχτικός σχεδιασμός λογισμικού ώστε να εκμεταλλευτούν τα πλεονεκτήματα του hardware

Γιατί MPSoCS? Η απόδοση του συστήματος για Real-time εφαρμογές απαιτεί το hardware να διαθέτει μηχανισμούς πρόβλεψης Ένας τρόπος για πρόβλεψη της λειτουργίας του συστήματος και υψηλή απόδοση είναι η χρήση μηχανισμών που ειδικεύονται στις ανάγκες της εφαρμογής

WHY MPSoCS? Οι ανομοιογενείς multiprocessors είναι περισσότερο αποδοτικοί σε καλυπτόμενη επιφάνεια από τις συστοιχίες όμοιων επεξεργαστών Για παράδειγμα στη MPEG υλοποίηση όπου κάθε επιμέρους επεξεργαστής του συστήματος εκτελεί διαφορετικές λειτουργίες

Γιατί MPSoCS? Αν και η ανομοιογένεια των εφαρμογών δεν προϋποθέτει την χρήση διαφορετικών επεξεργαστών το σύστημα αποδίδει πολύ καλύτερα με επεξεργαστές ειδικού σκοπού Ένα ειδικού σκοπού Processing Element είναι πολύ γρηγορότερο και μικρότερο από ένα προγραμματιζόμενο επεξεργαστή Επομένως προσανατολισμένοι προς μια ειδική εφαρμογή επεξεργαστές μπορούν να βελτιώσουν την απόδοση του συστήματος εξοικονομώντας σε επιφάνεια

Γιατί MPSoCS? Η Memory specialization τεχνική είναι σημαντική στο σχεδιασμό αποδοτικών αρχιτεκτονικών Αν η αρχιτεκτονική του συστήματος μπορεί να προβλέψει τη συμπεριφορά της μνήμης κατά τη διάρκεια μιας εφαρμογής, αυτά τα χαρακτηριστικά μπορεί να αποτυπωθούν στην αρχιτεκτονική του συστήματος

Γιατί MPSoCS? Τα περισσότερα SoC είναι αποδοτικά σε κατανάλωση ισχύος Όπως και με την επιφάνεια η εξειδίκευση στο σχεδιασμό εξοικονομεί ενέργεια

WHY MPSoCS? Τα SoCs απαιτούν interface I/O Επειδή υπάρχει μεγάλη ποικιλία των φυσικών διεπαφών είναι δύσκολη η δημιουργία προγραμματισιμων και επαναπροσδιοριζόμενων διεπαφών

Προκλήσεις Κύρια ζητήματα στο σχεδιασμό λογισμικού. Ο σχεδιασμός λογισμικού αποτελεί μεγάλο θέμα στο σχεδιασμό συστημάτων. Το λογισμικό πρέπει να καθιστά το σύστημα, υψηλής απόδοσης, πραγματικού χρόνου και χαμηλής κατανάλωσης ενέργειας Επομένως κάθε σύστημα πρέπει να διαθέτει το δικό του αναπτυξιακό περιβάλλον λογισμικού: με compiler, debugger, simulator, και άλλα εργαλείά.

Προκλήσεις Όσο τα SoCs γίνονται πιο περισσότερο πολύπλοκα στο σχεδιασμό και συνδέονται με το internet η ασφάλεια γίνεται όλο και πιο σημαντικό θέμα Επομένως η ενσωμάτωση στοιχείων ασφάλειας δεν πρέπει να μειώσει την αποδοτικότητα του συστήματος

Μεθοδολογίες Σχεδιασμού Είναι φανερό ότι ειδικές μεθοδολογίες και εργαλεία απαιτούνται για το σχεδιασμό του συστήματος Τα σημερινά πακέτα σχεδιασμού λύνουν ένα μέρος των προβλημάτων, όμως απαιτείται περισσότερη προσπάθεια για τη φύση των μη ομογενών αρχιτεκτονικών Απαιτείται σύντομος χρόνος σχεδιασμό, μελέτη και πρόβλεψη των αποτελεσμάτων και επίτευξη των σχεδιαστικών στόχων

Μεθοδολογίες Σχεδιασμού O σύντομος χρόνος σχεδιασμού είναι πολύ σημαντικός σε τυπικές εφαρμογές MPSoC game/network επεξεργασία, κωδικοποίηση video υψηλής ευκρίνειας, παραδείγματα που απαιτούν σύντομο χρόνο σχεδιασμού εξαιτίας της ανταγωνιστικής αγοράς

Μεθοδολογίες Σχεδιασμού Η μοντελοποίηση σε επίπεδο συστήματος (System-level modeling) βοηθά καθοριστικά στο σχεδιασμό MPSoC Το Register-transfer level (RTL) απαιτεί πολύ χρόνο σχεδιασμού Όταν οι σχεδιαστές δουλεύουν σε επίπεδο RTL, μπορούν να παράγουν κατά μέσο όρο 4 με 10 πύλες για κάθε γραμμή του RTL κώδικα. Αν υπήρχε ο στόχος για υλοποίηση ενός 100 εκατομμυρίων πυλών MPSoC κυκλώματος χρησιμοποιώντας μόνο RTL κώδικα πάνω από ένα εκατομμύριο γραμμές RTL κώδικα Αυτή η μεγάλη σχεδιαστική προσπάθεια δε θα μπορούσε να επιτρέψει τη επιβίωση τω περισσότερων MPSoC στις σύγχρονες αγορές

Μεθοδολογίες Σχεδιασμού Τα MPSoCs χρησιμοποιούν εκατοντάδες χιλιάδες γραμμών για το σχεδιασμό λογισμικού Ο υλοποίηση του MPSoC αποτελείται απο ανομοιογενή σχεδιαστικά τμήματα Ένα σημαντικό ζήτημα είναι ο ορισμός του αποδοτικού και αξιόπιστου συστήματος

Μεθοδολογίες Σχεδιασμού Τα περισσότερα MPSoCs πρόκειται να εφαρμοστούν σε υψηλής απόδοσης εφαρμογές όπου υπάρχει ανάγκη για μετάδοση σε πραγματικό χρόνο Οι σχεδιαστές πρέπει να είναι σε θέση να εκτιμούν την απόδοση του συστήματος από τα πρώτα στάδια του σχεδιασμού Υπάρχει ανάγκη για καθορισμό και πρόβλεψη της απόδοσης από την αρχή του σχεδιασμού

Μεθοδολογίες Σχεδιασμού Ο σχεδιασμός MPSoC αποτελεί μια πολύπλοκη διαδικασία με πολλά επίπεδα αφαιρετικότητας. Τα βήματα σχεδιασμού μπορούν να χωριστούν σε δύο βασικές κατηγορίες: design space exploration (χωρισμός των εργασιών σε υλικό και λογισμικό) and architecture design (Σχεδιασμός των μονάδων του συστήματος, υλικό/λογισμικό σχεδιασμός διεπαφής). Η διαδικασία σχεδιασμού ενός προϊόντος απαιτεί περιορισμούς όπως, η απόδοση του συστήματος, η κατανάλωση του συστήματος και το κόστος παραγωγής. Η έννοια της επαναχρησιμοποίησης είναι σημαντική

HARDWARE Aρχιτεκτονικές Έχουν επισημανθεί αρκετά προβλήματα στην MPSoC αρχιτεκτονική ξεκινώντας από τα χαμηλά επίπεδα και φτάνοντας στα υψηλά επίπεδα αρχιτεκτονικής: Τι CPU χρησιμοποιείται? Πιο instruction set και ποια cache πρέπει να χρησιμοποιηθεί ανάλογα με τα χαρακτηριστικά της εφαρμογής Τι σύνολο επεξεργαστών χρησιμοποιείται? Πόσοι επεξεργαστές απαιτούνται Τι τοπολογία διασύνδεσης θα χρησιμοποιηθεί? Πως πρέπει να είναι οργανωμένο το σύστημα μνήμης?

HARDWARE Aρχιτεκτονικές Στη συνέχεια θα παρουσιαστούν ερευνητικές εργασίες που έχουν διεξαχθεί στα πλαίσια ακαδημαϊκής και βιομηχανικής προσπάθειας για υψηλής απόδοσης MPSoC αρχιτεκτονικές.

HARDWARE Aρχιτεκτονικές Η αρχιτεκτονική Philips NexperiaTM DVP είναι ευέλικτη για ψηφιακού βίντεο εφαρμογές Εμπεριέχει δύο μονάδες επεξεργασίας λογισμικού, έναν (VLIW) media επεξεργαστή (32-bit or 64-bit @ 100 to 300+ MHz) και ένα MIPS core (32bit or 64-bit @ 50 to 300+ MHz). Επιπλέον εμπεριέχει μια βιβλιοθήκη με μονάδες επεξεργασίας hardware processing units Στο σύστημα έχουν ολοκληρωθεί δίαυλοι δεδομένων για μεταφορά δεδομένων memory bus for intensive shared data transfer και η αρχιτεκτονική για τη μνήμη

HARDWARE Aρχιτεκτονικές Η πλατφόρμα της Texas Instruments (TI) OMAP είναι ένα παράδειγμα αρχιτεκτονικής για ασύρματες εφαρμογές Οι δύο μονάδες επεξεργασίας αποτελούνται από το ARM9 core (@ 150 MHz) και το C55x DSP core (@ 200 MHz). Μαζί και τα δύο διαθέτουν 16-Kb I-cache, και 8-Kb D- cache Υπάρχει μια μνήμη αφιερωμένη και ένας traffic controller ώστε να για να χειρισθεί η μεταφορά δεδομένων

HARDWARE Aρχιτεκτονικές Το Virtex-II ProTM της Xilinx αποτελεί μια πρόσφατη αρχιτεκτονική FPGA η οποία μπορει να ενσωματώσει 0, 1, 2, ή 4 PowerPC cores. Κάθε PowerPC core καταλαμβάνει το 2% της συνολικής επιφάνειας. Το υπόλοιπο της επιφάνειας μπορεί να χρησιμοποιηθεί για την υλοποίηση των διαύλων του συστήματος, των διεπαφών και των επιμέρους τμημάτων υλικού Η IP βιβλιοθήκη και τα αναπτυξιακά εργαλεία παρέχονται από τη Xilinx

HARDWARE Aρχιτεκτονικές Από τα παραδείγματα των περισσότέρων MPSoC, μπορούμε να συμπεράνουμε πως τα περισσότερα: Περιορίζουν τον αριθμό και το τύπο των ολοκληρωμένων συστημάτων επεξεργαστών Παρέχουν μια καθορισμένη ή η μια μη τελείως ορισμένη αρχιτεκτονική μνήμης Περιορίζουν τις επιλογές διασύνδεσης και IPs Δεν υποστηρίζεται ο σχεδιασμόςαπό το ψηλό αφαιρετικό επίπεδο

SOFTWARE Το λογισμικό των MPSoC χρειάζεται να εξεταστεί κάτω από τους τρεις παράγοντες: Του επεξεργαστή, Της αρχιτεκτονικής λογισμικού και της επαναχρησιμοποίησης Της βελτιστοποίησης

SOFTWARE Από την πλευρά του προγραμματιστή ο MPSoC παρέχει μια παράλληλη αρχιτεκτονική που αποτελείται από επεξεργαστές οι οποίοι είναι συνδεδεμένοι πάνω από ένα δίκτυο επικοινωνίας Απαιτείται παράλληλος προγραμματισμός Υπάρχουν δύο τύποι παράλληλου προγραμματισμού shared-memory programming message-passing programming. Τα OpenMP και message-passing interface (MPI) είναι αντίστοιχα παραδείγματα

SOFTWARE Όταν χρησιμοποιούνται τυπικές μέθοδοι παράλληλου προγραμματισμού αντιμετωπίζονται και κλασικά θέματα παράλληλης επεξεργασίας Πρέπει να ορίσουμε τη διαφορά μεταξύ κλασικού παράλληλου προγραμματισμού και MPSoC προγραμματισμού. Πρέπει να εκμεταλλευτούμε τα χαρακτηριστικά τωνmpsoc ώστε να χρησιμοποιηθούν τα μοντέλα παράλληλου προγραμματισμού με αποδοτικό τρόπο.

SOFTWARE Διαφορές εμφανίζονται σε δύο εκφάνσεις του σχεδιασμού λογισμικού στα MPSoC: Στην εφαρμογή αρχιτεκτονική Μοντέλα παράλληλου προγραμματισμού απαιτούνται ώστε να υποστηριχτεί κάθε ειδους πρόγραμμα Το MPSoC είναι συνήθως προσανατολισμένο προς μια εφαρμογή. Υποστηρίζει ένα σύνολο απο προκαθορισμένες εφαρμογές. Για το λόγο αυτό πρέπει να βρεθεί ένα μοντέλο παράλληλου προγραμματισμού το οποίο θα ταιράζει σε ένα συγκεκριμένο MPSoC

SOFTWARE Οι αρχιτεκτονικές MPSoC έχουν δύο βασικά χαρακτηριστικά και διαφέρουν απο τις τυπικές αρχιτεκτονικές πολυεπεξεργαστικών συστημάτων. Η ανομοιογένια Ο παραλληλισμός Τα ΤMPSoC μπορεί να έχουν ενσωματωμένους διαφορετικούς τύπους υπολογιστικών μονάδων και αυθαίρετη τοπολογία διασύνδεσης επεξεργαστών Ένα MPSoC μπορεί να έχει μεγάλο αριθμό επεξεργαστών και στοιχείων επεξεργασίας (processing elements). Για να αντιμετωπιστούν οι παραπάνω δυσκολίες πρέπει να καθοριστούν και να εισαχθούν νέα προγραμματιστικά μοντέλα

SOFTWARE Η αρχιτεκτονική του λογισμικού περιλαμβάνει: middleware (για επικοινωνία), Το λειτουργικό σύστημα (OS), και το hardware abstraction layer (HAL). Το HAL είναι το μέρος του λογισμικού που εξαρτάται από τον επεξεργαστή και τα περιφεριακά. Παραδείγματα του HAL περιλαμβάνουν, τα drivers των διαύλων, το κώδικα για τη μονάδα management μνήμης (MMU), και interrupt service routines (ISRs).

SOFTWARE Από την πλευρά του λογισμικού, η αρχιτεκτονική παρέχει μια virtual machine όπου το λογισμικό της εφαρμογής εκτελείται: Ο βασικός ρόλος της αρχιτεκτονικής λογισμικού είναι: 1. Επικοινωνία μεταξύ υπολογιστικών μονάδων 2. Προγραμματισμός των εργασιών για παράλληλη επεξεργασία 3. Επεξεργασία εξωτερικών συμβάντων (interrupt processing)

SOFTWARE Τα application programming interfaces (APIs) του middleware, και το HAL παρέχει με αφαιρετικό τρόπο την εικόνα του hardware στα ανώτερα επίπεδα του software To HAL API δίνει μια αφαιρετικήεικόνα του επεξεργαστή και της αρχιτεκτονικής του Το middleware και το OS API μια αφαιρετική εικόνα του συστήματος πολλαπλών επεξεργαστών

SOFTWARE Βασικά χαρακτηριστικά της αρχιτεκτονικής του software είναι τα εξής: Καθορισμός ποια αφαιρετική αρχιτεκτονική του MPSoC είναι η πιο κατάλληλη σε κάθε βήμα σχεδιασμού Καθορισμός για το πως θα γίνει μια βελτιστοποίηση της αρχιτεκτονικής software με βάση την εφαρμογή

Ανάγκες για βελτιστοποίηση Τα MPSoC χρησιμοποιούνται συνήθως σε συστήματα πραγματικού χρόνου, όπως, κινητά τηλέφωνα, υψηλής ευκρίνειας ψηφιακή τηλεόραση, παιχνιδομηχανές. Επομένως ο σχεδιαστής έχει να συνδυάσει υψηλή απόδοση, ελάχιστη καταλυπτόμενη επιφάνεια, χαμηλή κατανάλωση ισχύος για συστήματα πραγματικού χρόνου. Για να ικανοποιηθούν όλες αυτές οι απαιτήσεις το λογισμικό του MPSoC πρέπει να βελτιστοποιηθεί από πλευράς κώδικα, χρόνου εκτέλεσης και κατανάλωση ενέργειας