kraken Δημοσιεύτηκε Σεπτέμβριος 5, 2014 #1 Δημοσιεύτηκε Σεπτέμβριος 5, 2014 Μπορει κανεις να μου απαντησει σε αυτην την ερωτηση;Εστω οτι εχετε ενα υπολογιστικο συστημα με κρυφη μνημη οπου: εχετε100 blocks κυριας μνημης και8 θεσεις στην κρυφη μνημη για προσωρινη αποθηκευση των blocks τα οποια κραταΘεωρηστε οτι ερχονται αιτησεις για προσβαση στα παρακατω blocks της κύριας μνημης και με τη σειρα που σας διδεται: 18, 18, 23, 18, 14, 26, 24, 26, 18, 56, 88, 98, 66, 15, 34a. Σε περιπτωση που ειχατε οργανωση της cache με τεχνικη αμεσης απεικονισης (direct mapping) τοτε ποτε θα δημιουργηθει η αναγκη για αντικατασταση των περιεχομενων της cache για πρωτη φορα;b. Ποιο ειναι το cache hit ratio; (λογος επιτυχιας)
Tsoureki Σεπτέμβριος 6, 2014 #2 Σεπτέμβριος 6, 2014 a. Όταν κληθεί το block 66b. 4/15EDITED: Δες παρακάτω
kraken Σεπτέμβριος 6, 2014 Author #3 Σεπτέμβριος 6, 2014 Πρωτον, ευχαριστω!Δευτερον μπορεις να μου πεις πως το βρισκεις το δευτερο;
kazabubu Σεπτέμβριος 7, 2014 #4 Σεπτέμβριος 7, 2014 a. Όταν κληθεί το block 66b. 4/15Οταν κληθει το block 26 δε θα αντικατασταθει το block 18? Εμένα μου βγαίνει 3/15 αλλά μπορεί και να μη τα θυμάμαι καλά..
kazabubu Σεπτέμβριος 7, 2014 #6 Σεπτέμβριος 7, 2014 Ναι και αναφέρει και τεχνική direct mapping οπότε αν το καταλαβαίνω καλά το 18 και το 26 θα πάνε και τα δυο στη θέση 1 (αν οι θέσεις της cache αριθμηθούν 0,1,2,3,4,5,6,7) και η αρίθμηση των 100 blocks ξεκινά από το 1.(ή στη θέση 2 αν η αρίθμηση των 100 ξεκινάει από το 0)
kraken Σεπτέμβριος 8, 2014 Author #8 Σεπτέμβριος 8, 2014 Υπαρχει καπου καποιο tutorial στο internet;Δεν εχω βρει τιποτα ουτε στα Αγγλικα.
Tsoureki Σεπτέμβριος 8, 2014 #9 Σεπτέμβριος 8, 2014 Υπάρχουν αρκετά tutorials στο internet μαζί με παραδείγματα. Η λογική είναι η εξής:-Βλέπεις πόσες θέσεις cache έχεις και ανάλογα με το πλήθος τους τις χωρίζεις σε όσο το δυνατόν περισσότερα Least Significant Bits. Επειδή εδώ έχεις μόνο 8, θα την χωρίσεις με βάση τα τελευταία 3 LSBs. (000,001,010,011,100,101,110,111)-Κατανέμεις μετά τα blocks στην cache ανάλογα με τα 3 LBSs τους. Για αυτό και το 26 αντικαθιστά το 18. Ανήκουν στα 010 - όπως και τα 98 και 66.Αν είχες 16 θέσεις cache δηλαδή 2^4, θα μπορούσες να τους διαχωρίσεις με βάση τα 4 LSBs.
kazabubu Σεπτέμβριος 8, 2014 #10 Σεπτέμβριος 8, 2014 Συγκεκριμένα για το direct mapping που είναι απλή περίπτωση, το να κρατήσεις τα 3 LSB που λέει και ο τσουρέκι είναι σαν να κάνεις ακέραια διαίρεση με το 8 (2^3) και να κρατάς το υπόλοιπο της διαίρεσης.Οπότε 18 modulo 8 = 2 (010)26 modulo 8 = 2 (010) Άρα πάνε στην ίδια θέση.
kraken Σεπτέμβριος 9, 2014 Author #11 Σεπτέμβριος 9, 2014 Ευχαριστω, το πρωτο ερωτημα κατανοητο!To hit ratio πως βγαινει ομως;
nucleus Σεπτέμβριος 10, 2014 #12 Σεπτέμβριος 10, 2014 Hit ratio βγαίνει αν διαιρέσεις τα hits (δηλαδή πόσες φορές βρήκε το item που ζητήθηκε στην cache,χωρίς να χρειαστεί να το φέρει από την κύρια μνήμη) με το σύνολο των αιτήσεων που έγινε στην cache.H σειρά σου είναι 18, 18, 23, 18, 14, 26, 24, 26, 18, 56, 88, 98, 66, 15, 34Συνολικά δηλαδή 15 requests όσα και τα blocks.Πρώτο request 18.Δεν υπάρχει στην cache οπότε μετράει σαν miss (πρέπει να το φέρει από την κύρια μνήμη και να το γράψει σε μια θέση στην cache)Δεύτερο request:18.Υπάρχει στην cache άρα είναι hit.Τρίτο request: 23 Δεν υπάρχει στην cache.Τέταρτο request:18 Υπάρχει στην cache άρα είναι hit.Κάνεις το παραπάνω για όλα τα requests λαμβάνοντας υπόψη και το πρώτο ερώτημα.Μόλις βρεις όλα τα hits διαιρείς με το 15.
Recommended Posts
Archived
This topic is now archived and is closed to further replies.