1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Πρώτο Αρχιτεκτονική.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Αρχιτεκτονική και απόδοση Υπολογιστών
Advertisements

Επιμέλεια: Τίκβα Χριστίνα
5 Οργάνωση υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών ã Εκδόσεις Κλειδάριθμος.
Εισαγωγή στις Τεχνολογίες της Πληροφορικής και των Επικοινωνιών
Γλώσσα Προγραμματισμού LOGO MicroWorlds Pro
Εφαρμογές Υπολογιστών Ά Λυκείου Κεφ. 4 Λογισμικό Συστήματος
Απαντήσεις Προόδου II.
Εισαγωγικές έννοιες πληροφορικής
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Δεύτερο.
Το υλικο του Υπολογιστη
Αρχιτεκτονική Υπολογιστών Γλώσσες Μηχανής
Ασκήσεις Συνδυαστικής
1 Α. Βαφειάδης Τ.Ε.Ι Θεσσαλονίκης – Τμήμα Πληροφορικής Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Εργαστηριακό Μέρος Περίληψη Εξάμηνο: Έβδομο Καθηγητής:
Γεωργαλλίδης Δημήτρης Καθηγητής Πληροφορικής
Οργάνωση και Αρχιτεκτονική Υπολογιστών Διάδρομοι Μεταφοράς Δεδομένων
ΕΠΛ432: Κατανεμημένοι Αλγόριθμοι
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΒΙΟΜΗΧΑΝΙΑΣ Διάλεξη 2: Πίνακες και δυναμικά δεδομένα στη FORTRAN 90 Εαρινό εξάμηνο 2009 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ.
Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού
Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ. Ε
Εκτέλεση Αλγορίθμων σε ψευδογλώσσα
1 Α. Βαφειάδης Τ.Ε.Ι Θεσσαλονίκης – Τμήμα Πληροφορικής Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Εργαστηριακό Μέρος Μέρος: Τρίτο Εξάμηνο: Έβδομο Καθηγητής:
Μεταγωγή (Switching) Λειτουργία: συνδέει εισόδους σε εξόδους, έτσι ώστε τα bits ή τα πακέτα που φτάνουν σε ένα σύνδεσμο, να φεύγουν από έναν άλλο επιθυμητό.
Κώστας Διαμαντάρας Τμήμα Πληροφορικής ΤΕΙ Θεσσαλονίκης 2011 Συστολικοί επεξεργαστές.
ΠΛΗΡΟΦΟΡΙΑΚΟ ΣΥΣΤΗΜΑ ΓΙΑ ΤΗΝ ΔΙΑΣΦΑΛΙΣΗ ΠΟΙΟΤΗΤΑΣ Γραφείο Ποιότητας Αλεξάνδρειο ΤΕΙ Θεσσαλονίκης.
Εβδομάδα 3 Παρουσίαση Δεδομένων
Η ΕΚΤΕΛΕΣΗ ΠΡΟΓΡΑΜΜΑΤΟΣ ΧΡΗΣΤΗ ΑΠ’ ΤΟΝ Η/Υ ΤΟΜΕΑΣ ΤΕΧΝΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Δ.ΙΕΚ ΠΑΤΡΑΣ.
Γραφήματα & Επίπεδα Γραφήματα
Αν θέλουμε να περιγράψουμε με ακρίβεια τις κινήσεις χρειαζόμαστε και άλλα μεγέθη. Κατά τη διάρκεια κάθε κίνησης ένα άλλο μέγεθος που αλλάζει συνεχώς.
Κοντινότεροι Κοινοί Πρόγονοι α βγ θ δεζ η π ν ι κλμ ρσ τ κκπ(λ,ι)=α, κκπ(τ,σ)=ν, κκπ(λ,π)=η κκπ(π,σ)=γ, κκπ(ξ,ο)=κ ξο κκπ(ι,ξ)=β, κκπ(τ,θ)=θ, κκπ(ο,μ)=α.
ΕΙΣΑΓΩΓΗ ΜΑΘΗΜΑ 1.
1 Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τέταρτο Pipelining –
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
Εισαγωγή στις Βασικές Έννοιες Πληροφορικής
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών A. Βαφειάδης Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Α.Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση.
Εργαστήριο Δασικής Διαχειριστικής & Τηλεπισκόπησης Ασκήσεις Δασικής Διαχειριστικής Ι Διδάσκων Δημήτριος Καραμανώλης, Επίκουρος Καθηγητής Άσκηση 4.
Οργάνωση και Αρχιτεκτονική Υπολογιστών Βασικές αρχές Αρχιτεκτονικής
ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
Κεφάλαιο 26 Συνεχή Ρεύματα
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Π. ΚΑΤΣΑΡΟΣ Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τμ. Πληροφορικής,
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Π. ΚΑΤΣΑΡΟΣ Τετάρτη, 1 Απριλίου 2015Τετάρτη, 1 Απριλίου 2015Τετάρτη, 1 Απριλίου 2015Τετάρτη, 1 Απριλίου 2015Τμ. Πληροφορικής,
1.5 Γλώσσες Προγραμματισμού
Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών 1 Κεφάλαιο 3 Η Σημασιολογία των Γλωσσών Προγραμματισμού Προπτυχιακό.
Computers: Information Technology in Perspective By Long and Long Copyright 2002 Prentice Hall, Inc. Προγραμματισμός Η / Υ 6 η Διάλεξη.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ. ΥΠΟΛΟΓΙΣΤΗΣ Μηχανή που μπορεί να φέρει σε πέρας πνευματικές εργασίες ρουτίνας με μεγάλη ταχύτητα.
ΒΑΣΙΚΕΣ ΟΙΚΟΝΟΜΙΚΕΣ ΕΝΝΟΙΕΣ
Κεφάλαιο 10 – Υποπρογράμματα
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Δεύτερο.
Από την ιδέα μέχρι το λογισμικό. Ξεκινώντας από το πρόβλημα...
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
© Processor-Memory (DRAM) Διαφορά επίδοσης Performance
1 Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τέταρτο Οι κίνδυνοι της.
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Δεύτερο.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Πρώτο Αρχιτεκτονική.
Αρχιτεκτονική Υπολογιστών DATAPATH & CONTROL. Αρχιτεκτονική Υπολογιστών DATAPATH & CONTROL Για κάθε εντολή υπάρχουν δυο βήματα που πρέπει να γίνουν: –Προσκόμιση.
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών 9 ο Μάθημα.
ΤΕΧΝΙΚΑ ΘΕΜΑΤΑ ΠΩΛΗΣΕΩΝ & ΠΡΟΔΙΑΓΡΑΦΕΣ ΥΛΙΚΟΥ ΚΑΙ ΛΟΓΙΣΜΙΚΟΥ Β΄ ΕΠΑΛ ΚεφΑλαιο 2: ΠροδιαγραφΕΣ ΥλικοΥ Η/Υ 2.7 Επεξεργαστές.
Κατηγορίες και Προδιαγραφές Λογισμικού Η/Υ (Software)
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών A. Βαφειάδης Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Α.Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση.
Μεταγράφημα παρουσίασης:

