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

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

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

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

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

Σχεδίαση και Υλοποίηση Μηχανισμού Μεταφοράς Δεδομένων από Συσκευές Αποθήκευσης σε Δίκτυο Myrinet, Χωρίς τη Μεσολάβηση της Ιεραρχίας Μνήμης

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

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

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

ΣΧΕΔΙΑΣΜΟΣ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΑΡΧΙΤΕΚΤΟΝΙΚΩΝ ΓΙΑ ΥΨΗΛΗΣ ΑΠΟΔΟΣΗΣ ΚΑΙ ΑΠΟΔΟΤΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΣΥΣΤΗΜΑΤΩΝ ΣΕ ΟΛΟΚΛΗΡΩΜΕΝΑ ΚΥΚΛΩΜΑΤΑ (SOC)

Ένα αφαιρετικό πραγματικού χρόνου μοντέλο λειτουργικού συστήματος για MPSoC

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

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

Σχεδιαστικά Προγράμματα Επίπλου

ΡΟΜΠΟΤΙΚΗ. ΕΡΓΑΣΙΑ ΠΑΝΩ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΝΧΤ ΚΑΙ ΤΑ ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ BLUETOOTH, I2C και serial communication

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε)

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή

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

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

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

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

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

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

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

Εικονική Μνήμη (Virtual Μemory)

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

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

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

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

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

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο

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

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

Κεφάλαιο 4 Λογισμικό συστήματος. Εφαρμογές Πληροφορικής Κεφ.4 Καραμαούνας Πολύκαρπος 1

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

ΜΕΛΕΤΗ ΣΧΕΔΙΑΣΗ ΕΦΑΡΜΟΓΗΣ ΣΕ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ (CLOUD COMPUTING) ΜΕ ΕΜΦΑΣΗ ΣΤΗΝ ΚΑΤΑΣΚΕΥΗ ΔΕΝΤΡΩΝ.

Λιβανός Γιώργος Εξάμηνο 2017Β

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

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

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

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

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

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

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

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

Οργάνωση Υπολογιστών (IΙI)

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

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

Ιεραρχία Μνήμης. Ιεραρχία μνήμης και τοπικότητα. Σκοπός της Ιεραρχίας Μνήμης. Κρυφές Μνήμες

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

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

Λειτουργικά Συστήματα Η/Υ

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

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

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

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

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

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

ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων

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

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

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

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

Εισαγωγή στη VHDL Υλοποίηση στο Quartus

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

ΔΕΔΟΜΕΝΑ ΚΑΙ ΠΛΗΡΟΦΟΡΙΕΣ

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

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

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

Η ιεραρχία της μνήμης

Σχεδιασµός βασισµένος σε συνιστώσες

Σύστημα διασύνδεσης και. διαδικασία εισόδου-εξόδου

RAM BF με απορροφητικό πάγκο τύπου Μodular

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

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

12/5/18. συστημάτων. Το λογισµικό συστηµάτων. Κεφάλαιο 5

Οργάνωση και Αρχιτεκτονική Υπολογιστών. Κεφάλαιο 7.4

Πολυπύρηνοι επεξεργαστές Multicore processors

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

IBM App Connect Professional

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

Μάθημα 4: Πρότυπα, Πρωτόκολλα & Υπηρεσίες

Κεφάλαιο 4. Διδακτικοί Στόχοι. Για την αναγκαιότητα, τον τρόπο συνεργασίας, τις δυνατότητες και τον τρόπο εγκατάστασης των περιφερειακών συσκευών.

ΘΕΜΑ : ΗΛΕΚΤΡΟΝΙΚΗ ΜΝΗΜΗ ΚΑΙ ΜΙΚΡΟΕΛΕΓΚΤΕΣ. ΔΙΑΡΚΕΙΑ: 1 περίοδος

Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

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

Επιτεύγµατα των Λ.Σ.

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα

Ιστορική Αναδρομή Λειτουργικών Συστημάτων (ΛΣ) Εισαγωγή : ο πυρήνας (kernel) / ο φλοιός (shell) Β ΕΠΑΛ

Κεντρική Μονάδα Επεξεργασίας

Μαθαίνοντας το hardware του αναπτυξιακού

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

