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

Σχετικά έγγραφα
ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ

Πράξεις με δυαδικούς αριθμούς

Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής. Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 2 ο Σύντοµη Επανάληψη

Εργαστήριο Εισαγωγής στη Σχεδίαση Συστημάτων VLSI

Κεφάλαιο 3β. Ελεύθερα Πρότυπα (µέρος β)

Οργάνωση Η/Υ. Γιώργος Δημητρίου. Μάθημα 2 ο Σύντομη Επανάληψη. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

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

ΕΝΝΟΙΑ ΤΟΥ ΙΑΝΥΣΜΑΤΟΣ

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

! Εάν ο αριθμός διαθέτει περισσότερα bits, χρησιμοποιούμε μεγαλύτερες δυνάμεις του 2. ! Προσοχή στη θέση του περισσότερο σημαντικού bit!

1 Οι πραγµατικοί αριθµοί

ΙΑΝΥΣΜΑΤΑ ΘΕΩΡΙΑ ΘΕΜΑΤΑ ΘΕΩΡΙΑΣ. Τι ονοµάζουµε διάνυσµα; αλφάβητου επιγραµµισµένα µε βέλος. για παράδειγµα, Τι ονοµάζουµε µέτρο διανύσµατος;

Κεφάλαιο M3. Διανύσµατα

ΕΡΓΑΣΤΗΡΙΟ ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ : Κ. ΠΕΚΜΕΣΤΖΗ

Ενότητα 9 ΑΡΙΘΜΗΤΙΚΑ & ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ

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

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

1 η Θεµατική Ενότητα : Αριθµητικά Κυκλώµατα. Επιµέλεια διαφανειών: Χρ. Καβουσιανός

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

Παράλληλοι Αλγόριθµοι

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

ΑΣΚΗΣΗ 4 ΣΧΕΔΙΑΣΗ ΑΡΙΘΜΗΤΙΚΩΝ ΛΟΓΙΚΩΝ ΚΥΚΛΩΜΑΤΩΝ

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

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

a -j a 5 a 4 a 3 a 2 a 1 a 0, a -1 a -2 a -3

11 Το ολοκλήρωµα Riemann

( ) Κλίση και επιφάνειες στάθµης µιας συνάρτησης. x + y + z = κ ορίζει την επιφάνεια µιας σφαίρας κέντρου ( ) κ > τότε η

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

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

Αριθμητική Ανάλυση & Εφαρμογές

Αλγεβρικές παραστάσεις - Αναγωγή οµοίων όρων

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

Πανεπιστήμιο Πατρών Τμήμα Φυσικής Εργαστήριο Ηλεκτρονικής. Ψηφιακά Ηλεκτρονικά. Συνδυαστική Λογική. Επιμέλεια Διαφανειών: Δ.

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

Υλοποιήσεις Ψηφιακών Φίλτρων

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

Κεφάλαιο 4. Ευθέα γινόµενα οµάδων. 4.1 Ευθύ εξωτερικό γινόµενο οµάδων. i 1 G 1 G 1 G 2, g 1 (g 1, e 2 ), (4.1.1)

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

Ενότητα: Πράξεις επί Συνόλων και Σώµατα Αριθµών

Πρόσθεση/Αφαίρεση. Εφαρµογές της πράξης, υλοποίηση και βελτιστοποιήσεις. Γκέκας Γεώργιος: 2423 Μαραγκός Παναγιώτης: 2472

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

Εισαγωγή στην Τοπολογία

1.1 A. ΟΙ ΠΡΑΓΜΑΤΙΚΟΙ ΑΡΙΘΜΟΙ ΚΑΙ ΟΙ

x 2 = x x 2 2. x 2 = u 2 + x 2 3 Χρησιµοποιώντας το συµβολισµό του ανάστροφου, αυτό γράφεται x 2 = x T x. = x T x.

Αρµονική Ανάλυση. Ενότητα: Το ϑεώρηµα παρεµβολής του Riesz και η ανισότητα Hausdorff-Young. Απόστολος Γιαννόπουλος.

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

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

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

