Σύνθεση σε επίπεδο Αρχιτεκτονικής

Σχετικά έγγραφα
Σύνθεση Data Path. ιασύνδεσης. Μονάδες. Αριθµό Μονάδων. Τύπο Μονάδων. Unit Selection Unit Binding. λειτουργιών σε. Μονάδες. Αντιστοίχιση µεταβλητών &

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

Αλγόριθµοι Εκτίµησης Καθυστέρησης και

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

Αλγόριθµοι για Χρονικό Προγραµµατισµό

ιαµέριση - Partitioning

Σύνθεση Ψηφιακών Συστηµάτων. Χ. Καβουσιανός

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

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

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

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

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

Xρονισμός ψηφιακών κυκλωμάτων

Μοντέλα Αρχιτεκτονικής στην Σύνθεση

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

Εισαγωγή στους Αλγόριθµους. Αλγόριθµοι. Ιστορικά Στοιχεία. Ο πρώτος Αλγόριθµος. Παραδείγµατα Αλγορίθµων. Τι είναι Αλγόριθµος

inding B Binding -Library Cell

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

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

ΤΕΙ Κρήτης, Παράρτηµα Χανίων

Καταστάσεων. Καταστάσεων

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

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

PLD. Εισαγωγή. 5 η Θεµατική Ενότητα : Συνδυαστικά. PLAs. PLDs FPGAs

Σχεδίαση υψηλών επιδόσεων pipelining παράλληλη επεξεργασία

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

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

ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΣΕΙΡΙΑΚΗ ΠΡΟΣΘΕΣΗ

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

30 min κάθε «φάση» Pipeline: Ένα παράδειγµα από.τη καθηµερινή ζωή. 1. Πλυντήριο. 2. Στεγνωτήριο. 3. ίπλωµα. 4. αποθήκευση. προσέγγιση για 4.

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

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»

Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Κεφάλαιο 3

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

Θέματα Μεταγλωττιστών

Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 9 ο. Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων

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

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

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 15: Καταχωρητές (Registers)

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

Παράρτηµα Γ. Τα Βασικά της Λογικής Σχεδίασης. Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση

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

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

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 18: Διαδικασία Σχεδίασης Ψηφιακών Συστηµάτων - Επανάληψη

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο Διάλεξη 8 η : Μηχανές Πεπερασμένων Κaταστάσεων σε FPGAs

ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Παράδειγµα: Καταχωρητής 2-bit. Καταχωρητής 4-bit. Μνήµη Καταχωρητών

Τέτοιες λειτουργίες γίνονται διαμέσου του

ΠΛΗ10 Κεφάλαιο 2. ΠΛH10 Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: : Αριθμητική περιοχή της ALU 2.5: Κυκλώματα Υπολογιστών

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ (Τ.Ε.Ι.) ΚΡΗΤΗΣ Τµήµα Εφαρµοσµένης Πληροφορικής & Πολυµέσων. Ψηφιακή Σχεδίαση. Κεφάλαιο 5: Σύγχρονη Ακολουθιακή

Κεφάλαιο 8. Αριθμητική Λογική μονάδα

Το υλικό του υπολογιστή

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

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

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

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

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

Παραλληλισµός Εντολών (Pipelining)

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

και η µονάδα ελέγχου (control) O επεξεργαστής: Η δίοδος δεδοµένων (datapath) Εντολές διακλάδωσης (branch beq, bne) I Type Σχεδίαση datapath

Αρχιτεκτονική Eckert-von Neumann. Πως λειτουργεί η ΚΜΕ; Κεντρική μονάδα επεξεργασίας [3] ΕΠΛ 031: ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Βασική δοµή και Λειτουργία Υπολογιστή

ΚΕΦΑΛΑΙΟ 2 Βασικές έννοιες αλγορίθµων

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

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

Περιεχόμενα. Πρώτο Κεφάλαιο. Εισαγωγή στα Ψηφιακά Συστήματα. Δεύτερο Κεφάλαιο. Αριθμητικά Συστήματα Κώδικες

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

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

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

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

Αριθµητική Ανάλυση 1 εκεµβρίου / 43

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

8.1 Θεωρητική εισαγωγή

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

