Ε. Γαλλόπουλος Γ. Τσιρογιάννης Τμήμα Η/Υ & Πληροφορικής. Πανεπιστήμιο Πατρών. Πανεπιστήμιο Πατρών

Σχετικά έγγραφα
Ε. Γαλλόπουλος Γ. Τσιρογιάννης Τμήμα Η/Υ & Πληροφορικής. Πανεπιστήμιο Πατρών. Πανεπιστήμιο Πατρών

ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I

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

Ιεραρχία Μνήμης. Ιεραρχία μνήμης και τοπικότητα. Σκοπός της Ιεραρχίας Μνήμης. Κρυφές Μνήμες

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

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

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

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

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

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

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

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

; Γιατί είναι ταχύτερη η λήψη και αποκωδικοποίηση των εντολών σταθερού μήκους;

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

Ιεραρχία Μνήμης. Εικονική μνήμη (virtual memory) Επεκτείνοντας την Ιεραρχία Μνήμης. Εικονική Μνήμη. Μ.Στεφανιδάκης

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

Τεχνολογίες Κύριας Μνήμης

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

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2

ΠΛΕ- 027 Μικροεπεξεργαστές 9ο μάθημα: Αρχιτεκτονική συστήματος μνήμης: Κρυφές μνήμες εισαγωγή

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

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

Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

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

Εισαγωγικές Έννοιες. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

Πιο συγκεκριμένα, η χρήση του MATLAB προσφέρει τα ακόλουθα πλεονεκτήματα.

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή

Τελική Εξέταση, Απαντήσεις/Λύσεις

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

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

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

Ζητήµατα Απόδοσης. Ιεραρχία Μνήµης. Αναγκαιότητα για Ιεραρχία Μνήµης. Processor-DRAM Gap (latency) Ε-85: Ειδικά Θέµατα Λογισµικού

Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy)

i Στα σύγχρονα συστήματα η κύρια μνήμη δεν συνδέεται απευθείας με τον επεξεργαστή

Chapter 4 (1) Αξιολόγηση και κατανόηση της απόδοσης

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

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

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

Επιστηµονικός Υπολογισµός Ι Ενότητα 1 - Εισαγωγή. Ευστράτιος Γαλλόπουλος

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

Εισαγωγή στην πληροφορική -4

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

ΕΙΣΑΓΩΓΗ στους Η/Υ. Δρ. Β Σγαρδώνη. Τμήμα Τεχνολογίας Αεροσκαφών ΤΕΙ ΣΤΕΡΕΑΣ ΕΛΛΑΔΑΣ. Χειμερινό Εξάμηνο

ΚΕΦΑΛΑΙΟ 1 ΥΛΙΚΟ ΥΠΟΛΟΓΙΣΤΩΝ

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

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

Υπολογιστική Γραµµική Άλγεβρα. Ε. Γαλλόπουλος Τµήµα Η/Υ & Πληροφορικής Πανεπιστήµιο Πατρών

Αρχιτεκτονικές Υπολογιστών

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

Αρχιτεκτονικές Συνόλου Εντολών

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

Chapter 4 ( ή 1 στο βιβλίο σας)

Δομές Δεδομένων. Ενότητα 1 - Εισαγωγή. Χρήστος Γκουμόπουλος. Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων

Υλοποίηση Mικροεπεξεργαστή MIPS -16

ΕΘΝΙKΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Ονοματεπώνυμο: ΑΜ:

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

Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy. Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου

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

derivation of the Laplacian from rectangular to spherical coordinates

ΕΣ 08 Επεξεργαστές Ψηφιακών Σηµάτων. Βιβλιογραφία Ενότητας

Οργάνωση Υπολογιστών (ΙI)

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering. Εργαστήριο 8. Χειμερινό Εξάμηνο

Από την Άλγεβρα των Υπολογισμών στα Υπολογιστικά Συστήματα Άλγεβρας

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

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

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

Chapter 6 Αύξηση της απόδοσης με διοχέτευση (pipeline)

Διάλεξη 12 Καθυστερήσεις (Stalls) Εκκενώσεις Εντολών (Flushing)