Τίτλος Μαθήματος: Απειροστικός Λογισμός ΙΙΙ. Ενότητα: Όρια και συνέχεια συναρτήσεων. Διδάσκων: Ιωάννης Γιαννούλης. Τμήμα: Μαθηματικών

( ) Κλίση και επιφάνειες στάθµης µιας συνάρτησης. x + y + z = κ ορίζει την επιφάνεια µιας σφαίρας κέντρου ( ) κ > τότε η

Γραµµική Αλγεβρα. Ενότητα 1 : Εισαγωγή στη Γραµµική Αλγεβρα. Ευστράτιος Γαλλόπουλος Τµήµα Μηχανικών Η/Υ & Πληροφορικής

σύνθεση και απλοποίησή τους θεωρήµατα της άλγεβρας Boole, αξιώµατα του Huntington, κλπ.

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

Κώδικας σχεδίασης Λογισµικής ιαγραµµατικής Οντολογίας

1 Οι πραγµατικοί αριθµοί

( ) = inf { (, Ρ) : Ρ διαµέριση του [, ]}

Τίτλος Μαθήματος: Γραμμική Άλγεβρα Ι. Ενότητα: Πινάκες και Γραµµικές Απεικονίσεις. Διδάσκων: Καθηγητής Νικόλαος Μαρμαρίδης. Τμήμα: Μαθηματικών

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

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ Ι (ΑΡΤΙΟΙ) Λυσεις Ασκησεων - Φυλλαδιο 2

ΙΑΛΕΞΕΙΣ ΜΗΧΑΝΙΚΗΣ. Την Κινηµατική (µελετάει την κίνηση των σωµάτων χωρίς να ενδιαφέρεται για τις δυνάµεις που ενεργούν στα σώµατα)

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 11 ο και 12 ο

Μάθηµα ευτέρας 20 / 11 / 17

Κεφάλαιο 6 Παράγωγος

14 Εφαρµογές των ολοκληρωµάτων

Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση. Κεφάλαιο 3. Αριθµητική για υπολογιστές

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

ΚΕΦΑΛΑΙΟ 5: Τανυστικά Γινόµενα

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ. ΕΝΟΤΗΤΑ: Διανυσματικοί Χώροι (1) ΔΙΔΑΣΚΩΝ: Βλάμος Παναγιώτης ΙΟΝΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Ψηφιακά Συστήματα VLSI

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

ΚΕΦΑΛΑΙΟ 10. Μελέτη ηλεκτρικών δικτύων στην Ηµιτονική Μόνιµη Κατάσταση

ΚΕΦΑΛΑΙΟ 4 ΑΡΙΘΜΗΤΙΚΕΣ ΜΕΘΟ ΟΙ ΕΥΡΕΣΗΣ ΠΡΑΓΜΑΤΙΚΩΝ Ι ΙΟΤΙΜΩΝ. 4.1 Γραµµικοί µετασχηµατισµοί-ιδιοτιµές-ιδιοδιανύσµατα

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

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

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

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

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

µε το µέτρο του µεγέθους. ii. Στη γλώσσα που χρησιµοποιούµε στην καθηµερινή µας ζωή ορίζουµε ως µέση ταχύτητα το

1. Βάσεις αριθμητικών συστημάτων 2. Μετατροπές μεταξύ ξύβάσεων 3. Αρνητικοί δυαδικοί αριθμοί 4. Αριθμητικές πράξεις δυαδικών αριθμών

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

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

ΣΥΝΤΕΤΑΓΜΕΝΕΣ ΙΑΝΥΣΜΑΤΟΣ

Ορισµός. (neighboring) καταστάσεων. ηλαδή στην περίπτωση αλυσίδας Markov. 1.2 ιαµόρφωση µοντέλου

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ ΙΙ (ΠΕΡΙΤΤΟΙ) Ασκησεις - Φυλλαδιο 5

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

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

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

Αριθµητική Γραµµική ΑλγεβραΚεφάλαιο 4. Αριθµητικός Υπολογισµός Ιδιοτιµών 2 Απριλίου και2015 Ιδιοδιανυσµάτων 1 / 50

