Κεφάλαιο 1. Σημείωση. Εισαγωγή. Βασικές αρχές σχεδιασμού υπολογιστών

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

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

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

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

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

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

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

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

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

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

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

Διδάσκων:Μ.Χατζόπουλος, Παραδόσεις:Τρίτη 4-6, Τετάρτη 1-3; (Αμφιθέατρο Α15) Πληροφορίες στην ιστοσελίδα του μαθήματος

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

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

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

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

1 η Γενιά Υπολογιστών

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

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Α Γενικού Λυκείου (Μάθημα Επιλογής)

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

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

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

ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Επανάληψη

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 11/10/07

Βασικές Έννοιες Πληροφορικής

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

Το μάθημα συνοπτικά (1) Το μάθημα συνοπτικά (2) Τι είναι ένα υπολογιστικό σύστημα ;

Εντολές γλώσσας μηχανής

Σύντοµη Ιστορία της Πληροφορικής

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Επανάληψη

Κεφάλαιο 6 ο. Διαχείριση στοιχείων λογισμικού

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

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

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

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

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

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

Κεφάλαιο Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων.

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

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

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

*Ένας υπολογιστής είναι στην πραγματικότητα ένα σύστημα πολλών μερών που συνεργάζονται μεταξύ τους.

Κεφάλαιο 1 : Εισαγωγή

- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ Της ΠΛΗΡΟΦΟΡΙΚΗΣ. Εισαγωγή

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy

Τεχνικές Εκτίμησης Υπολογιστικών συστημάτων. Γιάννης Γαροφαλάκης. Καθηγητής

Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 2: Φορτίο εργασίας, μετρήσεις και πειράματα

Το μάθημα συνοπτικά (1) Το μάθημα συνοπτικά (2) Τι είναι ένα υπολογιστικό σύστημα ;

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

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

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

ΧΡΟΝΙΚΗ ΠΕΡΙΟΔΟΣ Γεωργία Πελέκη, Έλντα Μπάλι Τζαφέρι Τζένη, Αλεξία Παπαδοπούλου, Ντοριλέιν Γκαρσία

Το υλικό του υπολογιστή

Πληροφορική Ι (Θεωρία)

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

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

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

Τεχνολογία μνημών Ημιαγωγικές μνήμες Μνήμες που προσπελαύνονται με διευθύνσεις:

Κεφάλαιο 4 ο. Ο Προσωπικός Υπολογιστής

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

Χειµερινό εξάµηνο

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

Πληροφορική και Υπολογιστές

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ

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

Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου. Ενότητα 2

1 η Ενδιάμεση Εξέταση Απαντήσεις/Λύσεις

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Σημειώσεις Θεωρίας

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

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τα επιμέρους τμήματα Η ΟΜΗ TOY ΥΠΟΛΟΓΙΣΤΗ. Αναπαράσταση μεγεθών. Αναλογική αναπαράσταση ΚΕΝΤΡΙΚΗ ΜΝΗΜΗ ΜΟΝΑ Α ΕΛΕΓΧΟΥ

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

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

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

Μαλούτα Θεανώ Σελίδα 1

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

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

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

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

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

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

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

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο

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

Εισαγωγή στην Επιστήμη των Η/Υ και Προγραμματισμός. Πρώτο Μάθημα - Εισαγωγικό

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Νεκτάριος Κοζύρης ΑΡΙΘΜΗΤΙΚΕΣ ΠΡΑΞΕΙΣ

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

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές

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

Φουκαράκη Χρυσούλα - ΓΕΛ Γαζίου

Εφαρµογές Πληροφορικής Υπολογιστών. Κεφάλαιο 3 Το υλικό του υπολογιστή

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

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

Εφαρμογές μικροελεγκτών

Οργάνωση Η/Υ. Γλώσσα Assembly. Τμήμα Εφαρμσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας Α. Χατζηγεωργίου-Η. Σακελλαρίου

Transcript:

Σημείωση Κεφάλαιο 1 Οι παρούσες διαφάνειες παρέχονται ως συμπλήρωμα διδασκαλίας για το μάθημα «Αρχιτεκτονική Υπολογιστών» του Τμήματος Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών του Πανεπιστημίου Πατρών και παρέχονται αποκλειστικά για προσωπική χρήση των εγγεγραμένων φοιτητών του μαθήματος Οι διαφάνειες αναφέρονται στο διδακτικό βιβλίο του μαθήματος Τα πνευματικά δικαιώματα των διαφανειών και των σχημάτων που περιλαμβάνονται ανήκουν στους συγγραφείς των διαφανειών, τους συγγραφείς του βιβλίου και τους δημιουργούς των σχημάτων Απαγορεύεται ρητά η αντιγραφή, αναπαραγωγή, διανομή, και μετάδοση των διαφανειών χωρίς άδεια Γενικά, απαγορεύεται οποιαδήποτε εμπορική χρήση των διαφανειών και οποιαδήποτε χρήση δεν συνάδει με τον διδακτικό τους σκοπό στοπανεπιστήμιοπατρών 1 2 Εισαγωγή Βασικές αρχές σχεδιασμού υπολογιστών 1946: παρουσίαση ENIAC, πρώτου ηλεκτρονικού υπολογιστή (είχε ολοκληρωθεί νωρίτερα), U. Pennsylvania 33 m μήκος, 3 m ύψος, register 10 ψηφίων 65 cm, 18000 λυχνίες 1944: ανάπτυξη μοντέλου υπολογιστή αποθηκευμένου προγράμματος EDVAC (Electronic Discrete Variable Automatic Computer) J. von Neuman, J. Presper Eckert & J. Mauchly Von Neuman Computer 1946-1949: ανάπτυξη EDSAC (Electronic Delay Storage Automatic Calculator), Cambridge U. MARK I: μικρό πρωτότυπο σύστημα (1948, Manchester U.) Αρχιτεκτονική βασισμένη σε συσσωρευτή (accumulator) 4 1