Βασικές συσκευές Ε/Ε. Είσοδος Έξοδος στον υπολογιστή. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (IΙI) Μ.


Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) Τμήματα ΚΜΕ (CPU) Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (Ι)

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Οργάνωση Υπολογιστών (Ι)

Πανεπιστήμιο Πατρών. Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών

Σύστημα Ηλεκτρονικού Πρωτοκόλλου

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

Transcript:

13.1 Τα συστήματα και η επικοινωνία μεταξύ τους γίνονται όλο και περισσότερο πολύπλοκα. Δεν μπορούν να περιγραφούνε επαρκώς στο επίπεδο RTL καθώς αυτή η διαδικασία γίνεται πλέον αρκετά χρονοβόρα. Για αυτό απαιτούνται υψηλότερα επίπεδα αφαιρετικότητας για να μοντελοποιήσουν και να επαληθεύσουν την διασύνδεση των διαφόρων component. Τα SoC θα περιλαμβάνουν πολλούς επεξεργαστές με διαφορετικό instruction set. Το software θα είναι πλέον περισσότερο πολύπλοκο από ότι το hardware και δεν θα είναι σε επίπεδο assembly. Έτσι ο προγραμματισμός ενός SoC θα είναι πιο πολύπλοκος από τον συμβατικό παράλληλο προγραμματισμό και πρέπει να βρεθούν πιο αποτελεσματικά μοντέλα και τρόποι για αυτόν. Πολύπλοκες On-chip hardware/software διεπαφές απαιτούνται για να υλοποιήσουν ένα application specific δίκτυο επικοινωνίας.

Διαφορές single-processor αρχιτεκτονικών και SoCs Σε single-processor αρχιτεκτονικές η μοναδική CPU ενεργεί σαν master για τα υπόλοιπα slave περιφερειακά. Στα SoC υπάρχουν πολλοί masters και απαιτείται συγχρονισμός μεταξύ τους Στο επίπεδο διασύνδεσης αντί για master/slave shared bus αρχιτεκτονική χρεισημοποιούνται πολλά πολύπλοκα συστήματα buses Στα SoC συχνά χρησιμοποιείται ειδικό hardware για να ελέγχει τα πρωτόκολλα επικοινωνίας ενώ σε single-processor αυτά εκτελούνται στην μοναδική CPU Στις single-processor αρχιτεκτονικές η επικοινωνία γίνεται μέσω memory mapped input/output. Στα SoC χρειάζεται ένας ειδικός communication controller που θα επιτρέπει την χρήση πολυπλοκότερων δομών (FIFO, broadcasting )

Τυπική αρχιτεκτονική των SoCs Υπάρχουν 2 είδη επεξεργαστών Αυτοί που τρέχουν την εφαρμογή (application CPU) Αυτοί που είναι αφιερωμένοι στην εκτέλεση ειδικών λειτουργιών (dedicated CPU) Ο προγραμματισμός και οι διεπαφές των δύο ειδών επεξεργαστών διαφέρουν αρκετά

MPSoCs software architecture application CPU To επίπεδο εφαρμογής οργανώνεται σαν μια στοίβα στρωμάτων πάνω από το hardware Το χαμηλότερο επίπεδο περιέχει τους drivers και τους Low-level architecture controllers και παρέχεται από την ομάδα σχεδίασης του SoC Τα επόμενα επίπεδα παρέχονται από την ομάδα σχεδίασης της εφαρμογής Στο στρώμα λειτουργικού συχνά επαναχρησιμοποιούν είδη υπάρχοντα embedded OS προσαρμοσμένα στην εφαρμογή Το τελευταίο επίπεδο είναι application-specific λογισμικό και σχεδιάζεται χρησιμοποιώντας υψηλού επιπέδου γλώσσες προγραμματισμού

MPSoCs software architecture dedicated CPU Στην περίπτωση της οργάνωσης του λογισμικού στις dedicated CPU χρησιμοποιείται ένα παρόμοιο μοντέλο με την διαφορά του λειτουργικού Για λόγους απόδοσης και μεγέθους κώδικα δεν είναι δυνατόν να χρησιμοποιηθεί ένα υπάρχον λειτουργικό οπότε χρησιμοποιείται ένα custom λειτουργικό το οποίο υποστηρίζει application specific διεπαφές Τα πλεονεκτήματα αυτής της οργάνωσης λογισμικού (είτε application είτε dedicated) είναι Και τα δύο λογισμικά μπορούν να γραφτούν ανεξάρτητα από την hardware υλοποίηση Αυξάνεται κατά πολύ το επίπεδο ευελιξίας και φορητότητας