a 1d L(A) = {m 1 a m d a d : m i Z} a 11 a A = M B, B = N A, k=1

ΚΕΦΑΛΑΙΟ 3 ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. nn n n

1.1.3 t. t = t2 - t x2 - x1. x = x2 x

Τίτλος Μαθήματος: Γραμμική Άλγεβρα Ι. Ενότητα: Διανυσµατικοί Χώροι. Διδάσκων: Καθηγητής Νικόλαος Μαρμαρίδης. Τμήμα: Μαθηματικών

Παράλληλοι Υπολογισµοί (Μεταπτυχιακό)

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

Γραµµικη Αλγεβρα Ι Επιλυση Επιλεγµενων Ασκησεων Φυλλαδιου 4

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

Ευκλείδειοι Χώροι. Ορίζουµε ως R n, όπου n N, το σύνολο όλων διατεταµένων n -άδων πραγµατικών αριθµών ( x

Δομή Ηλεκτρονικού υπολογιστή

Transcript:

ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ ΑΓΩΓΟΙ & ΙΑΝΥΣΜΑΤΙΚΟΙ ΥΠΟΛΟΓΙΣΤΕΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΡΓΑΣΤΗΡΙΟ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΥΨΗΛΩΝ ΕΠΙ ΟΣΕΩΝ

Αγωγοί Υπολογιστές

Βασικές Έννοιες (pipelining) διανυσµατικές εντολές - διάσπαση και εκτέλεση τους σε αγωγό Μία διανυσµατική εντολή ε µπορεί να διασπαστεί σε p(ε) στοιχειώδεις υποεντολές, οι οποίες µπορούν µε τησειράτουςνα εκτελεστούν σε αγωγό αποτελούµενο από p(ε) επεξεργαστές αντίστοιχα. Υποθέτουµε ότιηκάθεµια από τις p(ε) υποεντολές χρειάζεται χρόνο t 0 για να εκτελεστεί. Αν µία από τις p(ε) εντολές χρειάζονται χρόνο t 0 > t 0 τότε, θέτουµε σαν ελάχιστο χρόνο του αγωγού, το χρόνο που χρειάζεται για να εκτελεστεί η πιο χρονοβόρα εντολή, δηλαδή t 0 = t 0. Αν υποθέσουµε ότιέχουµε µία τέτοια διανυσµατική εντολή µήκους n τότε για να εκτελεστούν ακολουθιακά οι p(ε) υποεντολές της, χρειάζεται χρόνος t seq που δίνεται από την σχέση: t seq (ε,n) = n*p(ε)* t 0

Βασικές Έννοιες (pipelining) Μέθοδος Αγωγού (Pipelining) Στους υπολογιστές µε αγωγούς, υπάρχουν p(ε) διασυνδεδεµένα επεξεργαστικά στοιχεία κάθε ένα από τα οποία είναι προγραµµατισµένο να εκτελεί µία συγκεκριµένη διαδικασία. Όλα µαζί στη σειρά, σχηµατίζουν ένα νοητό αγωγό δηµιουργώντας έτσι µία συνεχόµενη ή µε συνθήκες ροή στοιχείων µέσα στον αγωγό. Το κάθε p(ε), περνά το αποτέλεσµα του στο επόµενο µέχρι να ολοκληρωθεί η εκτέλεση όλων των υποεντολών, όπως φαίνεται και στο ακόλουθο σχήµα. ΕΙΣΟ ΟΣ Υ1 Υ2 Υp(ε)... ΑΠΟΤΕΛΕΣΜΑΤΑ

Βασικές Έννοιες (pipelining) Παράδειγµα: Στην παρακάτω εικόνα φαίνεται το διάγραµµα χώρου-χρόνου για εκτέλεση µίας διανυσµατικής εντολής µήκους n=6 σε αγωγό µήκους p(ε)=5. Εξαγωγή Αποτελέσµατος 1 2 3 4 5 6 Υ5 1 2 3 4 5 6 Υ4 1 2 3 4 5 6 Υ3 1 2 3 4 5 6 Υ2 1 2 3 4 5 6 Υ1 1 2 3 4 5 6 0 1 2 3 4 5 6 7 8 9 10 χρόνος Ο αγωγός που αντιστοιχεί στο παραπάνω διάγραµµα γεµίζει µετά από χρόνο 4t 0 = (p(ε)-1)t 0, το πρώτο αποτέλεσµα παράγεται τη χρονική στιγµή 5t 0 = p(ε)t 0, ενώ το τελευταίο αποτέλεσµα θα παραχθεί τη χρονική στιγµή, p(ε)t 0 (για το πρώτο) + (n-1)t 0 (για τα υπόλοιπα n-1) = (p(ε)-1+n)t 0. Πρέπει όµως να συνυπολογίσουµε και το χρόνο αρχικοποίησης αt 0 ή a(ε)t 0. Έτσι ο συνολικός χρόνος είναι: t pipe (ε,n) = (α(ε)+ p(ε)+n-1)t 0.

Βασικές Έννοιες (pipelining) ιάνυσµαεπεξεργαστών Έστω ότι χρησιµοποιούνται Κ επεξεργαστές (ή Κ αθροιστές - αν έχουµε διανυσµατική πρόσθεση), oι οποίοι µπορούν να υπολογίζουν ταυτόχρονα και ανεξάρτητα. ηλαδή µπορούν να γίνονται Κ ταυτόχρονες εκτελέσεις. Τότε ο συνολικός χρόνος εκτέλεσης είναι ίσος µετοχρόνοεκτέλεσηςτηςµίας εντολής: t διαν (ε,n) = n/k *p(ε)t 0 Υπάρχουν όµως και χρονικές επιβαρύνεις µε τις οποίες θα ασχοληθούµε στα επόµενα.

Βασικές Έννοιες (pipelining) Από αυτά που µέχρι τώρα είδαµε για αγωγούς µε χρήση διανυσµατικών εντολών µπορούµε να πούµε ότι η ιδέα των αγωγών είναι η χρονική επικάλυψη της εκτέλεσης µε ή και χωρίς υποδιαίρεση µίας µεγαλύτερης διαδικασίας. Συµβολισµοί: Έστω ότι συµβολίζουµε µε T i i=1,,k τα επεξεργαστικά στοιχεία και τα υποέργα ενός έργου T του αγωγού. Επιπλέον υποθέτουµε ότι έχει γίνει και τοπολογική διάταξη, δηλαδή το T j δεν µπορεί να αρχίσει την εκτέλεση του αν πρώτα δεν ολοκληρώσει την εκτέλεση του το υποέργο T i, δηλαδή, i<j. Χρησιµοποιούµε επίσης τον συµβολισµό T i T j ή i j και εννοούµε ότι το T i προηγείται του T j.

Βασικές Έννοιες (pipelining) Παράδειγµα: Έστω ότι το έργο T είναι να υπολογιστεί η τιµήτηςεξίσωσης z=x*y*u*v+(a+b)/c+(x/u)*(y/v) Μία πιθανή διάσπαση σε υποέργα είναι T 1 :x*y, T 2 :u*v, T 3 :(a+b)/c:=a, T 4 : T 1 * T 2 :=B, T 5 :(x*y)/(u*v):=c, 1 2 3 4 5 6 T 6 :z=c+a+b, T 6 = T Το γράφηµα προτεραιότητας που αντιστοιχεί στην παραπάνω διάσπαση είναι τοπολογικά διατεταγµένο. Υπάρχει όµως η πιθανότητα να ισχύει ότι i<j χωρίς όµως το T i να προηγείται του T j. Στο παράδειγµα µας 3<4 χωρίς όµως το T 3 να προηγείται το T 4

Βασικές Έννοιες (pipelining) Η απεικόνιση της διάσπασης του προηγούµενου παραδείγµατος σε αγωγό δεν προσφέρεται εξ αιτίας της ιδιότητας: ότι ενώ υπάρχουν διαδικασίες που είναι τοπολογικά διατεταγµένες τα υποέργα δεν ακολουθούν απόλυτα την τοπολογική διάταξη. Αποτέλεσµα αυτούείναιηµη εύκολη (ή αδύνατη) απεικόνιση τέτοιων διαδικασιών σε γραµµικούς αγωγούς. Όπως ο αγωγός που φαίνεται στο παρακάτω σχήµα. T 1 T 2 T k

Αγωγοί Σε πραγµατικούς αγωγούς συνήθως µεταξύ των επεξεργαστών παρεµβάλλεται ένας καταχωρητής συνδετήρας σ (latch: µάνταλο). Η χρήση του καταχωρητή είναι να κρατά τα αποτελέσµατα της επεξεργασίας από τον προηγούµενο επεξεργαστή ή και να δηµιουργεί µία τεχνητή καθυστέρηση. Η καθυστέρηση χρησιµοποιείται για λόγους συγχρονισµού, δηλαδή καθυστερούνται ενδιάµεσα αποτελέσµατα ώστε να µεταβιβάζονται στον επόµενο επεξεργαστή σε προκαθορισµένες χρονικές στιγµές. Στο επόµενο σχήµα φαίνεται ένας τέτοιος γραµµικός αγωγός µε καταχωρητές. σ 0 σ 1 T 1 T 2 σ k- T k σ k

Αγωγοί Στην περίπτωση πραγµατικών αγωγών ο αρχιτέκτονας του αγωγού πρέπει να ορίσει µία στοιχειώδη χρονική µονάδα t 0 ώστε οι µεταβιβάσεις δεδοµένων να γίνονται σε τακτά χρονικά διαστήµατα µήκους t 0. Αν για την εκτέλεση µιας εντολής T i οι χρόνοι t i i= 1,, k είναι ίδιοι, τότε µπορούµε ναθέσουµε σε όλους τους συνδετήρες την ίδια χρονική καθυστέρηση τ, ενώ µία καλή επιλογή γι αυτή την περίπτωση θα ήταν: t 0 :=τ + max{t i i= 1,, k}

Αγωγοί Αν όµως υπάρχουν έργα µε πολύ διαφορετικούς χρόνους, δηλαδή τ 1 <<τ 2 τότε είτε θα πρέπει να καθυστερήσουµε τεχνητά το τ 1, είτε θα προκύψει συµφόρηση µε εισροή πολλών αποτελεσµάτων από τον επεξεργαστή T 1 στον T 2 ο οποίος δεν θα προλαβαίνει να δεχθεί και να επεξεργαστεί τα στοιχεία που θα προωθούνται από τον T 1. Θα έχουµε δηλαδή πρόβληµα συσσώρευσης αποτελεσµάτων. Λύσεις στο πρόβληµα της συσσώρευσης: Μία λύση είναι να διασπάσουµε σε περισσότερα υποέργα τη διαδικασία που υποέργου T 2, αν αυτό είναι εφικτό. Η λύση αυτή δίνει µακρύτερο αγωγό και µειώνει το max της προηγούµενης σχέσης. Έτσι το t 0 γίνεται πιο λογικό και πλησιάζει το χρόνο τον γρήγορων επεξεργαστών (διαδικασιών).

Αγωγοί Μια άλλη λύση στο πρόβληµα της συσσώρευσης είναι να χρησιµοποιηθούν πολλά αντίγραφα του αργού επεξεργαστή (ή αντίστοιχα της χρονοβόρας διαδικασίας) T i. Αν για παράδειγµα t 2 = 4 t 1 τότε η συµφόρηση µπορεί να αποφευχθεί µε 4 αντίγραφα του T 2, όπως φαίνεται και στο επόµενο σχήµα. T 2 T 2 T 1 T 3 T 2 T 2

Αγωγοί Συνέχεια του προηγούµενου παραδείγµατος: Αφού καθοριστεί ο t 0, ο χρόνος για την εκτέλεση του έργου Τ(n) είναι: t pipe (Τ,n) = (α + k 1+n) t 0. Σύµφωνα µε αυτά που αναφέρθηκαν στα εισαγωγικά περί αγωγών. Όπου k=p(ε).

Αγωγοί Είδη αγωγών: Ανάλογα µε τη λειτουργία και την οργάνωση τους υπάρχουν αριθµητικοί, εντολικοί και αγωγοί επεξεργαστών, οι οποίοι χωρίζονται σε µονολειτουργικούς και πολυλειτουργικούς και οι οποίοι µε τη σειρά τους χωρίζονται σε δυναµικούς και στατικούς.

ΙΑΝΥΣΜΑΤΙΚΕΣ ΕΝΤΟΛΕΣ Μία διανυσµατική εντολή µήκους n, όπως είναι η πρόσθεση δύο διανυσµάτων, µπορεί να εκτελεστεί από ειδικά σχεδιασµένους αγωγούς. Αφού γίνει διαθέσιµηησχετικήδιανυσµατική εντολή σε ένα υπολογιστή, ο αγωγός παραλαµβάνει τις απαραίτητες συνιστώσες των διανυσµάτων κατά τακτά χρονικά διαστήµατα και εκτελεί τις σχετικές πράξεις στις συνιστώσες. Αν ο αγωγός διασπάσει την εντολή σε p(ε) υποεντολές, ο χρόνος εκτέλεσης της διανυσµατικής εντολής µήκος n είναι ( ε, n) = ( a + p( ε ) 1 n) t 0 t pipe + Αν θεωρήσουµε τώρα δύο ανεξάρτητες διανυσµατικές εντολές ε 1, ε 2 εν γένει διαφορετικές, και για απλούστευση θεωρούµεότιp(ε 1 )=p(ε 2 )=p. Οι διανυσµατικές αυτές εντολές µπορούν να εκτελεστούν µεχρονικήεπικάλυψη από δύο κατάλληλους αγωγούς. Υποθέτουµε βεβαίως ότι η δεύτερη εντολή µπορεί να αρχίσει αµέσως µετά την εξαγωγή του πρώτου αποτελέσµατος της πρώτης εντολής. Τότε αν οι αρχικοί χρόνοι είναι α 1 t 0 και α 2 t 0,ο συνολικός χρόνος εκτέλεσης θα είναι: t total = (a + p + n)t 0 όπου a: = max {a 1, a 2 }

ΙΑΝΥΣΜΑΤΙΚΕΣ ΕΝΤΟΛΕΣ Όταν όµως οι δύο εντολές ε 1, ε 2 δεν είναι ανεξάρτητες αλλά η ε 2 χρειάζεται τα αποτελέσµατα από την ε 1, τότε εφαρµόζουµε την τεχνική της αλύσωσης (chaining). Στην περίπτωση αυτή κάθε αποτέλεσµα αντιγράφουτης συνιστώσας ε 1 από τον αγωγό που την εκτελεί στέλνεται αµέσως στην είσοδο του αγωγού που εκτελεί την ε 2. Παράδειγµα: inner product step ε1: C = A * B, [πολλαπλασιασµός ανά συνιστώσα: C(i) = A(i)B(i)] ε2: E = C + D, [πρόσθεση ανά συνιστώσα: E(i) = C(i) + D(i)] E(i) = A(i)B(i) + D(i), i = 1,..., n Αγωγός πολ/σµού Αγωγός πρόσθεσης

Αριθµητικοί Αγωγοί Όλοι οι σύγχρονοι επεξεργαστές διαθέτουν αριθµητικούς αγωγούς για την εκτέλεση αριθµητικών πράξεων. Σαν παράδειγµα περιγράφουµε αγωγό για πρόσθεση κινητής υποδιαστολής. Αλγόριθµος: Πρόσθεση Κινητής Υποδιαστολής Αν σε κανονικοποιηµένη µορφή οι δύο προσθετέοι είναι x=a*2 p και y=b*2 q, τότε το αποτέλεσµα τους υπολογίζεται από την ακόλουθη σχέση. z = x+y = c*2 max(p,q) = d*2 ε, (0.5 d < 1). Στον αγωγό δίνονται οι αριθµοί a, p, b, q σε κανονικοποιηµένη µορφή και πρέπει να υπολογιστούν οι d και ε.

Αγωγός για πρόσθεση κινητής υποδιαστολής Πρώτα κάνουµε τηδιάσπασητωνπράξεωνπου απαιτούνται από τον αλγόριθµοσευποέργα: Τ 1 : Αφαίρεση των εκθετών p, q, για να υπολογίσουµε το max(p,q) και τη θετική διαφορά p-q. Τ 2 : Επιλογή µεταξύ a, b, αυτού που αντιστοιχεί στο max(p,q) και αυτού που αντιστοιχεί στο min(p,q). Τ 3 : Μετακίνηση κατά (p-q) θέσεις, σε αυτόν που αντιστοιχεί στο min(p,q). Τ 4 : Πρόσθεση των a, b, (το ένα µετακινηµένο από το Τ 3 ). Το αποτέλεσµα είναιc. Τ 5 : Μέτρηµα των κύριων µηδενικών στο c, έστω ότι αυτά είναι µ. Τ 6 : Μετακίνηση κατά µ θέσεις του c, οπότε προκύπτει το d. Τ 7 : Αφαίρεση εκθετών max(p,q) και µ, οπότε προκύπτει ο ε.

Αγωγός για πρόσθεση κινητής υποδιαστολής p a q b max(p,q) Τ 1 pq Τ 2 Τ 3 από a και b, αυτό που αντιστοιχεί στο min (p,q) αυτό που αντιστοιχεί στο max (p,q) Τ 7 ε Τ 5 Τ 6 Τ 4 c Τα latches που φαίνονται στην υλοποίηση του αγωγού είναι καταχωρητές οι οποίοι χρησιµοποιούνται για την αποθήκευση των ενδιάµεσων αποτελεσµάτων και το συγχρονισµό µεταξύ των επεξεργαστικών στοιχείων του αγωγού.

Αγωγός για διανυσµατική πρόσθεση µε διατάξεις πλήρους αθροιστή (Full Adder) Στην επόµενη εικόνα απεικονίζεται σχηµατικά ένας πλήρης αθροιστής (full Adder) a b c out FA c in s=xor(a, b) Για να προσθέσουµε δύοαριθµούς των n bits χρειαζόµαστε ένα αθροιστή διάδοσης κρατουµένων CPA (Carry Propagation Adder). Ο απαιτούµενος CPA υλοποιείται από την γραµµική σύνδεση n Full Adder. Ένας CPA δέχεται δύο αριθµούς των n bits και παράγει ως άθροισµα, των δύο αυτών αριθµών, ένα αριθµό των n ή n+1 bits (ανάλογα µε το αν έχουµε ή όχι παραγωγή υπολοίπου στην τελευταία πράξη της πρόσθεσης).

Αγωγός για διανυσµατική πρόσθεση µε διατάξεις πλήρους αθροιστή (Full Adder) a n-1 b n-1 a 1 b 1 a 0 b 0 Overflow? ή FA FA FA c 0 = 0 Α+Β=: S =( S ν S n-1 S 1 S 0 ) Είναι προφανές ότι τρεις αριθµοί µπορούν να προστεθούν µε δύο CPAs, ή και µε έναcpa που θα χρησιµοποιηθεί όµως δύο φορές διαδοχικά.

Αγωγός διανυσµατικής πρόσθεσης µε CSAs Υπάρχει διάταξη από Full Adders που µπορεί να αθροίσει τρεις αριθµούς ταυτόχρονα. Η διάταξη αυτή ονοµάζεται Carry Save Adder (CSA). Στους CSAs οι FAs είναιοιίδιοιµε τους FAs των CPAs, αλλά σε διαφορετική διάταξη και µεταξύ τους ανεξάρτητοι όπως φαίνεται και στο σχήµα. x n-1 y n-1 z n-1 x 1 y 1 z 1 x 0 y 0 z 0 FA FA FA S n-1 C n-1 S 1 C 1 S 0 C 0

Αγωγός διανυσµατικής πρόσθεσης µε CSAs Πρόσθεση 16 αριθµών µε "δέντρο CSA 1 CSA CSA CSA CSA CSA 2 CSA CSA CSA 3 CSA CSA 4 CSA CSA 5 CSA 6 CSA 7 CSA