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

Σχετικά έγγραφα
ιαµέριση - Partitioning

Ολοκλήρωση Σχεδίασης µε CAD-tools. (Back-End) Χρ. Καβουσιανός

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

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

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

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

Κεφάλαιο 1. Πέντε Αντιπροσωπευτικά Προβλήματα. Έκδοση 1.4, 30/10/2014. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

inding B Binding -Library Cell

Αλγόριθµοι. Παράδειγµα. ιαίρει και Βασίλευε. Παράδειγµα MergeSort. Τεχνικές Σχεδιασµού Αλγορίθµων

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Μηχανές Πεπερασμένων Καταστάσεων

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

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

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

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

Τομές Γραφήματος. Γράφημα (μη κατευθυνόμενο) Συνάρτηση βάρους ακμών. Τομή : Διαμέριση του συνόλου των κόμβων σε δύο μη κενά σύνολα

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

Φόρμα Σχεδιασμού Διάλεξης (ημ/α:15/10/07, έκδοση:0.1 ) 1. Κωδικός Μαθήματος : 2. Α/Α Διάλεξης : 1 1. Τίτλος : 1. Εισαγωγή στην Αρχιτεκτονική Η/Υ

Αξιολόγηση Ευριστικών Αλγορίθµων

Εισαγωγή στην επιστήµη των υπολογιστών. Υπολογιστές και Δεδοµένα Κεφάλαιο 3ο Αναπαράσταση Αριθµών

Εισαγωγή στην επιστήµη των υπολογιστών. Αναπαράσταση Αριθµών

Επίλυση Προβληµάτων µε Greedy Αλγόριθµους

Κεφάλαιο 10 ο Υποπρογράµµατα

ΕπίλυσηΠροβληµάτων Αναθέσεων: Η "Ουγγρική Μέθοδος"

Ελίνα Μακρή

ILP (integer linear programming) βασιζόμενη εξαρτώμενη από τους πόρους μεταγλώττιση

Ολοκληρωμένα Κυκλώματα

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

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

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

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

Δυναµικός Προγραµµατισµός (ΔΠ)

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ

Εισαγωγή Η VHDL υποστηρίζει τους εξής τρείς βασικούς και διαφορετικούς τρόπους περιγραφής

(Ιούνιος 2001 ΤΕΕ Ηµερήσιο) Σε κάθε µία από τις παρακάτω περιπτώσεις, να

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

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

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

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

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

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

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

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

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

Αλγόριθµοι και Πολυπλοκότητα

Ταιριάσματα. Γράφημα. Ταίριασμα (matching) τέτοιο ώστε κάθε κορυφή να εμφανίζεται σε το πολύ μια ακμή του

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

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

Περιεχόμενα. Ανάλυση προβλήματος. Δομή ακολουθίας. Δομή επιλογής. Δομή επανάληψης. Απαντήσεις. 1. Η έννοια πρόβλημα Επίλυση προβλημάτων...

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

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

Graph Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βάλια

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

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

Ακέραιος Γραµµικός Προγραµµατισµός

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

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

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

m 1 min f = x ij 0 (8.4) b j (8.5) a i = 1

Τεχνικές σχεδιασμού μονοπατιών ολίσθησης

ιαχείριση Μνήµης Κεφάλαιο 7 Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

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

Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων ΣΗΜΜΥ - Ε.Μ.Π.

Ακέραιος Γραµµικός Προγραµµατισµός

ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής

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

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

Ακολουθιακά Κυκλώµατα. ΗΜΥ 210: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο Ακολουθιακά Κυκλώµατα (συν.) Ακολουθιακή Λογική: Έννοια

Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες µπορούν να σταµατούν να εκτελούνται σε

3.1 εκαδικό και υαδικό

Αλγόριθµοι και Πολυπλοκότητα

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

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

Αλγόριθµοι και Πολυπλοκότητα

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

Κάθε functional unit χρησιμοποιείται μια φορά σε κάθε κύκλο: ανάγκη για πολλαπλό hardware = κόστος υλοποίησης!

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

Μάθημα 8: Διαχείριση Μνήμης

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

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

Αλγοριθμικές Τεχνικές. Brute Force. Διαίρει και Βασίλευε. Παράδειγμα MergeSort. Παράδειγμα. Τεχνικές Σχεδιασμού Αλγορίθμων

VERILOG. Γενικά περί γλώσσας

Multi Cycle Datapath. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης

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

Υπολογιστικό Πρόβληµα

Εργαστηριακή Άσκηση 4: Ιεραρχική σχεδίαση και προσχεδιασμένοι πυρήνες

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

