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

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

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

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

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

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

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

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

Προχωρηµένα Θέµατα Αρχιτεκτονικής

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

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

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

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

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

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

Παράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης

ΕΙΣΑΓΩΓΗ. Παρέχει µια διεπαφή (interface) ανάµεσα στο υλισµικό και στα προγράµµατα εφαρµογών/χρηστών.

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

Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου. Ενδέκατη (11 η ) δίωρη διάλεξη.

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

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

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

ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I

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

Ηλεκτρονικοί Υπολογιστές Δ Εξάμηνο

Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy. Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου

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

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

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

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

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

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

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

Βασικές Σχεδίασης Υπολογιστών Αριθμητική Μονάδα Επεξεργασίας Κεφάλαιο 10

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

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

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

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

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

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

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

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

Εισαγωγή στην Επιστήμη των Υπολογιστών

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

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

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

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

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

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

Κατανεμημένα συστήματα και Επικοινωνία Πραγματικού Χρόνου

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ << ΜΕΛΕΤΗ ΤΗΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ CUDA ΚΑΙ ΠΑΡΑΛΛΗΛΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΚΑΡΤΩΝ GPU ΤΗΣ NVIDIA >> Αρ. Μητρώου: 04/2519

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

Ειδική Επιστημονική Εργασία. Σχεδίαση και υλοποίηση Θέσεως Εργασίας ενός Εργαστηρίου DSPs από Απόσταση για Λήψη και Επεξεργασία Εικόνας

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

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

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

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

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

Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή

Τεχνικές βελτιστοποίησης µε σκοπό την επίτευξη χαµηλής κατανάλωσης ισχύος

Παράλληλα Συστήματα. Γιώργος Δημητρίου. Ενότητα 3 η : Παράλληλη Επεξεργασία. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

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

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

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

Πληροφορική Ι. Μάθημα 6 ο Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας

Προχωρηµένα Θέµατα Αρχιτεκτονικής Η/Υ. Storage Systems.. Λιούπης

Εφαρµογές Πληροφορικής Υπολογιστών. Κεφάλαιο 3 Το υλικό του υπολογιστή

i Όλες οι σύγχρονες ΚΜΕ είναι πολυπλοκότερες!

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

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

ΣΧΕΔΙΑΣΗ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ - VHDL ΑΝΤΩΝΗΣ ΠΑΣΧΑΛΗΣ

Κεφάλαιο 14 ο. Γ. Τσιατούχας. VLSI Systems and Computer Architecture Lab. Σχεδιαστικές Μεθοδολογίες 2

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

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

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

ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων

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

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

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

Υλικό Υπολογιστών (Hardware) ΜΥΥ-106 Εισαγωγή στους Η/Υ και Πληροφορική

ΠΛΗ10 Κεφάλαιο 2. ΠΛΗ10 Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: 2 2.1: Bασική Δομή του Υπολογιστή

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

ΕΙΣΑΓΩΓΗ. Αρχιτεκτονική Η/Υ ΗΜΟΣ ΜΠΟΛΑΝΑΚΗΣ

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

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ

Pipelining και Παράλληλη Επεξεργασία

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

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

Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ

ΑΝΑLOG TO DIGITAL CONVERTER (ADC)

Διάλεξη 12 Καθυστερήσεις (Stalls) Εκκενώσεις Εντολών (Flushing)

*Ένας υπολογιστής είναι στην πραγματικότητα ένα σύστημα πολλών μερών που συνεργάζονται μεταξύ τους.

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

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

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

Εισαγωγή Θέματα H/W. Χάρης Μανιφάβας Τμήμα Εφ. Πληροφορικής & Πολυμέσων ΤΕΙ Κρήτης. Κατανεμημένα Συστήματα (Ε) Εισαγωγή: Θέματα H/W 1

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

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

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

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

Transcript:

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

Αρχιτεκτονικές επεξεργασίας video SIMD (single instruction multiple data). Βασίζονται στον παραλληλισμό των δεδομένων. Χαρακτηρίζονται από πολλαπλά datapaths τα οποία εκτελούν την ίδια λειτουργία παράλληλα σε διαφορετικά set δεδομένων Spilt-ALU. Κάνει χρήση του παραλληλισμού των subwords όπου ένας αριθμός (π.χ. 4) μικρότερης ακρίβειας (π.χ. 8-bit) κομματιών δεδομένων επεξεργάζονται παράλληλα σε μια μεγαλύτερης ακρίβειας (π.χ. 32-bit) ALU. Η ALU αυτή χρειάζεται hardware επεκτάσεις για να αποτρέπει, για παράδειγμα, την διάδοση των σημάτων κρατουμένου σε μια πρόσθεση πέρα από τα όρια των δεδομένων.

