Τ.Ε.Ι Θεσσαλονίκης – Τμήμα Πληροφορικής
description
Transcript of Τ.Ε.Ι Θεσσαλονίκης – Τμήμα Πληροφορικής
1Α. Βαφειάδης
Τ.Ε.Ι Θεσσαλονίκης – Τμήμα Πληροφορικής
Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών
Εργαστηριακό Μέρος
Μέρος: Τρίτο
Εξάμηνο: ΈβδομοΚαθηγητής: Α. Βαφειάδης
2008
2Α. Βαφειάδης
Ορισμοί
Clock Cycle: Το διάστημα μεταξύ δύο γεγονότων ρολογιού (π.χ ακμές ανόδου)
Clock rate : Η συχνότητα των κύκλων στη μονάδα του χρόνου
Clock cycle time (period) = η διάρκεια ενός Clock Cycle (σε ns)
Clock rate = 1/clock cycle time (σε MΗz)
Περίοδος
Κατάσταση 1
Κατάσταση 0
Ακμή ανόδου Ακμή καθόδου
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 = Περίοδος κύκλου
4Α. Βαφειάδης
Ορισμοί - τύποι
Clock cycles/instruction (CPI) = = Πλήθος κύκλων/εντολή = = ο μέσος αριθμός των κύκλων που χρειάζεται μια εντολή
γλώσσας μηχανής για να εκτελεστεί
Instruction count (IC) = = πλήθος εντολών = = το συνολικό πλήθος των εντολών ενός προγράμματος
Cycles /instruction (CPI) =
πλήθος κύκλων ανά πρόγραμμα = πλήθος εντολών προγράμματος
5Α. Βαφειάδης
CPU Time προγράμματος
CPU time = πλήθος CPU κύκλων Χ περίοδος κύκλου =
πλήθος CPU κύκλων = Clock rate
CPU time = πλήθος εντολών Χ πλήθος κύκλων ανά εντολή Χ περίοδος κύκλου
πλήθος εντολών Χ πλήθος κύκλων ανά εντολήCPU time = Clock rate
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 + Οργάνωση
Υποθέτουμε ότι όλες οι εντολές εκτελούνται σε ίδιους κύκλους
7Α. Βαφειάδης
Ο γενικευμένος βασικός τύπος
N
iii CPIxICcyclesclockCPU
1
Υποθέτουμε ότι ένα πρόγραμμα αποτελείται από Ν διαφορετικό πλήθος εντολών η ομάδων εντολών γλώσσας μηχανής όπου ICi παριστάνει το πλήθος των κύκλων της εντολής i στην οποία αντιστοιχεί το CPIi
N
ii
i
N
iii
N
iii
CPIxCountnInstructio
ICCountnInstructio
CPIxIC)average(CPI
timecycleClockxCPIxICTimeCPU
1
1
1
8Α. Βαφειάδης
ΠΑΡΑΔΕΙΓΜΑ
Έχουμε δύο μηχανές Α και Β που έχουν την ίδια
αρχιτεκτονική του instruction set αλλά διαφορετική υλοποίηση.
Η μηχανή Α έχει clock cycle time = 1ns
και τρέχει ένα πρόγραμμα με CPI=2
Η μηχανή B έχει clock cycle time = 2ns
και τρέχει το ίδιο πρόγραμμα με CPI=1.2
Ποια μηχανή είναι πιο γρήγορη και πόσες φορές ?
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 φόρες η απόδοσης του Β.
10Α. Βαφειάδης
Amdahl’s Low
SEFE
)FE(SO
1
1
SO = Ολική βελτίωση
FE = Ποσοστό μέρους που βελτιώνεται
SE = Μερική βελτίωση
FE < 1 και S0, SE > 1
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%
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
13Α. Βαφειάδης
Amdahl’s Low (Πολλαπλές Βελτιώσεις)
i i i
ii SE
FEFESO
1
1
FEι = Ποσοστό μέρους ι που βελτιώνεταιSEι = Μερική βελτίωση ι