1 / 27

Προηγμένες Αρχιτεκτονικές Υπολογιστών Εισαγωγή

Προηγμένες Αρχιτεκτονικές Υπολογιστών Εισαγωγή. Κ. Διαμαντάρας Α. Βαφειάδης Τμήμα Πληροφορικής ΑΤΕΙ Θεσσαλονίικης 2011. Στοιχεία επικοινωνίας. Καθηγητής : Κώστας Διαμαντάρας Email: kdiamant@it.teithe.gr URL: http://www.it.teithe.gr/~kdiamant Τηλ. 2310 013592

lana-mccall
Download Presentation

Προηγμένες Αρχιτεκτονικές Υπολογιστών Εισαγωγή

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Προηγμένες Αρχιτεκτονικές ΥπολογιστώνΕισαγωγή Κ. Διαμαντάρας Α. Βαφειάδης Τμήμα Πληροφορικής ΑΤΕΙ Θεσσαλονίικης 2011

  2. Στοιχεία επικοινωνίας • Καθηγητής : Κώστας Διαμαντάρας • Email: kdiamant@it.teithe.gr • URL: http://www.it.teithe.gr/~kdiamant • Τηλ. 2310 013592 • Σημειώσεις, ανακοινώσεις και διαφάνειες στο http://blackboard.teithe.gr Κ. Διαμαντάρας – Α. Βαφειάδης

  3. Περιεχόμενα Μαθήματος • Εισαγωγή: προηγμένες αρχιτεκτονικές και παράλληλη επεξεργασία, ταξινόμηση συστημάτων SISD, MISD, SIMD, MIMD, ταξινόμηση UMA, NUMA, μοντέλα μνήμης (κοινή μνήμη, κατανεμημένη μνήμη), μοντέλο μεταγωγής μηνυμάτων, πολυεπεξεργαστές, πολυυπολογιστές • Τεχνολογία της μνήμης: τεχνολογία της ιεραρχημένης μνήμης, οργάνωση της μνήμης cache, τοποθέτηση και αναζήτηση δεδομένων στην cache, εκτίμηση επίδοσης μιας cache, μέθοδοι βελτίωσης της επίδοσης μιας cache, διαχείριση πολλαπλών cache, το πρόβλημα cache coherence, πρωτόκολλα snooping, directory-based • Pipelining: Το pipeline των εντολών, οι φάσεις εκτέλεσης μιας εντολής, η γλώσσα DLX, pipeline της DLX, οι κίνδυνοι της pipeline, η pipeline της μονάδας κινητής υποδιαστολής, κανονικοποίηση, η πράξη της πρόσθεσης, η πράξη του πολλαπλασιασμού, έλεγχος της pipeline. • Παράλληλος προγραμματισμός: ο Νόμος του Amdahl, σηματοφορείς, κλείδωμα, συγχρονισμός, αδιέξοδα και αποφυγή τους • Παραλληλοποίηση: γράφος εξάρτησης, εμφωλευμένοι βρόχοι, απεικόνιση αλγορίθμων, μέθοδοι γραμμικής απεικόνισης, χρονοδρομολόγηση, βέλτιστες μέθοδοι χ/δ για ειδικές περιπτώσεις, ευρηστικές μέθοδοι χ/δ • Clusters και Grids: σχεδιαστικές επιλογές, το cluster της Google Κ. Διαμαντάρας – Α. Βαφειάδης

  4. Ασκήσεις Πράξης, αξιολόγηση, τελική βαθμολογία • Στις ασκήσεις πράξης θα γίνεται μάθημα MPI (Message Passing Interface). • MPI = βιβλιοθήκη για συγγραφή παράλληλων προγραμμάτων σε cluster αποτελούμενα από απλά desktop μηχανήματα (πχ. Windows) σε δίκτυο. • Προαιρετικά: δήλωση εργασίας στο MPI με συμμετοχή στον τελικό βαθμό 30% (+ 70% ο βαθμός της τελικής γραπτής εξέτασης) • Διαφορετικά τελικός βαθμός = 100% ο βαθμός της τελικής γραπτής εξέτασης Κ. Διαμαντάρας – Α. Βαφειάδης

  5. ΠεριεχόμεναΠρώτου Κεφαλαίου • Ημερομηνίες σταθμοί στην ανάπτυξη των υπολογιστών • Βασικά αρχιτεκτονικά στοιχεία των σύγχρονων υπολογιστών • Εξέλιξη της τεχνολογίας • Αξιολόγηση της απόδοσης μιας αρχιτεκτονικής • Η επίδοση της CPU • Ο νόμος του Amdahl Κ. Διαμαντάρας – Α. Βαφειάδης

  6. Μνήμη Κεντρική Μονάδα Επεξεργασίας Είσοδος / Έξοδος Συσκευή Εισόδου 1 ΙεραρχίαΜνήμης ΜονάδαΕλέγχου . . . . . ALU Συσκευή Εισόδου Ν Καταχωρητές Μετρητής Προγράμματος Συσκευή Εξόδου 1 . . . . . Συσκευή Εξόδου Μ Δίαυλος (Bus) μνήμης Δίαυλος (Bus) I/O Το αρχιτεκτονικό μοντέλο Von Neumann Κ. Διαμαντάρας – Α. Βαφειάδης

  7. Βάσεις της Αρχιτεκτονικής εξέλιξης • Pipelining: επιτρέπει ταυτόχρονη εκτέλεση πολλαπλών εντολών, έστω και σε διαφορετικές φάσεις η κάθε μια, από μια μόνο κεντρική επεξεργαστική μονάδα • Παραλληλισμός: επιτρέπει την ταυτόχρονη εκτέλεση πολλαπλών εντολών με χρήση πολλών επεξεργαστικών μονάδων και • Αρχή της τοπικότητας των κλήσεων: καθιστά ανταποδοτική την χρήση της κρυφής μνήμης (cache) και της εικονικής μνήμης (virtual memory). Κ. Διαμαντάρας – Α. Βαφειάδης

  8. Τεχνολογικές εξελίξεις • Μείωση μεγέθους τρανζίστορ  αύξηση πλήθους τρανζίστορ στο chip. • Μέγεθος chip περίπου σταθερό (1cm – 2cm) σε πλάτος και μήκος. Κ. Διαμαντάρας – Α. Βαφειάδης

  9. Πλήθους τρανζιστορ ανά chip επεξεργαστή Κ. Διαμαντάρας – Α. Βαφειάδης

  10. Εξέλιξη ταχύτητας ρολογιού CPU • Παράδειγμα: Επεξεργαστές Intel Κ. Διαμαντάρας – Α. Βαφειάδης

  11. Προκλήσεις αρχιτεκτονικής επεξεργαστών • ~2004 : φτάσαμε στο όριο των τεχνολογικών καινοτομιών, είτε αφορούσαν την τεχνολογία του υλικού είτε αφορούσαν την βελτιστοποίηση της εκτέλεσης των εντολών • Το πλήθος των τρανζίστορ δεν μπορεί να αυξάνει απεριόριστα • Η ενέργεια που καταναλίσκεται από ένα επεξεργαστή σημαντικός παράγοντας σχεδίασης • Μικρή αύξηση της ταχύτητας της μνήμης (συγκριτικά με την αύξηση της ταχύτητας του επεξεργαστή) • Εκμετάλλευση τεχνικών όπως το pipelining, για την ταχύτερη εκτέλεση εντολών από ένα επεξεργαστή έφτασαν επίσης στα όριά τους με μικρές δυνατότητες περαιτέρω βελτίωσης Κ. Διαμαντάρας – Α. Βαφειάδης

  12. Ο παραλληλισμός στο προσκήνιο: Επεξεργαστές πολλαπλών πυρήνων • Αύξηση της ταχύτητας των υπολογιστών πλέον πολύ πιο φθηνή και ανταποδοτική με την εισαγωγή παραλληλισμού αντί της παραδοσιακής τεχνολογικής βελτίωσης ενός επεξεργαστή. • Πολλοί επεξεργαστικοί πυρήνες (cores) σε ένα chip το οποίο ονομάζεται επίσης επεξεργαστής (προκαλώντας πολλές φορές σύγχυση!) Κ. Διαμαντάρας – Α. Βαφειάδης

  13. Πολυπύρηνοι επεξεργαστές: Παράδειγμα 1 • Intel Xeon (Nehalem): 8 πυρήνες Κ. Διαμαντάρας – Α. Βαφειάδης

  14. Πολυπύρηνοι επεξεργαστές: Παράδειγμα 2 • AMD Opteron (MagnyCours): 12 πυρήνες Κ. Διαμαντάρας – Α. Βαφειάδης

  15. Ταξινόμηση υπολογιστών κατά Flynn • Instruction Stream: ροή εντολών • Data Stream: ροή δεδομένων Instruction Stream Data Stream Κ. Διαμαντάρας – Α. Βαφειάδης

  16. SISD:Single Instruction - Single Data Ο απλός μονο-επεξεργαστής (όχι παράλληλο σύστημα) CU: Control Unit PU: Processing Unit M: Memory I/O: Input/Output IS: Instruction Stream DS: Data Stream IS DS M CU PU Ι/Ο Κ. Διαμαντάρας – Α. Βαφειάδης

  17. MISD:Multiple Instruction - Single Data MISD = Pipeline Δεν υπάρχει αυτόνομος υπολογιστής τύπου MISD. Ωστόσο το pipelining εφαρμόζεται ευρέως σε υποσυστήματα, όπως το instruction pipeline. IS1 Μ CU1 PU1 M DS IS2 Μ CU2 PU2 . . . . . . . . ISΝ Μ CUΝ PUΝ Κ. Διαμαντάρας – Α. Βαφειάδης

  18. SIMD:Single Instruction - Multiple Data • Παράλληλος υπολογιστής. Η ίδια εντολή εκτελείται κάθε χρονική στιγμήσε διαφορετικά δεδομένα • Προσκολλημένος σε κάποιο Host (πχ. Linux Pentium) DS1 PU1 M1 H o s t DS2 IS CU PU2 M2 . . . . . . . . DSΝ PUΝ MΝ Κ. Διαμαντάρας – Α. Βαφειάδης

  19. IS1 DS1 Μ Δ Ι Κ Τ Υ Ο PU1 CU1 M1 IS2 DS2 Μ CU2 PU2 M2 . . . . . . . . ISΝ DSΝ Μ CUΝ PUΝ MΝ MIMD:Multiple Instruction - Multiple Data • Ο πιο γενικός παράλληλος υπολογιστής • Στέκεται αυτόνομος • Χρήση γενικού σκοπού Κατανεμημένη μνήμη Κ. Διαμαντάρας – Α. Βαφειάδης

  20. MIMD:Multiple Instruction - Multiple Data (2) IS1 DS1 Bus Μ PU1 CU1 M IS2 DS2 Μ CU2 PU2 . . . . . . . . ISΝ DSΝ Μ CUΝ PUΝ Κοινή μνήμη Κ. Διαμαντάρας – Α. Βαφειάδης

  21. Υπολογιστές τύπου MIMD Πλεονεκτήματα MIMD • Γενικού σκοπού • Μπορούν να χτιστούν με κοινούς εμπορικούς επεξεργαστές (πχ. Intel Pentium) Τύποι MIMD • Πολυ-επεξεργαστές (κοινή μνήμη) • Πολυ-υπολογιστές (κατανεμημένη μνήμη) Κ. Διαμαντάρας – Α. Βαφειάδης

  22. Πολυ-επεξεργαστής Κοινή Μνήμη Επεξ. 1 Επεξ. 2 Επεξ. N . . . . . cache1 cache2 cacheN Bus Μ Ι/Ο Κ. Διαμαντάρας – Α. Βαφειάδης

  23. Πολυ-υπολογιστής Χωρικά Κατανεμημένη Μνήμη Επεξ. 1 Επεξ. 2 Επεξ. N . . . . . cache1 cache2 cacheN Ι/Ο Ι/Ο Ι/Ο Μ1 Μ2 ΜΝ ΔΙΚΤΥΟ Κ. Διαμαντάρας – Α. Βαφειάδης

  24. Κατανομή μνήμης • Χωρική κατανομή: κάθε επεξεργαστής έχει στη γειτονιά του μια δική του μνήμη (πχ. στην ίδια κάρτα). Συνδέεται με τη δική του μνήμη άμεσα. Με τις άλλες μνήμες συνδέεται μέσω δικτύου • Λογική κατανομή: ο επεξεργαστής i εκδίδει διευθύνσεις μόνο για τη δική του μνήμη i. Δεν «βλέπει» τις άλλες μνήμες. Κ. Διαμαντάρας – Α. Βαφειάδης

  25. Κατανεμημένη μνήμη -Δύο επιλογές • Απλή κατανεμημένη μνήμη:Χωρικά κατανεμημένη και λογικά κατανεμημένη. Ο κόμβος i προσπελαύνει τα δεδομένα του κόμβου j με ανταλλαγή μηνυμάτων (message passing) • Κοινή κατανεμημένη μνήμη:Χωρικά κατανεμημένη αλλά λογικά κοινή. Ο κάθε κόμβοςi εκδίδει δευθύνσεις που βλέπουν όλες τις μνήμες σαν ένα σύνολο Κ. Διαμαντάρας – Α. Βαφειάδης

  26. Σύγκριση κοινής μνήμης-ανταλλαγής μηνυμάτων Κ. Διαμαντάρας – Α. Βαφειάδης

  27. Κοινή κατανεμημένη μνήμη(Distributed Shared Memory) • Συνδυασμός των θετικών από τους δύο κόσμους: • Ευκολία προγραμματισμού • Συμβατότητα με το κλασικό SISD • Ευελιξία στην επεκτασιμότητα • Μειονεκτήματα: • Όχι ομοιόμορφος χρόνος προσπέλασης μνήμης • Πολύπλοκη σχεδίαση (software-hardware) Κ. Διαμαντάρας – Α. Βαφειάδης

More Related