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

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

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

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

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

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

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

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

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

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

Μοντέλα. χαρακτηριστικά χωρίς να συνοδεύεται από λεπτοµέρειες.

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

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

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

Εφαρμογές μικροελεγκτών

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

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

Εισαγωγή. Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής

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

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

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

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

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

Σχεδίαση της Μονάδας Ελέγχου

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

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

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

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

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

ΗΜΥ 210: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο Ένα συνδυαστικό κύκλωµα µπορεί να περιγραφεί από: Φεβ-05. n-είσοδοι

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

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

Θέματα Διπλωματικών Εργασιών

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

4. Συντακτικό μιας γλώσσας είναι το σύνολο των κανόνων που ορίζει τις μορφές με τις οποίες μια λέξη είναι αποδεκτή.

Οργάνωση της φυσικής δομής του ολοκληρωμένου κυκλώματος

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό

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

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

6 η Θεµατική Ενότητα : Σχεδίαση Συστηµάτων σε Επίπεδο Καταχωρητή

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

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

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

Προγραμματισμός ΙI (Θ)

Ψηφιακά ολοκληρωμένα κυκλώματα

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

Συστοιχία Επιτόπια Προγραμματιζόμενων Πυλών Field Programmable Gate Arrays (FPGAs)

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

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

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

Θέματα Διπλωματικών Εργασιών

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

ΚΕΦΑΛΑΙΟ 1 ΥΛΙΚΟ ΥΠΟΛΟΓΙΣΤΩΝ

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

Λογική Σχεδίαση Ι - Εξεταστική Φεβρουαρίου 2013 Διάρκεια εξέτασης : 160 Ονοματεπώνυμο : Α. Μ. Έτος σπουδών:

Συμβολική γλώσσα Εκπαιδευτικού Υπολογιστή - Λογισμικό Υπολογιστών

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

Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112

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

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

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ

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

Βασίλειος Κοντογιάννης ΠΕ19

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

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

Δυαδικό Σύστημα Αρίθμησης

Πτυχιακή Εργασία Σχεδίαση κυκλωμάτων επικοινωνίας με απλές οθόνες, με τη γλώσσα VHDL και υλοποίηση στις αναπτυξιακές πλακέτες LP-2900 και DE2.

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

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

7 η Θεµατική Ενότητα : Εισαγωγή στις Γλώσσες Περιγραφής Υλικού

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

ς Ποιότητα ξιολόγηση Α

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

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1

ΚΕΦΑΛΑΙΟ 1 ο : ΥΛΙΚΟ ΥΠΟΛΟΓΙΣΤΩΝ (HARDWARE)

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

Ι ΑΣΚΩΝ ΚΑΘΗΓΗΤΗΣ: ΚΑΘΗΓΗΤΗΣ ΕΦΑΡΜΟΓΩΝ. ΤΕΙ ΥΤΙΚΗΣ ΜΑΚΕ ΟΝΙΑΣ

Πρόγραμμα Σπουδών Ακαδημαϊκού Έτους

Πρόταση για Ανασχηματισμό του Προγράμματος Προπτυχιακών Σπουδών της ΣΗΜΜΥ

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

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

Μάθημα 5: Χαρακτηριστικά της Κ.Μ.Ε.

Εργαλεία CASE. Computer Assisted Systems Engineering. Δρ Βαγγελιώ Καβακλή. Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου

Α. Ερωτήσεις Ανάπτυξης

Κεφάλαιο 7. ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης

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

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

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

Εισαγωγή στον έλεγχο ορθής λειτουργίας ψηφιακών συστημάτων. Δημήτρης Νικολός, Τμήμα Μηχ. Ηλεκτρονικών Υπολογιστών και Πληροφορικής, Παν.

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 1 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

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

Κεφάλαιο 7 ο. Γ. Τσιατούχας. VLSI Technology and Computer Architecture Lab. Ακολουθιακή Λογική 2

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

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

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

Βασικές Έννοιες Πληροφορικής

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

Transcript:

Συστήματα σε Ολοκληρωμένα Κυκλώματα Κεφάλαιο 5: Απόδοση και Ευελιξία του Σχεδιασμού Multiple-Processor SoC Διδάσκων: Καθηγητής Οδυσσέας Κουφοπαύλου Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών

ΕΙΣΑΓΩΓΗ Η ταχεία εξέλιξη της τεχνολογίας του πυριτίου φέρνει μια νέα κρίση στον σχεδιασμό VLSI αρχιτεκτονικών. Δημιουργούνται ανάγκες για αυξημένη ευχρηστία, αξιοπιστία, bandwidth και μειωμένο κόστος και κατανάλωση ισχύος. Όλες αυτές οι ανάγκες μπορούν να επιτευχθούν με register-transfer-level (RTL) τεχνικές hardware σχεδιασμού

ΕΙΣΑΓΩΓΗ Ένας τρόπος για επιτάχυνση της ανάπτυξης πολύ μεγάλων VLSI αρχιτεκτονικών είναι η χρήση πολλαπλών μικροεπεξεργαστικών πυρήνων για να κάνουν την επεξεργασία που αποδίδεται στο RTL. Ο εκτεινόμενος επεξεργαστης (extensible processor) μπορεί να αρχικοποιηθεί για να αυξήσει το απαιτούμενο bandwidth ακόμα και για πολύπλοκες εφαρμογές. Αυτοί οι οι επεξεργαστές χρησιμοποιούν firmware για τον αλγόριθμο ελέγχου τους και όχι RTL-defined hardware.

ΕΙΣΑΓΩΓΗ Η πολυπλοκότητα σχεδιασμού ενός τυπικού λογικού μπλοκ αυξάνεται με μεγαλύτερο ρυθμό από οτι ο αριθμός πυλών και η πολυπλοκότητα του συστήματος πιο γρήγορα από τον αριθμό των δομικών μπλοκ. Ομοίως, η πολυπλοκότητα επιβεβαίωσης αυξάνει δυσανάλογα. Το κόστος ενός σφάλματος σχεδιασμού αυξάνει. Όλα τα ενσωματωμένα συστήματα πλέον περιέχουν σημαντικές ποσότητες Software. Απαραίτητη είναι η επιβεβαίωση hardware/software.

ΕΙΣΑΓΩΓΗ Τα πρωτόκολλα επικοινωνιών αυξάνουν σημαντικά σε πολυπλοκότητα και απαιτούν πολύ μεγαλύτερη υπολογιστική ισχύ και throughput από τους προκάτοχούς τους. Στις περισσότερες αγορές ο ανταγωνισμός οδηγεί σε μια συνεχώς αυξανόμενη ανάγκη για καινούργιες τεχνολογίες. Ο νόμος του Moore οτι η πυκνότητα του πυριτίου θα διπλασιάζεται κάθε 18 μήνες οδηγεί τους κατασκευαστές chip σε εξαντλητικούς ρυθμούς λόγω των αναγκών για μεγαλύτερη ευχρηστία, διάρκεια ζωής μπαταρίας, throughput και κόστους του τελικού προϊόντος

ΕΙΣΑΓΩΓΗ Τα τελευταία 5 χρόνια οι σχεδιαστές έχουν δει την χωρητικότητα του πυριτίου να αυξάνεται με ένα ρυθμό περίπου 10. Προβλέπεται μικρή μείωση του ρυθμού αύξησης της πυκνότητας αλλά η εκθετική αύξηση της χωρητικότητας αναμένεται να συνεχιστεί για τα επόμενα 10 χρόνια

ΕΙΣΑΓΩΓΗ Η ανταγωνιστική πίεση, μας έχει οδηγήσει σε τεράστιες VLSI αρχιτεκτονικές που χαρακτηρίζονται από δεκάδες συνεργαζόμενες συναρτήσεις. Η τάση για χρήση μεγάλου αριθμού RTL-based λογικών μπλοκ και η μίξη τους με επεξεργαστές ελέγχου και DSPs στο ίδιο chip φαίνεται στο σχήμα

ΕΙΣΑΓΩΓΗ Η συνεχόμενη ανάπτυξη στη πολυπλοκότητα ενός ολοκληρωμένου είναι ένα κεντρικό δίλημμα για τον σχεδιασμό VLSI αρχιτεκτονικών. Χρησιμοποιώντας προσχεδιασμένους και προεπιβεβαιωμένους επεξεργαστικούς πυρήνες για τα ξεχωριστά λειτουργικά μπλοκ σε μια VLSI αρχιτεκτονική, ο σχεδιαστικός φόρτος μεταφέρεται στο software. Έτσι σχεδιαστικά bugs λύνονται πιο εύκολα, μπορούν να γίνουν πιο εύκολα αλλαγές να προστεθούν επιπλέον χαρακτηριστικά. Δυστυχώς οι επεξεργαστές γενικού σκοπού δεν έχουν καλή απόδοση ενέργειας, throughput και κόστους για δύσκολα υπολογιστικά προβλήματα.

