δεδοµένα και κύριαµνήµη. Η κρυφήµνήµη έχει λόγο επιτυχίας λ=0,9 και η προσπέλασή της βάζει
καθυστέρηση ενός κύκλου ρολογιού. Σε κάθε περίπτωση αποτυχίας να βρεθεί η πληροφορία στην
κρυφήµνήµη, έχουµε καθυστέρηση 50 κύκλων ρολογιού για τηµεταφορά ενόςµπλοκ πληροφορίας
από την κύριαµνήµη στην κρυφήµνήµη. Ο χρόνος κύκλου ρολογιού είναι 2 ns. Υποθέστε ότι το
σύνολο των εντολών του προγράµµατος σε επίπεδο γλώσσαςµηχανής αποτελείται από τα πέντε είδη
εντολών που περιγράφονται στον Πίνακα 4.1.
i. Υπολογίστε το συνολικό χρόνο που δαπανάται για την προσπέλαση του συστήµατος µνήµης
κατά την εκτέλεση του προγράµµατος του οποίου τα χαρακτηριστικά δίνονται στον Πίνακα4.2
και τοµέσο χρόνο προσπέλασης του συστήµατοςµνήµης.
ii. Εάν κάθε εντολή απαιτεί για την εκτέλεσή της2 κύκλους επιπλέον του χρόνου προσπέλασης του
συστήµατοςµνήµης, να υπολογίσετε το συνολικό χρόνο εκτέλεσης του προγράµµατος και τον
µέσο αριθµό κύκλων ανά εντολή.
Υποθέστε ότι τόσο το εκτελούµενο πρόγραµµα όσο και τα απαιτούµενα δεδοµένα βρίσκονται στην
κύριαµνήµη. Η ΚΜΕµπορεί να προσπελάσει εντολές και δεδοµέναµόνο από την κρυφήµνήµη, η
προσπέλαση γίνεται ανά ψηφιολέξη και τόσο η κρυφή όσο και η κύριαµνήµη έχουν οργάνωση µιας
ψηφιολέξης ανά θέσηµνήµης.
----------------------------ΑΠΆΝΤΗΣΉ------------------------------------------------------------------
i) Η κεντρική μονάδα επεξεργασίας (ΚΜΕ) προσπελνα την μνήμη για να διαβάσει δεδομένα. Κάθε φόρα που χρειάζεται να εκτελεστεί μια εντολή αρχικά αναζητείται η πληροφορία στην κρυφή μνήμη εάν δεν υπάρχει η πληροφορία στην κρυφή μνήμη τότε αναζητάτε στην κύρια μνήμη. Το πρόγραμμα μας αποτελείται από τις εντολές Α,Β,Γ,Δ και Ε όπου κάθε εντολή εκτελείται αρκετές φόρες στο πρόγραμμα μας και το πληθος κάθε εντολής στο πρόγραμμα μας είναι διαφορετικό.
Για να υπολογίσουμε το συνολικού χρόνο προσπέλασης της μνήμης πρέπει να υπολογίσουμε όλες τις προσβάσεις που γίνονται στην κρυφή και στην κύρια μνήμη χωριστά. Ο χρόνος προσπέλασης στην κρυφή μνήμη είναι διαφορετικός με τον χρόνο στην κυρία. Αφυ υπολογίσουμε τον σύνολο των προσβάσεων που χρειάζεται το πρόγραμμα μας στην κρυφή μνήμη έπειτα μπορούμε να βρούμε το σύνολο των κύκλων ρολογιού για την εκτέλεση του προγράμματος στην κρυφή μνήμη , αφού κάθε πρόσβαση στην κρυφή μνήμη χρειάζεται ένα κύκλο ρολογιού. Με τον ίδιο ακριβώς τρόπο θα υπολογίσουμε και τους κύκλους ρολογιού για την κύρια μνήμη μόνο που κάθε πρόσβαση στην κύρια μνήμη αντιστοιχεί σε 50 κύκλους.
Αρχικά πρέπει να υπολογίσουμε για κάθε εντολή πόσες προσβάσεις χρειάζεσαι στην μνήμη για να εκτελεστεί μια φορά. Για κάθε εντολή έχουμε μια πρόσβαση για να διαβάσει η ΚΜΕ την εντολή και ενδέχεται η εντολή όταν εκτελείτε να χρειάζεσαι και επιπλέων πρόσβαση στην μνήμη κατά την εκτελέσει της. Συνολικά για κάθε εντολή το άθροισμα αυτών τον προσβάσεων θα είναι οι συνολικές προσβάσεις της εντολής στην μνήμη για κάθε φορά που θα εκτελείτε η εντολή. δηλαδή για τις εντολές μας θα είναι
Είδος εντολής | Ψηφιολέξεις που καταλαμβάνει στη μνήμη | Πλήθος ψηφιολεξεων μνήμης που προσπελαυνει η εντολή | Πλήθος ψηφιολεξεων μνήμης για την εκτέλεση μιας εντολής |
Α | 1 | 0 | 1 |
Β | 1 | 1 | 2 |
Γ | 2 | 1 | 3 |
Δ | 2 | 0 | 2 |
Ε | 3 | 2 | 5 |
Τώρα μπορούμε εύκολα να υπολογίσουμε για όλο το πρόγραμμα μας το πλήθος προσβάσεων στην μνήμη λαβώνοντας υπόψη το πλήθος εκτέλεσης κάθε εντολής . Δηλαδή θα πολλαπλασιάσουμε το πλήθος ψηφιολεξεων της κάθε εντολής επί το πλήθος των εκτελούμενων εντολών. Θα έχουμε
Ειδος εντολης | Πλήθος ψηφ. για την εκτελεση μιας εντολης | Πλήθος εκτελούμενων εντολών | Συνολοκα Για Το προγραμμα. |
Α | 1 | 500 | 500 |
Β | 2 | 400 | 800 |
Γ | 3 | 90 | 270 |
Δ | 2 | 100 | 200 |
Ε | 5 | 20 | 100 |
ΣΥΝΟΛΟ | 1870 ψηφιολεξεις |
Η προσπέλαση
Από την εκφώνηση έχουμε ότι ο λόγος επιτυχίας της κρυφής μνήμης είναι λ=0,9
γνωριζουμε ότι ο λογος επιτυχιας είναι αναλογος με το πληθος της επιτυχημενης προσκομηση από την μνημη προς το συνολο των αναφορων δηλαδη
0,9=
=>Ni=1870*0,9=>