VLIW (very long instruction word). Μια VLIW μηχανή παρέχει τα μέσα για να εκμεταλλευθεί τον instructionlevel παραλληλισμό των multimedia αλγορίθμων ορίζοντας, σε μια μεγάλη λέξη εντολής, την ταυτόχρονη εκτέλεση πολλαπλών λειτουργιών σε πολλαπλά functional units. MIMD (multiple instruction multiple data). Προσπαθεί να εκμεταλλευτεί τον παραλληλισμό και σε επίπεδο δεδομένων αλλά και σε επίπεδο λειτουργιών. Έχουν πολλαπλά datapaths το καθένα με την δικιά του μονάδα ελέγχου με αποτέλεσμα διαφορετικά datapath να μπορούν να προγραμματιστούν την ίδια στιγμή να εκτελούν διαφορετικές λειτουργίες σε διαφορετικά set δεδομένων. Διαχωρίζονται σε tightly coupled, όπου υπάρχει μια κοινόχρηστη μνήμη, και σε loosely coupled όπου η μνήμη είναι κατανεμημένη.

Ειδικές εντολές. Η ιδέα είναι η μελέτη συγκεκριμένων αλγορίθμων, η αναγνώριση συνήθων λειτουργιών, και η εισαγωγή ειδικού hardware για να αντικατασταθούν μια μεγάλη ακολουθία standard συχνών εντολών από ειδικές εντολές, που θα εκτελούνται στο νέο hardware, με αποτέλεσμα να μειώνεται ο αριθμός των εντολών και ο χρόνος που απαιτείται για την εκτέλεση ενός έργου. Co-processors. Επιτρέπουν την εκτέλεση συχνών και υπολογιστικά απαιτητικών λειτουργιών σε ξεχωριστό hardware ειδικού σκοπού ενώ ο όχι τόσο απαιτητικός έλεγχος και η μη συχνές λειτουργίες εκτελούνται στον έναν ή περισσότερους programmable processor cores

Βέλτιστες διαμορφώσεις CPU και διασυνδέσεων Η βελτίωση της απόδοσης της εκτέλεσης μεμονωμένων εντολών δεν αυξάνει πολύ την συνολική απόδοση του συστήματος. Αυτό μπορεί να συμβεί μόνο με την παρουσία πολλών επεξεργαστών που θα μοιράζονται το βάρος του ελέγχου των διαφόρων εργασιών Μονολιθικές CPU. Πέρα την ολοκλήρωση διαφόρων περιφερειακών χρειαζόμαστε πρόσθετη υπολογιστική ισχύ χρησιμοποιώντας πολλαπλούς πυρήνες CPU. Για παράδειγμα ο PNX-8500 της Phillips χρησιμοποιεί 2 πυρήνες CPU των TM32 TriMedia πυρήνα (VLIW) με πολύ μεγάλη απόδοση και με multimedia-enhanced instruction set κατάλληλο για audio και video επεξεργασία. έναν standard MIPS32 reduced instruction set computing (RISC) πυρήνα ο οποίος έχει το λειτουργικό και πάνω από αυτό τρέχει το software της εφαρμογής

Reconfigurable CPUs. Μπορούν οι μονολιθικοί επεξεργαστές (RISC,VLIW,DSP ) να αντικατασταθούν από compile-time-configurable CPUs. Αυτοί οι επεξεργαστές μπορούν να προσαρμοστούν όχι μονό ως προς το μέγεθος της μνήμης που υποστηρίζουν αλλά και ως προς των αριθμό των περιφερειακών ενώ έχουν την δυνατότητα να προσθέτουν custom λειτουργίες σχετικές με hardware επεκτάσεις όπως lookup tables, x-y memories, add-compare select μονάδες και multiplyaccumulate (MAC) μονάδες. Αυτοί οι επεξεργαστές προσφέρουν πολύ αυξημένη ευλυγισία καθώς μια διαμορφώσιμη αρχιτεκτονική μπορεί να χρησιμοποιηθεί σε πολλές εφαρμογές. Επίσης έχουν την δυνατότητα του postfabrication modification του να προσαρμόζονται, δηλαδή, στην εκάστοτε εφαρμογή ή να διορθώνουν bugs.