Εισαγωγή (2) IAS Machine: πρόγονος του IBM 701 1024 40-bit λέξεις 10 φορές πιο γρήγορος από τον ENIAC Burks, Goldstine, von Neuman (1946), υλοποίηση στο IAS Princeton Harvard architecture: H. Aiken (MARK I,, MARK IV) Ξεχωριστές μνήμες για εντολές και δεδομένα Whirlwind: MIT (1947) Επεξεργασία σήματος για radar Μαγνητική μνήμη (αξιόπιστη & φτηνή) 2048 λέξεις 16-bit Μηχανές ειδικού σκοπού Μηχανές κρυπτανάλυσης (Bletchley Park) BOMB: Alan Turing COLOSSUS: Newman & Flowers Μηχανές κρυπτανάλυσης (USA) Engineering Research Associates (ERA) Υπολογιστές ειδικού σκοπού (Γερμανία) 1930-1940: Konrad Zuse Αριθμητική κινητής υποδιαστολής Atanasoff Berry Computer (αρχές 40 s) Εισαγωγή βασικών ιδεών (δυαδική αναπαράσταση, κλπ). Επιρροή στους Eckert-Mauchly 5 6 Εμπορικές μηχανές Μικροεπεξεργαστής... 1951: UNIVAC I Βασίστηκε στον BINAC της Eckert-Mauchly Corporation Πούλησε 48 μηχανές ($250.000/μηχανή) 1952: ΙΒΜ 701 Πούλησε 19 μηχανές Ακολούθησαν ΙΒΜ 702, 650, 704, 705 Γρήγορος ρυθμός ανάπτυξης υπολογιστών Πρόοδος της τεχνολογίας Καινοτομία στον σχεδιασμό υπολογιστών Μέχρι το 1970 και οι δύο παράμετροι Μετά το 1970 κυρίως ο πρώτος λόγος Τέλη της δεκαετίας του 1970: μικροεπεξεργαστής Η πρόοδος της τεχνολογίας οδηγούσε σε 35% βελτίωση/έτος Ο μικροεπεξεργαστής οδήγησε σε εμπορικές επιτυχίες Η ουσιαστική εξάλειψη του προγραμματισμού σε assembly μείωσε την ανάγκη για συμβατότητα κώδικα object H δημιουργία τυποποιημένων Λ.Σ. μείωσαν το κόστος εισαγωγής νέων μοντέλων υπολογιστών 1980: Reduced Instruction Set Computers (RISC) Βελτιωμένη απόδοση κατά 50% ανά έτος 7 8 2

Η εξέλιξη απόδοσης μικροεπεξεργαστών (1980-...) Μετροπρόγραμμα SPECint (SPEC92, SPEC95) Βάση: VAX 11/780 Απόταμέσατηςδεκαετίας80, η βελτίωσηλόγωrisc Επίδραση ρυθμού ανάπτυξης Σημαντικές δυνατότητες στους χρήστες Ο καλύτερος μικροεπεξεργαστής σήμερα είναι πιο αποδοτικός από τον υπερυπολογιστή πριν 10 χρόνια Κυριαρχία μικροεπεξεργαστών παντού! Σταθμοί εργασίας/προσωπικοί υπολογιστές Εξυπηρετητές (διακομιστές) Πολυεπεξεργαστές Υπερυπολογιστές 9 10 Η μεταβαλλόμενη μορφή υπολογισμού Τύποι υπολογιστών 1960 s: μεγάλοι κεντρικοί υπολογιστές (mainframes) Kόστος: εκατομμύρια δολλάρια Μεγάλες απαιτήσεις υποστήριξης 1970 s: μίνι υπολογιστή (minicomputer) Mικρότερο μέγεθος Αρχικά εφαρμογές ερευνητικών εργαστηρίων 1980 s: desktop, σταθμοί εργασίας Περισσότερη υπολογιστική ισχύς Μεγαλύτερη, αξιόπιστη μνήμη μακράς διαρκείας Ευρείαςκλίμακαςεφαρμογές 1990 s: Internet, WWW, PDA s, set-top boxes Σταθμοί εργασίας Βελτιστοποίηση κόστους/απόδοση Απόδοση: υπολογισμοί & γραφικά Εξυπηρετητές Υπολογισμοί και αποθήκευση Κρίσιμες παράμετροι: διαθεσιμότητα, επεκτασιμότητα, απόδοση 11 12 3

Τύποι υπολογιστών (2) Ενσωματωμένοι υπολογιστές Πολλές φορές: αρχικά φόρτωση του κώδικα εφαρμογής (εξάρτηση από επεξεργαστή & σύστημα) Συμβατότητα: μεγάλο κόστος λογισμικού Σημαντικό: τιμή! (βελτιστοποίηση συνολικού κόστους) Λειτουργία πραγματικού χρόνου (real time) Περιορισμένοι πόροι: ελαχιστοποίηση μνήμης & ισχύος Το έργο του σχεδιαστή υπολογιστών Ποιά χαρακτηριστικά είναι σημαντικά για καινούργιο υπολογιστή? Μεγιστοποίηση απόδοσης Ίδια οικονομικά πλαίσια Φάσεις: σχεδίαση συνόλου εντολών, λειτουργική οργάνωση, λογικός σχεδιασμός, υλοποίηση 13 14 Αρχιτεκτονική υπολογιστών Αρχιτεκτονική υπολογιστών (2) Παρελθόν: σχεδίαση συνόλου εντολών Τα υπόλοιπα ήταν υλοποίηση... Σήμερα: σύνθετη δουλειά λόγω: Ομοιοτήτων συνόλων εντολών 3 διαφορετικές περιοχές εφαρμογών 3 απόψεις σχεδίασης υπολογιστή Σύνολο εντολών Οργάνωση Υλικό Στόχοι: τιμή, ισχύς, απόδοση Σύνολο εντολών Πραγματικό σύνολο εντολών που βλέπει ο προγραμματιστής ιεπαφή (Interface) υλικού/λογισμικού Οργάνωση Υψηλού επιπέδου σχεδίαση (σύστημα μνήμης, δομή διαύλων, CPU) ύο επεξεργαστές μπορεί να έχουν ίδιο σύνολο εντολών & διαφορετική οργάνωση (πχ. NEC VR5432 & NEC VR4122) Υλικό Λεπτομερή στοιχεία σχεδίασης (λογικός σχεδιασμός, πακετάρισμα, κλπ.) Pentium II & CELERON: σχεδόν όμοιοι με διαφορετική συχνότητα ρολογιού και διαφορετικά συστήματα μνήμης (CELERON πιο αποδοτικός σε υπολογιστές χαμηλού κόστους) 15 16 4

