Κεφάλαιο 1 | Ενότητα 2 | Ερωτήσεις επισκόπησης | Προηγούμενο |Επόμενο| Λεξικό όρων

Η εξίσωση της απόδοσης της ΚΜΕ

Οι περισσότεροι υπολογιστές έχουν κατασκευαστεί ώστε να χρησιμοποιούν ένα ρολόϊ που λειτουργεί με σταθερό ρυθμό. Τα γεγονότα που συμβαίνουν σε διακριτό χρόνο καλούνται χτύποι ρολογιού, περίοδοι ρολογιού, κύκλοι ρολογιού, ρολόγια ή χτύποι.
Οι σχεδιαστές υπολογιστών αναφέρονται στον χρόνο μίας περιόδου ρολογιού είτε με την διάρκειά της π.χ. 2 ns είτε με την συχνότητά του π.χ. 500 MHz.
Ο χρόνος της ΚΜΕ ενός προγράμματος μπορεί να εκφραστεί με δύο τρόπους:

    (Τύπος 1.17)


    (Τύπος 1.18)

   Εκτός από τον αριθμό των κύκλων ρολογιού που απαιτούνται για την εκτέλεση ενός προγράμματος μπορούμε να υπολογίσουμε το πλήθος των εντολών που εκτελούνται (IC) ή το μήκος μονοπατιού εντολών. Εάν γνωρίζουμε το πλήθος των κύκλων ρολογιού και τον αριθμό των εντολών (instruction count) μπορούμε να υπολογίσουμε το μέσο πλήθος των κύκλων ρολογιού ανά εντολή (CPI):

    (Τύπος 1.19)

   Αντικαθιστώντας το πλήθος εντολών που εκτελούνται από την παραπάνω σχέση στον τύπο 17 προκύπτει:

    (Τύπος 1.20)


    (Τύπος 1.21)

   Επεκτείνοντας την πρώτη από τις δύο παραπάνω σχέσεις στις μονάδες μέτρησης προκύπτει:

Όπως δείχνει ο τύπος (1.20), η απόδοση της ΚΜΕ εξαρτάται από 3 χαρακτηριστικά από:

  1. τον κύκλο ή συχνότητα ρολογιoύ

  2. τον αριθμό κύκλων ανά εντολή

  3. το πλήθος εντολών

Επιπλέον ο χρόνος ΚΜΕ εξαρτάται εξίσου και από τα 3 αυτά χαρακτηριστικά: Μία 10% βελτίωση σε κάποιο από αυτά οδηγεί σε 10% βελτίωση του ΚΜΕ χρόνου.
Δυστυχώς είναι δύσκολο να αλλάξουμε μία από τις παραμέτρους αυτές χωρίς να επηρεαστούν και οι άλλες γιατί οι βασικές τεχνολογίες που σχετίζονται με την αλλαγή κάθε χαρακτηριστικού αλληλοεξαρτώνται.

   Ευτυχώς πολλές τεχνικές βελτίωσης απόδοσης αρχικά βελτιώνουν ένα συστατικό της απόδοσης της ΚΜΕ με μικρή ή προβλέψιμη επιρροή στα άλλα δύο. Μερικές φορές είναι χρήσιμο καθώς σχεδιάζουμε την ΚΜΕ να υπολογίζουμε τον ολικό αριθμό κύκλων ρολογιού της ΚΜΕ.

ΚΜΕ κύκλοι ρολογιού  =  Τύπος 1.22

'Οπου
CPIi: μέσος αριθμός κύκλων ρολογιού για την εντολή i
ICi: πόσες φορές εκτελείται η i εντολή σε ένα πρόγραμμα

'Ετσι μπορούμε να εκφράσουμε τον χρόνο της ΚΜΕ ως εξής:

Τύπος 1.23

Τέλος το ολικό CPI (κύκλοι ρολογιού ανά εντολή) είναι:

Τύπος 1.23

'Οπου
IC (instruction count): πλήθος εντολών που εκτελούνται
ICi: πόσες φορές εκτελείται η εντολή i σε ένα πρόγραμμα

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

Παράδειγμα στην υποενότητα 2.2Παράδειγμα



ΔΡΑΣΤΗΡΙΟΤΗΤΑ 2

Μπορείτε να εξηγήσετε το λόγο για τον οποίο η εξίσωση της ΚΜΕ πλεονεκτεί έναντι του νόμου του Amdahl;

 

ΑΠΑΝΤΗΣΗ ΔΡΑΣΤΗΡΙΟΤΗΤΑΣ 2

Στην πράξη, αθροίζουμε το γινόμενο του πλήθους των εντολών που εκτελούνται με τους κύκλους ρολογιού ανά εντολή για καθεμία από τις εντολές του συνόλου.

ΔΡΑΣΤΗΡΙΟΤΗΤΑ 3

Έστω ότι έχουμε τις ακόλουθες εναλλακτικές λύσεις για τις εντολές διακλάδωσης με συνθήκη:
ΚΜΕΑ : ένας κώδικας συνθήκης ορίζεται από εντολή σύγκρισης και ακολουθείται από μία διακλάδωση η οποία ελέγχει τον κώδικα συνθήκης.
ΚΜΕΒ : στην διακλάδωση περιέχεται μία σύγκριση.
Και στις δύο ΚΜΕ, η εντολή διακλάδωσης με συνθήκη διαρκεί δύο κύκλους ρολογιού και όλες οι άλλες εντολές διαρκούν ένα κύκλο ρολογιού. Στην πρώτη ΚΜΕ το 20% των εντολών που εκτελούνται είναι συγκρίσεις. Επειδή η πρώτη ΚΜΕ δεν περιέχει τη σύγκριση μέσα στη διακλάδωση, υποθέτουμε ότι η διάρκεια του κύκλου ρολογιού της είναι 1.25 φορές πιο γρήγορη από αυτή της δεύτερης ΚΜΕ.
α) Να βρείτε ποια από τις δύο ΚΜΕ είναι πιο γρήγορη.
β) Ποια από τις δύο ΚΜΕ είναι πιο γρήγορη στην περίπτωση που η διάρκεια του κύκλου ρολογιού της είναι 1.1 φορές πιο γρήγορη από αυτή της δεύτερης ΚΜΕ;

 

ΑΠΑΝΤΗΣΗ ΔΡΑΣΤΗΡΙΟΤΗΤΑΣ 3