ΠΛΕ- 027 Μικροεπεξεργαστές 6ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση με διοχέτευση

Με τον όρο μνήμη αναφερόμαστε στα μέσα που χρησιμοποιούνται για την αποθήκευση προγραμμάτων και δεδομένων σε έναν υπολογιστή ή άλλη ψηφιακή

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

Χρ. Καβουσιανός Επίκουρος Καθηγητής

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

Κεφάλαιο 6. Σύγχρονα και ασύγχρονα ακολουθιακά κυκλώματα

7.1 Θεωρητική εισαγωγή

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

O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control)

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

Ψηφιακή Λογική Σχεδίαση

Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ. Εισαγωγή

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

Ψηφιακή Λογική Σχεδίαση

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

Κεφάλαια Εντολές επανάληψης. Τρεις εντολές επανάληψης. Επιλογή εντολής επανάληψης ΟΣΟ...ΕΠΑΝΑΛΑΒΕ. Σύνταξη στη ΓΛΩΣΣΑ

Περιεχόµενα. Πρόλογος Εισαγωγή 21

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Μετρητής Ριπής (Ripple Counter) Μετρητές (Counters) Μετρητής Ριπής (συν.

Επίπεδο Ψηφιακής Λογικής (The Digital Logic Level)

1 η Θεµατική Ενότητα : Δυαδικά Συστήµατα

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

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ)

Pipeline: Ένα παράδειγμα από.τη καθημερινή ζωή. 30 min κάθε «φάση»

ΠΕΡΙΕΧΟΜΕΝΑ Υλικό και Λογισμικό Αρχιτεκτονική Υπολογιστών Δομή, Οργάνωση και Λειτουργία Υπολογιστών 6

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

Transcript:

Σύνθεση σε επίπεδο Αρχιτεκτονικής

Εισαγωγή Αρχιτεκτονική Σύνθεση: κατασκευή της µακροσκοπικής δοµής ενός ψηφιακού κυκλώµατος από µοντέλα συµπεριφοράς (ακολουθιακοί γράφοι γράφοι ροής δεδοµένων). Αποτέλεσµα σύνθεσης Περιγραφή κατασκευής του data path Λογική Περιγραφή της control unit Data path: διασύνδεση resources (αριθµητικά, λογικά), κυκλωµάτων καθοδήγησης (πολυπλέκτες, δίαυλοι), και καταχωρητών ή µονάδων µνηµών. Control Unit: Μονάδα ελέγχου της µονάδας Data Path. Σύνθεση Αρχιτεκτονικής 2

Εισαγωγή Σύνθεση Αρχιτεκτονικής 3

Εισαγωγή Βασικά Χαρακτηριστικά Αρχιτεκτονικής Σύνθεσης: Οι υλοποιήσεις εκτιµούνται µε: (α) την επιφάνεια (area), (β) την περίοδο ρολογιού (cycle time), (γ) τον αριθµό κύκλων διεκπεραίωσης όλων των λειτουργιών (latency), (δ) τον ρυθµό παραγωγής αποτελεσµάτων (throughput) h t) για pipelined κυκλώµατα. Όρια χειρότερης περίπτωσης σε επιφάνεια και απόδοση µπορούν να αποκλείσουν µη επιθυµητές υλοποιήσεις. Μπορούν να χρησιµοποιηθούν προεπιλεγµένες δοµές για διάφορες λειτουργίες (αριθµητικές κλπ) µε συγκεκριµένα χαρακτηριστικά. Σύνθεση Αρχιτεκτονικής 4

Εισαγωγή Βασικά Χαρακτηριστικά Αρχιτεκτονικής Σύνθεσης: Η επιφάνεια και η ταχύτητα µπορούν µόνο να εκτιµηθούν προσεγγιστικά σε αυτό το επίπεδο. Εξαρτώνται από τα resources, την λογική καθοδήγησης, τα κυκλώµατα αποθήκευσης, την καλωδίωση και τον έλεγχο. Resource Dominated Circuits: κυκλώµατα στα οποία κάνουµε την υπόθεση ότι η απόδοση εξαρτάται µόνο από τα resources (πχ DSPs). Οι Προδιαγραφές Σύνθεσης συµπεριλαµβάνουν: µοντέλα συµπεριφοράς (ακολουθιακοί γράφοι), λεπτοµέρειες για τα resources περιορισµούς (constraints) Σύνθεση Αρχιτεκτονικής 5