1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Πρώτο Αρχιτεκτονική και απόδοση Υπολογιστών Μέρος: Δεύτερο Καθηγητής: Α. Βαφειάδης 2009

2 Α. Βαφειάδης Η απόδοση της CPU - Ορισμοί  Κύκλος ρολογιού(Clock Cycle: Το διάστημα μεταξύ δύο γεγονότων ρολογιού (π.χ ακμές ανόδου)  Συχνότητα ρολογιού (Clock rate) : Η συχνότητα των κύκλων στη μονάδα του χρόνου  Περίοδος (Clock cycle time) = η διάρκεια ενός Clock Cycle (σε ns)  Clock rate = 1/clock cycle time (σε MΗz)

3 Α. Βαφειάδης ΠΑΡΑΔΕΙΓΜΑ Περίοδος 2ns σε πόσα MΗz αντιστοιχούν ? CR = Clock Rate = συχνότητα ρολογιού CP = Cycle Period = Περίοδος κύκλου

4 Α. Βαφειάδης Η επίδοση της CPU Ορισμοί - τύποι  Clock cycles/instruction (μέσο CPI) = = Πλήθος κύκλων/εντολή = = ο μέσος αριθμός των κύκλων που χρειάζεται μια εντολή γλώσσας μηχανής για να εκτελεστεί  Instruction count (IC) = = πλήθος εντολών = = το συνολικό πλήθος των εντολών ενός προγράμματος  Cycles /instruction (μέσο CPI) = = μέσο πλήθος κύκλων ανά εντολή πλήθος CPU κύκλων ανά πρόγραμμα = πλήθος εντολών προγράμματος

5 Α. Βαφειάδης CPU Time προγράμματος CPU time = πλήθος CPU κύκλων Χ μια περίοδο κύκλου = πλήθος CPU κύκλων = Clock rate CPU time = πλήθος εντολών Χ πλήθος κύκλων ανά εντολή Χ περίοδος κύκλου πλήθος εντολών Χ πλήθος κύκλων ανά εντολή CPU time = Clock rate

6 Α. Βαφειάδης Ο βασικός Τύπος ( CPU time πρoγράμματος) CPU time = Πλήθος εντολών (IC) X X Πλήθος κύκλων / εντολή (CPI) Χ X περίοδος κύκλου (CP) CPU time = IC x CPI x CP Instruction set Architecture + Τεχνολογία Compiler Instruction set Architecture + Οργάνωση Τεχνολογία Hardware + Οργάνωση

7 Α. Βαφειάδης Ο γενικευμένος βασικός τύπος Instruction Count = IC = IC 1 + IC 2 + …. IC N Υποθέτουμε ότι ένα πρόγραμμα αποτελείται από Ν διαφορετικό πλήθος εντολών ή ομάδων εντολών γλώσσας μηχανής όπου ICi παριστάνει το πλήθος των κύκλων της εντολής i στην οποία αντιστοιχεί το CPIi

8 Α. Βαφειάδης Παράδειγμα 1 Έχουμε δύο μηχανές Α και Β που έχουν την ίδια αρχιτεκτονική του instruction set αλλά διαφορετική υλοποίηση. Η μηχανή Α έχει clock cycle time = 1ns και τρέχει ένα πρόγραμμα με CPI=2 Η μηχανή B έχει clock cycle time = 2ns και τρέχει το ίδιο πρόγραμμα με CPI=1.2 Ποια μηχανή έχει μεγαλύτερη απόδοση και πόσες φορές ?

9 Α. Βαφειάδης Απάντηση Ο αριθμός (έστω N) των instructions του προγράμματος θα είναι ο ίδιος και στις δύο μηχανές λόγω της ίδιας αρχιτεκτονικής. Ερμηνεία :Η απόδοση του Α είναι 1.2 φόρες η απόδοσης του Β.

10 Α. Βαφειάδης Παράδειγμα 2 Μια μηχανή έχει Instruction Set το οποίο διαθέτει τρεις κατηγορίες εντολών (A,B και C) γλώσσας μηχανής. Κάθε κατηγορία έχει και διαφορετικό CPI( Cycles per Instruction). H κατηγορία Α έχει CPI=1, η Β έχει CPI=2 και η C έχει CPI=3. δηλαδή οι εντολές τις κατηγορίας Α εκτελούνται σε ένα κύκλο της κατηγορίας B σε δύο κύκλους και της κατηγορίας C σε τρεις κύκλους. Ο σχεδιαστής ενός compiler μιας ανώτερης γλώσσας προγραμματισμού επιθυμεί να βρει την καλύτερη μέθοδο μετάφρασης την οποία και θα ενσωματώσει στον compiler. Πρέπει να διαλέξει μεταξύ δύο μεθόδων. την Χ και την Υ. Καλύτερη θεωρείται η μέθοδος μετάφρασης η οποία παράγει για τον ίδιο πηγαίο κώδικα και για την ίδια CPU τον γρηγορότερο εκτελέσιμό κώδικά Παίρνει ένα τυχαίο πρόγραμμα και το μεταφράζει με τη μέθοδο μετάφρασης Χ και μετά με τη μέθοδο μετάφρασης Υ. Κάθε μέθοδος παράγει κώδικα ο οποίος έχει διαφορετικό instruction mix το οποίο φαίνεται στον παρακάτω πίνακα.

11 Α. Βαφειάδης Παράδειγμα 2 Εντολές Γλώσσας μηχανής (ΙC) Κατηγορία ΑΚατηγορία ΒΚατηγορία C Μέθοδος Χ Μέθοδος Υ Ποια μέθοδος θα προτιμηθεί ?

12 Α. Βαφειάδης Έλεγχος της μεθόδου Χ Επειδή IC A =20 IC B =10 IC C = 20 και CPI A =1 CPI B =2 CPI C =3 και CPU Clock cycles = 1*20 + 2*10 + 3*20 = 100 κύκλοι Instruction count = = 50 εντολές CPI (average) = 100/50 =2.0 κύκλοι/εντολή ή CPI (average) = 20/50 *1 + 10/50*2 + 20/50*3 = = 2.0 κύκλοι/εντολή

13 Α. Βαφειάδης Έλεγχος της μεθόδου Υ Επειδή IC A =40 IC B =10 IC C = 10 και CPI A =1 CPI B =2 CPI C =3 CPU Clock cycles = 1*40 + 2*10 + 3*10 = 90 κύκλοι Instruction count = = 60 εντολές CPI (average) = 90/ κύκλοι/εντολή ή CPI (average) = 40/60 *1 + 10/60*2 + 10/60*3 = = 1.5 κύκλοι/εντολή

14 Α. Βαφειάδης Συμπέρασμα Ο σχεδιαστής θα προτιμήσει την μέθοδο που δημιουργεί εκτελέσιμο κώδικα ο οποίος τελειώνει γρηγορότερα στην ίδια CPU. Δηλαδή αυτή που μας δίνει μικρότερο CPU χρόνο ή μεγαλύτερη απόδοση. CPU time (Χ) / CPU time (Υ) = CPU cycles(Χ) * Clock time / CPU cycles(Υ) * Clock time = CPU cycles(Χ) / CPU cycles( Y) = 100/90 = 1.1 Άρα CPU time(Χ) = CPU time(Υ) * 1.1 ή Απόδοση (Υ) = Απόδοση (Χ) * 1.1 Άρα μέθοδος Υ είναι η καλύτερη γιατί παρουσιάζει μεγαλύτερη απόδοση CPU Παρατήρηση : To clock time είναι ίδιο γιατί πρόκειται για την ίδια CPU

15 Α. Βαφειάδης Amdahl’s Low SO = Ολική επιτάχυνση (βελτίωση) FE = Ποσοστό μέρους που βελτιώνεται (FE < 1 ) SE = Μερική επιτάχυνση επιτάχυνση(speedup) SO = [απόδοση μετά ] / [απόδοση πριν ]

16 Α. Βαφειάδης Amdahl’s Low (Παράδειγμα 1) Επιθυμούμε να βελτιώσουμε την ολική απόδοση ενός Web Server Αποφασίσαμε να αντικαταστήσουμε τη CPU με μια άλλη 20% ταχύτερη. Οι μετρήσεις έδειξαν ότι στη λειτουργία του Server η CPU μετέχει κατά 30%. To υπόλοιπο είναι Ι/Ο. Πόση θα είναι η ολική βελτίωση του server SE = Μερική βελτίωση 1.2 FE = ποσοστό βελτιούμενου μέρους = 0.3 Αυτό σημαίνει ότι η απόδοση του server θα αυξηθεί κατά 5%

17 Α. Βαφειάδης Amdahl’s Low (Παράδειγμα 2) Επιθυμούμε να βελτιώσουμε την ολική απόδοση ενός Web Server κατά 2 φορές. Αποφασίσαμε να αντικαταστήσουμε τη CPU. Οι μετρήσεις έδειξαν ότι στη λειτουργία του Server η CPU μετέχει κατά 30%. To υπόλοιπο είναι Ι/Ο. Πόσο πιο γρήγορη θα πρέπει να είναι η νέα CPU. SO = ολική βελτίωση = 2 FE = ποσοστό βελτιούμενου μέρους = 0.3 Αυτό σημαίνει ότι για αυτά τα δεδομένα δεν μπορεί να ισχύσει ο νόμος Άρα δεν μπορούμε να βελτιώσουμε το σύστημα Αν θελήσουμε να βελτιώσουμε το σύστημα Ι/Ο τότε

18 Α. Βαφειάδης Προτάσεις για λύση θέλουμε να επιταχύνουμε την λειτουργία ενός υπολογιστή επιταχύνοντας τον επεξεργαστή του. Συγκεκριμένα αλλάζουμε την χρονισμό της CPU και την κάνουμε 5 φορές πιο γρήγορη H CPU συμμετέχει στην όλη λειτουργία του υπολογιστή και για συγκεκριμένη ομάδα προγραμμάτων κατά 60%.

19 Α. Βαφειάδης Προτάσεις για λύση Υποθέστε ότι σε ένα υπολογιστή τρέχει ένα πρόγραμμα το οποίο σε κάποιο σημείο του γίνεται εκτεταμένη χρήση γραφικών Θέλουμε να βελτιώσουμε τον χρόνο εκτέλεσης του προγράμματος. Ας υποθέσουμε ότι μπορούμε να αλλάξουμε μέρη της CPU. Γνωρίζουμε ότι η FPU αποτελείται από διάφορα ολοκληρωμένα ένα από τα οποία το SSE εκτελεί αποκλειστικά εντολές γραφικών. Στο πρόγραμμα αυτό η χρήση γραφικών καταλαμβάνει το 20% του συνολικού χρόνου εκτέλεσης. Βρισκόμαστε στο παρακάτω δίλημμα: Α) Να βελτιώσουμε μόνο το ολοκληρωμένο κύκλωμα SSE που έχει να κάνει με τη χρήση των γραφικών. Μπορούμε να το κάνουμε μέχρι και 10 φορές πιο γρήγορο. Β) Να βελτιώσουμε ολόκληρη την FPU. Μπορούμε να τη βελτιώσουμε ώστε να γίνει 1.6 πιο γρήγορη. Σημειώνουμε ότι οι πράξεις κινητής υποδιαστολής είναι υπεύθυνες για το 50% του συνολικού χρόνου εκτέλεσης του προγράμματος. Ποια από τις δύο μεθόδους να προτιμήσουμε ;

20 Α. Βαφειάδης Προτάσεις για λύση Σε ένα πρόγραμμα οι εντολές Ι/Ο συμμετέχουν κατά 40% στον συνολικό χρόνο εκτέλεσης ενός προγράμματος, ενός οι υπολογιστικές εντολές το υπόλοιπο. Επιθυμούμε την επιτάχυνση του προγράμματος. Υπάρχουν δύο λύσεις Α) να τροποποιήσουμε τις εντολές Ι/Ο και Β) να τροποποιήσουμε κάποια ομάδα από τις υπολογιστικές εντολές. Στη Α λύση μπορούμε να αντικαταστήσουμε τις εντολές εισόδου με άλλες, 2 φορές πιο γρήγορες. Οι εντολές εισόδου συμμετέχουν στο χρόνο εκτέλεσης των εντολών Ι/Ο κατά 40%. Στη λύση Β μπορούμε να αντικαταστήσουμε ένα υποπρόγραμμα που καλείται από το πρόγραμμα με ένα άλλο 6 φόρες πιο γρήγορο. Το συγκεκριμένο υποπρόγραμμα συμμετέχει στο χρόνο των εκτελέσιμων εντολών κατά 20%. Ποια από τις δύο μεθόδους να προτιμήσουμε ;