Αρχιτεκτονική υπολογιστών (3) Λειτουργικές απαιτήσεις & τυπικά χαρακτηριστικά Πρέπει να λαμβάνονται πάντα υπ όψη οι απαιτήσεις για την αρχιτεκτονική Λειτουργικές (εφαρμογές, λογισμικό, συμβατότητα, κλπ.) Τιμή Ισχύς Απόδοση Περιοχή εφαρμογών Σταθμός εργασίας γενικής χρήσης Επιστημονικοί σταθμοί εργασίας και εξυπηρετητές Εμπορικοί εξυπηρετητές Ενσωματωμένος υπολογισμός Στόχος υπολογιστή Ισορροπημένη απόδοση σε μια ποικιλία εργασιών που περιλαμβάνουν διαδραστική απόδοση για γραφικά, εικόνα και ήχο Υψηλή απόδοση σε πράξεις κινητής υποδιαστολής και σε γραφικά Υποστήριξη για επεξεργασία βάσεων δεδομένων και συναλλαγών. Βελτιώσεις για αξιοπιστία και διαθεσιμότητα. Υποστήριξη για επεκτασιμότητα. Συχνά χρειάζεται ειδική υποστήριξη για γραφικά και εικόνα. Περιορισμοί στην ισχύ και πιθανός έλεγχος της ισχύος. 17 18 Λειτουργικές απαιτήσεις & τυπικά χαρακτηριστικά Λειτουργικές απαιτήσεις & τυπικά χαρακτηριστικά Επίπεδο συμβατότητας λογισμικού Στο επίπεδο γλώσσας μεταγλωττιστή προγραμματισμού Συμβατότητα σε ενδιάμεσο ή δυαδικό κώδικα Καθορίζει το υπάρχον λογισμικό για το μηχάνημα Η πιο ευέλικτη λύση για τον σχεδιαστή. Χρειάζεται νέο. Η αρχιτεκτονική του συνόλου εντολών είναι πλήρως ορισμένη αλλά δεν χρειάζεται επένδυση σε λογισμικό ή στη μεταφορά προγραμμάτων Απαιτήσεις λειτουργικού συστήματος Μέγεθος χώρου διευθύνσεων ιαχείριση μνήμης Προστασία Απαραίτητα χαρακτηριστικά για υποστήριξη του επιλεγμένου λειτουργικού συστήματος Πολύ σημαντικό χαρακτηριστικό. Μπορεί να περιορίσει τις εφαρμογές. Απαραίτητη για τα σύγχρονα λειτουργικά συστήματα. Μπορεί να βασίζεται σε σελίδες ήτμήματα. ιαφορετικές ανάγκες λειτουργικού και εφαρμογών. Προστασία σελίδας ή τμήματος. 19 20 5

Λειτουργικές απαιτήσεις & τυπικά χαρακτηριστικά Τάσεις της τεχνολογίας Πρότυπα Κινητή υποδιαστολή- Μορφοποίηση και αριθμητική ίαυλος εισόδου/εξόδου Λειτουργικά συστήματα ίκτυα Γλώσσες προγραμματισμού Η αγορά μπορεί να χρειαστεί κάποια πρότυπα Πρότυπο ΙΕΕΕ 754, ειδική αριθμητική για γραφικά και επεξεργασία σήματος Για συσκευές εισόδου/εξόδου. Ultra ATA, Ultra SCSI, PCI Unix PalmOS, Windows, Windows NT, Windows CE, CISCO IOS Χρειάζεται υποστήριξη για διάφορα δίκτυα, όπως Ethernet και Infiniband Οι Γλώσσες (ANSI C, C++, Java, Fortran) επηρεάζουν το σύνολο εντολών Υπάρχουν τέσσερεις τεχνολογίες υλοποίησης, οι οποίες αλλάζουν πολύ γρήγορα και είναι βασικές για τις σύγχρονες υλοποιήσεις: Η τεχνολογία λογικών ολοκληρωμένων κυκλωμάτων Αύξηση περίπου 35% το χρόνο DRAM ( υναμική μνήμη τυχαίας πρόσβασης) Αύξηση πυκνότητας 40-60% το χρόνο Τεχνολογία μαγνητικών δίσκων Αύξηση πυκνότητας > 100% το χρόνο (x4 ανά 2 έτη) Τεχνολογία διασύνδεσης εξαρτάται από την απόδοση των μεταγωγέων & του συστήματος μετάδοσης Στην δεκαετία 1980 έγινε δυνατόν να υλοποιηθεί ένας μικροεπεξεργαστής 32 bit σε μια μόνη ψηφίδα. 21 22 Τρανζίστορ, διασύνδεση & ισχύς Τρανζίστορ, διασύνδεση & ισχύς (2) Μέγεθος στοιχείου Τρανζίστορ Αγωγός διασύνδεσης Βελτίωση κατά άξονα Χ ή/και Ψ 10 μm (1971) -> 0,18 μm (2001) Γραμμική βελτίωση τρανζίστορ > τετραγωνική βελτίωση πυκνότητας Σμίκρυνση > μείωση τάσης Αποτέλεσμα: 4, 8, 16, 32, 64-bit επεξεργαστές, κρυφές μνήμες, pipelining (ομοχειρία) Αγωγοί διασύνδεσης Καθυστέρηση σήματος CxR Σμίκρυνση: μικρότερη απόσταση αλλά μεγαλύτερη χωρητικότητα και αντίσταση (μεγάλη εξάρτηση από την τεχνολογία γεωμετρία, φόρτιση, κλπ.) Γενικά, βελτίωση καθυστέρησης μεταφοράς μικρότερη από αυτή του τρανζίστορ Ισχύς Για CMOS: μεταγωγή τρανζίστορ E C φόρτισης xf x V 2 Καθώς αλλάζει η τεχνολογία Αυξάνουν (πολύ!): αριθμός τρανζίστορ που αλλάζουν κατάσταση, f Μειώνονται (λιγότερο): C φόρτισης, V Αποτέλεσμα: αύξηση κατανάλωσης ισχύος Πρώτοι επεξεργαστές 0.x Watt Pentium 4 (2 GHz) 100 Watt 23 24 6

Κόστος & τιμή: τάσεις Σημαντικό: κόστος & σχετικές παράμετροι Οδηγούν σε έξυπνες επιλογές, όταν το κόστος είναι σημαντικό 1999 τα μισά PC κοστολογήθηκαν < 1000 $ 32-bit ενσωματωμένος επεξεργαστής ~ Κ x 10 $ Τελευταία 15 χρόνια Στόχος: μείωση κόστους & βελτίωση απόδοσης (ταυτόχρονα) Κόστος & τιμή Η τιμή είναι πόσο πουλάς ένα τελειωμένο προϊόν Το κόστος είναι πόσο ξόδεψες για να το κατασκευάσεις, συμπεριλαμβανομένων και των γενικών εξόδων Οι τάσεις και οι παράγοντες που επηρεάζουν το κόστος (και πώς) αλλάζουν με τον χρόνο Οι κατηγορίες που καθορίζουν την τιμή μπορούν να εμφανιστούν είτε σαν επιβάρυνση στο κόστος, η σαν ποσοστό την τιμής. Η σχέση κόστους-τιμής είναι αρκετά πολύπλοκη. Παράδειγμα: Φανταστείτε να σχεδίαζαν οι αρχιτέκτονες ουρανοξύστες χωρίς να γνωρίζουν καθόλου το κόστος των σιδερένιων δοκαριών και του τσιμέντου 25 26 Παράγοντας 1: Χρόνος Τιμή DRAM στο χρόνο Το κόστος μειώνεται με την πάροδο χρόνου Καμπύλη εκμάθησης: απόδοση υλικού (ποσοστό συστημάτων που επιτυγχάνουν στον έλεγχο) Παράδειγμα: DRAM Μείωση κόστους ανά MB κατά 40% ανά έτος Σχεδίαση έως εισαγωγή προϊόντος στην αγορά: 2 χρόνια > κόστος DRAM 5 ή 10 (τιμή κοντά στο κόστος) Μικροεπεξεργαστές: πιο περίπλοκη σχέση Το κόστος ενός ΜΒ μνήμης έπεσε δραματικά αυτή την περίοδο. Κάθε γενιά πέφτει σε σταθερές τιμές κατά ένα παράγοντα 10 έως 30 κατά την διάρκεια της ζωής της. 27 28 7