Προδιαγραφές για σύνθεση αρχιτεκτονικής Τα resources κατηγοριοποιούνται ως εξής: Λειτουργικά (functional). Υλοποιούν αριθµητικές και λογικές συναρτήσεις. ιαιρούνται σε δύο υποκατηγορίες: (α) primitive (υποκυκλώµατα που χρησιµοποιούνται πολύ συχνά) και (β) application-specific (λύνουν συγκεκριµένα προβλήµατα εφαρµογών). Μνήµης. Καταχωρητές, µνήµες ανάγνωσης ανάγνωσης/εγγραφής. ιασύνδεσης (Interface). ίαυλοι, Ι/Ο pads και κυκλώµατα διασύνδεσης. Resource Execution Delay: οι κύκλοι που απαιτούνται από το resource για να εκτελεστεί η λειτουργία του (εξαρτάται από το cycle time). Resource Dominated κυκλώµατα: Απόδοση και επιφάνεια εξαρτώνται από τα resources ενώ steering logic, registers, wiring δεν λαµβάνονται υπόψη Non-Resource Dominated κυκλώµατα: Απόδοση και επιφάνεια εξαρτώνται από τα resources και επίσης τα: steering logic, registers, wiring. Σύνθεση Αρχιτεκτονικής 6

Περιορισµοί (Constraints) Οι περιορισµοί στην σύνθεση αρχιτεκτονικής ανήκουν σε δύο κατηγορίες: Περιορισµοί ιασύνδεσης (Interface): Καθορίζουν τον τύπο και τον χρονισµό της ανταλλαγής δεδοµένων. Περιορισµοί Υλοποίησης: καθορισµός απιτούµενων ιδιοτήτων του κυκλώµατος (πχ επιφάνεια/απόδοση - cycle time/latency). Resource Binding: µία συγκεκριµένη λειτουργία θα υλοποιηθεί από προεπιλεγµένη resource (προκύπτει από την εµπειρία του σχεδιαστή). Synthesis from partial structure:αρχιτεκτονική σύνθεση µε περιορισµούς τύπου resource binding. Στην περίπτωση των resource dominated κυκλωµάτων περιορισµός στον αριθµό των resources = άνω όριο στην επιφάνεια που θα απαιτηθεί. Σύνθεση Αρχιτεκτονικής 7

Προβλήµατα αρχιτεκτονικής σύνθεσης Θεωρούµε ότι ένα κύκλωµα καθορίζεται από: Έναν ακολουθιακό γράφο, πολωµένο και άκυκλο µε πηγή και καταβόθρα. Λειτουργικά resources πλήρως ορισµένα σε επιφάνεια/καθυστέρηση. Ένα σύνολο περιορισµών. Η αποθήκευση γίνεται µε καταχωρητές και οι διασυνδέσεις µε καλώδια. Οι κορυφές του γράφου συµβολίζουν λειτουργίες ενώ οι ακµές συµβολίζουν εξαρτήσεις Η σύνθεση αρχιτεκτονικής και η βελτιστοποίηση γίνεται σε δύο στάδια: 1. Τοποθέτηση των λειτουργιών σε τόπο (resources) και χρόνο. 2. Καθορισµός των διασυνδέσεων του data path και των προδιαγραφών λογικού επιπέδου της µονάδας ελέγχου. Σύνθεση Αρχιτεκτονικής 8

Scheduling Θεωρούµε ότι : H καθυστέρηση των κορυφών πηγής και καταβόθρας είναι 0. Ο χρόνος εκκίνησης µίας λειτουργίας είναι ο στιγµή που ξεκινά η εκτέλεσή της. Scheduling: είναι ο καθορισµός των χρόνων εκκίνησης των λειτουργιών µε βάση τις προτεραιότητες του ακολουθιακού γράφου. Latency: είναι η διαφορά µεταξύ του χρόνου εκκίνησης της καταβόθρας από τον χρόνο εκκίνησης της πηγής. Scheduled sequencing graph: είναι ένας γράφος του οποίου οι κορυφές έχουν ονοµαστεί µε τον χρόνο εκκίνησης των αντίστοιχων λειτουργιών. Ένα πρόγραµµα (schedule) πρέπει να ικανοποιεί χρονικούς περιορισµούς και περιορισµούς χρήσης των resources. Σύνθεση Αρχιτεκτονικής 9

