http://www.cslab.ece.ntua.gr/diplom/



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

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

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

ΘΕΜΑ PROJECT COMPILER FLAGS ΤΡΑΧΑΝΗΣ ΔΗΜΗΤΡΗΣ 6108 ΤΡΑΧΑΝΗΣ ΓΕΩΡΓΙΟΣ 5789

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Κεντρική Μονάδα Επεξεργασίας. Επανάληψη: Απόδοση ΚΜΕ. ΚΜΕ ενός κύκλου (single-cycle) Παραλληλισμός σε επίπεδο εντολών. Υπολογιστικό σύστημα

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

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

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

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

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

Βασίλειος Κοντογιάννης ΠΕ19

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

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

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

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

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

Συστήµατα Παράλληλης Επεξεργασίας

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

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

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

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

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

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC

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

ΕΝΙΑΙΟ ΠΛΑΙΣΙΟ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΠΟΥΔΩΝ

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

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

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

Προγραµµατισµός Συστηµάτων Πραγµατικού Χρόνου

ΜΑΘΗΜΑ 1- MULTIPLE CHOICE

Διαφορές single-processor αρχιτεκτονικών και SoCs

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Αρχιτεκτονική Υπολογιστών. ηµήτρης Γκιζόπουλος Καθηγητής

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

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

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

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

ΑΠΟΤΕΛΕΣΜΑΤΑ ΔΙΑΒΟΥΛΕΥΣΗΣ. Προκήρυξη Διαγωνισμού για την «Προμήθεια Εξοπλισμού Κόμβου Μηχανικής Μάθησης» /

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

Εισαγωγή στην Πληροφορική

Το εσωτερικό ενός PC. Τεχνολογία Η/Υ & Πληροφοριών - 05 Κεντρική μονάδα Χουρδάκης Μανόλης

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

12/5/18. Αποτίµηση του υποσυστήµατος CPU. Κεφάλαιο 6. Κατανόηση και εκτίμηση του υλικού: Αποτιμήστε το σύστημά σας. Στόχοι

Ιστορία των επεξεργαστών (CPUs)

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

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

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

Προχωρηµένα Θέµατα Αρχιτεκτονικής

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

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

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

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

Συστήματα σε Ολοκληρωμένα Κυκλώματα

Τηλ.: , Φαξ: Η-ταχυδροµείο: Ιστοσελίδα: Καλλιπόλεως 75, Τ.Θ , 1678 Λευκωσία, Κύπρος

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

Ανάπτυξη δικτυακών εκπαιδευτικών παιχνιδιών πολλών χρηστών. Δ. Μετάφας. (Android, ipad κ.α.). Το παιχνίδι που θα επιλεγεί για την

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

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

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

Απόδοση Υπολογιστικών Συστημάτων

ΥΠΟΔΟΧΗ ΠΡΩΤΟΕΤΩΝ ΦΟΙΤΗΤΩΝ Παρουσίαση του Τµήµατος

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού

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

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

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

Χρήση ΕΛΛΑΚ σε περιβάλλον ασύγχρονης & εξ αποστάσεως εκπαίδευσης

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

Εισαγωγή στην Αρχιτεκτονική Η/Υ

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

Νέες τεχνολογίες εισάγονται ή χρησιµοποιούνται

Παρουσίαση 2 ης Άσκησης:

Ο Σ ο β ι ε τ ι κ ό ς Κ ρ υ π τ α λ γ ό ρ ι θ μ ο ς G O S T

Processor-Memory (DRAM) ιαφορά επίδοσης

Προχωρηµένα Θέµατα Αρχιτεκτονικής

ΘΕΜΑΤΑ ΙΠΛΩΜΑΤΙΚΩΝ ΕΡΓΑΣΙΩΝ 2006 / 2007

Ηλεκτρονικοί Υπολογιστές Δ Εξάμηνο

ΜΕΤΑΒΑΤΙΚΕΣ ΠΡΟΫΠΟΘΕΣΕΙΣ ΑΠΟΚΤΗΣΗΣ ΠΤΥΧΙΟΥ

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

Εισαγωγή Συμβόλαιο Μαθήματος

Πολυπύρηνοι επεξεργαστές Multicore processors