Τιμή Pentium III στο χρόνο Παράγοντας 2: Όγκος Το κόστος μειώνεται με την αύξηση του όγκου Μείωση της καμπύλης εκμάθησης Αύξηση αποδοτικότητας αγοράς & κατασκευής (εμπειρικά: μείωση κόστους 10% ανά διπλασιασμό όγκου) Μείωση της απόσβεσης κόστους ανάπτυξης > τιμή κοντά στο κόστος 29 30 Παράγοντας 3: Μετατροπή σε κοινό αγαθό (commodity) Κοινά αγαθά: προϊόντα που πωλούνται από πολλούς πωλητές, σε τεράστιους όγκους και είναι πανομοιότυπα Παράδειγμα: προϊόντα παντοπωλείου Παράδειγμα υπολογιστών: DRAM, μικροί δίσκοι, οθόνες, πληκτρολόγια,... Κοινά αγαθά: ξεκάθαρος ορισμός προϊόντων & μεγάλοι όγκοι Μεγάλος ανταγωνισμός Μείωση τιμών & τιμή κοντά στο κόστος Κόστος ολοκληρωμένου κυκλώματος Μεγάλο τμήμα συνολικού κόστους Τα (περισσότερα) υπόλοιπα είναι κοινά αγαθά Το κόστος των ολοκληρωμένων κυκλωμάτων έχει μειωθεί εκθετικά. Η βασική διαδικασία της κατασκευής κυκλωμάτων πυριτίου δεν αλλάζει: το πλακίδιο παράγεται και στη συνέχεια χωρίζεται σε ψηφίδες(chip), οι οποίες πακετάρονται. 31 32 8

Επιμέρους κόστη Κόστος έναντι τιμής Κόστος _ Ψηφίδας + Κόστος _ Test _ Ψηφίδας + Κόστος _ Package& Test Κόστος _ ΟΚ Τελική _ Απόδοση _ Test Κόστος _ Πλακιδίου Κόστος _ Ψηφίδας Ψηφίδες Απόδοση _ Ψηφίδας Πλακίδιο Ο αριθμός των ψηφίδων ανά πλακίδιο είναι κατά κανόνα ο χώρος του πλακιδίου διαιρούμενος με το χώρο της ψηφίδας. Μπορεί να μετρηθεί ακριβέστερα από τον τύπο: 2 ( Π ( διάμετρος πλακιδίου / 2) ) ( Π διάμετρος πλακιδίου) Ψηφίδες ανά πλακίδιο επιφάνεια ψηφίδας 2 επιφάνεια ψηφίδας Ανάλυση διαφοράς κόστους υλικών και τιμής πώλησης (η τιμή αυξάνεται από τα αριστερά προς τα δεξιά) Η τιμή πώλησης και η μέση τιμή πώλησης δεν είναι ίδιες! 33 34 Απόδοση Μετρώντας την απόδοση Τι εννοούμε όταν λέμε ότι ένας υπολογιστής είναι πιο γρήγορος από έναν άλλο; Χρήστης: χρόνος απόκρισης (εκτέλεσης) ιευθυντής ΥΚ: ρυθμός ολοκλήρωσης ΤοΧείναιΝφορέςπιογρήγοροαπότοΨ, σημαίνει: Χρόνος _ Εκτέλεσης Απόδοση Ψ Χ Ν Χρόνος _ Εκτέλεσης Χ ΑπόδοσηΨ Χρόνος: Wall-clock time (χρόνος απόκρισης) Χρόνος δίσκου Χρόνος I/O Χρόνος λειτουργικού, κλπ. Χρόνος CPU: χρόνος χωρίς αναμονή I/O & εκτέλεση άλλου προγράμματος Χρόνος CPU χρήστη Χρόνος CPU συστήματος οκιμάστε το time σε UNIX 90.7u 12.9s 2:39 65% Εμείς τι χρησιμοποιούμε? Απόδοση συστήματος: διανυμένος χρόνος (όχι φορτίο) Απόδοση CPU: χρόνος CPU χρήστη (όχι φορτίο) 35 36 9

Επιλογή προγραμμάτων για απόδοση Συλλογές προγραμμάτων αναφοράς Πολλές επιλογές διαφορετική ακρίβεια Πραγματικές εφαρμογές C compiler, Word, Photoshop, Τροποποιημένες ( στημένες ) εφαρμογές Βελτίωση φορητότητας ή εστίαση σε συγκεκριμένα σημεία (πχ., απομάκρυνση I/O) Πυρήνες Βασικά τμήματα αληθινών προγραμμάτων (πχ., Livermore loops, Linpack, ) Προγράμματα αναφοράς παιχνίδια Μικρά προγράμματα (10-100 γραμμές κώδικα) Sieve, Puzzle, Quicksort, Συνθετικά προγράμματα αναφοράς Whetstone, Dhrystone, εν είναι αληθινά προγράμματα ημοφιλές: συλλογή πολλών προγραμμάτων αναφοράς Πλεονέκτημα: η αδυναμία του ενός προγράμματος καλύπτεται από άλλο της συλλογής SPEC (Standard Performance Evaluation Corporation) www.spec.org Αρχικά την δεκαετία 80 Σήμερα: προγράμματα για διαφορετικές ομάδες εφαρμογών Υπάρχει SPEC και για PC με Windows 37 38 Πρόσθετα προγράμματα αναφοράς σταθμών εργασίας (εκτός SPEC) Τα πρώτα δύο είναι τμήματα πραγματικών εφαρμογών Το τρίτο είναι μίγμα πυρήνων και συνθετικών προγραμμάτων αναφοράς Προγράμματα αναφοράς σταθμών εργασίας (SPEC) ύο κατηγορίες Προγράμματα αναφοράς CPU SPEC 89, SPEC 92, SPEC 95, SPEC 2000 Προγράμματα αναφοράς γραφικών SPECviewpref, SPECapc Ta SPEC για CPU είναι κατάλληλα και για εξυπηρετητές με έναν (μονό) επεξεργαστή 39 40 10