Scheduling Θεωρούµε ότι : Όλες οι λειτουργίες έχουν καθυστέρηση µίας χρονικής µονάδας. Έστω ότι δεν υπάρχει περιορισµός ρ µ επιφάνειας ς(µ (µία µονάδα χρησιµοποιείται ανά λειτουργία). Λειτουργία Χρόνος Εκκίνησης v 1,v 2,v 6,v 8,v 10 1 v 3,v 7,v 9,v 11 2 v 4 3 v 5 4 Σύνθεση Αρχιτεκτονικής 10

Scheduling Scheduled Sequencing Graph Latency=t n -t 0 =5-1=4 Σύνθεση Αρχιτεκτονικής 11

Scheduling Έστω ότι υπάρχει περιορισµός επιφάνειας: Scheduled Sequencing Graph µε περιορισµούς σε χρήση resources (1 ALU 1 MUL) Mul Alu Χρόνος Εκκίνησης v 1 v 10 1 v 2 v 11 2 v 3-3 v 6 v 4 4 v 7-5 v 8 v 5 6 - v 9 7 Latency=t n -t 0 =8-1=7 Σύνθεση Αρχιτεκτονικής 12

Συγχώνευση Scheduling Αντί για ακέραιες µονάδες καθυστέρησης µπορούµε να θεωρήσουµε τους χρόνους διάδοσης των σηµάτων µέσα από τα συνδυαστικά resources. Τότε δύο ή περισσότερες λειτουργίες µπορούν να ολοκληρωθούν στον ίδιο κύκλο (chained). Πχ. για Mul=35ns, Add=25ns, cycle time=50 ns τότε οι {v4, v5} και {v10, v11} µπορούν να ολοκληρωθούν σε έναν κύκλο οπότε απαιτούνται 3 κύκλοι Σύνθεση Αρχιτεκτονικής 13

Binding έσµευση (Binding): καθορίζει ποιες λειτουργίες θα εκτελεστούν από ποια resources. Είναι αλληλένδετο πρόβληµα µε το scheduling. Κάποιες φορές γίνεται πριν το sceduling, ενώ άλλες φορές γίνεται µετά. Μπορεί να γίνει και ταυτόχρονα µε το scheduling. Η ακριβής υλοποίηση έχει να κάνει µε τους περιορισµούς που πρέπει να ικανοποιηθούν (area-delay). Σύνθεση Αρχιτεκτονικής 14

Dedicated Binding Dedicated Binding. Κάθε λειτουργία ανατίθεται σε διαφορετικό resource Συµβολισµός: β(v i )=(t,r) η λειτουργία που αντιστοιχεί στην κορυφή v i θα υλοποιηθεί στην r resource του τύπου t. Πχ. Έχουµε 11 λειτουργίες και 11 resources τύπων {1,2}={multiplier, ALU} µε την ALU να εκτελεί πρόσθεση, αφαίρεση και συγκρίσεις. Απαιτούνται 6 multipliers και 5 ALUs. β(v 1 )=(1,1) β(v 7 )=(1,5) β(v 2 )=(1,2) β(v 8 )=(1,6) β(v 3 )=(1,3) β(v 9 )=(2,3) β(v 4 )=(2,1) β(v 10 )=(2,4) β(v 5 )=(2,2) β(v 11 )=(2,5) β(v 6 )=(1,4) Σύνθεση Αρχιτεκτονικής 15

Binding Για να είναι αποδοτικό το binding τότε πρέπει να διαµοιράζονται οι resources ανάµεσα στις διάφορες λειτουργίες, µε τον περιορισµό ότι δύο λειτουργίες που χρησιµοποιούν την ίδια resource δεν εκτελούνται ταυτόχρονα. Απαιτούνται 4 multipliers και 2 ALUs. β(v 1 )=(1,1) β(v 7 )=(1,3) β(v 2 )=(1,2) β(v 8 )=(1,4) β(v 3 )=(1,2) β(v 9 )=(21) )=(2,1) β(v 4 )=(2,1) β(v 10 )=(2,2) β(v 5 )=(2,1) β(v 11 )=(2,2) β(v 6 )=(1,3) Ίδιο schedule Μικρότερη επιφάνεια Συνήθης περιορισµοί: άνω όρια στον αριθµό των resources ανά τύπο που µπορούν να χρησιµοποιηθούν Σύνθεση Αρχιτεκτονικής 16