Παραλληλισμός σε επίπεδο εντολών

Επιστημονικός Υπολογισμός (set3) Δρ. Γιώργος Τσιρογιάννης

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

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

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

Κύρια μνήμη. Μοντέλο λειτουργίας μνήμης. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (ΙI)

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

1 η ΕΝΟΤΗΤΑ ΕΙΣΑΓΩΓΗ (Προγραμματισμός & MATLAB)

; Τι περιέχεται στη συσκευασία ενός μικροεπεξεργαστή σήμερα;

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

Ιεραρχίες µνήµης. Μιχάλης ρακόπουλος. Υπολογιστική Επιστήµη & Τεχνολογία, #02

Πληροφορική Ι. Μάθημα 6 ο Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας

Αρχιτεκτονική Υπολογιστών II Ενδεικτικές απαντήσεις στα θέματα των εξετάσεων

Πληροφοριακά Συστήματα Διοίκησης. Επισκόπηση μοντέλων λήψης αποφάσεων Τεχνικές Μαθηματικού Προγραμματισμού

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

Example Sheet 3 Solutions

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

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Κεφάλαιο 5. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 2. Σημείωση

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

DESIGN OF MACHINERY SOLUTION MANUAL h in h 4 0.

Υπολογιστές Ι. Άδειες Χρήσης. Εισαγωγή. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

κεφάλαιο Βασικές Έννοιες Επιστήμη των Υπολογιστών

Διάλεξη 15 Απόδοση της Ιεραρχίας Μνήμης Βελτιστοποίηση της απόδοσης

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

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 5

Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) Τμήματα ΚΜΕ (CPU) Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (Ι)

ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων

Υ- 01 Αρχιτεκτονική Υπολογιστών Front- end: Προσκόμιση, αποκωδικοποίηση, μετονομασία καταχωρητών

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

Διάλεξη 12 Καθυστερήσεις (Stalls)

Transcript:

Ε. Γαλλόπουλος Γ. Τσιρογιάννης Τμήμα Η/Υ & Πληροφορικής

Παρατηρήσεις Υπολογιστικοί πυρήνες Επικρατεί γραμμική άλγεβρα Ακόμα και στο μετασχηματισμό Fourier! Η Υπολογιστική Γραμμική Άλγεβρα θα αποτελέσει το όχημα για την παρουσίαση των τεχνικών του ΕΥ

Συνήθως οι εφαρμογές είναι μεγάλης κλίμακας,... Πολλές γραμμές πολύπλοκου κώδικα Συχνά αποτελούμενες από κώδικα σε περισσότερες από μια γλώσσες Μεγάλο μέγεθος δεδομένων Υπολογισμοί υψηλής πολυπλοκότητας Ακόμα και «μέτρια» επιτάχυνση συχνά καλούμενων υποπρογραμμάτων /υπολογιστικών πυρήνων συνήθως έχει πολλαπλασιαστικό αποτέλεσμα και επιφέρει μεγάλη συνολική επιτάχυνση

Θεμελιώδη προβλήματα ΑΓΑ (1/3) ΑΓΑ0: Βασικές πράξεις (άμεσα προβλήματα) ΑΓΑ1: Επίλυση γραμμικών συστημάτων ΑΓΑ2: Πρόβλημα ελαχίστων τετραγώνων

Θεμελιώδη προβλήματα ΑΓΑ (2/3) ΑΓΑ3, ΑΓΑ4: Πρόβλημα ιδιοτιμών και γενικευμένων ιδιοτιμών ΑΓΑ5: Διάσπαση ιδιαζουσών τιμών ΑΓΑ6: Υπολογισμός συναρτήσεων μητρώων

Lewis Fry Richardson (1881-1953) «Weather Prediction by Numerical Process» (1922)

Κριτήρια αξιολόγησης Να φθάσουμε γρήγορα Ταχύτητα χωρίς να τρακάρουμε Ακρίβεια με VW αντί BMW Κόστος Πόσο γρήγορα επιτυγχάνεται η λύση Υπολογιστική πολυπλοκότητα Καλή χρήση των υπολογιστικών πόρων Πόσο ακριβή είναι τα αποτελέσματα Συγκριτικά με τη «θεωρητική» λύση Σχετικά με τα δεδομένα Τι πόροι (σε υλικό, λογισμικό, ανθρωποώρες) χρειάζονται για την υλοποίηση