Σελίδα 1 από 12. Απαντήσεις στο φυλλάδιο 55. Ερώτηση 1 η : Ένα υπολογιστικό σύστηµα αποτελείται από:

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ II. χειμερινό εξάμηνο & εαρινό εξάμηνο (σε κίτρινο υπόβαθρο)

Δρομολόγηση Και Πολύχρωματισμός. Γραφημάτων ΚΑΡΑΓΕΩΡΓΟΣ ΤΙΜΟΘΕΟΣ Α.Μ 1026

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

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems

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

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

Περιεχόμενο: Δομή υπολογιστή Συστήματα αρίθμησης

Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα:

Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο

Πανεπιστήµιο Θεσσαλίας

Κεφάλαιο 5: Στρατηγική χωροταξικής διάταξης

Transcript:

Data Path Allocation

Σύνθεση Data Path Το DataPath είναι ένα netlist που αποτελείται από τρεις τύπους µονάδων: (α) Λειτουργικές Μονάδες, (β) Μονάδες Αποθήκευσης και (γ) Μονάδες ιασύνδεσης Αριθµό Μονάδων DataPath hallocation Unit Selection Unit Binding Τύπο Μονάδων Αντιστοίχιση µεταβλητών & λειτουργιών σε Λειτουργικές Μονάδες Αποθηκευτικές Μονάδες Μονάδες ιασύνδεσης Σύνθεση Αρχιτεκτονικής 2

Σύνθεση Data Path Για κάθε λειτουργία απαιτείται η αντίστοιχη λειτουργική µονάδα. Για κάθε µεταβλητή που χρησιµοποιείται σε πολλά βήµατα απαιτείται αποθηκευτική µονάδα (για τον χρόνο ζωής της). Για κάθε µεταφορά δεδοµένων απαιτείται η αντίστοιχη µονάδα διασύνδεσης. Περιορισµοί: Κάθε λειτουργική µονάδα µπορεί να εκτελέσει µόνο µία λειτουργία σε κάθε βήµα ελέγχου. Μπορούµε να έχουµε πολλαπλή πρόσβαση σε αποθηκευτικές µονάδες ανάλογα µε τον αριθµό των θυρών. Σύνθεση Αρχιτεκτονικής 3

Σύνθεση Data Path ιάρκεια Ζωής 1 Πρέπει να τηρούνται και οι περιορισµοί ιάρκεια Ζωής 2 Σύνθεση Αρχιτεκτονικής 4

Σύνθεση Data Path xl=x + dx ul=u-3*x*u*dx-3*y*dx yl=y+u*dx c=xl<a x=xl u=ul y=yl Σύνθεση Αρχιτεκτονικής 5

Σύνθεση Data Path Η σύνθεση για Data Path καθορίζει και την διασύνδεση του Data Path µε το περιβάλλον µέσω των θυρών διασύνδεσης. Το Data Path µπορεί να συµπεριλαµβάνει µνήµες πολλαπλών θυρών (register file). Η βελτιστοποίηση της χρήσης τέτοιων µνηµών έγκειται στην βελτιστοποίηση των µεταφορών δεδοµένων από και προς τις θύρες. Η διασύνδεση µε την λογική ελέγχου γίνεται µέσω των γραµµών ελέγχου. Οι ακολουθιακές resources απαιτούν ένα σήµα start (και ίσως ένα reset). Έτσι απαιτείται ένα σύνολο σηµάτων ενεργοποίησης (activation). Σύνθεση Αρχιτεκτονικής 6

Σύνθεση Data Path Μέθοδοι Επίλυσης 1. Αλγόριθµοι Απληστίας (Greedy) Κατασκευάζουν το DataPath σταδιακά ενώ διαπερνούν τον γράφο. 2. Αλγόριθµοι ιάσπασης (Decomposition) ιασπούν το πρόβληµα Allocation σε υποπροβλήµατα τα οποία προσπαθούν να λύσουν χωριστά. 3. Επαναληπτικές Μέθοδοι (Iterative Refinement) Συνδυάζουν τις λύσεις υποπροβληµάτων Σύνθεση Αρχιτεκτονικής 7

Αρχιτεκτονικές Data Path Η τοπολογία διασύνδεσης είναι σηµαντικός παράγοντας που επηρεάζει την απόδοση της αρχιτεκτονικής. Παράδειγµα Για την υλοποίηση των ακόλουθων µετακινήσεων µπορεί να χρησιµοποιηθεί: (α) αρχιτεκτονική πολυπλεκτών ή (β) αρχιτεκτονική διασύνδεσης διαύλων Σύνθεση Αρχιτεκτονικής 8