Partial Binding Κατά το Partial Binding κάποιες λειτουργίες πρέπει να αντιστοιχούνται σε συγκεκριµένα resources (περιορισµοί σχεδιαστή). Τότε το scheduling αλλάζει. Εάν πρέπει οι λειτουργίες v6 και v8 να εκτελεστούν από τον ίδιο multiplier τότε το scheduling και το partial binding αλλάζουν Σύνθεση Αρχιτεκτονικής 17

Ιεραρχικά Μοντέλα Scheduling: Ο προγραµµατισµός σε ιεραρχικά µοντέλα µπορεί να οριστεί µε την ανάθεση χρόνου εκκίνησης σε κάθε κορυφή των γράφων. Ο χρόνος εκκίνησης σε µία κορυφή διασύνδεσης (link) είναι ο χρόνος εκκίνησης της κορυφής-πηγής του διασυνδεόµενου υπογράφου. Latency: γίνεται µε διαπέραση του γράφου από κάτω προς τα πάνω. Στις κορυφές διασύνδεσης έχουµε τις εξής περιπτώσεις: Model call: latency του υπογράφου ιακλάδωση: µέγιστη από τις latencies των αντίστοιχων υπογράφων. Επανάληψη: η latency του σώµατος επί τον µέγιστο αριθµό επαναλήψεων. Binding: είναι το σύνολο όλων των bindings των υπογράφων. Λειτουργίες σε διαφορετικούς υπογράφους µπορούν να διαµοιράζονται resources. Σύνθεση Αρχιτεκτονικής 18

Ιεραρχικά Μοντέλα Με resource sharing στην ιεραρχία απαιτούνται 2 Mul και 1 Alu. β(v a.1 )=(1,1) β(v b.1 )=(2,1) β(v a.2 )=(2,1) β(v b.2 )=(1,1) β(v a.3 )=(1,2) Σύνθεση Αρχιτεκτονικής 19

Ιεραρχικά Μοντέλα Σύνθεση Αρχιτεκτονικής 20

Το Πρόβληµα του Συγχρονισµού Αφορά λειτουργίες που δεν έχουν οριοθετηµένη καθυστέρηση όπως εξωτερικός συγχρονισµός και δοµές επανάληψης µε συνθήκη που εξαρτάται από µεταβαλλόµενα δεδοµένα. Το scheduling σε unbounded γράφους γίνεται µε αποµόνωση των unbounded λειτουργιών και διαίρεση του γράφου σε υπογράφους που εχουν bounded latency. Σύνθεση Αρχιτεκτονικής 21

Εκτίµηση Επιφάνειας/Απόδοσης Εκτιµήσεις επιφάνειας/απόδοσης: Οι εκτιµήσεις σε επιφάνεια και απόδοση είναι απαραίτητες κατά το scheduling και το binding για την λήψη αποφάσεων. Είναι ένα δύσκολο έργο και εξαρτάται από το είδος του κυκλώµατος. Resource Dominated circuits H επιφάνεια και η απόδοση των resources που κυριαρχούν στον σχεδιασµό είναι γνωστές. Οι παράµετροι των υπόλοιπων components µπορούν να αγνοηθούν ή να θεωρηθούν σταθερές. Για τον υπολογισµό της επιφάνειας αρκεί να γνωρίζουµε πόσες resources από κάθε τύπο έχει το κύκλωµα. Για τον υπολογισµό του latency απαιτείται το schedule. Σύνθεση Αρχιτεκτονικής 22

