HY225 Οργϊνωςη Υπολογιςτών Διδϊςκοντεσ: Δ. Νικολόπουλοσ, Χ. ωτηρύου. http://www.csd.uoc.gr/~hy225 1 Πωσ μετρϊμε την Απόδοςη; Ορίηουμε Απόδοςθ = 1/(Χρόνοσ Εκτζλεςθσ) «Χ είναι ν φορζσ γρθγορότερο από το Υ» Απόδοςθ_Χ/Απόδοςθ_Υ = Χρόνοσ Εκτζλεςθσ_Υ/Χρόνοσ Εκτζλεςθσ_Χ = ν Παράδειγμα Χρόνοσ Εκτζλεςθσ Προγράμματοσ 10s ςτο Α, 15s ςτο Β Χρόνοσ Εκτζλεςθσ_Β/Χρόνοσ Εκτζλεςθσ_Α = 15/10 = 1.5 Άρα το μθχάνθμα Α είναι 1.5 φορζσ γρθγορότερο από το Β 2 1
Μϋτρηςη του Χρόνου Εκτϋλεςησ Απαιτοφμενοσ χρόνοσ Εκτζλεςθσ Συνολικόσ χρόνοσ απόκριςθσ του προγράμματοσ, που ςυμπεριλαμβάνει όλα τα ςχετικά του τμιματα Χρόνοσ Επεξεργαςτι, Ειςόδου/Εξόδου, Κακυςτζρθςθ από το Λειτουργικό Σφςτθμα, χρόνοσ αναμονισ Κακορίηει τθν Απόδοςθ Χρόνοσ του Επεξεργαςτι Υπολογιςτικόσ χρόνοσ μιασ εργαςίασ ςτο CPU Αγνοεί χρόνο για Είςοδο/Ζξοδο, κοινι χριςθ του CPU/πόρων ςυςτιματοσ από άλλεσ εργαςίεσ Άκροιςμα Χρόνου του χριςτθ και ςυςτιματοσ Διαφορετικά προγράμματα επθρεάηονται διαφορετικά από τθν απόδοςθ του CPU και του ςυςτιματοσ 3 χϋςη Απόδοςησ και Κύκλου Ρολογιού Η λειτουργία του υλικοφ κακορίηεται από τον ρυκμό ενόσ ςιματοσ ρολογιοφ Ρολόι(κύκλοι) Μεηαθοπά Δεδομένων και Τπολογιζμόρ Ανανέωζη Καηάζηαζηρ Πεπίοδορ Περίοδοσ: χρόνοσ για 1 κφκλο π.χ.: 250ps = 0.25ns = 250 10 12 s Συχνότθτα: ρυκμόσ, κφκλοι ανά sec π.χ.: 4.0GHz = 4000MHz = 4.0 10 Hz 4 2
Χρόνοσ του Επεξεργαςτό Η απόδοςθ βελτιϊνεται: CPU CPU Clock Cycle Time Μικραίνοντασ τον απαιτοφμενο αρικμό κφκλων εκτζλεςθσ Αυξάνοντασ τον ρυκμό του ρολογιοφ Ο ςχεδιαςτισ ςυχνά πρζπει να ςυμψθφίηει μεταξφ ρυκμό του ρολογιοφ και των αρικμό των κφκλων 5 Παρϊδειγμα Χρόνου Εκτϋλεςησ Υπολογιςτισ Α, 2GHz ρολόι, 10s χρόνοσ επεξεργαςτι Σχεδιάηουμε Υπολογιςτι Β Στοχεφουμε ςε 6s χρόνο επεξεργαςτι Μποροφμε να αυξιςουμε τον ρυκμό του ρολογιοφ, όμωσ προκαλεί αφξθςθ των απαιτοφμενων κφκλων κατά x1.2 Πόςο γριγοροσ πρζπει να είναι ο Υπολογιςτισ Β; 10s 1.2 2GHz 20 6s 10 20 1.2 10 24 10 6s 6s 4GHz 6 3
Αριθμόσ Εντολών και Κύκλοι ανϊ Εντολό () Ορίηουμε (Cycles per Instruction) κφκλοι ανά εντολι Instruction Count Cyclesper Instruction Instruction Count Instruction Count Ο Αρικμόσ των Εντολϊν προγράμματοσ Clock Cycle Time Εξαρτάται από πρόγραμμα, αρχιτεκτονικι ςυνόλου εντολϊν (IS), και τον μεταγλωττιςτι Ο μζςοσ αρικμόσ Εξαρτάται από τθν υλοποίθςθ του επεξεργαςτι ςτο Υλικό Για εντολζσ με διαφορετικόσ, το μίγμα εντολϊν επθρεάηεται 7 Παρϊδειγμα Υπολογιςτισ Α, Κφκλοσ = 250ps, = 2 Υπολογιςτισ Β, Κφκλοσ = 500ps, = 1.2 Ζςτω ίδια IS (Instruction Set rchitecture) Ποιοσ είναι γρηγορότεροσ και κατά πόςο; Instruction Count I 2.0 250ps I 500ps Instruction Count I 1.2 500ps I 600ps I I 600ps 500ps 1.2 Cycle Time Cycle Time γπηγοπόηεπορ 1.2 θοπέρ 8 4
Υπολογιςμόσ Αν διαφορετικοί τφποι εντολϊν απαιτοφν διαφορετικό αρικμό κφκλων: Clock Cycles n i 1 ( i i) Το ωσ μζςοσ όροσ: n i 1 i i σεηική ςσνόηηηα Παρϊδειγμα Ζςτω εναλλακτικζσ ακολουκίεσ εντολϊν για το ίδιο πρόγραμμα, από τρεισ τάξεισ: Τάξη C Σάξηρ 1 2 3 Ακολοςθία 1 Απιθμόρ Ενηολών Ακολοςθία 2 Απιθμόρ Ενηολών Ακολουκία 1: Σφνολο εντολϊν = 5 Κφκλοι = 2x1+1x2+2x3 = 10 Μζςο = 10/5 = 2.0 2 1 2 4 1 1 Ακολουκία 2: Σφνολο εντολϊν = 6 Κφκλοι = 4x1+1x2+1x3 = Μζςο = /6 = 1.5 10 5
Μϋτρηςη Απόδοςησ - Περύληψη Instructio ns Program Η Απόδοςθ εξαρτάται από: Clock cycles Instructio n Αλγόρικμο: επθρεάηει τον Αρικμό των Εντολϊν (ΑΕ), πικανϊσ και το Γλϊςςα Προγραμματιςμοφ: επθρεάηει ΑΕ και Μεταγλωττιςτισ: επθρεάηει ΑΕ και Seconds Clock cycle Αρχιτεκτονικι Συνόλου Εντολϊν (IS): επθρεάηει ΑΕ, και περίοδο του ρολογιοφ, Τ! 11 6