Αρχιτεκτονική Πολυπλεκτών Σύνθεση Αρχιτεκτονικής 9

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

Αρχιτεκτονικές Data Path Μία τοπολογία ονοµάζεται Point-To-Point αν υπάρχει µία µονάδα διασύνδεσης ανάµεσα σε κάθε δύο θύρες που διασυνδέονται. Για περισσότερες από µία διασυνδέσεις χρησιµοποιούνται δίαυλοι. Για ελαχιστοποίηση των διασυνδέσεων µπορούµε να συνδυάσουµε καταχωρητές σε αρχεία καταχωρητών µε πολλαπλές θύρες. Τα δίκτυα διασύνδεσης διαχωρίζονται σε δίκτυα εισόδου (στις λειτουργικές µονάδες) και δίκτυα εξόδου (από τις λειτουργικές µονάδες). Τα δίκτυα εισόδου/εξόδου δεν είναι απαραίτητα το ίδιο πολύπλοκα. Σύνθεση Αρχιτεκτονικής 11

Η ανάγνωση-εκτέλεση-εγγραφή δεν µπορούν να επικαλυφθούν λόγω των κοινών µέσων. Χρονισµός Σύνθεση Αρχιτεκτονικής 12

Τοποθέτηση Latches Για την βελτίωση της απόδοσης των Data Path τοποθετούµε latches στις θύρες εισόδου/εξόδου. Όταν τοποθετούµε latches µόνο στις εξόδους των λειτουργικών µονάδων έχουµε επικάλυψη των ακόλουθων εργασιών: 1. Εγγραφή βήµατος n-1 2. Ανάγνωση και εκτέλεση λειτουργίας βήµατος n. Ο κύκλος ρολογιού µειώνεται εν υπάρχει εξισορρόπηση των µετακινήσεων µεταξύ των καταχωρητών. Τα ίδια ισχύουν και όταν τοποθετούµε latches µόνο στις εισόδους των λειτουργικών µονάδων. Σύνθεση Αρχιτεκτονικής 13

One Phase Pipelined DataPath Η αποθήκευση των αποτελεσµάτων επιτρέπει την επικάλυψη εγγραφής µε ανάγνωση-εκτέλεση. Σύνθεση Αρχιτεκτονικής 14

Fully Pipelined DataPath Η µέγιστη επικάλυψη επιτυγχάνεται όταν έχουµε latches και στις εισόδους και τις εξόδους Το pipelining τότε έχει τρεις βαθµίδες (input, functional unit, output). Απαιτείται ένα διφασικό µη επικαλυπτόµενο ρολόι. Η µία φάση χρησιµοποιείται για τον έλεγχο των latches εισόδου/εξόδου. Η άλλη φάση χρησιµοποιείται για την εγγραφή στο αρχείο καταχωρητών. Ο κύκλος ρολογιού µειώνεται αισθητά. Σύνθεση Αρχιτεκτονικής 15

Two Phase Pipelined DataPath Η αποθήκευση δεδοµένων και αποτελεσµάτων επιτρέπει την επικάλυψη εκτέλεσης µε ανάγνωση-εγγραφή. Σύνθεση Αρχιτεκτονικής 16

Interconnect Allocation Allocation Tasks Unit Selection DataPath Synthesis Functional Unit Binding Storage Allocation Σύνθεση Αρχιτεκτονικής 17

Unit Selection Μία βιβλιοθήκη περιέχει πολλαπλούς τύπους µονάδων µε διαφορετικά χαρακτηριστικά. Πολλές µονάδες έχουν πολλαπλές χρήσεις. Πρέπει οι µονάδες που θα επιλεγούν να καλύπτουν τις απαιτούµενες λειτουργίες. Συχνά η επιλογή µονάδων συνδυάζεται µε την δέσµευση ανά λειτουργία (binding). Σύνθεση Αρχιτεκτονικής 18

Unit Binding Functional Αντιστοίχιση των λειτουργιών µε τις µονάδες που έχουν επιλεγεί. Συνήθως έχουµε λίγες µονάδες για πολλές λειτουργίες, οπότε χρειάζεται αλγόριθµος επιλογής. Storage Αντιστοιχεί δεδοµένα σε αποθηκευτικές µονάδες. Οι σταθερές αποθηκεύονται σε ROM. Οι µεταβλητές αντιστοιχίζονται σε καταχωρητές ή µνήµες. Μεταβλητές µε µη επικαλυπτόµενους χρόνους ζωής µπορούν να µοιραστούν καταχωρητές. Οι καταχωρητές τελικά µπορούν να σχηµατίσουν ένα αρχείο καταχωρητών. Σύνθεση Αρχιτεκτονικής 19