Εκτίµηση Επιφάνειας/Απόδοσης Έστω: Alu = 1unit 25ns Mult= 5units 35ns Overhead (other) = 1unit Cycle = 40ns (1 cycle/operation) Α υλοπ.) Dedicated resources Area = 6*5+5*1+1=36 Latency = 4 cycles Σύνθεση Αρχιτεκτονικής 23

Έστω: Alu = 1unit 25ns Mult= 5units 35ns Overhead (other) = 1unit Cycle = 40ns (1 cycle/operation) B υλοπ.) Single resource Area = 5+1+1=7units Latency = 7 cycles Σύνθεση Αρχιτεκτονικής 24

Εκτίµηση Επιφάνειας/Απόδοσης Γενικά Κυκλώµατα H ολική επιφάνεια είναι το άθροισµα των : (α) bounded resources, (β) των κυκλωµάτων καθοδήγησης, (γ) των µονάδων αποθήκευσης, (δ) της µονάδας ελέγχου και (ε) των διασυνδέσεων. Η ολική latency εξαρτάται από το schedule και επιπλέον από τις καθυστερήσεις διάδοσης των µονοπατιών µεταξύ καταχωρητών. Σύνθεση Αρχιτεκτονικής 25

Εκτίµηση Επιφάνειας/Απόδοσης Καταχωρητές Αποθηκεύουν τα δεδοµένα που θα πρέπει να µεταφερθούν από µία resource σε µία άλλη µεταξύ δύο διαδοχικών κύκλων. Μπορούν να διαµοιραστούν σε διάφορα resources. Εξαρτώνται από το scheduling και το binding. Επηρεάζουν τον κύκλο ρολογιού αφού προσαυξάνεται µε τους χρόνους setup και propagation delay. Σύνθεση Αρχιτεκτονικής 26

Εκτίµηση Επιφάνειας/Απόδοσης Λογική Καθοδήγησης (Steering Logic) Επηρεάζει και την επιφάνεια και την ταχύτητα. Η επιφάνεια των πολυπλεκτών είναι γνωστή. Ο αριθµός τους εξαρτάται από το binding. Οι πολυπλέκτες προσαυξάνουν την καθυστέρηση του κυκλώµατος. Οι ίαυλοι χρησιµοποιούνται για καθοδήγηση δεδοµένων. Λαµβάνονται υπόψη µαζί µε τους οδηγούς τους. ιασυνδέσεις Η επιφάνεια των διασυνδέσεων µπορεί να υπολογιστεί από την δοµή του κυκλώµατος όταν ολοκληρωθεί το binding µε χρήση στατιστικών µοντέλων (δεν είναι γνωστή η φυσική υλοποίηση). Η καθυστέρηση των διασυνδέσεων είναι υπολογίσιµη. Σύνθεση Αρχιτεκτονικής 27

Εκτίµηση Επιφάνειας/Απόδοσης Μονάδα Ελέγχου Επιβαρύνει αρκετά την συνολική επιφάνεια και την καθυστέρηση. Υπάρχουν µοντέλα που εκτιµούν την επιφάνεια/απόδοση της µονάδας ελέγχου ανάλογα µε την υλοποίηση της: α) µε µνήµη µόνο ανάγνωσης (µικροπρογραµµατιζόµενη) και β) καλωδιωµένη. Πχ η καλωδιωµένη υλοποίηση µοντελοποιείται µε µηχανές πεπερασµένου αριθµού καταστάσεων (Παράδειγµα: η εργασία σας). Τα µοντέλα εκτίµησης της µονάδας ελέγχου παρέχουν µη-ακριβή αποτελέσµατα επειδή οι βελτιστοποιήσεις µπορεί να αλλάξουν πολύ το τελικό αποτέλεσµα Σύνθεση Αρχιτεκτονικής 28

Βελτιστοποίηση Αρχιτεκτονικής Στόχος Βελτιστοποίησης: είναι ο καθορισµός ενός schedule και ενός binding που θα ικανοποιούν τους περιορισµούς και θα βελτιστοποιούν τις παραµέτρους (area, latency, cycle-time). Μερική βελτιστοποίηση: Όταν είναι καθορισµένο το schedule ή το binding και βελτιστοποιούµε το άλλο. ιερεύνηση των λύσεων Για διάφορες τιµές του cycle-time (Constraint: Input to register, register to register, register to output) µελετάµε το area/latency trade-off µε λύση διάφορων προβληµάτων scheduling. Για διάφορα bindings µελετάµε το cycle-time/latency trade-off. Για διάφορα schedules µελετάµε το area/cycle-time. Σύνθεση Αρχιτεκτονικής 29