ΕΙΣΑΓΩΓΗ Ο σχεδιασμός κατά παραγγελία RTL λογικών για πολύπλοκες εφαρμογές παίρνει πολύ χρόνο και παράγει σχέδια που είναι πολύ άκαμπτα για να μεταβληθούν Στο σχήμα φαίνεται αυτό το παράδοξο.

ΕΙΣΑΓΩΓΗ Στα περισσότερα RTL σχέδια, το datapath καταναλώνει την πλειονότητα των πυλών στο λογικό μπλοκ. Η επιλογή των στοιχείων datapath και των ενώσεων μεταξύ τους συχνά αντανακλά τους στοιχειώδεις τύπους δεδομένων με τους οποίους λειτουργεί το μπλοκ. Ενώ οι βασικές δομές δεδομένων αντανακλούν τη φύση των δεδομένων και όχι τις εκλεπτυσμένες πληροφορίες ενός συγκεκριμένου αλγόριθμου που χρησιμοποιεί τα δεδομένα, το FSM του RTL μπλοκ έχει μόνο λεπτομέρειες ελέγχου. Παρόλο που αυτή η μηχανή πεπερασμένης κατάστασης (FSM) καταναλώνει λίγες πύλες του μπλοκ, εμπεριέχει μεγάλη πολυπλοκότητα και αποτελεί τον κύριο κίνδυνο για λάθη σχεδιασμού και επιβεβαίωσης.

ΕΙΣΑΓΩΓΗ Παράδειγμα: Μια μηχανή καταστάσεων με Ν καταστάσεις και Ι εισόδους μπορεί να έχει Ν 2 εξισώσεις επόμενης κατάστασης και κάθε εξίσωση θα έχει κάποιες συναρτήσεις με τις Ι εισόδους ή 2 Ι πιθανους συνδυασμους εισόδων. Έτσι Ν 2 *2 Ι συνδυασμοι εισόδων πρεπει να δοκιμαστουν για να ελεγθει η μηχανη καταστάσεων Αυτό θα πάρει πολλούς κύκλους ρολογιού για να γίνει. Για μια μηχανή 40 καταστάσεων και 20 εισόδους θα χρειαστουν 10 δισεκατομμυρια κύκλοι ρολογιου για εξονυχιστικό έλεγχο, κατι που σημαινει πολλους μήνες εξομοιώσεων.

ΟΙ ΠΕΡΙΟΡΙΣΜΟΙ ΤΟΥ ΠΑΡΑΔΟΣΙΑΚΟΥ ASIC ΣΧΕΔΙΑΣΜΟΥ Ο λογικός σχεδιασμός και η επιβεβαίωση καταναλώνουν μεγάλο κομμάτι του VLSI σχεδιασμού SoC Η τάση της αγοράς για όλο και μεγαλύτερη απόδοση και χαμηλότερη κατανάλωση αυξάνει τον αριθμό των SoC συστημάτων Tο χαμηλό επίπεδο της έκφρασης σχεδιασμού (hardware data-path δομές και FSMs) και η δυσκολία επιβεβαίωσης περιορίζουν την ικανότητα αυξομείωσης (scalability) του RTL σχεδιασμού he low level of design expression)

ΟΙ ΠΕΡΙΟΡΙΣΜΟΙ ΤΟΥ ΠΑΡΑΔΟΣΙΑΚΟΥ ASIC ΣΧΕΔΙΑΣΜΟΥ O κλασσικός σχεδιασμός SoC ακολουθεί πιστά την παράδοση του προκατόχου του (επιπέδου πλακέτας σχέδια): Συνδυάζει ένα τυπικό μικροεπεξεργαστή, μια μνήμη και RTL λογική σε ένα επεξεργαστή με set εντολών σχεδιασμένο για συγκεκριμένη εφαρμογή (ASIC). Συχνά, οι επεξεργαστές που χρησιμοποιούνται σε τέτοιου είδους επιπέδου πλακέτας σχέδια είναι RISC επεξεργαστές σχεδιασμένοι το 1980. Όταν όλα τα κομμάτια του συστήματος συνδυάζονται σε ένα κομμάτι πυριτίου, η συχνότητα αυξάνει και η κατανάλωση ισχύος πέφτει ανάλογα με το ισοδύναμο επιπέδου πλακέτας σχέδιο. Παρόλα αυτά κληρονομούν και τα προβλήματα του ισοδύναμού τους.