Προγράμματα αναφοράς εξυπηρετητών SPECrate: μετατροπή του SPEC CPU ανά επεξεργαστή σε μέτρηση ρυθμού SPECSFS: κατανομής αρχείων (NFS) SPECWeb: εξυπηρετητή ιστού TP (Transaction Processing) www.tpc.org TPC (Transaction Processing Council) TPC-A -> TPC-C (πολύπλοκες αναζητήσεις), TPC-H (υποστήριξη αποφάσεων), TPC-R (επιχειρηματικές αποφάσεις), TPC-W (συναλλαγές δικτύου) Μέτρηση απόδοσης: συναλλαγές/second Προγράμματα αναφοράς ενσωματωμένων συστημάτων Προσπάθεια σε βρεφική κατάσταση... Πολλοί μετράνε σε Dhrystones Μη ρεαλιστική η χρήση μίας ομάδας Απαιτήσεις χαλαρού πραγματικού χρόνου, απόλυτου πραγματικού χρόνου,... Πρακτικά: πολλοί σχεδιαστές ενσωματωμένων συστημάτων δημιουργούν προγράμματα αναφοράς που αντικατοπτρίζουν την εφαρμογή τους είτε ως πυρήνες είτε ως εκδοχές ολόκληρης της εφαρμογής 41 42 EEMBC Συγκρίνοντας απόδοση EEMBC (EDN Embedded Microprocessor Benchmark Consortium) Καλύτερο για εφαρμογές που χαρακτηρίζονται καλά από πυρήνες Πέντε κατηγορίες: Αυτοκίνητα/Βιομηχανία Συσκευές ικτύωση Αυτοματισμούς γραφείου Τηλεπικοινωνίες Πρόγραμμα P1 (sec) Πρόγραμμα P2 (sec) Συνολικός χρόνος (sec) Υπολογιστής Α 1 1000 1001 Υπολογιστής Β Υπολογιστής Γ Το Α είναι 10 φορές γρηγορότερο από το Β για το Ρ1 Το Β είναι 10 φορές γρηγορότερο από το Α για το Ρ2 Το Α είναι 20 φορές γρηγορότερο από το Γ για το Ρ1 Το Γ είναι 50 φορές γρηγορότερο από το Α για το Ρ2 Το Β είναι 2 φορές γρηγορότερο από το Γ για το Ρ1 Το Γ είναι 5 φορέςγρηγορότεροαπότοβγιατορ2 Οδηγεί σε σύγχυση... Ποιός είναι ο καλύτερος από τους 3??? 10 100 110 20 20 40 43 44 11

Συνολικός χρόνος εκτέλεσης Πρόγραμμα P1 (sec) Πρόγραμμα P2 (sec) Συνολικός χρόνος (sec) Υπολογιστής Α 1 1000 1001 Υπολογιστής Β Με βάση τον χρόνο εκτέλεσης (την τελική μας μέτρηση της απόδοσης): Το Β είναι 9.1 φορές γρηγορότερο από το Α για τα Ρ1 και Ρ2 Το Γ είναι 25 φορές γρηγορότερο από το Α για τα Ρ1 και Ρ2 Το Γ είναι 2,75 φορές γρηγορότερο από το Β για τα Ρ1 και Ρ2 10 100 110 Υπολογιστής Γ 20 20 40 Σταθμισμένος χρόνος εκτέλεσης Ένας μέσος όρος των χρόνων εκτέλεσης είναι ο αριθμητικός μέσος όρος: n 1 Χρόνος n i 1 Ποιό είναι το σωστό μίγμα προγραμμάτων για το φορτίο? Όταν έχουμε ένα άνισο μίγμα προγραμμάτων στο φορτίο, προσδιορίζουμε έναν παράγοντα στάθμισης w i σε κάθε πρόγραμμα για να δείχνει τη σχετική συχνότητα του προγράμματος στο φορτίο n Βάρος i Χρόνος i i1 όπου Βάρος i είναι η συχνότητα του i-στού προγράμματος στο φορτίο και ο Χρόνος i είναι ο χρόνος εκτέλεσης αυτού του προγράμματος i 45 46 Παράδειγμα Κανονικοποιημένος χρόνος εκτέλεσης P1 (secs) P2 (secs) AM: W(1) AM: W(2) AM: W(3) Συστήματα Α Β Γ 1.00 10.00 20.00 1000.00 100.00 20.00 500.50 55.00 20.00 91.91 18.19 20.00 2.00 10.09 20.00 W(1) 0.50 0.50 Βάρη W(2) 0.909 0.091 W(3) 0.999 0.001 εύτερη προσέγγιση: προσαρμόζουμε τους χρόνους εκτέλεσης σε μια μηχανή αναφοράς και μετά παίρνουμε το μέσο όρο των προσαρμοσμένων χρόνων εκτέλεσης SPEC χρησιμοποιεί ως αναφορά το SPARCstation Έκφραση προσαρμοσμένου χρόνου με γεωμετρικό ή αριθμητικό μέσο Ο τύπος γεωμετρικού μέσου είναι n n i 1 Λόγος Χρόνου Εκτέλεσης i όπου Λόγος Χρόνου Εκτέλεσης i είναι ο σταθμισμένος χρόνος εκτέλεσης (προς τη μηχανή αναφοράς) του i- στού προγράμματος 47 48 12

