Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
ΔημοσίευσεPelagia Gonce Τροποποιήθηκε πριν 10 χρόνια
1
Κώστας Διαμαντάρας Τμήμα Πληροφορικής ΤΕΙ Θεσσαλονίκης 2011 Συστολικοί επεξεργαστές
2
DS IS Σχεδιάγραμμα Σ.Ε. Προηγμένες Αρχιτεκτονικές Η/Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 2 Host Computer PU 1 PU N CU SIMD
3
Χαρακτηριστικά Σ.Ε. Προηγμένες Αρχιτεκτονικές Η/Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 3 Προσκολλημένοι (Attached) σε έναν υπολογιστή host. Δεν στέκουν αυτόνομα Όχι λειτουργικό σύστημα Σύγχρονη επικοινωνία Όλοι οι επεξεργαστές εκτελούν την ίδια εντολή σε διαφορετικά δεδομένα (SIMD) Εκτελούν ειδικούς αλγορίθμους (special purpose machines) Εξειδικευμένοι επεξεργαστές Υψηλό κόστος
4
Απεικόνιση αλγορίθμου σε Σ.Ε. Προηγμένες Αρχιτεκτονικές Η/Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 4 Βήματα: 1. Μετατροπή κώδικα σε κώδικα μοναδικής ανάθεσης (single assignment code) 2. Σχεδίαση Γράφου Εξάρτησης (Γ.Ε.) 3. Μετατροπή μακρινών ακμών σε τοπικές 4. Προβολή Γ.Ε. σε Γράφο Ροής Σήματος 5. Χρονοδιάγραμμα 6. Σχεδίαση Συστολικού Επεξεργαστή
5
Παράδειγμα: Πολλαπλασιασμός Πίνακα επί Διάνυσμα Προηγμένες Αρχιτεκτονικές Η/Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 5 A = πίνακας mxn b = διάνυσμα μήκους n c = αποτέλεσμα A*b = διάνυσμα μήκους m
6
Πίνακας επί Διάνυσμα - Σειριακός κώδικας Προηγμένες Αρχιτεκτονικές Η/Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 6 for (i=1 to m) { c[i] = 0; for (j=1 to n) { c[i] = c[i] + A[i][j]*b[j]; }
7
Κώδικας μοναδικής ανάθεσης ; Προηγμένες Αρχιτεκτονικές Η/Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 7 Έστω m=4, n=3. Loop unrolling: i=1:c[1]=0; c[1]=c[1]+A[1][1]*b[1]; c[1]=c[1]+A[1][2]*b[2]; c[1]=c[1]+A[1][3]*b[3]; i=2:c[2]=0; c[2]=c[2]+A[2][1]*b[1]; c[2]=c[2]+A[2][2]*b[2];... 4 αναθέσεις στο c[1] ΑΡΑ: ΟΧΙ single assignment code
8
Κώδικας μοναδικής ανάθεσης Προηγμένες Αρχιτεκτονικές Η/Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 8 Αριθμώ τις αναθέσεις: i=1:c[1][0]=0; c[1][1]=c[1][0]+A[1][1]*b[1]; c[1][2]=c[1][1]+A[1][2]*b[2]; c[1][3]=c[1][2]+A[1][3]*b[3]; i=2:c[2][0]=0; c[2][1]=c[2][0]+A[2][1]*b[1]; c[2][2]=c[2][1]+A[2][2]*b[2];...
9
Κώδικας μοναδικής ανάθεσης (2) Προηγμένες Αρχιτεκτονικές Η/Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 9 for (i=1 to 4) { c[i][0] = 0; for (j=1 to 3) { c[i][j] = c[i][j-1] + A[i][j]*b[j]; }
10
Σχεδιασμός Γράφου Εξάρτησης Προηγμένες Αρχιτεκτονικές Η/Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 10 Δύο loop το ένα μέσα στο άλλο Δύο διαστάσεις στο γράφο εξάρτησης 1 διάσταση για το δείκτη i 1 διάσταση για το δείκτη j Κάθε κόμβος του γράφου = οι πράξεις που γίνονται κατά το iteration (i,j) Κάθε ακμή του γράφου = δεδομένα που ανταλλάσσονται μεταξύ κόμβων
11
Σχεδιασμός Γ.Ε. (2) Προηγμένες Αρχιτεκτονικές Η/Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 11 i j j=1j=2j=3 i=1 i=2 i=3 i=4 Κόμβος i, j
12
Σχεδιασμός κόμβου Γ.Ε. Προηγμένες Αρχιτεκτονικές Η/Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 12 for (i=1 to 4) { c[i][0] = 0; for (j=1 to 3) { c[i][j] = c[i][j-1] + A[i][j]*b[j]; } Κόμβος i, j c[i][j] A[i][j] b[j] c[i][j-1] * +
13
Σχεδιασμός Γ.Ε. (3) Προηγμένες Αρχιτεκτονικές Η/Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 13 i j j=1j=2j=3 i=1 i=2 i=3 i=4 Κόμβος i, j c[i][j] A[i][j] b[j] c[i][j-1] * + b[1]b[2]b[3] 0 0 0 0 c[1][3] c[2][3] c[3][3] c[4][3]
14
Μετατροπή μακρινών ακμών σε τοπικές Προηγμένες Αρχιτεκτονικές Η/Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 14 Κόμβοι... θα γίνουν... επεξεργαστές Ακμές... θα γίνουν... γραμμές επικοινωνίας Μακρινές ακμές... θα γίνουν... bus Το bus δεν είναι επιθυμητό στη μαζική παράλληλη επεξεργασία
15
Μετατροπή μακρινών ακμών σε τοπικές (2) Προηγμένες Αρχιτεκτονικές Η/Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 15 i j j=1j=2j=3 i=1 i=2 i=3 i=4 Κόμβος i, j c[i][j] A[i][j] b[j] c[i][j-1] * + b[1]b[2]b[3] 0 0 0 0 c[1][3] c[2][3] c[3][3] c[4][3] b[j]
16
Προβολή σε γράφο ροής σήματος Προηγμένες Αρχιτεκτονικές Η/Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 16 i j E1E1 ΒΓ ΔΕΖ ΗΘΙ ΚΛΜ Α E2E2 E3E3 E4E4 διάνυσμα προβολής Γ.Ρ.Σ.
17
Εσωτερικό γινόμενο - ιδιότητες Προηγμένες Αρχιτεκτονικές Η/Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 17 Ορισμός Εσωτερικό γινόμενο: 2 Διανύσματα:a=[a 1, a 2 ],b=[b 1,b 2 ] Εσωτερικό γινόμενο: a, b = a 1 *b 1 + a 2 *b 2 Ιδιότητες Δύο διανύσματα a, b είναι κάθετα a, b = 0 Τα a, b σχηματίζουν γωνία 0 Τα a, b σχηματίζουν γωνία > 90° a, b < 0 Τα διανύσματα a=[x,y], b=[y,-x] είναι κάθετα.
18
Χρονοδιάγραμμα Προηγμένες Αρχιτεκτονικές Η/Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 18 i j Ε1Ε1 ΒΓ ΔΕΖ ΗΘΙ ΚΛΜ Α Ε2Ε2 Ε3Ε3 Ε4Ε4 t=1 t=2 t=3 t=4 t=5t=6 ισόχρονα επίπεδα
19
Ισόχρονα επίπεδα Προηγμένες Αρχιτεκτονικές Η/Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 19 Ισόχρονο επίπεδο t = όλοι οι κόμβοι που βρίσκονται πάνω σ’ αυτό εκτελούνται την ίδια χρόνική στιγμή t. Όλα τα ισόχρονα επίπεδα είναι κάθετα στο χρονοδιάγραμμα s Αν t είναι διάνυσμα παράλληλο με τα ισόχρονα επίπεδα τότε: s, t = 0
20
Περιορισμοί στο χρονοδιάγραμμα Προηγμένες Αρχιτεκτονικές Η/Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 20 (α) Απαγορεύεται να εκτελέσουμε το B πριν από το A αν το Β εξαρτάται λογικά από το A A B t1 t2 > t1 γωνία (s,e) > 90° εσωτ. γινόμενο s,e < 0
21
Περιορισμοί στο χρονοδιάγραμμα (2) Προηγμένες Αρχιτεκτονικές Η/Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 21 (β) Απαγορεύεται να εκτελέσουμε το B ταυτόχρονα με το A αν το Β εξαρτάται λογικά από το A A B t γωνία (s,e) = 90° εσωτ. γινόμενο s,e = 0
22
Περιορισμοί στο χρονοδιάγραμμα (3) Προηγμένες Αρχιτεκτονικές Η/Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 22 (γ) Απαγορεύεται να εκτελέσουμε το B ταυτόχρονα με το A αν και το Β και το A εκτελούνται στον ίδιο επεξεργαστή γωνία (s,d) = 90° εσωτ. γινόμενο s,d = 0 Α Β t E
23
Περιορισμοί στο χρονοδιάγραμμα (4) Προηγμένες Αρχιτεκτονικές Η/Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 23 (α) Για όλες τις ακμές e i πρέπει να ισχύει: s, e i > 0 (β) Για το διάνυσμα προβολής d πρέπει να ισχύει: s, d ≠ 0 Σε διαφορετική περίπτωση το χρονοδιάγραμμα s καλείται μη αποδεκτό.
24
Αποδεκτό χρονοδιάγραμμα Προηγμένες Αρχιτεκτονικές Η/Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 24 Στο συγκεκριμένο παράδειγμα: s = [1, 1],d = [0, 1] Ο Γ.Ε. έχει δύο είδη ακμών: e 1 = [1, 0],και e 2 = [0, 1] Έχουμε: s, e 1 = 1*1 + 1*0 = 1 > 0 s, e 2 = 1*0 + 1*1 = 1 > 0 s, d = 1*0 + 1*1 = 1 ≠ 0 Άρα s = αποδεκτό
25
Πίνακας Χρονισμού Προηγμένες Αρχιτεκτονικές Η/Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 25 t=1t=2t=3t=4t=5t=6 E1AΒΓ--- E2-ΔΕΖ-- E3--ΗΘΙ- E4---ΚΛΜ χρόνος επεξεργαστές
26
Διακόσμηση ΓΡΣ με delays Προηγμένες Αρχιτεκτονικές Η/Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 26 i j Ε1Ε1 ΒΓ ΔΕΖ ΗΘΙ ΚΛΜ Α Ε2Ε2 Ε3Ε3 Ε4Ε4 t=1 t=2 t=3 t=4 t=5t=6 D D D D D D D
27
Αλγόριθμος = ΓΕ = ΓΡΣ Προηγμένες Αρχιτεκτονικές Η/Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 27 Αν μας δίνεται ο κώδικας μπορούμε να φτιάξουμε τον Γ.Ε. και αντίστροφα, από το Γ.Ε. μπορούμε να ανακατασκευάσουμε τον κώδικα Αν μας δίνεται ο Γ.Ε. και το διάνυσμα προβολής τότε μπορούμε να φτιάξουμε το ΓΡΣ. Αντίστροφα, αν μας δίνεται ο διακοσμημένος ΓΡΣ, το διάνυσμα προβολής και το χρονοδιάγραμμα μπορούμε να φτιάξουμε το Γ.Ε. --> Καμία απώλεια πληροφορίας
28
Σχεδίαση Συστολικού Επεξεργαστή Προηγμένες Αρχιτεκτονικές Η/Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 28 E1E1 E2E2 E3E3 E4E4 D D D D D D D P1P1 P2P2 P3P3 P4P4 c A b * + D b D
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.