Η σημασία της επίδοσης As soon as an Analytical Engine exists, it will necessarily guide the future course of science. Whenever any result is sought by its aid, the question will then arise By what course of calculation can these results be arrived at by the machine in the shortest time? Charles Babbage, [Passages from the Life of a Philosopher, 1864]

Σχεδόν πάντα υπάρχουν, παράγονται και διαδίδονται αριθμητικά σφάλματα! Οι παρακάτω πράξεις είναι ισοδύναμες και το αποτέλεσμα ίσο με 10, αλλά αν τις εκτελέσετε σε ένα τυπικό επεξεργαστή (π.χ. σε MATLAB) 1020-10 1020 + 20 = 20 1020 +20 1020-10 = -10 1020 + 20-10 - 1020 = 0 ΚΑΝΕΝΑ αποτέλεσμα δεν είναι σωστό;!! Όμως είναι το 1020 1020 + 20-10 = 10 Ερώτηση: Από τους 24 (=4!) τρόπους υπολογισμού παραπάνω, ποιοί επιστρέφουν σωστό αποτέλεσμα; ΓΙΑΤΙ;

Ταχύτητα Θέλουμε ταχύτερη επίλυση Τι βοηθά στην ταχύτερη επίλυση; Τι μετράμε; χρόνο αναμονής για αποτέλεσμα χρόνο χρήσης των πόρων του συστήματος χρόνο χρήσης του επεξεργαστή Αξιολόγηση επίδοσης (performance evaluation) Πως μπορούμε να προβλέψουμε την ταχύτητα;

Ακρίβεια Θέλουμε «σωστές» απαντήσεις θεωρούμε ότι δεν υπάρχουν σφάλματα λογικής στο πρόγραμμα Συνήθως τα αποτελέσματα περιέχουν λάθη! Σφάλματα εισόδου Σφάλματα διακριτοποίησης Σφάλματα στρογγύλευσης Πως μπορούμε να προβλέψουμε το σφάλμα;

Προκλήσεις Βελτιωτικές αλλαγές σε υπολογισμούς πυρήνα έχουν πολλαπλασιαστικό αποτέλεσμα. Η βελτιστοποίηση της ακρίβειας και της ταχύτητας συνήθως είναι αντικρουόμενοι στόχοι Σχηματικά ΧΡΟΝΟΣ ΥΠΟΛΟΓΙΣΜΟΥ = Ο( 1/ΑΚΡΙΒΕΙΑ ) Τίθεται το θέμα αντιστάθμισης ωστε να επιτευχθεί ικανοποιητικός συνδυασμός ταχύτητας και ακριβειας.

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

Μοντέλα@ επιστήμη& τεχνολογία Model = πρότυπο 6. Η τρισδιάστατη αναπαράσταση σε μικρογραφία ή μεγέθυνση [Λεξικό Μπαμπινιώτη] π.χ. Φυσικό ομοίωμα πλοίου, αεροπλάνου, πραγματικά φυσικά πρότυπα / τεχνουργήματα που τα συστατικά τους μέρη οι σχέσεις τους μεταξύ τους και η λειτουργία εμφανίζει αξιοσημείωτη αναλογία με κάποιο άλλο σύστημα, ώστε παρατηρώντας το τεχνουργημα, επιφέροντας σ' αυτό αλλαγές και βλέποντας τις συνεπειές τους, να μπορεί κανείς να συναγάγει συμπεράσματα για το σύστημα του οποίου το τεχνούργημα αποτελεί πρότυπο. [Λεξ. Unesco]

Μοντέλα@ επιστήμη& τεχνολογία Model πρότυπο The term mathematical model will be used for any complete and consistent set of mathematical equations which is thought to correspond to some other entity, its prototype being derived from modus (a measure) the word model implies a change of scale in its representation certain properties have been removed and simplifications made [Rutherford Aris]