Μέθοδοι σχεδίασης MPSoC Υπάρχουν δύο τρόποι για την σχεδίαση ενός SoC Top-down => Bottom-up

Αφαιρετικές διασυνδέσεις μεταξύ Για να ξεχωρίσουμε τα κομμάτια και τον σχεδιασμό του SoC χρειαζόμαστε HW και SW κομμάτια προσαρμογής για να απομονώσουμε τα διάφορα κομμάτια από το δίκτυο επικοινωνίας. Αφαιρετικές διασυνδέσεις μπορούν να παρέχονται από την CPU Το κλειδί της επιτυχίας είναι η αυτόματη δημιουργία διεπαφών από αφαιρετικά μοντέλα. κομματιών

Προσέγγιση βασισμένη στα components Ο στόχος είναι να επιτραπεί η επικοινωνία μεταξύ ετερογενών κομματιών χρησιμοποιώντας αφαιρετικές διασυνδέσεις. Υπάρχουν δύο προσεγγίσεις: 1. Χρησιμοποιώντας ένα standard bus και ένα standard πρωτόκολλο επικοινωνίας (π.χ. IBM Core Connect) 2. Έχοντας ένα εικονικό κομμάτι διεπαφής οπός προτείνεται από την Virtual Socket Interface Alliance

Η σύνδεση ετερογενών κομματιών μεταξύ τους απαιτεί την δημιουργία μετατροπέων από το ένα πρωτόκολλο επικοινωνίας στο άλλο. Δημιουργία υβριδικών(sw-hw) διεπαφών μεταξύ των διάφορων κομματιών για αποδοτικότερη υλοποίηση των πρωτοκόλλων την απόδοση την ενέργεια και το κόστος. Αυτόματη υλοποίηση των πρωτοκόλλων αυτών για ταχύτερη και πιο αξιόπιστη υλοποίηση. Μέθοδοι και εργαλεία για την δημιουργία ολοκληρωμένων αποτελούμενα υπομονάδες

ROSES Μεθοδολογία για τον σχεδιασμό SoC Αρχικά σχεδιάζουμε μία εικονική αρχιτεκτονική που οργανώνει το σύστημά μας σε κομμάτια και διαμορφώνουμε τις παραμέτρους της αρχιτεκτονικής Το επόμενο βήμα είναι ο σχεδιασμός των διασυνδέσεων των κομματιών με την δημιουργία διεπαφών αυτών. Τελικός σκοπός είναι η παραγωγή RTL μοντέλου του MPSoC το οποίο θα αποτελείται από πυρήνες επεξεργαστών, πυρήνες IP, και HW/SW διεπαφές.

Μοντέλο εικονικής αρχιτεκτονικής Παρουσιάζει το σύστημα σαν δικτυωμά από εικονικά κομμάτια. Κάθε κομμάτι έχει ένα μανδύα και ένα σύνολο από εικονικές πόρτες. Τρεις νέες ένιες εισάγονται: 1. Εικονικό κομμάτι. Ένα κομμάτι και τον μανδύα του 2. Εικονική πόρτα: Ομάδες πορτών και οι αναφερόμενη σε αυτές εικονική πόρτα 3. Εικονικό κανάλι: Μια ομάδα καναλιών που έχουν κάποια λογική σχέση.

Μοντέλο σχεδιασμού MPSoC

Ροή δημιουργίας hardware

