Τ.Ε.Ι Θεσσαλονίκης – Τμήμα Πληροφορικής

13
Α. Βαφειάδης Τ.Ε.Ι Θεσσαλονίκης – Τμήμα Πληροφορικής Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Εργαστηριακό Μέρος Μέρος: Τρίτο Εξάμηνο: Έβδομο Καθηγητής: Α. Βαφειάδης 2008

description

Τ.Ε.Ι Θεσσαλονίκης – Τμήμα Πληροφορικής. Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Εργαστηριακό Μέρος Μέρος: Τρίτο Εξάμηνο: Έβδομο Καθηγητής: Α. Βαφειάδης 200 8. Ορισμοί. Clock Cycle : Το διάστημα μεταξύ δύο γεγονότων ρολογιού (π.χ ακμές ανόδου) - PowerPoint PPT Presentation

Transcript of Τ.Ε.Ι Θεσσαλονίκης – Τμήμα Πληροφορικής

Page 1: Τ.Ε.Ι Θεσσαλονίκης – Τμήμα Πληροφορικής

1Α. Βαφειάδης

Τ.Ε.Ι Θεσσαλονίκης – Τμήμα Πληροφορικής

Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών

Εργαστηριακό Μέρος

Μέρος: Τρίτο

Εξάμηνο: ΈβδομοΚαθηγητής: Α. Βαφειάδης

2008

Page 2: Τ.Ε.Ι Θεσσαλονίκης – Τμήμα Πληροφορικής

2Α. Βαφειάδης

Ορισμοί

Clock Cycle: Το διάστημα μεταξύ δύο γεγονότων ρολογιού (π.χ ακμές ανόδου)

Clock rate : Η συχνότητα των κύκλων στη μονάδα του χρόνου

Clock cycle time (period) = η διάρκεια ενός Clock Cycle (σε ns)

Clock rate = 1/clock cycle time (σε MΗz)

Περίοδος

Κατάσταση 1

Κατάσταση 0

Ακμή ανόδου Ακμή καθόδου

Page 3: Τ.Ε.Ι Θεσσαλονίκης – Τμήμα Πληροφορικής

3Α. Βαφειάδης

ΠΑΡΑΔΕΙΓΜΑ

MHzMHz

xMHz

MHzx

MHzxx

HzxxsecxnsCP

CR

5002

1000

1021021

101

102

11

102

1

102

1

2

11

33

699

9

Περίοδος 2ns σε πόσα MΗz αντιστοιχούν ?

CR = Clock Rate = συχνότητα ρολογιού

CP = Cycle Period = Περίοδος κύκλου

Page 4: Τ.Ε.Ι Θεσσαλονίκης – Τμήμα Πληροφορικής

4Α. Βαφειάδης

Ορισμοί - τύποι

Clock cycles/instruction (CPI) = = Πλήθος κύκλων/εντολή = = ο μέσος αριθμός των κύκλων που χρειάζεται μια εντολή

γλώσσας μηχανής για να εκτελεστεί

Instruction count (IC) = = πλήθος εντολών = = το συνολικό πλήθος των εντολών ενός προγράμματος

Cycles /instruction (CPI) =

πλήθος κύκλων ανά πρόγραμμα = πλήθος εντολών προγράμματος

Page 5: Τ.Ε.Ι Θεσσαλονίκης – Τμήμα Πληροφορικής

5Α. Βαφειάδης

CPU Time προγράμματος

CPU time = πλήθος CPU κύκλων Χ περίοδος κύκλου =

πλήθος CPU κύκλων = Clock rate

CPU time = πλήθος εντολών Χ πλήθος κύκλων ανά εντολή Χ περίοδος κύκλου

πλήθος εντολών Χ πλήθος κύκλων ανά εντολήCPU time = Clock rate

Page 6: Τ.Ε.Ι Θεσσαλονίκης – Τμήμα Πληροφορικής

6Α. Βαφειάδης

Ο βασικός Τύπος ( CPU time πρoγράμματος)

CPUtime = Πλήθος εντολών (IC) X

X Πλήθος κύκλων / εντολή (CPI) Χ

X περίοδος κύκλου (CP)

CPU time = IC x CPI x CC

Instruction set Architecture + Τεχνολογία Compiler

Instruction set Architecture + Οργάνωση

Τεχνολογία Hardware + Οργάνωση

Υποθέτουμε ότι όλες οι εντολές εκτελούνται σε ίδιους κύκλους

Page 7: Τ.Ε.Ι Θεσσαλονίκης – Τμήμα Πληροφορικής

7Α. Βαφειάδης

Ο γενικευμένος βασικός τύπος

N

iii CPIxICcyclesclockCPU

1