Φυσικό μοντέλο Μαθηματικό μοντέλο προσέγγιση διακριτοποίηση αριθμητικοποίηση αλγόριθμος πρόγραμμα συστημα

Φυσικό μοντέλο Μαθηματικό Μαθηματικόμοντέλο μοντέλο προσέγγιση προσέγγιση διακριτοποίηση διακριτοποίηση αριθμητικοποίηση αριθμητικοποίηση Μαθηματικές απλοποιήσεις Απλοποιήσεις ειδικές για το πρόβλημα Απλοποιήσεις ειδικές για το πρόβλημα διακριτοποίηση στρογγύλευση αλγόριθμος αλγόριθμος πρόγραμμα Η/Υ εκφρασιμότητα μετασχηματισμοί μεταφραστή

Μαθηματικά μοντέλα 4π D = 4πρ, H = J, B = 0, c 1 B E + = 0 c t u P 2 + u u = + ν u t ρ C 1 C 2 2 C + rc = 0 2 σ S + rs t 2 S S 2

Μοντέλα στον ΕΥ Στον ΕΥ πλοηγούμε αδιάκοπα μεταξύ διαφορετικών μοντέλων Τα βασικά μοντέλα στο ΗΥ343 είναι τα υπολογιστικό μοντέλο αριθμητικό μοντέλο μοντέλο διακριτοποίησης χρησιμοποιούνται για να επιτρέπουν στο σχεδιαστή και στο χρήστη να κάνει προβλέψεις σχετικές με την επίδοση των μεθόδων και την ακρίβεια των λύσεων

Υπολογιστικό μοντέλο Ένα υπολογιστικό μοντέλο περιγράφει μιαν ιδεατή μηχανή για την οποία μπορούμε να γράψουμε λογισμικό. Turing machine Random Access Machine Random Access Stored Program (RASP)

Υπολογιστικό μοντέλο Ένα υπολογιστικό μοντέλο περιγράφει μιαν ιδεατή μηχανή για την οποία μπορούμε να γράψουμε λογισμικό. Η μηχανή κρύβει αρχιτεκτονικές λεπτομέρειες και αλλαγές που οφείλονται σε καθαρά τεχνολογικές εξελίξεις (π.χ. μικρότερο κύκλο) Η ιδεατή μηχανή πρέπει να είναι αρκετά συγκεκριμένη ώστε να επιτρέπει την εξαγωγή συμπερασμάτων σχετικών με την επίδοση των προγραμμάτων που γράφονται γι' αυτήν.

Εξελίξεις Υ> κύκλος ρολογιού Υ> RISC: μικρό CPI, Load/Store Υ> Superscalar: CPI<1 Υ,Λ> pipelining Υ,Λ,Θ>παραλληλία Υ,Λ>NOW Υ,Λ>Internet και Grid Λ>Multithreading Υ>Multicore Υ>GPU Υ,Λ,Θ>Ιεραρχία μνήμης Υ,Λ>interleaving Λ,Υ,Θ>μεταφραστές Λ>γλώσσες Λ>λειτουργικά Λ>βιβλιοθήκες Λ>Περιβάλλοντα επίλυσης προβλημάτων Θ,Λ>Νέοι αλγόριθμοι

Χαρακτηριστικά RISC Reduced Instruction Set Computers: Μικρό clocks per cycle Χωρίς μικροκώδικα Μικρός αριθμός εντολών Ίδιου μήκους η κάθε μια Πρόσβαση στη μνήμη μόνο με LOAD, STORE register files αναγκαία Έντονη χρήση pipelining Το υπολογιστικό μοντέλο που θα χρησιμοποιήσουμε θα είναι αρχιτεκτονική LOAD/STORE

Γλώσσες και Περιβάλλοντα Επίλυσης Προβλημάτων Fortran, C C,++, Java Άλλες? (imperative, functional,...) Perl, Python,. (scripting σεναριογλώσσες!) MATLAB, SciLab Mathematica, Maple, Axiom I don't know what the technical characteristics of the standard language for scientific and engineering computation in the year 2000 will be... but I know it will be called Fortran Αποδίδεται στον John Backus (τηςbnf) I have not written a single statement in Fortran (or C) since 1988 Cleve Moler (ιδρυτής Mathworks)