ΟΙ ΠΕΡΙΟΡΙΣΜΟΙ ΤΟΥ ΠΑΡΑΔΟΣΙΑΚΟΥ ASIC ΣΧΕΔΙΑΣΜΟΥ Συστήματα αρχιτεκτονικά αντίγραφα συχνά κρατούν τον άκαμπτο διαχωρισμό μεταξύ ενός επεξεργαστή που επιτελεί έργο επιτήρησης και μιας ομάδας από λογικά μπλοκ που το καθένα επιτελεί μια συγκεκριμένη δουλειά. Σε αρχιτεκτονικές που προκύπτουν από επιπέδου πλακέτας σχέδια, τυπικά οι επικοινωνίες μεταξύ των διαφόρων λογικών μπλοκ και μεταξύ των λογικών μπλοκ και του επεξεργαστή υποφέρουν από το μεγάλο latency, την χαμηλή συχνότητα ρολογιού και το στενό data-path πλάτος της επιπέδου πλακέτας chip-to-chip σύνδεσης.

ΟΙ ΠΕΡΙΟΡΙΣΜΟΙ ΤΩΝ ΕΠΕΞΕΡΓΑΣΤΩΝ ΓΕΝΙΚΟΥ ΣΚΟΠΟΥ Η παραδοσιακή προσέγγιση στο σχεδιασμό SoC περιορίζεται επιπλέον από τις απαρχές και την εξέλιξη των μικροεπεξεργαστών, που είναι κατά κανόνα απόγονοι παλιών αρχιτεκτονικών του 1980 και υποστηρίζουν μόνο γενικούς τύπους δεδομένων (integers) και λειτουργίες Επειδή είναι γενικού σκοπού, οι επεξεργαστές αυτοί έχουν εφαρμογή σε μεγάλο εύρος υπολογιστικών εφαρμογών. Παρόλα αυτά πάσχουν από ένα κοινότυπο πρόβλημα : Η ανάγκη για απόλυτη γενικότητα υπαγορεύει την ικανότητα να εκτελούν μια αυθαίρετη σειρά από πρωτόγονες εντολές σε αγνώστου εύρους τύπου δεδομένων. Έτσι ακόμα και ο πιο προηγμένος τέτοιος επεξεργαστής αδυνατεί να διατηρήσει παραπάνω από δύο εντολές ανά κύκλο.

ΟΙ ΠΕΡΙΟΡΙΣΜΟΙ ΤΩΝ ΕΠΕΞΕΡΓΑΣΤΩΝ ΓΕΝΙΚΟΥ ΣΚΟΠΟΥ Σε σύγκριση με του γενικού σκοπού υπολογιστικά συστήματα, τα ενσωματωμένα συστήματα είναι πολύ διαφορετικά μεταξύ τους σαν σύνολο αλλά πιο εξειδικευμένα το καθένα από μόνο του. Σε εντατικού ρυθμού ενσωματωμένες εφαρμογές οι γενικού σκοπού επεξεργαστές παρουσιάζουν: Λόγω της μικρής ταύτισης των κρίσιμων λειτουργιών σε πολλές ενσωματωμένες εφαρμογές με τον επεξεργαστή χρειάζονται περισσότεροι κύκλοι ρολογιού όταν αυτές οι λειτουργίες τρέχουν σε γενικού σκοπού επεξεργαστές. Οι πιο εστιασμένες ενσωματωμένες συσκευές δεν χρειάζεται να εκμεταλλευτούν ένα μεγάλο κομμάτι του γενικού σκοπού επεξεργαστή που είναι άχρηστο

Ο DSP ΣΑΝ ΕΠΕΞΕΡΓΑΣΤΗΣ ΣΥΓΚΕΚΡΙΜΕΝΟΥ ΣΚΟΠΟΥ Οι Digital signal processors (DSPs) αποτελούν μια σημαντική κατηγορία των επεξεργαστών συγκεκριμένου σκοπού. Έχουν set εντολών και συστήματα μνήμης οργανωμένα σε μεγάλους αριθμούς για πράξεις πολλαπλασιασμού-πρόσθεσης σε όμοια μπλοκ από δειγματολειπτούμενα δεδομένα. Οι DSPs συχνά είναι σε σειρά με ελεγκτές RISC στα SoCs, ειδικά όταν στην τελική εφαρμογή υπάρχει μίξη ελέγχου και επεξεργασίας σημάτων.

