Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

δεν ήξερα που να το βάλω..

 

η εκφώνηση παει καπως έτσι:

Έχουμε ένα πρόγραμμα που τρέχει σε επεξεργαστή με ρολοι 1GHz σε 10s. Στην προσπάθεια να βελτιστοποιηθεί η απόδοση αντικαθιστάτε κάθε μια εντολή πολλαπλασιασμού επι 4 (Χ*4) με 2 εντολές πρόσθεσης (Χ+Χ και πάλι Χ+Χ). Το CPI για τις εντολές πολλαπλασιαμού είναι 4 ενώ για τις εντολές πρόσθεσης είναι 1. Το νεο πρόγραμμα που προκύπτει εκτελείται σε 9s. Πόσες εντολές πολλαπλασιαμού αντικαταστάθηκαν;

 

πως μπορώ να το λύσω αυτό;

Δημοσ.

1 GHz σημάνει ότι σε ένα second ο επεξεργαστής κάνει 109 κύκλους μηχανής.

1 CPI σημαίνει ότι η εντολή χρειάζεται έναν κύκλο μηχανής για να εκτελεστεί στον επεξεργαστή.

Εφ όσων πήγαμε απ τα 10 στα 9 second, σημαίνει ότι η συνολικο όφελος ήταν ίση με 1 second, δηλαδή 109 κύκλους μηχανής.

Η αντικατάσταση ενός πολλαπλασιασμού με δύο προσθέσεις έχει όφελος 2 κύκλους μηχανής.

(αφου: CPIπολλ/μου - 2*CPIπροσθεσης = 4 - 2*1 = 2)


Άρα υπήρχαν
συνολικο όφελος / όφελος μιας αντικαταστασης = 109/ 2 = 5 * 108 πολλαπλασιασμοι

 

Δημοσ.

Εφ όσων πήγαμε απ τα 10 στα 9 second, σημαίνει ότι η βελτίωση ήταν ίση με 1 second, δηλαδή 1000000000 κύκλους μηχανής.

 

εδω μηπως πρεπει να φυγει ενα μηδενικο;

 

γιατι εκανες / 2;

 

επειδή το CPI της πρόσθεσης είναι 1. άρα του πολλαπλασιασμού είναι 2* CPI της πρόσθεσης(=2);

Δημοσ.

 

Η αντικατάσταση ενός πολλαπλασιασμού με δύο προσθέσεις έχει όφελος 2 κύκλους μηχανής.

(αφου: CPIπολλ/μου - 2*CPIπροσθεσης = 4 - 2*1 = 2)

 

 

Άρα υπήρχαν

συνολικο όφελος / όφελος μιας αντικαταστασης = 109/ 2 = 5 * 108 πολλαπλασιασμοι

 

 

Εδώ έχει να αντικαταστήσει 1 πολλαπλασιασμό (4*Χ) με 3 προσθέσεις (Χ+Χ)++Χ)

Άρα πιστέυω ότι το όφελος θα είναι CPIπολλ/μου - 3*CPIπροσθεσης = 4 - 3*1 = 1 όποτε και οι αντικαταστάσεις 109

ή κάνω λάθος;

Δημοσ.

Εδώ έχει να αντικαταστήσει 1 πολλαπλασιασμό (4*Χ) με 3 προσθέσεις (Χ+Χ)++Χ)

Άρα πιστέυω ότι το όφελος θα είναι CPIπολλ/μου - 3*CPIπροσθεσης = 4 - 3*1 = 1 όποτε και οι αντικαταστάσεις 109

ή κάνω λάθος;

Οχι, για σκεψου το σεναριο:

 

Χ = Χ + Χ

Χ = Χ + Χ

Αν το Χ ηταν 5, μετα τηεν πρωτη εντολη θα γινει 5 + 5, αρα 10, ενω μετα τη δευτερη εντολη θα γινει 10 + 10, αρα 20, δηλαδη 5 * 4.

Δημοσ.

Οχι, για σκεψου το σεναριο:

 

Χ = Χ + Χ

Χ = Χ + Χ

Αν το Χ ηταν 5, μετα τηεν πρωτη εντολη θα γινει 5 + 5, αρα 10, ενω μετα τη δευτερη εντολη θα γινει 10 + 10, αρα 20, δηλαδη 5 * 4.

Ουπς! Έχετε ένα δίκιο :P :D

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...