Βελτιστοποίηση Area/Latency Πρόβληµα: για δοσµένο cycle-time µελετάµε τις διάφορες αποδόσεις σε σχέση µε την διακύµανση των παραµέτρων area/latency. Resource Dominated circuits H επιφάνεια εδώ εξαρτάται αποκλειστικά από τα resources που χρησιµοποιούνται. Τα Pareto Points είναι τα ζεύγη (area, latency). Οι ακραίες λύσεις αυτές που αντιστοιχούν στο scheduling για minimum latency και για minimum resource. Ενδιάµεσες λύσεις µπορούν να βρεθούν µε λύση των προβληµάτων scheduling: a) resource constrained/minimum latency, b) latency constrained/minimum resource Σύνθεση Αρχιτεκτονικής 30

Βελτιστοποίηση Area/Latency Γενικά Κυκλώµατα Υποθέτουµε ότι η λογική ελέγχου και οι διασυνδέσεις δεν επηρεάζουν ταχύτητα/επιφάνεια. Λαµβάνουµε υπόψη µόνο resources, καταχωρητές και λογική καθοδήγησης. Η δυσκολία του προβλήµατος αυξάνει κατακόρυφα όταν συνυπολογίζεται και η λογική ελέγχου καθώς και η διασύνδεση γιατί απαιτείται φυσική υλοποίηση του κυκλώµατος. Τα συστήµατα CAD είτε εκτελούν scheduling πριν το binding είτε ανάποδα για απλοποίηση του αλγορίθµου. H εκτέλεση του binding πριν το scheduling επιτρέπει την εκτίµηση της λογικής καθοδήγησης και την ακριβέστερη εκτίµηση των καθυστερήσεων. Σύνθεση Αρχιτεκτονικής 31

Βελτιστοποίηση Area/Latency Πχ. Έστω Alu = 1unit 25ns, Mult= 5units 35ns, Overhead (other) = 1unit Περιορισµοί: Επιφάνεια<20units, latency<8cycles Για cycle time=40ns όλες οι resources έχουν 1cycle καθυστέρηση. Σύνθεση Αρχιτεκτονικής 32

Βελτιστοποίηση Area/Latency (Mul, Alu) Minimum resources Cycle-time=40ns Σύνθεση Αρχιτεκτονικής 33

Βελτιστοποίηση Area/Latency Για Cycle-time=30ns, έχουµε Mult=2cycles, Add=1cycle και µία δοµή µε 1 Mult έχει Latency=13cycles (παραβίαση περιορισµού) Μία δοµή µε 2 Mult και 1 Adder έχει Latency=8 cycles, Area=12units. Μία δοµή µε 3 Mult και 1 Adders έχει Latency=7 cycles, Area=17units. Μία δοµή µε 3 Mult και 2 Adders έχει Latency=6 cycles, Area=18units. Επιπλέον υλικό παραβιάζει τον περιορισµό επιφάνειας Σύνθεση Αρχιτεκτονικής 34

Βελτιστοποίηση Cycle-Time/Latency Μελετούµε την περίπτωση που έχει γίνει το binding και έχει δηµιουργηθεί ο οριοθετηµένος ακολουθιακός γράφος. Resource Dominated Circuits Για κάθε τιµή του cycle-time υπολογίζουµε τις καθυστερήσεις εκτέλεσης των λειτουργιών. Κατόπιν δηµιουργούµε ένα schedule ελάχιστης latency. Μπορούµε να δηµιουργήσουµε scheduling µε chaining για βελτίωση. Για δεδοµένο Latency θέλουµε να βρούµε το ελάχιστο δυνατό cycle time. Το cycle time υπολογίζεται από το µέγιστο µονοπάτι µεταξύ καταχωρητών. Πχ. Έστω Alu = 1unit 25ns, Mult= 5units 35ns, Overhead (other) = 1unit Περιορισµοί: Cycle Time=20-50ns, latency<8cycles Υπόθεση Α: υλοποίηση µε dedicated resources (Επιφάνεια=36units). Σύνθεση Αρχιτεκτονικής 35