ΟΙ EXTENSIBLE PROCESSORS (ΕΚΤΕΙΝΩΜΕΝΟΙ ΕΠΕΞΕΡΓΑΣΤΕΣ) ΣΑΝ ΕΝΑΛΛΑΚΤΙΚΗ ΤΟΥ RTL ΣΧΕΔΙΑΣΜΟΥ Ο σχεδιασμός RTL έχει πολλά ενδιαφέροντα χαρακτηριστικά όπως μικρή έκταση του ολοκληρωμένου, χαμηλή κατανάλωση ενέργειας και υψηλό throughput. Παρόλα αυτά, τα μειονεκτήματα του RTL σχεδιασμού δύσκολος σχεδιασμός, αργή επιβεβαίωση και φτωχό scalability για δύσκολα προβλήματα αρχίζουν να υπερκεράζουν τα θετικά του σημεία. Μια μεθοδολογία σχεδιασμού που θα κρατά μόνο τα θετικά του RTL σχεδίου αλλά με μειωμένο χρόνο και ρίσκο σχεδιασμού αποτελεί ανάγκη, που μπορεί να καλυφθεί από επεξεργαστές συγκεκριμένου σκοπού.

Configurable, Extensible Processors Σε αντίθεση με τον RTL σχεδιασμό οι μηχανές καταστάσεων της extensible processor τεχνολογίας δεν είναι βασισμένες σε hardware, αλλά σε firmware. Τα εργαλεία για τον σχεδιασμό extensible processors κάνουν αυτόματη παραγωγή hardware σχεδίου νέου επεξεργαστή συγκεκριμένου σκοπού και software εργαλείων από μια υψηλού επιπέδου περιγραφή. Τα software εργαλεία είναι φτιαγμένα για ακριβώς την ίδια αρχιτεκτονική από τον παραγωγού επεξεργαστή με την ίδια περιγραφή του επεξεργαστή Με αυτή τη μέθοδο επεκτείνεται ο αριθμός των ανθρώπων που μπορούν να σχεδιάσουν επεξεργαστές. Πλέον οι σχεδιαστές συστημάτων μπορούν να υλοποιήσουν προγραμματιζόμενους extensible επεξεργαστές χρησιμοποιώντας διάφορες hardware μορφές forms

Configurable, Extensible Processors Με αυτή την προσέγγιση ο σχεδιαστής συστήματος δεν έχει πρόβλημα στο να φτιάξει μαζί hardware, verification, and software εργαλεία. Με κώδικα υψηλού επιπέδου μπορεί να ελέγχει όλες τις παραμέτρους ενός συστήματος χωρίς να είναι σχεδιαστής μικροεπεξεργαστή. Με αυτή τη μέθοδο επεκτείνεται ο αριθμός των ανθρώπων που μπορούν να σχεδιάσουν επεξεργαστές. Πλέον οι σχεδιαστές συστημάτων μπορούν να υλοποιήσουν προγραμματιζόμενους extensible επεξεργαστές χρησιμοποιώντας διάφορες hardware μορφές (ASICs, FPGAs)

Configurable, Extensible Processors Η χρήση προγραμματιζόμενων και εκτεινομενων επεξεργαστών σε SoCs καθορίζεται από: 1. Τι χαρακτηριστικά του επεξεργαστή μπορούν να προγραμματιστούν και να επεκταθούν; 2. Πως ο σχεδιαστής συστήματος μπορεί να αποδώσει αυτά τα χαρακτηριστικά; 3. Ποια τα παραδιδόμενα (hardware και software κομμάτια) του σχεδιαστή συστήματος; 4. Ποια είναι τα τυπικά αποτελέσματα για την κατασκευή καινούργιων πλατφόρμων που θα απευθύνονται σε ανερχόμενες τηλεπικοινωνιακές και καταναλωτικές εφαρμογες;