Πλεονεκτήματα γεωμετρικού μέσου Μειονεκτήματα γεωμετρικού μέσου Λόγος μέσων μέσος λόγων Γεωμετρικ ός _ Μ έσος ( Χ i) Χ i Γεωμετρικ ός _ Μ έσος ( ) Γεωμετρικ ός _ Μ έσος ( Ψ i) Ψ i Αποτέλεσμα ανεξάρτητο μηχανής αναφοράς Οι σταθμισμένοι αριθμητικοί μέσοι ορίζονται ανάλογα με χρόνο & επιρρεάζονται από Συχνότητα χρήσης φορτίου Χαρακτηριστικά μηχανής αναφοράς Μέγεθος δεδομένων ΕΝ προβλέπει χρόνο εκτέλεσης! Βελτίωση μπορεί να επιτευχθεί με εύκολες παρεμβάσεις Βελτιώνουμε ότι βελτιώνεται ευκολότερα 2 sec -> 1 sec 10.000 sec -> 5.000 sec 49 50 Μειονεκτήματα γεωμετρικού μέσου (2) ΓΜ -> Α & Β ίδια συστήματα Θα ίσχυε, εάν 1 P1 ανά 10 P2 Συγκρουόμενα αποτελέσματα Αείναι5 φορές γρογορότερος από Β (στήλες 1-2) Βείναι5 φορές γρογορότερος από Α (στήλες 4-5) ΓΜ ανεξάρτητοι από προσαρμογή Γενικά, Αρμονικός μέσος Γεωμετρικός μέσος Αριθμητικός μέσος για ένα σύνολο αριθμών Τελικά τι να κάνουμε??? Ιδανικά: μετράμε αληθινά φορτία και σταθμίζουμε με βάση την συχνότητα τους Αν δεν είναι δυνατόν, προσαρμογή: ξοδεύεται ίσος χρόνος για κάθε πρόγραμμα Καθορισμός δεδομένων??? Λογικό: λαμβάνουμε υπόψη και τις μετρήσεις επιμέρους προγραμμάτων και συνολικά 51 52 13

Ποσοτικές αρχές σχεδιασμού υπολογιστών Η πιο σημαντική αρχή του σχεδιασμού υπολογιστών: Να κάνετε γρήγορη την κοινή περίπτωση Όταν κάνετε σχεδιαστικούς συμβιβασμούς, προτιμήστε την συχνή περίπτωση από την σπάνια Η συχνή περίπτωση είναι (συνήθως) πιο εύκολη και μπορεί να γίνει πιο γρήγορα απ ότι η σπάνια Παράδειγμα: όταν προσθέτουμε δύο αριθμούς στην CPU Υπερχείλιση σπάνια Βελτιστοποίηση της περίπτωσης μη υπερχείλισης Νόμος του Amdahl Θεωρείστε μιά βελτιστοποίηση σε μέρος του υπολογιστή Επιτάχυνση: απόδοση _ έργου _ με _ την _ βελτιστοποίηση Επιτάχυνση απόδοση _ έργου _ χωρίς _ την _ βελτιστοποίηση ή χρόνος _ έργου _ χωρ ίς _ την _ βελτιστοπο ίηση Επιτάχυνση χρόνος _ έργου _ με _ την _ βελτιστοπο ίηση 53 54 Παράγοντες βελτιστοποίησης Έκφραση νόμου Amdahl Κλάσμα βελτιστοποίησης : κλάσμα χρόνου υπολογισμού του αρχικού μηχανήματος που μπορεί να υποστεί μετατροπή για να εκμεταλλευτεί την βελτιστοποίηση Πχ., το 0.2 του (αρχικού) προγράμματος μπορεί να χρησιμοποιήσει την βετιστοποίηση Επιτάχυνση βελτιστοποίησης : η βελτίωση που κερδίζουμε από την βελτιστοποιημένη εκτέλεση (πόσο πιο γρήγορα θα έτρεχε η λειτουργία, εάν η βελτιστοποιημένη μέθοδος χρησιμοποιούταν για όλο το πρόγραμμα) Θεωρούμε μόνο τα τμήματα του προγράμματος που μπορούν να εκμεταλλευτούν την βελτιστοποίηση Υπολογισμός νέου χρόνου εκτέλεσης: χρόνος εκτέλεσηςν έος χρόνος εκτέλεσηςπαλι ός 1 Συνολική επιτάχυνση: χρόνος εκτέλεσηςπαλιό Επιτάχυνσησυνολική χρόνος εκτέλεσης νέος κλάσμα βελτιστοποί ησης ( κλάσμα ) + βελτιστοποί ησης επιτάχυνσηβελτιστοποί ησης 1 κλάσμα βελτιστοποί ησης επιτάχυνσηβελτ. βελτ ( 1 κλάσμα ) + 55 56 14

Τι λέει ο νόμος του Amdahl? Hβελτίωση της απόδοσης που επιτυγχάνεται με τη χρήση κάποιας πιο γρήγορης μεθόδου εκτέλεσης περιορίζεται από το κλάσμα του χρόνου στον οποίο μπορεί να χρησιμοποιηθεί η γρηγορότερη αυτή μέθοδος Παράδειγμα 1 Έχουμε εξυπηρετητή ιστού (Web server). Καινούργια CPU 10 φορές γρηγορότερη. Εάν η αρχική CPU επεξεργάζεται δεδομένα για 40% του χρόνου και περιμένει I/O 60% του χρόνου, πόση είναι η συνολική επιτάχυνση που κερδίζουμε? Κλάσμα βελτιστοποίησης 0.4 Επιτάχυνση βελτιστοποίησης 10 1 1 Επιτάχυνσησυνολική 1. 56 0.4 0.6 + 0.64 10 57 58 Παράδειγμα 2 Παράδειγμα 2 (συν.) Συχνή πράξη στα γραφικά: τετραγωνική ρίζα Οι υλοποιήσεις της τετραγωνικής ρίζας σε κινητή υποδιαστολή διαφέρουν σημαντικά σε απόδοση κυρίως μεταξύ επεξεργαστών που έχουν σχεδιαστεί για γραφικά Υποθέστε ότι η τετραγωνική ρίζα κινητής υποδιαστολής αποτελεί το 20% του χρόνου εκτέλεσης ενός κρίσιμου προγράμματος αναφοράς γραφικών 2 προτάσεις: Να βελτιώσουμε το υλικό υπολογισμού της τετραγωνικής ρίζας και να επιταχύνουμε αυτή την πράξη κατά ένα παράγοντα 10 Να προσπαθήσουμε να κάνουμε όλες τις εντολές κινητής υποδιαστολής του επεξεργαστή γρηγορότερες κατά ένα παράγοντα 1.6. Οι εντολές κινητής υποδιαστολής αποτελούν το 50% του χρόνου εκτέλεσης της εφαρμογής. Η σχεδαστική ομάδα θεωρεί ότι και οι δύο προτάσεις απαιτούν την ίδια προσπάθεια. Να συγκρίνετε τις δύο επιλογές. Απάντηση: Μπορούμε να συγκρίνουμε τις δύοεπιλογέςσυγκρίνονταςτις αντίστοιχες επιταχύνσεις 1 1 1,23 Επιτάχυνση FPSQR 0.2 0,82 (1-0.2)+ 10 1 1 1,23 Επιτάχυνση FP 0.5 0,8125 (1-0.5)+ 1,6 Επιτάχυνση FP λίγο καλύτερη από FPSQR 59 60 15