Ni=1683 ψηφιολεξεις
Δηλαδή στο πρόγραμμα που θα εκτελέσουμε όλες τις εντολές θα απαιτηθούν 1870 αναγνώσεις από την μνήμη (όσες και οι ψηφιολεξεις ). Από αυτές οι 1683 θα πραγματοποιηθούν από την κρυφή μνήμη και υπόλοιπες από την κυρία. Για την κυρία μνήμη θα χρειαστεί 1870-1683=187 αναγνώσεις.
Όλες οι παραπάνω πράξεις γάνωνε γιατί θεωρήσαμε ότι η προσπέλαση γίνεται ανά ψηφιολεξη και η κρυφή μνήμη αλλά και η κύρια έχουν οργάνωση ανά ψηφιολεξη.
Γνωρίζουμε ότι η κρυφή μνήμη χρειάζεσαι ένα κύκλο ρολόγιου για να διαβάσει μια ψηφιολεξη.
δηλαδή για τις 1683 ψηφιολεξεις θα απαιτηθούν 1683 Hz
αντίστοιχα εάν δεν βρεθεί η πληροφορία στην κρυφή μνήμη τότε θα αναγκαστούμε να την αναζητήσουμε στην κύρια μνήμη όπου απαιτητέ 50 κύκλους ρολογιού συνολικά δηλαδή θα είναι 51 , προσθέτουμε και τον 1 κύκλο που αναζητούμε στην κρυφή μνήμη (και που δεν το βρίσκουμε ) . Για το προγράμματα θα έχουμε
187 * 51 =9537 Ηz
συνολικά το πρόγραμμα μας χρειάζεσαι 9537+1683=11220HZ (για να διαβάσει τα δεδομένα από την μνήμη)
Κάθε κύκλος ρολογιού εκτελείται σε 2 ns δηλαδή όλο το πρόγραμμα χρειάζεται για την προσπέλαση του συστήματος μνήμης 11220 *2= 22440ns.
Το μέσο χρόνο προσπέλασης του συστήματος μνήμης μπορούμε να το υπολογίσουμε εύκολα προσθέτοντας όλους τους κύκλους ρολογιού που χρειάζεσαι για τις 1870 αναγνώσεις.
συνολικά το πρόγραμμα εκτελείται σε 11220 κύκλους όπου πραγματοποιεί 1870 αναγνώσεις. χ κύκλους χρειάζεται για 1 ανάγνωση.
δηλαδή για μια ανάγνωση χ χρειάζεσαι χ=11220/1870 => χ=6 κύκλους
γνωρίζουμε ότι ο κύκλος χρειάζεται 2 ns
Δηλαδή ο μέσος χρόνος προσπέλασης του συστήματος μνήμης είναι 2 *6=12 ns.
0 Σχόλια