Unit Binding Interconnection Κάθε µεταφορά δεδοµένων απαιτεί µονοπάτι διασύνδεσης. ύο διαφορετικές µεταφορές δεδοµένων µπορούν να µοιραστούν το ίδιο ή τµήµα µονοπατιού διασύνδεσης, εάν δεν γίνονται ταυτόχρονα. Στόχος είναι η µεγιστοποίηση της διαµοίρασης µονάδων διασύνδεσης (και άρα ελαχιστοποίηση του κόστους) Εξάρτηση και σειρά Οι παραπάνω λειτουργίες επηρεάζουν η µία την άλλη. Ακόµη και η σειρά που εκτελούνται είναι πολύ σηµαντική Σύνθεση Αρχιτεκτονικής 20

Unit Binding Παράδειγµα Για το παραπάνω Functional Unit/Storage Binding απαιτούνται 6 πολυπλέκτες Σύνθεση Αρχιτεκτονικής 21

Unit Binding a,h d,g Με άλλο Storage Binding απαιτούνται 4 πολυπλέκτες. Ουσιαστικά κατανέµονται τα αποτελέσµατα πράξεων σε όλους τους καταχωρητές και δεν απαιτούνται πολυπλέκτες εγγραφής. Σύνθεση Αρχιτεκτονικής 22

Unit Binding Αλλάζοντας και το Functional Binding δεν απαιτούνται πολυπλέκτες Σύνθεση Αρχιτεκτονικής 23

Αλγόριθµοι Greedy Η ανάθεση των λειτουργιών σε components γίνεται βηµατικά. Ξεκινά ο αλγόριθµος µε κενό datapath και σταδιακά προσθέτει components. Σε κάθε βήµα προσπαθεί να βρει µία λειτουργική µονάδα η οποία είναι ελεύθερη την στιγµή που απαιτείται από την λειτουργία. Εάν υπάρχουν περισσότερες της µία µονάδες τότε επιλέγει αυτήν που ελαχιστοποιεί το κόστος διασύνδεσης. Εάν καµία µονάδα δεν είναι διαθέσιµη προσθέτουµε µία νέα. Η ίδια διαδικασία γίνεται και για τους καταχωρητές. Για τις µεταβλητές λαµβάνεται υπόψη ο χρόνος ζωής τους. Όταν υπάρχουν πολλοί διαθέσιµοι καταχωρητές, τότε επιλέγεται εκείνος που ελαχιστοποιεί το κόστος. Σύνθεση Αρχιτεκτονικής 24

Αλγόριθµοι ιάσπασης (Decomposition) Προσπαθούν να δώσουν καλύτερα αποτελέσµατα από τους αλγόριθµους απληστίας. Η διαδικασία Allocation διαιρείται σε επιµέρους τµήµατα και κάθε ένα από αυτά επιλύεται χωριστά. Τα προβλήµατα του allocation (storage/funct. unit/interconnection binding) επιλύονται χωριστά. Λόγω της συσχέτισης των προβληµάτων, δεν εγγυάται βέλτιστη λύση ακόµη και αν τα επιµέρους προβλήµατα επιλυθούν βέλτιστα. ιαµέριση Κλίκας Μέθοδοι Αλγόριθµος Αριστερής Ακµής Ταίριασµα ιµερή Γράφου µε βάρη Σύνθεση Αρχιτεκτονικής 25

ιαµέριση Κλίκας Στόχος η διαµέριση ενός γράφου σε ελάχιστο αριθµό από κλίκες Επίλυση Προβλήµατος ιαµέρισης σε κλίκες: Από τον αρχικό γράφο κατασκευάζουµε ένα υπεργράφο. Ο υπεργράφος αποτελείται από υπερ-κορυφές (σύνολα κορυφών). Μία υπερκορυφή είναι και κλίκα. Σε κάθε βήµα οι δύο υπερκορυφές που έχουν τους περισσότερους κοινούς γείτονες και συνδέονται µε ακµή συνδυάζονται σε µία. Η νέα υπερκορυφή συνδέεται µε ακµές µόνο µε το σύνολο των κοινών γειτονικών άλλων υπερκορυφών. Η διαδικασία συνεχίζεται έως ότου να µην υπάρχουν άλλες ακµές. Σύνθεση Αρχιτεκτονικής 26

ιαµέριση Κλίκας Αρχικός Γράφος Μετατροπή σε υπεργράφο Σύνθεση Αρχιτεκτονικής 27