Εξίσωση απόδοσης CPU Όλοι οι υπολογιστές κατaσκευάζονται χρησιμοποιώντας ένα ρολόι που λειτουργεί με μια σταθερή και συνεχή συχνότητα. Οι ξεχωριστές μονάδες χρόνου ονομάζονται τικ (ticks), τικ ρολογιού (clock ticks), περίοδοι ρολογιού (clock periods), ρολόγια (clocks), κύκλοι (cycles) ή κύκλοι ρολογιού (clock cycles). n Χρόνος CPU ( Σ IC i * CPI i )* χρόνος κύκλων ρολογιού i1 IC (Instruction count): μήκος μονοπατιού εντολών (αριθμός εντολών) CPI (Clocks per instruction): μέσος αριθμός κύκλων ρολογιού ανά εντολή n Σ IC i * CPI i n i1 CPI ICi Αριθμός εντολών Σ * CPIi i1 Αριθμός εντολών Παράδειγμα Υποθέστε ότι έχουμε κάνει τις παρακάτω μετρήσεις: Η συχνότητα των FP λειτουργιών 25% Μέσο CPI των FP λειτουργιών 4,0 Μέσο CPI άλλων εντολών 1,33 Συχνότητα του FPSQR 2% CPI του FPSQR 20 Υποθέστε δύο εναλλακτικές προσπάθειες: μείωση του CPI του FPSQR σε 2 μείωση του μέσου CPI όλων των FP λειτουργιών σε 2,5 Συγκρίνετε αυτές τις δύο εναλλακτικές σχεδιασμού χρησιμοποιώντας την εξίσωση της απόδοσης της CPU 61 62 Απάντηση Απάντηση (2) Παρατηρείστε ότι αλλάζει μόνο το CPI. Η συχνότητα ρολογιού και ο αριθμός εντολών παραμένουν τα ίδια. Ξεκινάμε με το να βρούμε το αρχικό CPI χωρίς καμία βελτιστοποίηση: CPIαρχικ ό n ICi CPIi ( 4 25% ) + ( 1,33 75% ) 2, 0 i 1 αριθμός εντολών Μπορούμε να υπολογίσουμε το CPI για το βελτιωμένο FPSQR αφαιρώντας τους κύκλους που εξοικονομήθηκαν απότοαρχικόcpi: ( CPI CPI ) 2.0 2% ( 20 2) 1, 64 CPI με νέο FPSQR CPIαρχικό 2 % παλιού FPSQR νέου FPQSR only Μπορούμε να υπολογίσουμε το CPI για την βελτίωση όλων των εντολών FP με τον ίδιο τρόπο ή συνοψίζοντας τα CPI s με FP και χωρίς FP. Χρησιμοποιώντας το τελευταίο προκύπτει: Αφού το CPI της συνολικής βελτίωσης της FP είναι χαμηλότερο, η απόδοσή του θα είναι ελάχιστα καλύτερη. Συγκεκριμένα, η επιτάχυνση για τη συνολική βελτίωση της FP είναι: Επιτά CPI με νέο FP ( 75 % 1,33) + ( 25% 2,5) 1, 625 χρόνος CPU αρχικός IC Κύκλος ρολογιού CPI αρχικό CPI αρχικό 2.00 χυνση με νέο FP 1.23 χρόνος CPU με νέο FP IC Κύκλος ρολογιού CPI με νέο FP CPI με νέο FP 1.625 63 64 16

Συνολικά Συχνά μπορούμε να μετρήσουμε τα συνθετικά μέρη της εξίσωσης της απόδοσης CPU Πλεονέκτημα της χρήσης της εξίσωσης απόδοσης της CPU Μπορεί να είναι δύσκολο να μετρήσουμε κάποια πράγματα, πχ. το κλάσμα του χρόνου εκτέλεσης για το οποίο είναι υπεύθυνο ένα σύνολο εντολών Στην πράξη αυτό μάλλον θα το μετρούσαμε ως άθροισμα των γινομένων (αριθμός εντολών xcpi) για κάθε μία από τις εντολές του συνόλου Επειδή το σημείο εκκίνησης είναι συχνά ξεχωριστοί αριθμοί εντολών και μετρήσεις CPU, η εξίσωση της απόδοσης της CPU είναι εξαιρετικά χρήσιμη Μέτρηση & μοντέλα παραμέτρων εξίσωσης απόδοσης CPU Για ένα υπάρχοντα επεξεργαστή είναι εύκολο να μετρήσουμε το χρόνο εκτέλεσης, ενώ η ταχύτητα του ρολογιού είναι γνωστή. Το πρόβλημα είναι να ανακαλύψουμε τον αριθμό των εντολών (CPI) 3 τεχνικές Στατική μοντελοποίηση: Βασίζεται στην επισκόπηση του προγράμματος: Χρήση μετρητών υλικού του επεξεργαστή Χρήση υποβοηθούμενης εκτέλεσης Μετάφραση προγράμματος σε επίπεδο εντολών μηχανής και μέτρηση εντολών Προσομοίωση ίχνους Αναλυτική τεχνική για μοντελοποίηση απόδοσης Ιδιαίτερα χρήσιμη τεχνική για μοντελοποίηση απόδοσης συστήματος μνήμης Ίχνος: περιλαμβάνει εντολές που εκτελέστηκαν & τις διευθύνσεις μνήμης δεδομένων που χρησιμοποιήθηκαν Προσομοίωση εκτέλεσης Ακριβής αλλά μεγάλου κόστους 65 66 Απόδοση & τιμή/απόδοση Απόδοση & τιμή/απόδοση: σταθμοί εργασίας Σταθμοί εργασίας: χρησιμοποιούμε τα προγράμματα αναφοράς SPEC CPU Εξυπηρετητές: χρησιμοποιούμε το TPC-C ως αναφορά Ενσωματωμένοι επεξεργαστές: χρησιμοποιούμε το EEMBC ως αναφορά 7 συστήματα (1 CPU, 512 MB SDRAM, 20 GB δίσκο, 10/100 Mbps Ethernet, γραφικά) Χρησιμοποιείται ως μέτρο το SPEC CINT 2000 Η τιμή προς απόδοση ακολουθεί την απόδοση (περίπου) (Ιούλιος 2001) 67 68 17

