Προχωρηµένα Θέµατα Αρχιτεκτονικής Fundamentals of Computer Design. Λιούπης
Αύξηση απόδοσης µικροεπεξεργαστών Αύξηση των παρεχόµενων στο χρήστη δυνατοτήτων Κυριαρχία των βασισµένων σε µικροεπεξεργαστές υπολογιστικών συστηµάτων
Νέες όψεις υπολογιστικών συστηµάτων Desktop computing - τάση για βελτιστοποίηση του Price/Performance Servers - παροχή πιο αξιόπιστων και µεγαλύτερης κλίµακας υπηρεσιών - κρίσιµα σηµεία: διαθεσιµότητα και δυνατότητα κλιµάκωσης Embedded computers - ποικιλία επεξεργαστικής ισχύος και κόστους - απαίτηση για real-time απόδοση - ανάγκη για ελαχιστοποίηση µνήµης και ισχύος - τάση για χρησιµοποίηση cores επεξεργαστών µαζί µε ειδικού σκοπού κυκλώµατα
Συνοπτικά χαρακτηριστικά των 3 υπολογιστικών κλάσεων
Το έργο του computer designer Καθορισµός γνωρισµάτων Σχεδίαση ενός συστήµατος µέγιστης απόδοσης, διατηρώντας τους περιορισµούς σε κόστος και ισχύ - σχεδιασµός του συνόλου εντολών - λειτουργική οργάνωση - λογικός σχεδιασµός - υλοποίηση: σχεδιασµός ολοκληρωµένου κυκλώµατος, packaging, ισχύς, cooling Βελτιστοποίηση του σχεδιασµού
Λειτουργικές απαιτήσεις που αντιµετωπίζει ο αρχιτέκτονας υπολογιστών
Τεχνολογικές τάσεις Integrated circuit logic technology - πλήθος transistors/chip αυξάνει 55% ανά χρόνο Semiconductor DRAM - αύξηση πυκνότητας (40%-60%), µικρή βελτίωση cycle time, bandwidth ανά chip διπλασιάζεται καθώς µειώνεται το latency Τεχνολογία µαγνητικών δίσκων - αύξηση πυκνότητα δίσκων (100%), µικρή βελτίωση access time Τεχνολογία δικτύων - πιο γρήγορη αύξηση σε bandwidth τα τελευταία χρόνια
Κόστος Τιµή Κόστος: ποσό που ξοδεύεται για την παραγωγή µαζί µε το overhead Τιµή: ποσό στο οποίο πουλιέται ένα καλό προϊόν Το κόστος µειώνεται µε το χρόνο λόγω του learning curve (κόστος κατασκευής µειώνεται στο πέρασµα του χρόνου) Learning curve µετριέται καλύτερα µε τις αλλαγές στο yield (ποσοστό κατασκευασµένων ολοκληρωµένων που επιβιώνουν µετά τον έλεγχο) Μείωση κόστους λόγω της αύξησης σε όγκο και του ανταγωνισµού µαζικής παραγωγής
Τιµές γενιών DRAMs
Τιµές Intel Pentium III
Κόστος ενός ολοκληρωµένου Cost of integrated circuit = Cost of die + Cost of testing die + Cost of Final test yield packaging and final test Cost of die = Dies Cost of wafer per wafer Die yield Dies per wafer = π (Wafer diameter/2) Die area 2 π Wafer diameter 2 Die area Defects per unit area Die area Die yield = Wafer yield 1+ α α
Παράδειγµακατανοµής κόστους σε ένα σύστηµα
Συνιστώσες του κόστους Direct costs: άµεσα συσχετισµένα µε την παραγωγή προϊόντος Gross margin: έµµεσο overhead προστιθέµενο από την εταιρεία Average discount: εκπτώσεις από την εταιρεία κυρίως λόγου µαζικής παραγωγής Average selling price < List price
Cost vs. Performance High-performance design: το κόστος δεν λαµβάνεται υπόψη στην επίτευξη του στόχου Low-cost design: η απόδοση θυσιάζεται για να επιτευχθεί χαµηλό κόστος Cost-performance design: ο σχεδιαστής εξισορροπεί το κόστος σε αντιστοιχία µε την απόδοση (περισσότεροι σχεδιαστές κινούνται προς αυτή την κατεύθυνση)
Μέτρηση απόδοσης Response (execution) time: ο χρόνος από την αρχή ως την ολοκλήρωση ενός event Throughput: συνολική εργασία που γίνεται για δοσµένο χρονικό διάστηµα X is faster than Y n times : Execution time 1 Performance Y Y n = = = Execution time 1 X Performance X Performance Performance X Y
Επιλογή προγράµµατος για εκτίµηση απόδοσης Real applications: compilers, software για επεξεργασία κειµένου κλπ. - παίρνουν είσοδο, έξοδο, πιο κοντά στην πραγµατικότητα Modified applications - τροποποίηση µε σκοπό να αυξήσουν portability και να εστιάσουν σε µια όψη της απόδοσης Kernels: Livermore Loops, Linpack - αποµόνωση απόδοσης ανεξάρτητων χαρακτηριστικών Toy Benchmarks: Puzzle, Quicksort -µόνο για µια πρώτη εντύπωση Synthetic Benchmarks: Whetstone, Dhrystone - εξοµοίωση της συµπεριφοράς ενός γενικής χρήσης προγράµµατος
Benchmark Suites Desktop Benchmarks: CPU-intensive & graphics-intensive benchmarks Server Benchmarks: CPU throughputoriented benchmark Embedded Benchmarks: λόγω µεγάλης ποικιλίας σε embedded εφαρµογές και απαιτήσεις, µη ρεαλιστικό ένα απλό σύνολο από benchmarks
Σύγκριση απόδοσης Average execution time: Arithmetic mean = 1 n i= 1 Weighted execution time: Weighted arithmetic mean = n Time i Normalized execution time: Geometric mean = Geometric mean(x ) Geometric mean(y ) n n i= 1 i = i n i= 1 Weight i Time i Execution time ratio i X Geometric mean( Y i i )
Παράδειγµασύγκρισης απόδοσης
Αρχές σχεδιασµού υπολογιστών(1) Κάνε την συνηθισµένη κατάσταση γρήγορη Amdahl s law: Speedup overall = Performance for entire task using the enhancement when possible Performance for entire task without using the enhancement Speedup overall = Execution time for entire task without using the enhancement Execution time for entire task using the enhancement when possible Execution time Speedup overall new = Execution time Execution time = Execution time old new old = Fraction enhanced ( 1 Fraction ) + enhanced Speedupenhanced ( 1 Fraction ) enhanced 1 Fraction + Speedup enhanced enhanced
Αρχές σχεδιασµού υπολογιστών(2) Εξισώσεις για CPU performance: CPU time = CPU clock cycles for a program Clock cycle time CPU time = CPI = CPU clock cycles for a program Clock rate CPU clock cyclesfor a program Instruction count CPU time = Instruction count Clock cycle time Cycles per instruction CPU time = CPU clock cycles = Instruction count Clock cycle time Clock rate n i= 1 IC i CPI i n CPU time = ICi CPIi Clock cycle time i= 1 CPI = n IC CPI IC i i n i= 1 i = i= 1 Instruction count Instruction count CPI i
Αρχές σχεδιασµού υπολογιστών(3) Αρχή της τοπικότητας: τα προγράµµατα έχουν την τάση να χρησιµοποιούν δεδοµένα και εντολές που έχουν χρησιµοποιηθεί πρόσφατα - Temporal locality - Spatial locality Εκµετάλλευση παραλληλισµού
Απόδοση και Τιµή/Απόδοση για Desktop Συστήµατα Απόδοση και τιµή-απόδοση για 7 συστήµατα, µετρηµένα µε το SPEC CINT2000 benchmark
Απόδοση και Τιµή/Απόδοση για Transaction-Processing Servers Απόδοση και τιµή-απόδοση για τα 6 πιο υψηλά σε απόδοση συστήµατα, µετρηµένα µε το TPC- C benchmark
Απόδοση και Τιµή/Απόδοση για Embedded Processors Σχετική τιµή-απόδοση για 5 embedded processors για τρία από τα πέντε EEMBC benchmark suites, θεωρώντας µόνο την τιµή του επεξεργαστή
Σφάλµατα και παγίδες (1) Σφάλµα: η σχετική απόδοση δύο επεξεργαστών µε την ίδια αρχιτεκτονική συνόλου εντολών (ISA) µπορεί να κριθεί από το clock rate ή από την απόδοση ενός απλού benchmark suite Απόδοση Pentium 4 σχετική µε Pentium III
Σφάλµατα και παγίδες (2) Σφάλµα: Τα benchmarks παραµένουν έγκυρα για πάντα
Σφάλµατα και παγίδες (3) Παγίδα: συγκρίνοντας την απόδοση προγράµµατος σε γλώσσα assembly γραµµένο από το χρήστη και δηµιουργηµένο από compiler, υψηλού επιπέδου γλώσσας πρόγραµµα Σφάλµα: η κορυφαία απόδοση συµπίπτει µε την πραγµατική απόδοση
Σφάλµατα και παγίδες (4) Σφάλµα: ο καλύτερος σχεδιασµός για ένα σύστηµα είναι αυτός που βελτιστοποιεί το πρωταρχικό αντικειµενικό στόχο χωρίς να λαµβάνει υπόψη την υλοποίηση Παγίδα: παραµελώντας το κόστος του software τόσο κατά την αποτίµηση ενός συστήµατος ή κατά την εξέταση του κόστους/απόδοση Παγίδα: πέφτοντας θύµατα του Amdahl s Law, προσπαθώντας να βελτιστοποιήσουµε κάποια όψη ενός συστήµατος πριν µετρήσουµε την χρησιµότητα του Σφάλµα: τα synthetic benchmarks προβλέπουν την απόδοση για πραγµατικά προγράµµατα
Σφάλµατα και παγίδες (5) Σφάλµα: τα MIPS είναι ένα ακριβές µέτρο για την σύγκριση αποδόσεων υπολογιστών MIPS = Instruction count Execution time 10 6 = Clock rate 6 CPI 10 Execution time = Instruction count 6 MIPS 10 Τα MIPS εξαρτώνται από το σύνολο εντολών, κάνοντας το δύσκολο να συγκρίνεις MIPS από υπολογιστές µε διαφορετικά σύνολα εντολών Τα MIPS διαφέρουν µεταξύ προγραµµάτων του ίδιου υπολογιστή ΠΙΟ ΣΗΜΑΝΤΙΚΟ! Τα MIPS µπορεί να διαφέρουν αντιστρόφως µε τη απόδοση!