130 likes | 327 Views
Τ.Ε.Ι Θεσσαλονίκης – Τμήμα Πληροφορικής. Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Εργαστηριακό Μέρος Μέρος: Τρίτο Εξάμηνο: Έβδομο Καθηγητής: Α. Βαφειάδης 200 8. Ορισμοί. Clock Cycle : Το διάστημα μεταξύ δύο γεγονότων ρολογιού (π.χ ακμές ανόδου)
E N D
Τ.Ε.Ι Θεσσαλονίκης – Τμήμα Πληροφορικής • Μάθημα • Προηγμένες Αρχιτεκτονικές Υπολογιστών • Εργαστηριακό Μέρος • Μέρος: Τρίτο • Εξάμηνο: Έβδομο • Καθηγητής: Α. Βαφειάδης • 2008
Ορισμοί • Clock Cycle:Το διάστημα μεταξύ δύο γεγονότων ρολογιού (π.χ ακμές ανόδου) • Clock rate : Η συχνότητα των κύκλων στη μονάδα του χρόνου • Clock cycle time (period) = η διάρκεια ενός Clock Cycle(σε ns) • Clock rate = 1/clock cycle time (σε MΗz)
ΠΑΡΑΔΕΙΓΜΑ Περίοδος 2ns σε πόσα MΗz αντιστοιχούν? CR = Clock Rate = συχνότητα ρολογιού CP = Cycle Period = Περίοδος κύκλου
Ορισμοί - τύποι • Clock cycles/instruction (CPI) = = Πλήθος κύκλων/εντολή = = ο μέσος αριθμός των κύκλων που χρειάζεται μια εντολή γλώσσας μηχανής για να εκτελεστεί • Instruction count (IC) = = πλήθος εντολών = = το συνολικό πλήθος των εντολών ενός προγράμματος • Cycles /instruction (CPI) = πλήθος κύκλων ανά πρόγραμμα = πλήθος εντολών προγράμματος
CPU Time προγράμματος CPU time = πλήθος CPU κύκλων Χπερίοδος κύκλου = πλήθος CPU κύκλων = Clock rate CPU time = πλήθος εντολών Χ πλήθος κύκλων ανά εντολή Χ περίοδος κύκλου πλήθος εντολών Χ πλήθος κύκλων ανά εντολή CPU time = Clock rate
Ο βασικός Τύπος ( CPU time πρoγράμματος) CPUtime = Πλήθος εντολών (IC) X X Πλήθος κύκλων / εντολή (CPI)Χ Xπερίοδος κύκλου (CP) CPUtime = IC x CPI x CC Instruction set Architecture + Τεχνολογία Compiler Instruction set Architecture + Οργάνωση Τεχνολογία Hardware + Οργάνωση Υποθέτουμε ότι όλες οι εντολές εκτελούνται σε ίδιους κύκλους
Ο γενικευμένος βασικός τύπος Υποθέτουμε ότι ένα πρόγραμμα αποτελείται από Νδιαφορετικό πλήθος εντολών η ομάδων εντολών γλώσσας μηχανής όπου ICi παριστάνει το πλήθος των κύκλων της εντολής i στην οποία αντιστοιχεί το CPIi
ΠΑΡΑΔΕΙΓΜΑ Έχουμε δύο μηχανές Α και Β που έχουν την ίδια αρχιτεκτονική του instruction set αλλά διαφορετική υλοποίηση. Η μηχανή Α έχει clock cycle time = 1ns και τρέχει ένα πρόγραμμα με CPI=2 Η μηχανή B έχει clock cycle time = 2ns και τρέχει το ίδιο πρόγραμμα με CPI=1.2 Ποια μηχανή είναι πιο γρήγορη και πόσες φορές ?
Απάντηση Ο αριθμός (έστω N) των instructions του προγράμματος θα είναι ο ίδιος και στις δύο μηχανές λόγω της ίδιας αρχιτεκτονικής. Ερμηνεία :Η απόδοση του Α είναι 1.2 φόρες η απόδοσης του Β.
Amdahl’s Low SO = Ολική βελτίωση FE = Ποσοστό μέρους που βελτιώνεται SE = Μερική βελτίωση FE < 1 και S0, SE > 1
Amdahl’s Low (Παράδειγμα 1) Επιθυμούμε να βελτιώσουμε την ολική απόδοση ενός Web ServerΑποφασίσαμε να αντικαταστήσουμε τη CPU με μια άλλη 20% ταχύτερη. Οι μετρήσεις έδειξαν ότι στη λειτουργία του Server η CPU μετέχει κατά 30%. To υπόλοιπο είναι Ι/Ο. Πόση θα είναι η ολική βελτίωση του server SE = Μερική βελτίωση 1.2 FE = ποσοστό βελτιούμενου μέρους = 0.3 Αυτό σημαίνει ότι η απόδοση του server θα αυξηθεί κατά 5%
Amdahl’s Low (Παράδειγμα 2) Επιθυμούμε να βελτιώσουμε την ολική απόδοση ενός Web Server κατά 2 φορές. Αποφασίσαμε να αντικαταστήσουμε τη CPU. Οι μετρήσεις έδειξαν ότι στη λειτουργία του Server η CPU μετέχει κατά 30%. To υπόλοιπο είναι Ι/Ο. Πόσο πιο γρήγορη θα πρέπει να είναι η νέα CPU. SO = ολική βελτίωση = 2 FE = ποσοστό βελτιούμενου μέρους = 0.3 Αυτό σημαίνει ότι για αυτά τα δεδομένα δεν μπορεί να ισχύσει ο νόμος Άρα δεν μπορούμε να βελτιώσουμε το σύστημα Αν θελήσουμε να βελτιώσουμε το σύστημα Ι/Ο τότε
Amdahl’s Low (Πολλαπλές Βελτιώσεις) FEι= Ποσοστό μέρους ι που βελτιώνεται SEι = Μερική βελτίωση ι