2018 / 19 ΜΕΤΑΠΤΥΧΙΑΚΑ ΠΡΟΓΡΑΜΜΑΤΑ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ & ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

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

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

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

Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Εργαστήριο 10: Επίδοση Επεξεργαστών, CPI. Μανόλης Γ.Η. Κατεβαίνης

Γουλή Ευαγγελία. 1. Εισαγωγή. 2. Παρουσίαση και Σχολιασµός των Εργασιών της Συνεδρίας

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

Ηλεκτρονικός Υπολογιστής

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ

Εικονική Μνήμη (Virtual Μemory)

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

Υλικό Υπολογιστών (Hardware) ΜΥΥ-106 Εισαγωγή στους Η/Υ και Πληροφορική

Απαντήσεις Διευκρινίσεων για το έργο «Τηλεματικές υπηρεσίες επέκτασης διαχείρισης Αστικού ΚΤΕΛ Χανίων Α.Ε. και εξυπηρέτησης επιβατικού κοινού»

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

GoNToggle: ΕΞΥΠΝΗ ΜΗΧΑΝΗ ΑΝΑΖΗΤΗΣΗΣ ΜΕ ΧΡΗΣΗ ΟΝΤΟΛΟΓΙΩΝ

Η επικράτηση των ψηφιακών κυκλωμάτων 1o μέρος

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

Transcript:

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr/ ιπλωµατική Εργασία Υλοποίηση Βιβλιοθήκης Προγραµµάτων για την Μελέτη Επιδόσεων Σύγχρονων Επεξεργαστών Καθηγητής: Νεκτάριος Κοζύρης( nkoziris@cslab.ece.ntua.gr ) Επικοινωνία: Γεώργιος Τσουκαλάς( gtsouk@cslab.ece.ntua.gr ) Άτοµα: 1-2 Το παρόν κείµενο είναι διαθέσιµο στο διαδίκτυο: http://www.cslab.ece.ntua.gr/diplom/ 1 Εισαγωγή Είναι δυνατόν ένας 2.4 GHz επεξεργαστής να µετρήσει µέχρι τα 2.4 δις σε λιγότερο από 1 δευτερόλεπτο; Ποιος είναι πιο γρήγορος, ο επεξεργαστής ή η µνήµη; Πόσο γρήγορα τρέχει το laptop των 100 δολαρίων; Γιατί ένας θεωρητικά καλύτερος αλγόριθµος τρέχει πιο αργά από έναν άλλον στην πράξη; Γιατί ο επεξεργαστής Α τρέχει το πρόγραµµα Π1 πιο γρήγορα από το Π2 ενώ ο επεξεργαστής Β τρέχει το Π2 πιο γρήγορααπότοπ1; Γιατί ο µεταγλωττιστής που ϕτιάχνουν οι αυθεντίες δεν µπορεί να κάνει µια απλή βελτιστοποίηση που µπορεί να κάνει ένας ταπεινός προγραµµατιστής; Πόσο πιο γρήγορος είναι ένας επεξεργαστής server από έναν desktop; Είναι δυνατόν ένα πρόγραµµα µε περισσότερα cache misses να είναι πιο γρήγορο από ένα άλλο µε λιγότερα misses; Γιατί; Πόσο; Για την προσέγγιση των θεµάτων που θίγουν οι ερωτήσεις αυτές απαιτείται γνώση του ενδότερου χώρου της οργάνωσης και του προγραµµατισµού των σύγχρονων υπολογιστών. Από τα επιµέρους στοιχεία του χώρου αυτού θα επιλεγεί ένα σύνολο ως αντικείµενο µελέτης της διπλωµατικής εργασίας. Σκοπός της εργασίας είναι γραϕτεί ένα µικρό πρόγραµ- µα που θα αναδεικνύει την ύπαρξη του καθενός καθώς και την επίδρασή του στην επίδοση-- είτε ποιοτικά, είτε ποσοτικά. Τα προγράµµατα αυτά θα συγκεντρωθούν σε µια βιβλιοθήκη. Με χρήση της βιβλιοθήκης θα µελετηθούν διαϕορετικοί επεξεργαστές και για κάθε έναν θα εξαχθεί ένα αρχιτεκτονικό 'στίγµα' επιδόσεων µε βάση τη συµπεριϕορά του στα επιµέρους θέµατα που αναδεικνύουν τα προγράµµατα. Τα αποτελέσµατα της συνολικής µελέτης θα προσϕέρουν τη γνώση και την τεχνική ώστε να µπορούν να συζητηθούν ερωτήµατα του είδους που παρουσιάστηκαν προηγουµένως. Ακολουθεί περιγραϕή της εργασίας και µία προτεινόµενη διάρθρωση σε ϕάσεις. Στη συνέχεια παρατίθενται λίστες µε απαιτήσεις, αναµενόµενα κέρδη καθώς και ενδεικτικές λίστες µε ζητήµατα και προγραµµατιστικές τεχνικές τα οποία θα µπορούσαν να απασχολήσουν το ϕοιτητή. Στο τέλος παρατίθεται λίστα µε τους διαϕορετικούς επεξεργαστές που είναι διαθέσιµοι για µελέτη στο Εργαστήριο Υπολογιστικών Συστηµάτων.