Configurable, Extensible Processors Για να είναι χρήσιμο το αποτέλεσμα σχεδιασμού extensible επεξεργαστή η αρχικοποίηση του επεξεργαστή πρέπει να πληροί τα εξής κριτήρια: 1. Ο μηχανισμός αρχικοποίησης πρέπει να επιταχύνει και να απλοποιεί την κατασκευή χρήσιμων αποτελεσμάτων 2. Ο παραγόμενος επεξεργαστής πρέπει να έχει πλήρη hardware περιγραφή (με επιτυχή σύνθεση RTL περιγραφής σε Verilog ή VHDL), software εργαλεία ανάπτυξης (compilers, debuggers, assemblers, και realtime operating systems), και βοήθεια επιβεβαίωσης (μοντέλα εξομοίωσης, διαγνωστική και πειραματική υποστήριξη).

Configurable, Extensible Processors Ένας επεξεργαστής που η λειτουργία του - το σύνολο εντολών του-, μπορεί επεκταθεί από σχεδιαστή εφαρμογής ώστε να περιλαμβάνει χαρακτηριστικά που δεν υπήρχαν στον αρχικό σχεδιασμό του λέγεται εκτεινόμενος extensible. Το κλειδί για extensibility είναι η ικανότητα για επέκταση του set εντολών, ορισμών και registers καθως και των pipeline εκτέλεσης.

Configurable, Extensible Processors Τα προγραμματιζόμενα προϊόντα μπορούν να κατηγοριοποιηθούν σε πέντε ομάδες: 1. Μη- αρχιτεκτονική επεξεργαστική διάταξη 2. Σταθερό menu από διατάξεις αρχιτεκτονικών επεξεργαστών 3. Μεταβαλλόμενο από τον χρήστη RTL επεξεργαστής 4. Επέκταση επεξεργαστή χρησιμοποιώντας γλώσσα περιγραφής set εντολών 5. Πλήρως αυτοματοποιημένη σύνθεση επεξεργαστή.

Configurable, Extensible Processors Ένας προγραμματιζόμενος επεξεργαστής μπορεί να υλοποιήσει data-path λειτουργίες που προσεγγίζουν πολύ τις RTL λειτουργίες Οι εντολές του νέου επεξεργαστή και οι registers περιγράφονται με την γλώσσα περιγραφής TIE και είναι διαθέσιμα από τον προγραμματιστή firmware μέσο του ίδιου μεταγλωττιστή και συμβολομεταφραστή που διαχειρίζεται τις βασικές εντολές του επεξεργαστή και την ομάδα των Registers

Configurable, Extensible Processors Η μετάβαση από hardwired μηχανές καταστάσεων σε firmware προγραμματισμό έχει σημαντικές συνέπειες: 1. Ευελιξία 2. Software βασισμένη ανάπτυξη 3. Γρηγορότερη και πληρέστερη μοντελοποίηση του συστήματος 4. Ενοποίηση του Ελέγχου και των Δεδομένων 5. Βελτιστοποίηση του παράγοντα Χρόνος προς Αγορα.

Configurable, Extensible Processors Επιπλέον επιτυγχάνεται ανάπτυξη της παραγωγικότητας της ομάδας μηχανικών μειώνοντας το χρόνο που χρειάζεται για RTL ανάπτυξη και Επιβεβαίωση. Η προσέγγιση αυτή επιταχύνει την ανάπτυξη firmware και μειώνει την αβεβαιότητα που περιβάλει την hardware software ολοκλήρωση

Configurable, Extensible Processors Παρόλα τα πλεονεκτήματά τους, οι επεξεργαστές συγκεκριμένου σκοπού δεν είναι πάντα η σωστή λύση για δύο λόγους: 1. Μικρές, σταθερές Μηχανές Καταστάσεων 2. Απλό Buffering δεδομένων

ΕΠΕΚΤΕΙΝΟΝΤΑΣ ΕΝΑΝ ΕΠΕΞΕΡΓΑΣΤΗ Γρήγορες και εύκολες διατάξεις επεξεργαστών εξαρτώνται από τα κατάλληλα μέσα που περιγράψουν και επεκτείνουν τις επεξεργαστικές λειτουργίες και κυρίως το set εντολών. H γλώσσα TIE είναι η πρώτη ευρέως γνωστή εμπορική γλώσσα περιγραφής επέκτασης set εντολων και η Xtensa generator τεχνολογία είναι η πρώτη ευρέως χρησιμοποιούμενη τεχνολογία επέκτασης επεξεργαστή

Η ΓΛΩΣΣΑ TIE Η περιγραφή της TIE χωρίζεται σε δύο κομμάτια: Δήλωση καταστάσεων Κωδικοποίηση εντολών και σχηματοποίηση της περιγραφής των εντολών