Υποθέτουμε ότι ένα πρόγραμμα αποτελείται από Ν διαφορετικό πλήθος εντολών η ομάδων εντολών γλώσσας μηχανής όπου ICi παριστάνει το πλήθος των κύκλων της εντολής i στην οποία αντιστοιχεί το CPIi

N

ii

i

N

iii

N

iii

CPIxCountnInstructio

ICCountnInstructio

CPIxIC)average(CPI

timecycleClockxCPIxICTimeCPU

1

1

1

Page 8: Τ.Ε.Ι Θεσσαλονίκης – Τμήμα Πληροφορικής

8Α. Βαφειάδης

ΠΑΡΑΔΕΙΓΜΑ

Έχουμε δύο μηχανές Α και Β που έχουν την ίδια

αρχιτεκτονική του instruction set αλλά διαφορετική υλοποίηση.

Η μηχανή Α έχει clock cycle time = 1ns

και τρέχει ένα πρόγραμμα με CPI=2

Η μηχανή B έχει clock cycle time = 2ns

και τρέχει το ίδιο πρόγραμμα με CPI=1.2

Ποια μηχανή είναι πιο γρήγορη και πόσες φορές ?

Page 9: Τ.Ε.Ι Θεσσαλονίκης – Τμήμα Πληροφορικής

9Α. Βαφειάδης

Απάντηση

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

2102

42

42221

02102

21

02

.nsNx.nsNx.

timeCPUtimeCPU

ePerformancePerformanc

nsNx.nsx.NxtimeCycleClockxcyclesClockCPUtimeCPU

nsNx.nsx.xNtimeCycleClockxcyclesClockCPUtimeCPU

.xNCPIxnsInstructiocyclesClockCPU

.xNCPIxnsInstructiocyclesClockCPU

A

B

B

A

BB

AA

BB

AA

Ερμηνεία :Η απόδοση του Α είναι 1.2 φόρες η απόδοσης του Β.

Page 10: Τ.Ε.Ι Θεσσαλονίκης – Τμήμα Πληροφορικής

10Α. Βαφειάδης

Amdahl’s Low

SEFE

)FE(SO

1

1

SO = Ολική βελτίωση

FE = Ποσοστό μέρους που βελτιώνεται

SE = Μερική βελτίωση

FE < 1 και S0, SE > 1

Page 11: Τ.Ε.Ι Θεσσαλονίκης – Τμήμα Πληροφορικής

11Α. Βαφειάδης

Amdahl’s Low (Παράδειγμα 1)

Επιθυμούμε να βελτιώσουμε την ολική απόδοση ενός Web Server Αποφασίσαμε να αντικαταστήσουμε τη CPU με μια άλλη 20% ταχύτερη. Οι μετρήσεις έδειξαν ότι στη λειτουργία του Server η CPU μετέχει κατά 30%. To υπόλοιπο είναι Ι/Ο. Πόση θα είναι η ολική βελτίωση του server

SE = Μερική βελτίωση 1.2

FE = ποσοστό βελτιούμενου μέρους = 0.3

05.125.07.0

1

2.13.0

)3.01(

1

)1(

1

SO

SEFE

FESO

Αυτό σημαίνει ότι η απόδοση του server θα αυξηθεί κατά 5%

Page 12: Τ.Ε.Ι Θεσσαλονίκης – Τμήμα Πληροφορικής

12Α. Βαφειάδης

Amdahl’s Low (Παράδειγμα 2)

07021

302

111

1

.x

.x

)FE(xSO

FExSOSE

SEFE

)FE(SO

Επιθυμούμε να βελτιώσουμε την ολική απόδοση ενός Web Server κατά 2 φορές. Αποφασίσαμε να αντικαταστήσουμε τη CPU. Οι μετρήσεις έδειξαν ότι στη λειτουργία του Server η CPU μετέχει κατά 30%. To υπόλοιπο είναι Ι/Ο. Πόσο πιο γρήγορη θα πρέπει να είναι η νέα CPU.

SO = ολική βελτίωση = 2

FE = ποσοστό βελτιούμενου μέρους = 0.3

Αυτό σημαίνει ότι για αυτά τα δεδομένα δεν μπορεί να ισχύσει ο νόμος

Άρα δεν μπορούμε να βελτιώσουμε το σύστημα

Αν θελήσουμε να βελτιώσουμε το σύστημα Ι/Ο τότε 5.3

3.0x21

7.0x2SE

Page 13: Τ.Ε.Ι Θεσσαλονίκης – Τμήμα Πληροφορικής

13Α. Βαφειάδης

Amdahl’s Low (Πολλαπλές Βελτιώσεις)

i i i

ii SE

FEFESO

1

1

FEι = Ποσοστό μέρους ι που βελτιώνεταιSEι = Μερική βελτίωση ι