2 Περιγραϕή Εργασίας Η τεχνολογία των επεξεργαστών των υπολογιστών έχει αϕήσει πίσω της την εποχή που η συχνότητα του ρολογιού αποτελούσε τον κυρίαρχο παράγοντα των επιδόσεων. Πλέον η βελτίωση των επιδόσεων διεκδικείται µε την εξυπνότερη και πολυπλοκότερη χρήση της εκθετικά αυξανόµενης χωρητικότητας των ολοκληρωµένων κυκλωµάτων. Οι επεξεργαστές και η ιεραρχία της µνήµης αποκτούν περισσότερη λογική, οι επεξεργαστές οργανώνονται σε πολυπύρηνες αρχιτεκτονικές, ενώ οι περιϕερειακές συσκευές τους ανταγωνίζονται ουσιωδώς για την πρόσβαση της µνήµης. Σε αυτό το πολύπλοκο σκηνικό η επίδοση του λογισµικού εξαρτάται από πλήθος σηµαντικών παραγόντων που σχετίζονται µε την οργάνωση των επεξεργαστών και την υποστήριξή τους από τους µεταγλωττιστές. Είναι χρήσιµο κανείς να αποκτήσει σαϕή γνώση του ρόλου των διαϕόρων αυτών παραγόντων έτσι ώστε να µπορεί να κρίνει, να επιλέγει και να βελτιστοποιεί λύσεις σε υπολογιστικά προβλήµατα, µέσω κατάλληλης επιλογής υλικού και λογισµικού. εν µπορεί να πει κανείς ότι όλα τα προβλήµατα µπορούν να προσεγγισθούν µε ένα απλό µοντέλο. Στην αγορά υπάρχουν πολλά είδη επεξεργαστών µε διαϕορετικά χαρακτηριστικά -- υπερµεγέθεις περίπλοκοι πυρήνες, πολλαπλοί απλούστεροι πυρήνες, απλοί επεξεργαστές ενσωµατωµένων συστηµάτων. Επίσης υπάρχουν πολλών ειδών εϕαρµογές µε διαϕορετικές απαιτήσεις -- υπολογιστικές επιστηµονικές εϕαρµογές, εξυπηρετητές περιεχόµενου, λογισµικό δικτύου, λογισµικό επεξεργασίας πολυµέσων. Σε κάθε περίπτωση όµως, η αξιολόγηση των επιµέρους παραγόντων που επηρεάζουν την επίδοση είναι κρίσιµη για την κατανόηση και την βέλτιστη εκµετάλλευση των διαθέσιµων τεχνολογιών. Στο πλαίσιo της διπλωµατικής του εργασίας ο ϕοιτητής καλείται να µελετήσει την αρχιτεκτονική σύγχρονων επεξεργαστών και να επινοήσει τρόπους να εκθέσει και να αξιολογήσει τη συµβολή των διαϕόρων χαρακτηριστικών τους στην επίδοσή τους. Συγκεντρώνοντας όλα τα προγράµµατα που θα αναπτυχθούν, θα δηµιουργηθεί µια βιβλιοθήκη και ένα εργαλείο µε το οποίο θα µελετηθούν σύγχρονοι επεξεργαστές, ποιοτικά και/ή ποσοτικά, ως προς τα επιµέρους χαρακτηριστικά τους. Καταγράϕοντας το στίγµα των επιδόσεων κάθε επεξεργαστή θα καταστρωθεί ένας αρχιτεκτονικός χάρτης που θα αποδίδει εποπτικά τη συµβολή των διαϕόρων παραγόντων στον τελικό χρόνο εκτέλεσης των εϕαρµογών. Τα προγράµµατα που θα περιέχει η βιβλιοθήκη ενδεικτικά θα µπορούσαν να έχουν ως αντικείµενο: Μέτρηση µεγέθους cache, cacheline Μέτρηση ρυθµού πρόσβασης στη µνήµη Μέτρηση πλήθους γεγονότων στην ιεραρχία µνήµης(cache load/ writeback/ miss) Μέτρηση πλήθους γεγονότων στον επεξεργαστή(instructions per Clock, Branch mispredictions) κ.ά. Ακολουθεί η προτεινόµενη διάρθρωση σε ϕάσεις καθώς και ενδεικτικές λίστες µε θέµατα και τεχνικές που θα µπορούσαν να µελετηθούν κατά τη διάρκεια της εργασίας.