Βελτιστοποίηση Cycle-Time/Latency Dedicated Resources Για Cycle-time 35ns, έχουµε Mult=1cycle, Add=1cycle οπότε Latency=4 cycles Για 35>Cycle-time 25ns, έχουµε Mult=2cycles, Add=1cycle οπότε Latency=6 cycles Για 25>Cycle-time 20ns, έχουµε Mult=2cycles, Add=2cycles οπότε Latency=8 cycles Με chaining: θεωρούµε cycle time= 50ns οπότε οι {v 4, v 5 }, {v 10, v 11 } µπορούν να εκτελεστούν σε ένα κύκλο οπότε Latency=3 cycles. Σύνθεση Αρχιτεκτονικής 36

Βελτιστοποίηση Area/Cycle-Time Μελετούµε την περίπτωση που το Latency είναι προκαθορισµένο. Μεταβάλουµε area και cycle time για την εκτίµηση των λύσεων. Γενικά κυκλώµατα Το κάτω όριο του cycle time καθορίζεται από τα resources, την λογική καθοδήγησης, καταχωρητές κλπ. Η καθυστέρηση των resources και των καταχωρητών είναι δεδοµένη, Μας ενδιαφέρει κυρίως η καθυστέρηση της λογικής καθοδήγησης (πολυπλέκτες κλπ) η οποία µεταβάλλεται ανάλογα µε το επιλεγµένο binding. Πχ. Έστω Alu = 1unit 25ns, Mult= 5units 35ns, Overhead (other) = 1unit Σύνθεση Αρχιτεκτονικής 37

Βελτιστοποίηση Area/Cycle-Time Για απλοποίηση θεωρούµε ότι το Cycle Time και η επιφάνεια εξαρτώνται από resources και λογική καθοδήγησης. Για την περίπτωση που έχουµε dedicated resources δεν απαιτούνται πολυπλέκτες οπότε area=36units, ελάχιστη τιµή του cycle time=35ns (καθυστέρηση αργότερης resource). Λύση: (area, cycle time) = (36, 35) Σύνθεση Αρχιτεκτονικής 38

Βελτιστοποίηση Area/Cycle-Time Η λύση µε dedicated resources είναι πολύ ακριβή σε επιφάνεια. Προσπαθούµε να µειώσουµε τα resources, χωρίς όµως να αυξήσουµε το latency το οποίο θεωρείται σταθερό. Χρησιµοποιούµε κοινές Resources για λειτουργίες που δεν χρειάζεται να εκτελεστούν παράλληλα. Κάποιοι πολυπλέκτες πρέπει να µπουν στις εισόδους των resources, και άρα επηρεάζεται το cycle time. Σύνθεση Αρχιτεκτονικής 39

Βελτιστοποίηση Area/Cycle-Time Για την περίπτωση στο σχήµα θέλουµε 1 πολυπλέκτη τριών εισόδων (0.3units-3ns) και 3 πολυπλέκτες 2 εισόδων (0.2units-2ns). Συνολική επιφάνεια=4*5+2*1+1+1*0.3 +3*0.2=23.9 Ελάχιστο cycle time=37ns (Mul+Mux2) o πολλαπλ. καθορίζει το ελάχιστο cycle time Λύση: (area, cycle time) = (23.9, 37) Σύνθεση Αρχιτεκτονικής 40

Βελτιστοποίηση Area/Cycle-Time Για την περίπτωση στο σχήµα (ένα resource από τον κάθε τύπο) θέλουµε 2 πολυπλέκτες πέντε εισόδων (0.5units- 5ns) (o αριθµός εξαρτάται από τις µεταβλητές εισόδου). Συνολική επιφάνεια=5+1+1+2*0.5=8units Συνολική καθυστέρηση=40ns (Mul+Mux5) Λύση: (area, cycle time) = (8, 40) Σύνθεση Αρχιτεκτονικής 41