ΕΝΑ ΑΠΛΟ TIE ΠΑΡΑΔΕΙΓΜΑ Αυτό είναι ένα απλό αλλά πλήρες ΤΙΕ παράδειγμα που προσθέτει ένα νέο αρχείο από Register και μια νέα εντολή στον Xtensa επεξεργαστή: regfile LR 16 128 l operation add128 {out LR sr,in LR ss,in LR st} {assign sr = st + ss;} Αυτός ο κώδικας ορίζει το αρχείο Register, LR, με 16 θέσεις, 128 bits εύρος η κάθε μια. Ο παραγωγός επεξεργαστή δημιουργεί ένα μεταφραστή (compiler) που να υποστηρίζει αυτό τον τύπο δεδομένων, LR, και ορίζει νέες εντολές φόρτωσης και αποθήκευσης για το αρχείο από Register. Κάθε διαβαθμιζόμενη μεταβλητή δηλωμένη με αυτό το καινούργιο τύπο δεδομένων θα ανατίθεται αυτόματα στο αρχείο από Register, και κάθε πίνακας ή δείκτης που απευθύνεται σε αυτό τον τύπο δεδομένων θα χρησιμοποιεί τις νέες εντολές φόρτωσης και αποθήκευσης. Ορίζεται η πράξη, add128, που παίρνει 2 τελεσταίους από το νέο αρχείο από Register υπολογίζει το άθροισμά τους και αποθηκεύει το αποτέλεσμα πάλι στο αρχείο από Register. Ένας σχεδιαστής software μπορεί να χρησιμοποιήσει το νέο 128-bit τύπο δεδομένων και πράξη απευθείας ως εξής: main() { int i; LR src1[256],src2[256],dest[256]; for (i=0;i<256;i++} dest[i] = add128(src1[i],src2[i]); }

ΕΚΜΕΤΑΛΛΕΥΟΜΕΝΟΙ ΤΗΝ ΕΠΕΚΤΑΣΙΜΟΤΗΤΑ Οι ειδικοί εφαρμογών δημιουργούν ΤΙΕβασισμένες επεκτάσεις ξεκινώντας από τον πυρήνα της εφαρμογής Τρέχουν τον κώδικα σε εξομοιωτή του Xtensa επεξεργαστή και φτιάχνοντας ένα προφίλ της εφαρμογής βρίσκουν hot spots στον αρχικό κώδικα. Έτσι οδηγούμαστε σε κατασκευή νέων τύπων δεδομένων και πράξεων που ταιριάζουν στην ζητούμενη εφαρμογή πιο φυσικά.

ΕΚΜΕΤΑΛΛΕΥΟΜΕΝΟΙ ΤΗΝ ΕΠΕΚΤΑΣΙΜΟΤΗΤΑ Από μια διάταξη περιγραφής, ο παραγωγός Xtensa επεξεργαστή δημιουργεί: ένα γρήγορο, ακριβές εξομοιούμενο σε set εντολών μοντέλο που έχει λειτουργικό δίαυλο. C βιβλιοθήκες για την επέκταση του set εντολών, C/C++ compilers καθώς και ένα OSKit ένα hardware test-bench και πλήρες hardware διαγνωστικά σενάρια για σύνθεση, place and route, πειραματική γεννήτρια, χρονισμό, βελτιστοποίηση και εξομοίωση ενέργειας Πλήρες κώδικας Verilog ή VHDL.

ΠΡΟΣ ΠΟΛΥΕΠΕΞΕΡΓΑΣΤΙΚΑ SOCS Η συσσωρευμένη πολυπλοκότητα των SoC σχεδίων, καθώς το κόστος και ο συνολικός αριθμός πυλών αυξάνει, δημιουργεί απαίτηση για γρηγορότερα αρχικά σχέδια και μεγαλύτερη μετακατασκευαστική ευελιξία. Δύο τάσεις συνεργάζονται ώστε να αυξηθεί ο αριθμός των επεξεργαστών για τον παραπάνω στόχο σε ένα τυπικό SoC: 1. Ο συνδυασμός λειτουργιών που παραδοσιακά υλοποιούνται με διακριτούς επεξεργαστές ελέγχου και DSPs σε ένα SoC, και 2. Η μετανάστευση λειτουργιών που παραδοσιακά υλοποιούνται με RTL σε Επεξεργαστές συγκεκριμένου σκοπού.