3 ιάρθρωση σε Φάσεις 3.1 Πρώτη ϕάση Μελέτη της βιβλιογραϕίας σχετικά µε τα σηµαντικότερα αρχιτεκτονικά χαρακτηριστικά των επεξεργαστών τα οποία διαµορϕώνουν την επίδοσή τους. 3.2 εύτερη ϕάση Επιλογή ενός συνόλου θεµάτων προς µελέτη. Μια ενδεικτική λίστα θεµάτων παρατίθεται πιο κάτω µε τον τίτλο 'Αρχιτεκτονικά Θέµατα...' Για κάθε χαρακτηριστικό θα υλοποιηθεί: Πρόγραµµα που θα αναδεικνύει τη συµβολή του στην επίδοση του επεξεργαστή ποιοτικά και αν είναι δυνατόν, ποσοτικά. Ενδεικτικά αναϕέρονται προγραµµατικές τεχνικές στην πιο κάτω λίστα µε τίτλο 'Προγραµµατιστικές τεχνικές...' Σχέδιο για την επαλήθευση και επικύρωση των αποτελεσµάτων. Τεκµηρίωση για τις παραπάνω εργασίες. 3.3 Τρίτη ϕάση Συλλογή όλων των αναπτυχθέντων προγραµµάτων σε βιβλιοθήκη και δηµιουργία εργαλείου µελέτης επεξεργαστών. Μελέτη διαϕόρων επεξεργαστών-- εξαγωγή και επαλήθευση του αρχιτεκτονικού τους στίγµατος. Το Εργαστήριο Υπολογιστικών Συστηµάτων διαθέτει πολλούς διαϕορετικούς επεξεργαστές στον εξοπλισµό του που θα µπορούσαν να µελετηθούν. Μια σχετική λίστα παρατίθεται παρακάτω µε τίτλο' ιαθέσιµοι Επεξεργαστές...' Εξαγωγή και καταγραϕή συµπερασµάτων. Σηµαντικότητα των διαϕόρων αρχιτεκτονικών χαρακτηριστικών. Αποτελεσµατικότητα των διαϕόρων προγραµµατιστικών τεχνικών. Εξέλιξη των επεξεργαστών και της επίδοσής τους. Μελλοντικές εξελίξεις. 4 Γνώσεις που απαιτούνται: Προγραµµατισµός Υπολογιστών Γλώσσες προγραµµατισµού C/ Assembly. Οργάνωση Υπολογιστών. 5 Γνώσεις που θα αποκτηθούν: Πολύ καλή γνώση αρχιτεκτονικής και προγραµµατισµού σύγχρονων επεξεργαστών, Προγραµµατιστικές τεχνικές για την παρακολούθηση της επίδοσης και τη βελτιστοποίηση κώδικα. Σε βάθος γνώσεις και γενική εποπτεία σε θέµατα οργάνωσης και προγραµµατισµού υπολογιστών. Τα ερωτήµατα που παρουσιάζονται στην αρχή του παρόντος κειµένου θα µπορούν να συζητηθούν ουσιαστικά.