Δημιουργία hardware Η βιβλιοθήκη δημιουργίας hardware αποτελείται από δύο μέρη: 1. Την βιβλιοθήκη για κομμάτια του επεξεργαστή η οποία περιέχει :πυρήνες επεξεργαστών, μνήμες, περιφερειακά αλλά και αρχιτεκτονικές επεξεργαστών. Κατά την διάρκεια σχεδιασμού ρυθμίζονται παράμετροι όπως οι διευθύνσεις, ο αριθμός των διακοπών, οι προτεραιότητες που αυτές έχουν κ.α. 2. Την βιβλιοθήκη για κομμάτια επικοινωνίας η οποία περιέχει προσαρμογείς καναλιών και μοντέλα δικτύων επικοινωνίας. Κατά την διάρκεια σχεδιασμού ρυθμίζονται παράμετροι όπως το μέγεθος των buffer o τύπος των δεδομένων που στέλνονται, παράμετροι για τις διακοπές κ.α.

Δημιουργία μανδύα επεξεργαστή Η δημιουργία του μανδύα γίνεται με την generic channel adapter structure (CA). H CA ολοκληρώνει το πρωτόκολλο επικοινωνίας σε μακροσκοπικό επίπεδο και το πρωτόκολλο διασύνδεσης στο δίκτυο σε μικροσκοπικό επίπεδο. Τα CA χωρίζονται έχουν δύο διεπαφές: 1. Την διεπαφή με το εξωτερικό δίαυλο επικοινωνίας (internal communication bus ICB) 2. Την διεπαφή με το υπόλοιπο δίκτυο.

Είδη κομματιών που χρησιμοποιούνται για την δημιουργία του CA Το RWI (read write interface) που χρησιμοποιείται για τον συγχρονισμό, την ενεργοποίηση, και την επεξεργασία των task To processing block που χρησιμοποιείται για προετοιμασία των εισερχόμενων δεδομένων για αποθήκευση και την μετατροπή των αποθηκεμένων δεδομένων στην κατάλληλη μορφή εξόδου. Το storage block που είναι υπεύθυνο για την αποθήκευση και ανάκληση δεδομένων.

Δημιουργία μανδύα μνήμης Η κεντρική μνήμη μέσω του μανδύα διασυνδέεται με τους διάφορους επεξεργαστές χρησιμοποιώντας ένα δίκτυο επικοινωνίας. Memory port adapter (MPA) περιέχει έναν ελεγκτή και συναρτήσεις διαχείρισης του συστήματος μνήμης Channel adapter (CA) όπως αναφέρθηκε υλοποιεί το πρωτόκολλο επικοινωνίας. Internal communication bus (ICB) διασυνδέει τα δύο κύρια κομμάτια του συστήματος μνήμης.

Διάγραμμα ροής αυτόματης δημιουργίας custom λειτουργικού συστήματος

Βιβλιοθήκη λειτουργικού συστήματος Περιέχει ένα μικρό και ευέλικτο πυρήνα λειτουργικού και τις υπηρεσίες που αυτό μπορεί να προσφέρει. Η κύρια λειτουργία του πυρήνα είναι ο προγραμματισμός και η εναλλαγή των task. Παρέχονται επίσης υπηρεσίες οι οποίες είναι συγκεκριμένες για ενσωματωμένα συστήματα. Όπως εισόδου-εξόδου, επικοινωνίας, μνήμης κ.α. Τέλος αξίζει να αναφερθεί ότι ανάμεσα στις υπηρεσίες αυτές υπάρχουν ενδεχομένως εξαρτήσεις τις οποίες πρέπει να διαχειριστεί το λειτουργικό..

Αναλυτής Αρχιτεκτονικής- Σχεδιασμός κώδικα λειτουργικού Από την περιγραφή του συστήματος παρέχονται στον αναλυτή οι ακόλουθες πληροφορίες: υπηρεσίες απαραίτητες για την εκτέλεση των εφαρμογών και παράμετροι των κομματιών που υπάρχουν στο σύστημα (π.χ. αν ένα κανάλι περιέχει μία FIFO λειτουργία η υπηρεσία FIFO ενσωματώνεται στο λειτουργικό). Αφού επιλεχθούν οι απαραίτητες υπηρεσίες ο επιλογέας κώδικα ελέγχει τυχόν επιπλέον υπηρεσίες που πρέπει να προστεθούν για να προσδοθούν στο σύστημα τα απαραίτητα χαρακτηριστικά και ενσωματώνει και αυτές στον κώδικα του λειτουργικού. Τέλος ο κώδικας δημιουργείται αυτόματα σε C και γλώσσα μηχανής.

Δημιουργία μοντέλου προσομοίωσης

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