Υπολογισμός -επικοινωνία Μεγάλη διαφοροποίηση στην ταχύτητα επεξεργασίας σε σχέση με την ταχύτητα επικοινωνίας επεξεργαστή/μνήμης Δεδομένο: Η ταχύτητας επεξεργασίας έχει μεγαλώσει πολύ σε σχέση με την ταχύτητα μεταφορών από/προς τη μνήμη Πρόβλημα: Πώς μπορεί να μειωθεί η επιβάρυνση του κόστους; Πρόταση: Τεχνικές απόκρυψης (κόστους) μεταφορών;

Θέματα ιεραρχίας μνήμης Interleaving (διαφύλλωση) των memory banks Κύρια μνήμη οργανωμένη σε τμήματα Pipelined πρόσβαση μεταξύ τμημάτων Ιεραρχία μνήμης Η αποτελεσματική χρήση της ιεραρχίας εξαρτάται από την εγγενή χρονική και χωρική τοπικότητα του προγράμματος επίπεδο 0 1 (α, β) 2 3, 4 όνομα καταχω ρητές κρυφή μνήμη κύρια μνήμη δίσκος,... Πρόσβασ η (κύκλοι) 0.5-1 2-5 10-50 106 εύρος MB/s 800 200 133 4 διαχείρισ η μεταφρ αστής υλικό Λ/Σ Λ/Σ χρηστης τυπικό μέγεθος ΚΒ ΜΒ, GB GB