Απόδοση & τιμή/απόδοση: σταθμοί εργασίας 7 συστήματα Χρησιμοποιείται ως μέτρο το SPEC CFP 2000 Η δραματική διαφορά της απόδοσης κινητής υποδιαστολής του Pentium 4 ως προς τον Pentium III. Η τιμή προς απόδοση παρακολουθεί μερικώς την απόδοση αλλά όχι τόσο ξεκάθαρα όσο στην περίπτωση των προγραμμάτων αναφοράς ακεραίων (Ιούλιος 2001) Απόδοση & τιμή/απόδοση: εξυπηρετητές επεξεργασίας συναλλαγών Η αναφορά της βιομηχανίας για OLTP είναι τo TPC-C, το οποίο βασίζεται σε ένα σύστημα βάσης δεδομένων για να εκτελέσει αναζητήσεις και ενημερώσεις. Πέντε παράγοντες κάνουν την απόδοση του TPC-C ιδιαίτερα ενδιαφέρουσα: Το TPC-C είναι μια λογική προσέγγιση μιας πραγματικής εφαρμογής OLTP Το TPC-C μετρά την συνολική απόδοση του συστήματος Οι κανόνες εκτέλεσης του προγράμματος αναφοράς και της μέτρησης του χρόνου εκτέλεσης είναι πλήρεις Οι εταιρείες που αναπτύσσουν υπολογιστικά συστήματα αφιερώνουν αρκετή προσπάθεια στο να τρέχει σωστά το TPC-C Οι εταιρείες πώλησης υποχρεούνται να αναφέρουν τόσο την απόδοση όσο και το κόστος προς απόδοση που μας επιτρέπει να εξετάζουμε και τα δύο 69 70 Απόδοση & τιμή/απόδοση: εξυπηρετητές επεξεργασίας συναλλαγών 6 συστήματα κορυφαίας απόδοσης, χρησιμοποιώντας TPC-C Ενδιαφέρον: η IBM καταλαμβάνει 3 από τις 6 θέσεις Απόδοση & τιμή/απόδοση: ενσωματωμένοι επεξεργαστές Είναι πιο δύσκολοι απ ότι για τους σταθμούς εργασίας και τους εξυπηρετητές λόγω κάποιων ιδιαίτερων χαρακτηριστικών Τα προγράμματα αναφοράς ΕΕΜΒC αποτελούν μια σημαντική πρόοδο στην διαθεσιμότητα και χρήση προγραμμάτων αναφοράς. Έχουν σημαντικά μειονεκτήματα. Το κόστος και η ισχύς είναι συχνά οι πιο σημαντικοί παράγοντες μιας ενσωματωμένης εφαρμογής Η ισχύς είναι συχνά ο βασικός περιορισμός στα ενσωματωμένα συστήματα 71 72 18

Απόδοση & τιμή/απόδοση: ενσωματωμένοι επεξεργαστές Σχετική απόδοση των πέντε ενσωματωμένων επεξεργαστών για τρία από τα πέντε προγράμματα αναφοράς της ομάδας ΕΕΜBC Η διαφορά στην συχνότητα του ρολογιού εξηγεί το 33% με 75% της διαφοράς στην απόδοση Σφάλματα & παγίδες Σφάλμα: λανθασμένη αντίληψη (παράδειγμα) Παγίδες: λάθη που μπορούν να γίνουν εύκολα Συχνά οι παγίδες είναι γενικεύσεις αρχών, οι οποίες ισχύουν σε συγκεκριμένο περιβάλλον 73 74 Σφάλματα & παγίδες Σφάλματα & παγίδες Σφάλμα: τα προγράμματα αναφοράς δίνουν έγκυρα αποτελέσματα επ άπειρον Σφάλμα: η μέγιστη απόδοση ακολουθεί την παρατηρούμενη απόδοση Οι παράγοντες που επιρρεάζουν την χρησιμότητα ενός προγράμματος αναφοράς μπορεί να αλλάξουν με τον χρόνο: Το SPEC 89 περιείχε μικρό πυρήνα, matrix300, που ήταν 8 διαφορετικοί πολλαπλασιασμοί πινάκων 300x300. Το 99% τουχρόνουεκτέλεσηςήτανπάνω σε μία γραμμή! Η βελτιστοποίηση μεταφραστή στον IBM Power Station 550 οδηγούσεσεβελτίωσηx9, συγκριτικά με το προηγούμενο μοντέλο. Η σύγκριση ήταν τελικά μεταξύ μεταφραστών! Συνηθισμένη διαφορά μεταξύ παρατηρούμενης και μέγιστης απόδοσης ~10: Hitachi S810/20 vs. CRAY-XMP: 236 MFLOPS vs. 115 MFLOPS για μικρό κώδικα με μικρά διανύσματα Hitachi S810/20 vs. CRAY-XMP: 1/1.97 για συνηθισμένα διανυσματικά μήκη 75 76 19

Σφάλματα & παγίδες Σφάλμα: η καλύτερη σχεδίαση ενός υπολογιστή είναι αυτή που βελτιστοποιεί τον κύριο στόχο, χωρίς να δίνει σημασία στην υλοποίηση Η πολυπλοκότητα της σχεδίασης είναι ένας πολύ σημαντικός παράγοντας κόστους: Πολύπλοκες σχεδιάσεις χρειάζονται περισσότερο χρόνο για να ολοκληρωθούν, αυξάνοντας την καθυστέρηση εισόδου στην αγορά. Με δεδομένη την πολύ γρήγορη αύξηση της απόδοσης των υπολογιστών, ένας μεγαλύτερος χρόνος σχεδίασης σημαίνει ότι η σχεδίαση θα είναι λιγότερο ανταγωνιστική. Ο αρχιτέκτονας πρέπει να έχει στο νου του συνέχεια την επίδραση των σχεδιαστικών επιλογών του τόσο στο χρόνο σχεδίασης του υλικού όσο και του λογισμικού Οι πολλές αναβολές της παραγωγής του επεξεργαστή Itanium πρέπει να αποτελούν υπόμνηση των κινδύνων στην υλοποίηση μιας καινούργιας αρχιτεκτονικής με πολύπλοκη σχεδίαση. Με την απόδοση των επεξεργαστών να αυξανεται κατά περίπου 50% το χρόνο, κάθε εβδομάδα καθυστέρησης αντιστοιχεί σε 1% απώλεια σχετικής απόδοσης. Σφάλματα & παγίδες Παγίδα: πέφτοντας θύματα του νόμου του Amdahl Όλοι οι αρχιτέκτονες υπολογιστών γνωρίζουν τον νόμο του Amdahl. Παρ όλα αυτά, όλοι πέφτουμε κατά διαστήματα στην παγίδα της βελτιστοποίησης (με πολύ μεγάλο κόστος) κάποιου κομματιού του συστήματος πριν μετρήσουμε την χρήση του. Μόνον όταν η συνολική επιτάχυνση δεν είναι αυτή που περιμένουμε, θυμόμαστε ότι έπρεπε να είχαμε μετρήσει την χρήση της λειτουργίας πριν ξοδέψουμε τόση ενέργεια στην βελτιστοποίησή της. 77 78 20