ιαµέριση Κλίκας Σύνθεση Αρχιτεκτονικής 28

ιαµέριση Κλίκας Σύνθεση Αρχιτεκτονικής 29

ιαµέριση Κλίκας Χρήση Γράφων στο πρόβληµα Register Allocation: Στόχος του Register Allocation είναι η ελαχιστοποίηση του κόστους των καταχωρητών, µε την µέγιστη δυνατή διαµοίραση. Κάθε κορυφή του γράφου αντιστοιχεί σε µία µεταβλητή Μία ακµή υπάρχει όταν δύο µεταβλητές µπορούν να αποθηκευτούν στον ίδιο καταχωρητή. Κάθε κλίκα αντιστοιχίζεται σε ένα καταχωρητή, καθώς όλες οι µεταβλητές µπορούν να συνυπάρξουν σε αυτόν. Σύνθεση Αρχιτεκτονικής 30

ιαµέριση Κλίκας Χρήση Γράφων στο πρόβληµα Functional Allocation: Κάθε κορυφή του γράφου αντιστοιχεί σε µία λειτουργία Μία ακµή υπάρχει όταν (α) Οι δύο λειτουργίες δεν εκτελούνται ταυτόχρονα. (β) Χρησιµοποιείται τύπος µονάδας που µπορεί να τις εκτελέσει και τις δύο. Κάθε κλίκα αντιστοιχίζεται σε µία λειτουργική µονάδα. Χρήση Γράφων στο πρόβληµα Interconnection Allocation: Κάθε κορυφή του γράφου αντιστοιχεί στην διασύνδεση δύο µονάδων. Μία ακµή υπάρχει όταν οι διασυνδέσεις που αντιστοιχούν στις κορυφές δεν χρησιµοποιούνται ταυτόχρονα. Κάθε κλίκα αντιστοιχεί σε διαύλους ή πολυπλέκτες Σύνθεση Αρχιτεκτονικής 31

Αλγόριθµος Αριστερής Ακµής έχεται σαν είσοδο µία λίστα µεταβλητών L. Για κάθε µεταβλητή υπάρχει και ένα διάστηµα ζωής. Ο αλγόριθµος κάνει πολλαπλά περάσµατα και αναθέτει µεταβλητές σε καταχωρητές. Σε κάθε πέρασµα εξαντλεί την χρήση ενός καταχωρητή µε όσο το δυνατόν περισσότερες µεταβλητές. Ο αλγόριθµος έχει πολυωνυµική πολυπλοκότητα. Η λύση που δίνει είναι βέλτιστη. Σύνθεση Αρχιτεκτονικής 32

Αλγόριθµος Αριστερής Ακµής Σύνθεση Αρχιτεκτονικής 33

Weighted Bipartite-Matching Algorithm Αντιστοιχίζει πολλαπλές λειτουργίες/µεταβλητές σε πολλαπλές µονάδες ταυτόχρονα. Λαµβάνει υπόψη και το κόστος διασυνδέσεων. Βήµατα: Ταξινοµούνται οι µεταβλητές σύµφωνα µε τον χρόνο έναρξης τους. ιαιρούνται σε οµάδες µε το ακόλουθο κριτήριο: Η ζωή κάθε µεταβλητής σε µία οµάδα επικαλύπτεται µε όλες τις άλλες µεταβλητές της οµάδας. Αναθέτουµε τις µεταβλητές της µεγαλύτερης οµάδας σε ισάριθµους καταχωρητές. Κάθε επόµενη οµάδα ανατίθεται σε αυτούς τους καταχωρητές αν δεν υπάρχει επικάλυψη µε τις µεταβλητές που έχουν ήδη ανατεθεί. Σύνθεση Αρχιτεκτονικής 34

Weighted Bipartite-Matching Algorithm Σε κάθε βήµα δηµιουργείται ένας διµερής γράφος, µε (α) το σύνολο των καταχωρητών και (β) το σύνολο των µεταβλητών της επόµενης οµάδας. Κάθε ακµή του γράφου αναπαριστά πιθανή αντιστοίχηση µεταβλητής σε καταχωρητή. Οι ακµές µπορούν να έχουν βάρη. Μία ακµή έχει µεγάλο βάρος αν η αντίστοιχη ανάθεση έχει µειωµένο κόστος διασύνδεσης. Σύνθεση Αρχιτεκτονικής 35

Weighted Bipartite-Matching Algorithm Σύνθεση Αρχιτεκτονικής 36

Weighted Bipartite-Matching Algorithm Σύνθεση Αρχιτεκτονικής 37

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