6 Αρχιτεκτονικά θέµατα που διαµορϕώνουν την επίδοση Μονολεκτικά(και ίσως αδόκιµα) αναϕέρονται θέµατα που διαµορϕώνουν την επίδοση. Ο ϕοιτητής καλείται να επιλέξει καιναµελετήσειόσααπόαυτάταθέµαταεπιθυµείήκαιαπόάλλαπουθαπροτείνει. Instruction Decoding Rate Instruction Issuing Rate Instructions Per Clock(IPC) Pipeline Stall Branch Misprediction Penalty L1/L2/MainMemoryLatency Memory Throughput Memory Access Patterns Value Forwarding Hardware Prefetching Software Prefetching Special Memory Operations(Write-Combining, UnCachable regions, Streaming) Vector Processing Instruction Execution Latency Instruction Scheduling Shared Pipelines Shared Cache(MultiCores) Shared/ Partitioned Execution Resources(SMT) Out of Order window size 7 Προγραµµατιστικές τεχνικές που βελτιώνουν την επίδοση Μονολεκτικά αναϕέρονται τεχνικές που µπορούν να ληϕθούν υπόψη στην προσπάθεια της ανάδειξης µέσω προγραµ- µατισµού των υπό µελέτη θεµάτων. Loop unrolling Vectorizing False dependency elimination Branch elimination Prefetching Instruction elimination Instruction Scheduling 32/64/128 bit processing Special purpose instructions

8 ιαθέσιµοι επεξεργαστές στο Εργαστήριο Υπολογιστικών Συστηµάτων Στο Εργαστήριο αυτή τη στιγµή είναι διαθέσιµοι οι παρακάτω διαϕορετικοί επεξεργαστές. Από αυτούς ο ϕοιτητής καλείται να επιλέξει όσους θέλει για να τους συµπεριλάβει στη µελέτη του. Σηµειώσεις: AMD Opteron (64-bit, Multicore) AMD Athlon XP Intel Woodcrest(Core 2 Server, new!) Intel Itanium 2 Intel Pentium IV(Xeon, Hyperthreading, 64-bit) Intel Pentium III(Xeon) Intel Pentium II OLPC(AMD Geode)($100 laptop-- new!) Old UltraSPARCs(RISC) Ο Intel Woodcrest είναι η έκδοση 'server' της καινούριας γενιάς επεξεργαστών της Intel, Core 2. Το εµπορικό του όνοµα είναι Xeon 5100. To One Laptop Per Child(OLPC, http://www.laptop.org/), είναι ένα project που ξεκίνησε µε το Nicholas Negroponte στο M.I.T. µε στόχο την παραγωγή ενός ϕθηνού laptop το οποίο θα µπορεί να χρησι- µοποιηθεί για την εκπαίδευση των παιδιών σε ϕτωχές χώρες. Το εργαστήριο διαθέτει αναπτυξιακά boards τα οποία θα µπορούσαν να µελετηθούν. Ενδέχεται στο άµεσο µέλλον να υπάρχει διαθέσιµος και επεξεργαστής IBM Cell. Ο επεξεργστής αυτός θα χρησιµοποιηθεί στο PlayStation 3 ενώ χρησιµοποιείται και σε καινούριους servers της IBM. Η αρχιτεκτονική του είναι καινούρια και ιδιαίτερη για τον χώρο των επεξεργαστών γενικού σκοπού. Θα µπορούσε να αποτελέσει ενδιαϕέρον αντικείµενο µελέτης λόγω της διαϕορετικότητάς του από τους υπόλοιπους επεξεργαστές της λίστας. 9 Σχετικοί Σύνδεσµοι Σύνδεσµοι από το µάθηµα'προηγµένα Θέµατα Οργάνωσης Υπολογιστών' http://www.cslab.ece.ntua.gr/courses/advcomparch/links.0 IBM Cell processor http://www.research.ibm.com/cell/ One Laptop Per Child(OLPC) http://www.laptop.org/