Networked CPUs. Μερικές μεγάλες μονολιθικές CPUs μπορούν να είναι πολύ κατάλληλες για τις παραδοσιακές, υψηλής απόδοσης εργασίες αλλά δεν προσφέρουν ικανοποιητική απόδοση όταν επεξεργάζονται πολλές μικρές (και ειδικές) εργασίες, όπως απαιτείται π.χ., στο χώρο των Multimedia. Το taskswitching overhead και οι ειδικές λειτουργίες που απαιτούνε αυτές έχουν μεγάλο αντίκτυπο στην απόδοση αυτών των CPUs. Σε αυτές τις περιπτώσεις είναι καλύτερο να διασπαστεί ο αλγόριθμος στα βασικά του κομμάτια και να εκτελούνται αυτά σε ειδικό hardware,ένα δίκτυο, δηλαδή, από μικρές DSP μονάδες. Το πρόβλημα σε αυτή την περίπτωση είναι το sharing τον μονάδων αποθήκευσης καθώς και η αυτοματοποιήσει του ελέγχου του datapath

Smart Interconnects. Data streaming συνήθως υποθέτει use-case-dependent ευέλικτες διασυνδέσεις μεταξύ του hardware και του software. Η άποψη του software για αυτές τις διασυνδέσείς πρέπει να είναι αφαιρετική στην ιδέα του pipeline.οι tree διασυνδέσεις μεταξύ clusters CPUs είναι ένας αποδοτικός τρόπος. Εντούτοις, για να απαλλαγούν οι CPUs από το έργο της επικοινωνίας, χρειαζόμαστε τα smart intreconnects. Αυτές οι διασυνδέσεις μπορούν αυτόματα να διαχειριστούν τους buffers και την ροή πληροφοριών που συνδέεται με δύο συνεργάτες στο δίκτυο χωρίς οποιαδήποτε επέμβαση από την CPU. Data-triggered software εργασίες, μέσω μηχανισμών interrupt, έχουν σαν αποτέλεσμα αποτελεσματική data driven επικοινωνία και επεξεργασία σε τέτοια συστήματα

Βασικές και νέες απαιτήσεις για την σχεδίαση ενός SoC Μια σαφώς ορισμένη on-chip αρχιτεκτονική διασύνδεσης και επικοινωνίας των υποσυστημάτων Επαρκής εφοδιασμός από υψηλής ποιότητας, επαναχρησιμοποιήσιμα ( standard διεπαφές, που μπορούν να χρησιμοποιηθούν σε πλήθος αρχιτεκτονικών) και διαμορφώσιμα (μπορούν να αλλάξουν ορισμένες παραμέτρους ανάλογα την εφαρμογή) IP (intellectual property) cores (πυρήνες) IP cores συμμόρφωση σε ορισμένους κανόνες (για την αρχιτεκτονική, σχεδιασμό, επαλήθευση, συσκευασία, και δοκιμή) που επιτρέπει την ολοκλήρωση με την ελάχιστη προσπάθεια διαθεσιμότητα των πλαισίων IP για την αξιολόγηση ενός IP πριν την χρησιμοποίηση του αποδοτική χρήση των design plan synthesis methods για την πρόωρη εξερεύνηση εναλλακτικών λύσεων προκειμένου να καθοριστεί ένα βέλτιστο deign flow Hardware-software partitioning Σύνθεση σε λογικό επίπεδο που να συνδέεται όμως και με το φυσικό σχεδιασμό Performance-driven place and route συνδυασμένη με timing/power ανάλυση ένα σε βάθος system-level σχεδιασμός και ανάλυση

Platform-based σχεδιασμός Προκειμένου να υπογραμμιστεί η συστηματική επαναχρησιμοποίηση, το χαμηλότερο κόστος ανάπτυξης, η ελαχιστοποίηση των κινδύνων, και να μειωθεί ο χρόνος ανάπτυξης χρησιμοποιείται Platform-based σχεδιασμός. Η ιδέα είναι να μην ξεκινάει ο σχεδιασμός ενός SoC κάθε φορά από την αρχή αλλά να χρησιμοποιεί μερικά προκαθορισμένα κομμάτια της αρχιτεκτονικής ορισμένα για συγκεκριμένες εφαρμογές Μια SoC πλατφόρμα είναι μια βιβλιοθήκη εικονικών συστατικών και ένα αρχιτεκτονικό πλαίσιο, αποτελούμενη από ένα σύνολο ενσωματωμένου και προεπιλεγμένου λογισμικού και υλικού, εικονικά συστατικά (VCs), πρότυπα, EDA και εργαλεία λογισμικού, βιβλιοθήκες και μεθοδολογία, για να υποστηρίξει τη γρήγορη ανάπτυξη προϊόντων μέσω της αρχιτεκτονικής εξερεύνησης, ολοκλήρωσης και επαλήθευσης