Χαρακτηριστικό στο υλικό της κρυφής μνήμης Φόρτωση σε cache lines: Όταν ζητηθεί ένα στοιχείο από τη μνήμη δεν μεταφέρεται μόνον αυτό αλλά το cache line που το περιέχει (32 128B Προφόρτωση δεδομένων στην ταχύτερη μνήμη πριν χρειαστούν Εκμετάλλευση μέσω υλικού ή/κ λογισμικού της δυνατότητας ταυτόχρονης εκτέλεσης αριθμητικών πράξεων με το LOAD από τη μνήμη

Είδη τοπικότητας Χρόνου Αν τώρα ζητηθεί το στοιχείο από τη θέση s της μνήμης, σε λίγο θα ζητηθεί πάλι το ίδιο στοιχείο Χώρου Αν τώρα ζητηθεί το στοιχείο από τη θέση s της μνήμης τώρα, σε λίγο θα ζητηθούν και στοιχεία που βρίσκονται σε παραπλήσια θέση. Είναι το στοιχείο που ζητάμε στη μνήμη όπου το αναζητάμε; Ναι hit Όχι miss(αστοχία) Στόχος: να σχεδιάσουμε προγράμματα που εκμεταλλεύονται την ιεραρχία και μεγιστοποιούν τα hits στις ταχύτερες μνήμες Σημαντικό: Η πρόσβαση ανά cache lines εκμεταλλεύεται την χωρική τοπικότητα και την προφόρτωση

Μοντέλο RAM/RASP CPU + Mem κόστος εκτέλεσης Τ = Ο(αριθμ. πράξεις ακυ) «ικανοποιητικό» αν το βασικό κόστος είναι η αριθμητική. we combine LOAD and STORE into the arithmetic operations by replacing sequences such as LOAD a; ADD b; STORE c by c <- a+b [Aho et al. 74] S = a(n); for I=n-1:-1:0 s = s. x + a(i); end; κόστος Ω = 2n πράξεις α.κ.υ. Δεν λαμβάνεται υπόψη η επικοινωνία Λίγες φορές αυτό δεν αποτελεί πρόβλημα Συχνά όμως δίδονται λάθος εκτιμήσεις υπάρχουν αλγόριθμοι για το ίδιο πρόβλημα με το ίδιο κόστος σε αριθμητικές πράξεις που έχουν πολύ διαφορετική επίδοση. ΔΟΚΙΜΑΣΤΕ ΤΟΥΣ mulr.m και mulc.m (ημερολόγιο). Χρειαζόμαστε μοντέλο που να επιτρέπει σχεδιασμό που αναδεικνύει και διακρίνει τις διαφορετικές επιδόσεις.

Απλό μοντέλο τμετ(0) τμετ

Απλό μοντέλο Επεξεργαστής και αρχιτεκτονική Load/Store αρχείο καταχωρητών κρυφή μνήμη K θέσεων με write back κύρια μνήμη M θέσεων κόστη: Load, Store, πράξεις α.κ.υ. Κάθε πράξη αριθμ.κ.υ. στοιχίζει ταρθ load από μνήμη στον επεξεργαστή σε χρόνο τμετ load από κρυφή μνήμη στον επεξεργαστή σε τμετ(0) store από κρυφή μνήμη η επεξεργαστή σε τμετ τμετ(0) 0 Όταν αναφερόμαστε στο «γνωστό μοντέλο» θα εννοούμε το παραπάνω!

Μετρητές για το απλό μοντέλο Ω: αριθμός πράξεων α.κ.υ. Φ: αριθμός μεταφορών μεταξύ κύριας μνήμης και καταχωρητών ή κρυφής μνήμης Φmin: ελάχιστος αριθμός μεταφορών αν διαθέταμε απεριόριστη μνήμη σε όλα τα επίπεδα Εκτίμηση και Μείωση του Ω αλλά πολλές φορές οι διαφορές είναι πολύ μικρές ή έχουμε νέο αλγόριθμο πολλές φορές το Ω είναι σταθερό! Εκτίμηση και Μείωση του Φ κύριος στόχος

Ανάλυση κόστους

Κριτική υπολογιστικού μοντέλου Όλες οι πράξεις δεν έχουν ίδιο κόστος «σχετικά flops»: +, -, * για 1 flop /, sqrt exp, sin για 10-30 flops για 50+ flops + integer δεν υπολογίζεται (< 1 flop) Το κόστος μεταφορών πολύπλοκο εξαρτάται από θέση των στοιχείων καταχωρητές 2 ns L1 on-chip 4 ns L2 on-chip 5 ns L3 off-chip 30 ns κύρια μνήμη 220 ns το κόστος φόρτωσης (LOAD) δεν είναι το ίδιο με το κόστος εγγραφής (STORE) Επιτρέπεται επικάλυψη μεταφορών και πράξεων στον ίδιο κύκλο H διαχείριση δεδομένων της cache γίνεται από το υλικό Τα στοιχεία μεταφέρονται ανά cache line

Ιεραρχικό μοντέλο (ενός επιπέδου) CPU + Mem κόστος εκτέλεσης Τ αριθμητικές πράξεις ακυ.και πράξεις LOAD/STORE LOAD a(0:n), x s = a(n); for I=n-1:-1:0 s = s. x + a(i); end; STORE s κόστος Φ= Φmin= n+3 L/S χρειάζεται O(n) cache

Ιεραρχικό μοντέλο (ενός επιπέδου) CPU + Mem κόστος εκτέλεσης Τ = αριθμητικές πράξεις ακυ.και πράξεις LOAD/STORE LOAD a(n), x s = a(n); for I=n-1:-1:0 LOAD a(i) s = s. x + a(i); end; STORE s κόστος Φ= n+3 L/S χρειάζεται O(1) cache

Υλοποίηση για Φmin Αν τμετ(0) 0 υποθέτουμε ότι διατίθεται όσος χώρος καταχωρητών χρειάζεται. Αν τμετ(0) = 0 υποθέτουμε ότι διατίθεται όσος χώρος κρυφής μνήμης & καταχωρητών χρειάζεται. Το Φmin θα ήταν εφικτό αν μπορούσαμε να υλοποιήσουμε το εξής: Program PhiMin_file % φόρτωση των δεδομένων που αξιοποιούνται στον υπολογισμό Load *** statement_1; statement_2; statement_s % ενδιάμεσα αποτελέσματα διατηρούνται σε καταχωρητές % εγγραφή των αποτελεσμάτων στη μνήμη Store ***