Τοπολογίες διαύλων η απόδοση ενός πολυεπεξεργαστικού συστήματος στηρίζεται σε μεγάλο ποσοστό σε μια αποδοτική επικοινωνία μεταξύ των επεξεργαστών στην ισορροπημένη διανομή φορτίων μεταξύ τους. Με πολλαπλές CPU και με ένα πλήθος περιφερειακών συστημάτων το μεγάλο πρόβλημα της επικοινωνίας λύνεται χρησιμοποιώντας ένα πολυεπίπεδο και ιεραρχικό σύστημα από buses, τα οποία συνδέονται μεταξύ τους με bridges, οι οποίες δρουν είτε σαν μετατροπείς πρωτοκόλλων είτε για να συνδέουν buses διαφορετικών ταχυτήτων Παράδειγμα το CoreConnect έχει 3 επίπεδα Processor local bus (PLB) : high perfomance/low latency processor bus με ξεχωριστά read/write channels On-chip peripheral bus (OPB) : low speed, ξεχωριστά read/write channels για αποφυγή των bottlenecks από αργές I/O devices Device control register (DCR) : daisy chained low-speed datapath για διακίνηση πληροφοριών κατάστασης και διαμόρφωσης

PNX-8500 2 επεξεργαστές, 1 για Multimedia processing και 1 για control processing Κάθε CPU είναι υπεύθυνη για συγκεκριμένα περιφερειακά και επικοινωνεί με αυτά με ξεχωριστό local bus Για περιφερειακά που ανήκουν και στις 2 γίνεται οι CPU διαπραγματεύονται για την χρήση τους με την βοήθεια σεμαφόρων Οι απαιτήσεις για το σύστημα επικοινωνίας είναι Η cache κίνηση των CPU πρέπει να διαχωρίζεται από την κίνηση των δεδομένων των register H προσπέλαση των 2 CPU στους registers πρέπει να διαχωρίζεται Η σύνδεση των CPU με την μνήμη πρέπει να είναι high perfomance/low latency Κάθε CPU πρέπει να έχει low latency πρόσβαση στα περιφερειακά της μέσω του local bus της Όλοι οι register στα διάφορα περιφερειακά πρέπει να είναι προσβάσιμη και από τις 2 CPU

Tristate vs Point-to-Point Bus Χρησιμοποιήθηκε high-performance point-topoint bus (MMI) για την πρόσβαση στην μνήμη Tristate bus (PI) για πρόσβαση των control registers

Για τα περιφερειακά που δεν χρειάζονται high DMA bandwidth υπάρχουν 3 επιλογές από τις οποίες επιλέχθηκε η πρώτη

Τελική τοπολογία 2 διακριτά Bus systems 64-bit high performance point-to-point MMI bus Παρέχει high bandwidth/low latency πρόσβαση στην μνήμη Χρησιμοποιεί έναν round-robin αλγόριθμο για διαιτησία 32-bit tristate PI bus Παρέχει πρόσβαση στους control registers των περιφερειακών Παρέχει ένα medium bandwidth DMA path μέσω μιας gateway σύνδεσης στο ΜΜΙ bus

PI bus To PI bus χωρίζεται σε 3 υπο-τμήματα F-PI (fast PI) bus : low latency πρόσβαση στην μνήμη και σε ορισμένα περιφερειακά για τον επεξεργαστή MIPS M-PI (MIPS-PI) bus : παρέχει πρόσβαση στα περιφερειακά που ελέγχονται από τον MIPS επεξεργαστή T-PI (TriMedia-PI) bus : παρέχει πρόσβαση στα περιφερειακά που ελέγχονται από τον TriMedia επεξεργαστή

Design for Testability Η σχεδίαση ενός SoC εγείρει πολλά προβλήματα ως προς το testability Μη ομογενής κυκλώματα και πυρήνες έχουν διαφορετικά χαρακτηριστικά και απαιτούν διαφορετικούς τρόπους αντιμετώπισης ως προς το testability Εμφανίζουν διαφορετικά επίπεδα test friendliness Η λύση είναι η προσθήκη, εκτός των παραδοσιακών κυκλωμάτων (BIST), ειδικού hardware

ΙEEE P1500 Ένα νέο test standard Χρησιμοποιεί module-level boundary-scan υποδομές (wrappers), οι οποίες επιτρέπουν intercore και intracore test λειτουργίες να εκτελεστούν μέσω ενός TAM (test access mechanism) Τα wrappers απομονώνουν έναν IP πυρήνα από το περιβάλλον του και διασφαλίζουν ότι Ο IP πυρήνας μπορεί να ελεγχθεί αφού έχει ολοκληρωθεί σε ένα SoC Οι διασυνδέσεις μεταξύ των πυρήνων μπορούν να ελεγχθούν