Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών"

Transcript

1 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ:ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΣΧΕΔΙΑΣΜΟΥ ΟΛΟΚΛΗΡΩΜΕΝΩΝ ΚΥΚΛΩΜΑΤΩΝ ΜΕΓΑΛΗΣ ΚΛΙΜΑΚΑΣ (VLSI-DESIGN) Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών Σιουρούνη Κωνσταντίνου του Αναστασίου Αριθμός Μητρώου: 6087 Θέμα «Τεχνικές Μεταγλωττιστών για Βελτιστοποίηση Ειδικών Πυρήνων Λογισμικού» Επιβλέπων Επίκουρος Καθηγητής Γεώργιος Θεοδωρίδης Αριθμός Διπλωματικής Εργασίας: Πάτρα, Μάρτιος

2 --

3 ΠΙΣΤΟΠΟΙΗΣΗ Πιστοποιείται ότι η Διπλωματική Εργασία με θέμα «Τεχνικές Μεταγλωττιστών για Βελτιστοποίηση Ειδικών Πυρήνων Λογισμικού» Του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Σιουρούνη Κωνσταντίνου του Αναστασίου Αριθμός Μητρώου: 6087 Παρουσιάστηκε δημόσια και εξετάστηκε στο Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών στις.../../ Ο Επιβλέπων Ο Διευθυντής του Τομέα Επίκουρος Καθηγητής Γεώργιος Θεοδωρίδης Καθηγητής Ευθύμιος Χούσος -3-

4 -4-

5 Αριθμός Διπλωματικής Εργασίας: Θέμα: «Τεχνικές Μεταγλωττιστών για Βελτιστοποίηση Ειδικών Πυρήνων Λογισμικού» Φοιτητής: Κωνσταντίνος Σιουρούνης Επιβλέπων: Γεώργιος Θεοδωρίδης Περίληψη Με την ολοένα και αυξανόμενη τάση για ενσωματωμένα (embedded) και φορητά υπολογιστικά συστήματα της σύγχρονης εποχής, έχει δημιουργηθεί ένας ολόκληρος επιστημονικός κλάδος γύρω από τεχνικές βελτιστοποίησης μεταγλωττιστών για ειδικούς πυρήνες λογισμικού που εκτελούνται στα συστήματα αυτά. Κάνοντας χρήση τεχνικών βελτιστοποίησης τα κέρδη είναι πολλαπλά. Καταρχήν οι πυρήνες μπορούν να ολοκληρώσουν το χρόνο που απαιτείται για να ολοκληρωθεί η εκτέλεση τους σε πολύ μικρότερο διάστημα, έχοντας πολύ μικρότερες απαιτήσεις μνήμης. Επίσης μειώνονται οι ανάγκες τους σε επεξεργαστική ισχύ κάτι το οποίο άμεσα οδηγεί στη μείωση κατανάλωσης ενέργειας, στην αύξηση αυτονομίας τους σε περίπτωση που μιλάμε για φορητά συστήματα και στις ανάγκες για ψύξη των συστημάτων αυτών καθώς εκλύονται πολύ μικρότερα ποσά ενέργειας. Έτσι λοιπόν επιτυγχάνονται κέρδη σε πολλούς τομείς (χρόνος εκτέλεσης, ανάγκες μνήμης, αυτονομία, έκλυση θερμότητας) καθιστώντας τον κλάδο των βελτιστοποιήσεων ένα από τους πιο ταχέως αναπτυσσόμενους κλάδους. Εκτός όμως από την σκοπιά της αύξησης επιδόσεων, στην περίπτωση των ενσωματωμένων συστημάτων πραγματικού χρόνου (real time operations) που όταν ξεπερνιούνται οι διορίες χρόνου εκτέλεσης οδηγούνται σε υποβαθμισμένες επιδόσεις (soft real time) και ειδικότερα στην περίπτωση αυτών που οδηγούνται σε αποτυχία όταν ξεπερνιούνται οι διορίες αυτές (hard real time operations), οι τεχνικές αυτές αποτελούν ουσιαστικά μονόδρομο για την υλοποίηση των συστημάτων αυτών σε λογικά επίπεδα κόστους. Η διαδικασία όμως της ανάπτυξης βελτιστοποιήσεων δεν είναι αρκετή καθώς είναι εξίσου σημαντικό το κατά πόσο οι βελτιστοποιήσεις αυτές -5-

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

7 Πρόλογος Θα ήθελα να ευχαριστήσω τον Επίκουρο Καθηγητή κ. Γεώργιο Θεοδωρίδη για την πολύτιμη καθοδήγησή του κατά την εκπόνηση της διπλωματικής εργασίας. Επίσης θα ήθελα να ευχαριστήσω τον Kαθηγητή κ. Κωνσταντίνο Γκούτη του οποίου τα μαθήματα μου γέννησαν ουσιαστικά το ενδιαφέρον για τον κλάδο του Σχεδιασμού Ολοκληρωμένων Κυκλωμάτων. Τέλος τον κ. Βασίλειο Κελεφούρα υποψήφιο Διδάκτορα για τη συνεχή βοήθεια και καθοδήγησή του σε κάθε δυσκολία που αντιμετώπισα. Πάτρα, Μάρτιος

8 -8-

9 Περιεχόμενα 1 Εισαγωγή...13 Ιεραρχία Μνήμης Εισαγωγή Κρυφή Μνήμη Περιγραφή Πολιτική Τοποθέτησης Κρυφές Μνήμες Άμεσης Αντικατάστασης Κρυφές Μνήμες Πλήρους Συσχέτισης Κρυφές Μνήμες Συνολοσυσχέτισης Κ-δρόμων Πολιτική Αντικατάστασης Τακτική Ενημέρωσης Επόμενου Επιπέδου Ιεραρχίας Μνήμης Απόδοση Κρυφών Μνημών Βελτίωση της Απόδοσης Κρυφών Μνημών Μείωση της Ποινής Αστοχίας Μείωση του Ρυθμού Αστοχίας Μεγαλύτερο Μέγεθος Μπλοκ Υψηλότερος Βαθμός Συνολοσυσχέτισης Κύρια Μνήμη Τεχνολογίες Μνημών Στατικές Μνήμες Δυναμικές Μνήμες Τεχνολογίες Μνήμης Ενσωματωμένων Συστημάτων Τεχνικές Μεταγλωττιστών για Βελτιστοποίηση Προγραμμάτων Εισαγωγή Μεταγλωττιστές Εξαρτήσεις Δεδομένων Control Structural Παραλληλισμός Επιπέδου Εντολής Μετασχηματισμοί Μετασχηματισμοί Βρόγχων

10 Εναλλαγή Βρόγχων (Loop permutation interchange) Συγχώνευση Βρόγχων (Loop merge, fusion) Αλλαγή Βάσης Βοηθητικών Μεταβλητών Βρόγχου (Loop bump) Επέκταση Βρόγχων (Loop extend) Συρρίκνωση Βρόγχων (Loop peeling) Διαχωρισμός Βρόγχων (Loop fission, distribution) Αντιστροφή Βρόγχων (Loop reversal) Κατάτμηση σε Μπλοκ (Τiling, blocking) Ενός Επιπέδου Tiling (1 level of blocks) Πολλαπλών Επιπέδων Tiling (multiple level of blocks) Ξεδιπλώνοντας Διαδοχικές Επαναλήψεις Βρόγχων (loop unrolling) Αφαίρεση Μεταβλητών μη Εξαρτώμενων από το Βρόγχο (invariant code motion) Ξεδιπλώνοντας Δίκλαδες Συναρτήσεις (loop unswitching) Βαθμωτή Επέκταση Μεταβλητών (scalar replacement) Αφαίρεση τμήματος κώδικα που δεν χρησιμοποιείται κατά την εκτέλεση (unreachable, dead code elimination) Μείωση Απαιτητικών Πράξεων Βελτιστοποίηση Αλγορίθμου Πολλαπλασιασμού Διανύσματος με Πίνακα Toeplitz Πολλαπλασιασμός Πίνακα Με Διάνυσμα Ειδική Περίπτωση Πολλαπλασιασμός Διανύσματος με Πίνακα Toeplitz Βελτιστοποίηση Πολλαπλασιασμού Διανύσματος με Πίνακα Toeplitz Χρονοπρογραμματισμός Μείωσης Μεγέθους του Πίνακα Χρονοπρογραμματισμός για Μείωση των Πράξεων Εισαγωγή Μαθηματικό Μοντέλο Μέγεθος Πίνακα Ίσο με Περιττό Αριθμό Μέγεθος Πίνακα Ίσο με Άρτιο Αριθμό Σύγκριση των Περιπτώσεων Βελτιστοποίηση Πράξεων Δισδιάστατος Πίνακας Α Μεγέθους ΝxN Μονοδιάστατος Πίνακας Α Μεγέθους Ν Χρονοπρογραμματισμός για Μείωση Μετακινήσεων στη Μνήμη Εισαγωγή Περιγραφή Υλοποίησης ανά Μια Διαγώνιο Περιγραφή Υλοποίησης ανά 3 Διαγωνίους Χρονοπρογραμματισμός για τη Μείωση των Μετακινήσεων καθώς και των Πράξεων Ταυτόχρονα Χρονοπρογραμματισμός για τη Μείωση των Μετακινήσεων στην Γενική Περίπτωση Πίνακα Εφαρμογή Κατάτμησης στους Χρονοπρογραμματισμούς Σύγκριση Βελτιστοποιήσεων Πειραματικά Αποτελέσματα Χρονοπρογραμματισμών Εισαγωγή Ο εξομοιωτής Simplescalar

11 5.3 Πειραματικά Αποτελέσματα Σύγκριση Χρονοπρογραμματισμών των οποίων το Μέγεθος των Δεδομένων τους είναι Μικρότερο από το Μέγεθος του Πρώτου Επιπέδου Κρυφής Μνήμης Σύγκριση Χρονοπρογραμματισμών των οποίων το Μέγεθος των Δεδομένων τους είναι Μικρότερο από το Μέγεθος του Δεύτερου Επιπέδου Κρυφής Μνήμης Επίπτωση της Κατάτμησης στην Απόδοση των Χρονοπρογραμματισμών των οποίων το Μέγεθος των Δεδομένων τους είναι Μεγαλύτερο Οποιοδήποτε Επίπεδο Κρυφής Μνήμης Σύγκριση των Χρονοπρογραμματισμών Χρήση Ενός Επιπέδου Tiling Απόδοση των Χρονοπρογραμματισμών Χρήση Πολλαπλών Επιπέδων Tiling Επίπτωση του Μεγέθους της Κρυφής Μνήμης Δεδομένων στην Απόδοση των Χρονοπρογραμματισμών Επίπτωση του Μεγέθους Κρυφής Μνήμης Εντολών στην Απόδοση των Χρονοπρογραμματισμών Παράρτημα Κώδικας Χρονοπρογραμματισμού Opt Κώδικας Χρονοπρογραμματισμού Opt Κώδικας Χρονοπρογραμματισμού Opt Κώδικας Χρονοπρογραμματισμού Opt Κώδικας Χρονοπρογραμματισμού Opt Παραλλαγή του Opt-4 για 4 Στοιχεία ανά Διαγώνιο Βιβλιογραφία

12 -1-

13 Κεφάλαιο 1 Εισαγωγή Καθώς η τάση των τελευταίων χρόνων στρέφεται όλο και περισσότερο σε τεχνολογίες φορητών συσκευών και αφοσιωμένων σε συγκεκριμένους σκοπούς συστημάτων τόσο πιο πολύ αυξάνεται η ανάγκη για βελτιστοποίηση των διαδικασιών που τρέχουν ούτως ώστε να απαιτούν λιγότερη μνήμη, επεξεργαστική ισχύ και ενέργεια. Κατά αυτό τον τρόπο δεν αυξάνεται μόνο, η αυτονομία των συσκευών αυτών, αλλά ταυτόχρονα μειώνεται και η παραγωγή θερμότητας τους, επομένως μειώνονται οι ανάγκες ψύξης αυτών. Έτσι λοιπόν η εφαρμογή βελτιστοποιήσεων για τα ενσωματωμένα συστήματα (embedded systems) είναι ένα πεδίο πολλά υποσχόμενο για ανάπτυξη βελτιστοποιήσεων. Στην περίπτωση των ενσωματωμένων συστημάτων πραγματικού χρόνου (real time operations) όπου όταν ξεπεραστούν οι διορίες χρόνου οδηγούνται σε υποβαθμισμένες επιδόσεις (soft real time) αλλά ειδικά στην περίπτωση αυτών που οδηγούν σε αποτυχία αν ξεπεράσουν τις διορίες εκτέλεσης (hard real time operations) η βελτιστοποίηση αποτελεί μονόδρομο για την υλοποίησή τους σε λογικά επίπεδα κόστους. Όμως οι βελτιστοποιήσεις είναι εξίσου σημαντικές, όχι μόνο για τα συστήματα ειδικού σκοπού, αλλά και γενικού σκοπού. Ειδικά με την αγορά των φορητών υπολογιστών να αποτελεί μια από τις πιο ταχέως αναπτυσσόμενες αγορές, η εφαρμογή βελτιστοποιήσεων σε αυτούς έχει μεγάλο πεδίο εφαρμογής. Παρότι η τεχνολογία των επεξεργαστών έχει φτάσει σε πάρα πολύ υψηλό επίπεδο, ακολουθώντας πιστά τον νόμο του Moore και διπλασιάζοντας την ικανότητα ολοκλήρωσης τρανζίστορ σε τσιπ κάθε περίπου δύο χρόνια δεν ισχύει το ίδιο για τις τεχνολογίες μνήμης. Έτσι με την πάροδο των χρόνων έχει δημιουργηθεί ένα χάσμα μεταξύ των επεξεργαστών και των μνημών γνωστό και ως memory wall. Ακόμη δηλαδή και στην περίπτωση των επιτραπέζιων υπολογιστικών συστημάτων αλλά και εξυπηρετητών που χαρακτηρίζονται από πολύ μεγάλη ικανότητα σε υπολογιστική ισχύ υπάρχει, ανάγκη για εφαρμογή βελτιστοποιήσεων. Καθώς είναι οικονομικά ανέφικτο να χρησιμοποιηθεί γλώσσα χαμηλού επιπέδου, η συντριπτική πλειοψηφία των προγραμμάτων γράφεται σε γλώσσες υψηλού επιπέδου και οι μεταγλωττιστές αναλαμβάνουν την μετατροπή του κώδικα τους σε γλώσσα μηχανής. Αυτό είναι και ένα από τα πιο κρίσιμα βήματα για την απόδοση αυτών των συστημάτων, καθώς σε αυτό ακριβώς το σημείο αποφασίζεται πόσο γρήγορα μπορεί να τρέξει ο εκάστοτε κώδικας. Εμφανίζεται λοιπόν επιτακτική η ανάγκη για συγγραφή κώδικα τέτοιου ώστε να μπορεί να επιτευχθεί πηγαίος κώδικας όσο πιο αποδοτικός γίνεται, και με όπου είναι αυτό δυνατό μείωση απαιτήσεων σε μέγεθος, μνήμη, αριθμό μετακινήσεων, αριθμό πράξεων και εξαρτήσεων ούτως ώστε να επιτρέπεται η παράλληλη εκτέλεση πράξεων. Με τη βοήθεια τεχνικών βελτιστοποίησης μεταφραστών μπορεί να επιτευχθεί κάτι τέτοιο σε πολύ μεγάλο βαθμό. -13-

14 Στην παρούσα διπλωματική αναπτύχθηκε ένα εργαλείο για βελτιστοποίηση πυρήνων πολλαπλασιασμού διανυσμάτων με πίνακες toeplitz. Είναι ευρέως γνωστό πως αυτή η διεργασία αποτελεί μια από τις πιο χρονοβόρες και απαιτητικές διαδικασίες που μπορεί να συναντηθούν στα υπολογιστικά συστήματα. Υπάρχει λοιπόν μεγάλη ανάγκη για ένα εργαλείο που θα βελτιώνει αυτή τη διαδικασία τόσο σε ανάγκες μνήμης όσο και σε χρόνο εκτέλεσης. Κατά τη εκπόνηση της διπλωματικής εργασίας υλοποιήθηκε πληθώρα χρονοπρογραμματισμών που επιτυγχάνουν βελτιώσεις, εκ των οποίων 5 ήταν οι πιο σημαντικοί και τελικώς παρουσιάζονται. Το κείμενο οργανώνεται με τον εξής τρόπο: στα πρώτα κεφάλαια δίνεται το θεωρητικό υπόβαθρο για την υλοποίηση του εργαλείου ενώ στα υπόλοιπα παρουσιάζονται οι χρονοπρογραμματισμοί και τελικώς πληθώρα μετρήσεων με τα αντίστοιχα συμπεράσματα. Στο δεύτερο κεφάλαιο παρουσιάζεται η ιεραρχία της μνήμης με όλες τις λειτουργίες της αναλυτικώς αλλά και τρόποι βελτιστοποίησης της απόδοσης της. Στο τρίτο κεφάλαιο συνοψίζεται η θεωρία γύρω από τους μεταγλωττιστές και τη θεωρία τεχνικών βελτιστοποίησης μεταγλωττιστών καθώς και οι πιο σημαντικές εφαρμογές τους. Έχοντας πλέον καλυφθεί το απαραίτητο πεδίο γνώσεων, στο τέταρτο κεφάλαιο παρουσιάζονται αρχικώς οι διαδικασίες πολλαπλασιασμού διανυσμάτων με πίνακες και οι πίνακες toeplitz συγκεκριμένα. Ύστερα ακολουθεί αναλυτική περιγραφή των χρονοπρογραμματισμών που προτείνονται και τέλος συγκρίνονται μεταξύ τους. Στο πέμπτο κεφάλαιο ακολουθούν μετρήσεις για χαρακτηριστικές αρχιτεκτονικές υλικού με σύγκριση της απόδοσης των χρονοπρογραμματισμών, ούτως ώστε να υλοποιηθεί ένα εργαλείο το οποίο δέχεται σαν είσοδο την αρχιτεκτονική του συστήματος που θα εφαρμοστεί ο πυρήνας, θα αποκλείονται οι χρονοπρογραμματισμοί που δεν ταιριάζουν με την εκάστοτε αρχιτεκτονική και τέλος για τους υποψήφιους πιο αποδοτικούς θα γίνεται εξερεύνηση ούτως ώστε να επιλεγεί ο πιο αποδοτικός. Τέλος ακολουθεί παράρτημα με εκδοχές των χρονοπρογραμματισμών και η βιβλιογραφία. -14-

15 Κεφάλαιο Ιεραρχία Μνήμης.1 Εισαγωγή Ιδανικά κάποιος θα επιθυμούσε μια απεριόριστα μεγάλης χωρητικότητας μνήμη τέτοια που οποιαδήποτε συγκεκριμένη λέξη θα μπορούσε να είναι άμεσα διαθέσιμη. Ο κύριος σκοπός στο σχεδιασμό ενός συστήματος μνήμης είναι να προσφέρει επαρκή χωρητικότητα αποθήκευσης, διατηρώντας ένα αποδεκτό επίπεδο μέσης απόδοσης και επίσης χαμηλό μέσο κόστος ανά δυαδικό ψηφίο. Αναγνωρίζεται λοιπόν η ανάγκη κατασκευής μιας ιεραρχίας μνημών, καθεμία από τις οποίες θα έχει μεγαλύτερη χωρητικότητα από την προηγούμενη, αλλά είναι λιγότερο γρήγορα προσπελάσιμη. Ο σκοπός αυτός μπορεί να επιτευχθεί με τη χρησιμοποίηση ενός συνδυασμού από τις ακόλουθες τεχνικές. Κατ' αρχήν μπορεί να χρησιμοποιηθεί ένας αριθμό από διαφορετικές μονάδες μνήμης με διαφορετικούς λόγους κόστους/απόδοσης, που οργανώνονται κατά τέτοιο τρόπο ώστε να προσφέρουν υψηλή μέση απόδοση με χαμηλό μέσο κόστος. Οι μονάδες μνήμης σ αυτή την περίπτωση σχηματίζουν μια ιεραρχία, που ονομάζεται ιεραρχία μνήμης. Ακόμα μπορεί να πραγματοποιηθεί με την ανάπτυξη αυτόματων μεθόδων κατανομής του χώρου αποθήκευσης για να γίνει πιο αποδοτική χρήση του διαθέσιμου χώρου και η ανάπτυξη ιδεατής μνήμης (virtual memory) για να απελευθερωθεί ο χρήστης από τη διαχείριση της μνήμης και να γίνουν τα προγράμματα ανεξάρτητα από τη διαμόρφωση της φυσικής μνήμης. Και τέλος η παρέχονται προστατευτικοί μηχανισμοί για να εμποδισθεί κάποιο πρόγραμμα, που δεν έχει το δικαίωμα, να προσπελάσει ή να τροποποιήσει αποθηκευμένες πληροφορίες που ανήκουν σ άλλο πρόγραμμα. Η αρχή της τοπικότητας υπαινίσσεται πως τα προγράμματα δεν προσπελαύνουν όλο τον κώδικα και τα δεδομένα τους ομοιόμορφα (έχει παρατηρηθεί μάλιστα πως η πλειονότητα τους αφιερώνει το 90% του χρόνου μόλις στο 10% αυτών ). Αυτή η αρχή σε συνδυασμό με την οδηγία ότι το μικρότερο υλικό είναι γρηγορότερο οδήγησαν σε ιεραρχίες βασισμένες σε μνήμες διαφορετικών ταχυτήτων και μεγεθών. Παρακάτω (Σχ..1) αποτυπώνεται μια πολυεπίπεδη ιεραρχία μνήμης, συμπεριλαμβανομένων τυπικών μεγεθών και ταχυτήτων προσπέλασης. Εφόσον λοιπόν τίθεται πάντα το θέμα της οικονομικής βιωσιμότητας των συστημάτων που σχεδιάζονται και εφόσον οι γρήγορες μνήμες έχουν και το μεγαλύτερο κόστος, η ιεραρχία των μνήμων οργανώνεται σε πολλαπλά επίπεδα όπου το κάθε ένα είναι μικρότερο γρηγορότερο και ακριβότερο ανά byte από το προηγούμενό του. Έτσι λοιπόν επιτυγχάνεται ένα σύστημα μνήμης με κόστος αντίστοιχο του φθηνότερου επιπέδου μνήμης -15-

16 και ταχύτητα αντίστοιχη του ταχύτερου επιπέδου. Η σημασία της ιεραρχίας μνήμης έχει αυξηθεί με την πάροδο του χρόνου καθώς αυξάνεται όλο και περισσότερο η απόδοση των επεξεργαστών. Το χάσμα στις επιδόσεις μεταξύ επεξεργαστών και μνημών ξεκινάει μετά την δεκαετία '90 όπου οι επεξεργαστές και οι μνήμες των υπολογιστών χρονίζονταν σε παραπλήσιες ή έστω συγκρίσιμες συχνότητες λειτουργίας. Ωστόσο από το 1990 και μετά άρχισε η σημαντική αύξηση στις επιδόσεις των επεξεργαστών η οποία ακολουθεί πιστά από τότε το νόμο του Moore (ο αριθμός των τρανζίστορς σε ένα μικροεπεξεργαστή διπλασιάζεται κάθε περίπου δύο χρόνια). Παράλληλα με την αύξηση των τρανζίστορ τους λοιπόν ήρθε και η ραγδαία αύξηση της συχνότητας λειτουργίας των επεξεργαστών. Σχ.1- Χάσμα επιδόσεων μεταξύ επεξεργαστών και μνήμης Ως αποτέλεσμα οι επιδόσεις των επεξεργαστών αυξάνονταν με ρυθμό 60% ετησίως, ενώ οι επιδόσεις των Μνημών με μόλις 7%. Το σχήμα. παρουσιάζει τις εκτιμήσεις απόδοσης KME έναντι της βελτίωσης της απόδοσης σε λειτουργία στο χρόνο προσπέλασης της κύριας μνήμης. Αυτό λοιπόν οδήγησε στο χάσμα μεταξύ μνημών και επεξεργαστών όπου οι επεξεργαστές είναι πολύ πιο γρήγοροι από τις μνήμες με αποτέλεσμα να περνούν την περισσότερη ώρα τους σε αδράνεια εν αναμονή των δεδομένων από την μνήμη. Συνεπώς η ταχύτητα υπολογισμών του επεξεργαστή ήταν καταδικασμένη να μην αξιοποιείται (καθυστέρηση latency) και οι μνήμες επέβαλαν την δική τους ταχύτητα σε ολόκληρο το υπολογιστικό σύστημα. Η λύση ήρθε με την αλλαγή της ιεραρχίας της μνήμης στους υπολογιστές, και την προσθήκη των Κρυφών Μνημών, ή όπως είναι ευρύτερα γνωστές, μνήμες Cache. -16-

17 Σχ. Ιεραρχία Μνήμης. Κρυφή Μνήμη Η κρυφή μνήμη Cache αποτελεί το πιο κοντινό επίπεδο μνήμης, μετά το αρχείο καταχωρητών, βρίσκεται μέσα στο ολοκληρωμένο κύκλωμα του επεξεργαστή και βασίζεται σε ένα γενικό χαρακτηριστικό όλων των Προγραμμάτων, την τοπικότητα της αναφοράς (Locality of Reference). Δηλαδή, τα Προγράμματα τείνουν να χρησιμοποιούν, μόνο ένα μικρό τμήμα του χώρου διευθύνσεων της Μνήμης, σε οποιαδήποτε δεδομένη στιγμή της εκτέλεσης τους. Αυτό το μικρό τμήμα διευθύνσεων και τα περιεχόμενά του, είτε πρόκειται για εντολές που εκτελεί το Πρόγραμμα ή για τα δεδομένα που απαιτεί για τους υπολογισμούς του, οφείλει να βρίσκεται ιεραρχικά κοντά στον Επεξεργαστή ανά πάσα στιγμή. Από την τοπικότητα της Αναφοράς, προκύπτουν 3 παράγωγες έννοιες, που παίζουν καθοριστικό ρόλο στην διαμόρφωση της λογικής λειτουργίας της Cache : έχει το ρόλο της εκμετάλλευσης της μνήμης για επαναχρησιμοποίηση στοιχείων που συναντώνται συχνά, βάση και της αρχής της τοπικότητας. Η πρώτη είναι η έννοια της χρονικής τοπικότητας (Temporal Locality), κατα την οποία μια διεύθυνση Μνήμης, στην οποία υπήρξε πρόσβαση, είναι πολύ πιθανό να ξαναχρησιμοποιηθεί στο άμεσο μέλλον. Η δεύτερη είναι η έννοια της χωρικής τοπικότητας (Spatial Locality), σύμφωνα με την οποία, αν χρησιμοποιηθεί μια διεύθυνση μνήμης, τότε είναι πολύ πιθανό να χρησιμοποιηθούν και οι γειτονικές της διευθύνσεις, στο άμεσο μέλλον. Τέλος η έννοια της διαδοχικότητας (Sequential Locality), όπου είναι πολύ πιθανό ότι η αμέσως επόμενη πρόσβαση μνήμης θα γίνει σε διαδοχική διεύθυνση της θέσης μνήμης που χρησιμοποιείται στην παρούσα πρόσβαση...1 Περιγραφή Η κρυφή μνήμη αποτελείται από γραμμές (Cache Lines). Κάθε γραμμή περιέχει ένα μπλοκ (block). Όταν ο επεξεργαστής ζητήσει να διαβάσει μια λέξη (word) που βρίσκεται στην μνήμη, τότε το μπλοκ της μνήμης που την περιέχει μεταφέρεται ολόκληρο σε μια γραμμή. Οι κρυφές μνήμες έχουν μια ετικέτα διεύθυνσης σε κάθε πλαίσιο μπλόκ η οποία δίνει τη διεύθυνση του μπλοκ. Η ετικέτα κάθε γραμμής κρυφής μνήμης που θα μπορούσε να περιέχει την επιθυμητή πληροφορία ελέγχεται αν ταιριάζει με τη διεύθυνση του μπλοκ από την ΚΜΕ. Ως κανόνας, όλες οι πιθανές ετικέτες ελέγχονται παράλληλα γιατί η ταχύτητα είναι κρίσιμη υπόθεση. Η διεύθυνση της γραμμής λοιπόν χωρίζεται σε 3 πεδία, την ετικέτα η οποία ελέγχεται με την επιθυμητή διεύθυνση, το δείκτη ο οποίος υποδεικνύει -17-

18 το σύνολο και την μετατόπιση του μπλοκ που δείχνει ποιο ακριβώς είναι το επιθυμητό δεδομένο μέσα στο μπλοκ. Κάθε γραμμή της κρυφής μνήμης αποτελείται από την ετικέτα (Tag), το οποίο αποτελεί μοναδικό αναγνωριστικό για το ποιο μπλόκ καταλαμβάνει τον χώρο δεδομένων της γραμμής, και η τιμή της προκύπτει από ένα τμήμα της διεύθυνσης του μπλοκ στην μνήμη, τα δεδομένα (Data Block) που αντιγράφονται από την κύρια μνήμη και τα bit ελέγχου (Control Bits). Τα bit ελέγχου αφορούν την κατάσταση των δεδομένων της γραμμής. Τα τρία πιο βασικά από αυτά είναι το βρώμικο bit (Dirty Bit), το οποίο δείχνει αν η γραμμή έχει έγκυρα δεδομένα, το έγκυρο bit (Valid Bit), το οποίο δείχνει αν τα δεδομένα της γραμμής έχουν τροποποιηθεί, από την στιγμή που μεταφέρθηκαν, και το bit διαμοιρασμού (Shared Bit), το οπίο δείχνει αν υπάρχουν αντίγραφα αυτής της γραμμής σε κάποιο άλλο επίπεδο κρυφής μνήμης... Πολιτική Τοποθέτησης (placement policy) Ο τρόπος τοποθέτησης των μπλοκ της κύριας μνήμης στην κρυφή μνήμη (placement policy) καθορίζει την οργάνωση της κρυφής μνήμης. Υπάρχουν τρεις διαφορετικοί τρόποι οργάνωσης της κρυφής μνήμης, η άμεσης αντιστοίχισης (direct mapped), η συνολοσυσχετιστική κ-δρόμων (k way set associative) και η πλήρως συσχετιστική (fully associative). Στη συνέχεια θα παρουσιαστεί κάθε μία οργάνωση, τα πλεονεκτήματα και τα μειονεκτήματά τους. Πριν όμως, θα πρέπει να τονιστεί ότι σε κάθε οργάνωση το πλήθος των λέξεων ανά πλαίσιο, όπως και το πλήθος των πλαισίων της κρυφής μνήμης και το πλήθος των μπλοκ της κύριας μνήμης είναι συνήθως δυνάμεις του δύο, διότι σε αυτή την περίπτωση η υλοποίηση του συστήματος μνήμης είναι πιο απλή. Επίσης πρέπει να σημειωθεί ότι το πλαίσιο της κρυφής μνήμης και το μπλοκ της κύριας μνήμης αποτελείται από ίσο αριθμό λέξεων....1 Κρυφές Μνήμες Άμεσης Αντιστοίχισης Στην περίπτωση αυτή κάθε μπλοκ της κύριας μνήμης μπορεί να τοποθετηθεί σε ένα συγκεκριμένο πλαίσιο της κρυφής μνήμης. Η διεύθυνση του πλαισίου της κρυφής μνήμης, στο οποίο θα τοποθετηθεί το μπλοκ της κύριας μνήμης με διεύθυνση Μ, δίνεται από το υπόλοιπο της διαίρεσης του Μ δια του πλήθους των πλαισίων της κρυφής μνήμης (ουσιαστικά είναι μια συνάρτηση κατατεμαχισμού {Hash Function). Στο Σχ.4.11 δίνεται μία κρυφή μνήμη των τεσσάρων πλαισίων και μία κύρια μνήμη των δεκαέξι μπλοκ. Προφανώς το πλήθος των πλαισίων της κρυφής μνήμης και των μπλοκ της κύριας μνήμης σε ένα πραγματικό σύστημα είναι πάρα πολύ μεγαλύτερο. Φαίνεται ότι στο πλαίσιο της κρυφής μνήμης με διεύθυνση 1 μπορεί να βρίσκεται, κάθε χρονική στιγμή, μόνο ένα από τα μπλοκ της κύριας μνήμης που το υπόλοιπο της διαίρεσης της διεύθυνσής του δια του τέσσερα ισούται με ένα, δηλαδή ένα από τα μπλοκ με διευθύνσεις 1, 5, 9 και 13. Στο παράδειγμά αυτό δεν λαμβάνεται υπ' όψιν το πλήθος των λέξεων ανά πλαίσιο, διότι αυτό δεν είναι απαραίτητο για να περιγραφεί η οργάνωση της κρυφής μνήμης. Επίσης φαίνεται στο συγκεκριμένο παράδειγμα, ότι η διεύθυνση ενός πλαισίου της κρυφής μνήμης ισούται με τα δύο λιγότερο σημαντικά δυαδικά ψηφία της διεύθυνσης των μπλοκ της κύριας μνήμης που μπορούν να τοποθετηθούν σ αυτό το πλαίσιο. Συγκεκριμένα, τα δύο λιγότερο σημαντικά δυαδικά ψηφία των διευθύνσεων 1, 5, 9 και 13 που μπορούν να τοποθετηθούν στο πλαίσιο της κρυφής μνήμης με διεύθυνση 01, στο δυαδικό, είναι το 01. Εάν τώρα υποτεθεί ότι η κύρια μνήμη αποτελείται από ν μπλοκ, όπου το μέγεθος κάθε μπλοκ είναι μ λέξεις. Τότε το μέγεθος της κύριας μνήμης είναι ν+μ λέξεις. Επίσης γίνεται η υπόθεση ότι η κρυφή μνήμη αποτελείται από κ πλαίσια, προφανώς κ<ν, όπου το μέγεθος κάθε πλαισίου είναι μ λέξεις. Τότε το μέγεθος της κρυφής μνήμης είναι κ+μ λέξεις. Στην περίπτωση αυτή -18-

19 κάθε διεύθυνση που παράγει ο επεξεργαστής αποτελείται από τρία πεδία που το μήκος και η σημασία τους δίνεται στο σχήμα 4.1. Διεύθυνση Μπλοκ {ν Ετικέτα {ν-κ Δείκτης {κ Απόκλιση Μπλοκ {μ Σχ..4 Μνήμη Άμεσης Τοποθέτησης... Κρυφές Μνήμες Πλήρους Συσχέτισης Στην περίπτωση αυτή κάθε μπλοκ της κύριας μνήμης μπορεί να τοποθετηθεί σε οποιοδήποτε πλαίσιο της κρυφής μνήμης. Για παράδειγμα, στο σχήμα.5 το μπλοκ της κύριας μνήμης με διεύθυνση 5 μπορεί να τοποθετηθεί σε οποιοδήποτε πλαίσιο της κρυφής μνήμης. Εάν τώρα η κύρια μνήμη αποτελείται από ν μπλοκ, όπου το μέγεθος κάθε μπλοκ είναι μ λέξεις. Τότε το μέγεθος της κύριας μνήμης είναι ν+μ λέξεις. Εάν επίσης η κρυφή μνήμη αποτελείται από κ πλαίσια, όπου προφανώς κ<ν, και όπου το μέγεθος κάθε πλαισίου είναι μ λέξεις, τότε το μέγεθος της κρυφής μνήμης είναι κ+μ λέξεις. Στην περίπτωση αυτή κάθε διεύθυνση που παράγει ο επεξεργαστής αποτελείται από δύο πεδία, που το μήκος και η σημασία τους δίνεται στο σχήμα.5. Σε κάθε θέση της πλήρως συσχετιστικής μνήμης αποθηκεύονται ένα δυαδικό ψηφίο εγκυρότητας, τα δυαδικά ψηφία της ετικέτας και τα δυαδικά ψηφία της πληροφορίας ενός μπλοκ. Κάθε θέση αυτής της μνήμης αποτελείται από δύο πεδία. Το ένα πεδίο περιέχει την πληροφορία, βάσει της οποίας θα γίνει η προσπέλαση, και το άλλο πεδίο περιέχει την πληροφορία που θέλουμε να διαβάσουμε. Στη συγκεκριμένη περίπτωση του σχήματος.5 το πεδίο της ετικέτας περιέχει την πληροφορία, βάσει της οποίας θα γίνει η προσπέλαση, και το υπόλοιπο της ίδιας θέσης της κρυφής μνήμης, δηλαδή το πεδίο του πλαισίου, περιέχει την πληροφορία που πρόκειται να προσπελαστεί. Όταν ο επεξεργαστής παράγει μία διεύθυνση για να διαβάσει την πληροφορία που είναι αποθηκευμένη στη διεύθυνση αυτή, τότε η διεύθυνση αυτή χρησιμοποιείται για να διευθυνσιοδοτηθεί η κύρια μνήμη. Την ίδια χρονική στιγμή τα δυαδικά ψηφία του πεδίου ετικέτα οδηγούνται στη συσχετιστική μνήμη και συγκρίνονται ταυτόχρονα με όλες τις ετικέτες που είναι αποθηκευμένες στη συσχετιστική μνήμη. Εάν το πεδίο της ετικέτα της διεύθυνσης που είναι ίδιο με κάποια από τις αποθηκευμένες ετικέτες και το αντίστοιχο -19-

20 δυαδικό ψηφίο εγκυρότητας έχει τη λογική τιμή ένα, τότε έγινε επιτυχής προσπέλαση του επιθυμητού δεδομένου. Διεύθυνση Μπλοκ {κ Απόκλιση Μπλοκ {μ Ετικέτα Σχ..5 Μνήμη Πλήρους Συσχέτισης...3 Κρυφές Μνήμες Συνολοσυσχέτισης Κ-δρόμων Στην περίπτωση αυτή η κρυφή μνήμη θεωρείται ότι αποτελείται από ομάδες των τ πλαισίων, που καλούνται σύνολα, και κάθε μπλοκ της κύριας μνήμης μπορεί να τοποθετηθεί σε οποιοδήποτε πλαίσιο ενός συγκεκριμένου συνόλου. Σε κάθε σύνολο αντιστοιχεί μία διεύθυνση. Η διεύθυνση του συνόλου της κρυφής μνήμης στο οποίο θα τοποθετηθεί το μπλοκ της κύριας μνήμης με διεύθυνση Μ, δίνεται και πάλι από το υπόλοιπο της διαίρεσης του Μ δια του πλήθους των συνόλων της κρυφής μνήμης. Σαν παράδειγμα στο σχήμα 4.1 δίνεται μία κρυφή μνήμη τεσσάρων συνόλων, όπου κάθε σύνολο αποτελείται από δύο μπλοκ, και μία κύρια μνήμη των δεκαέξι μπλοκ. Στο σύνολο με διεύθυνση ένα μπορούν να βρίσκονται το πολύ δύο από τα μπλοκ της κύριας μνήμης, που το υπόλοιπο της διαίρεσης της διεύθυνσής τους δια του τέσσερα ισούται με ένα, δηλαδή δύο από τα μπλοκ με διευθύνσεις 1, 5, 9 και 13. Στο σχήμα. παρατηρούμε ότι η διεύθυνση κάθε συνόλου της κρυφής μνήμης ισούται με τα δύο λιγότερο σημαντικά δυαδικά ψηφία της διεύθυνσης κάθε μπλοκ της κύριας μνήμης που μπορεί να τοποθετηθεί σ αυτό το πλαίσιο. Για παράδειγμα, τα δύο λιγότερο σημαντικά δυαδικά ψηφία των διευθύνσεων 1, 5, 9 και 13, που μπορούν να τοποθετηθούν στο σύνολο με διεύθυνση στο δυαδικό 01, είναι το 01. Θα διαπιστώσουμε στη συνέχεια ότι αυτό είναι πολύ σημαντικό για την υλοποίηση της κρυφής μνήμης με οργάνωση τ δρόμων συνόλου συσχέτισης. Υποθέστε ότι η κύρια μνήμη αποτελείται από ν μπλοκ, όπου το μέγεθος κάθε μπλοκ είναι μ λέξεις. Τότε το μέγεθος της κύριας μνήμης είναι ν+μ λέξεις. Υποθέστε επίσης ότι η κρυφή μνήμη αποτελείται από λ σύνολα, κάθε σύνολο περιέχει τ πλαίσια, προφανώς λ+τ<ν, και το μέγεθος κάθε -0-

21 πλαισίου είναι μ λέξεις. Τότε το μέγεθος της κρυφής μνήμης είναι λ + τ + μ λέξεις. Σ αυτή την περίπτωση κάθε διεύθυνση που παράγει ο επεξεργαστής θεωρούμε ότι αποτελείται από τρία πεδία, που το μήκος και η σημασία τους δίνεται στο σχήμα.6. Όταν ένα μπλοκ της κύριας μνήμης υπάρχει σε ένα πλαίσιο της κρυφής μνήμης, η ετικέτα που συνδέεται με αυτό το πλαίσιο περιέχει τα ν λ περισσότερο σημαντικά δυαδικά ψηφία της διεύθυνσης του μπλοκ στην κύρια μνήμη. Αν υποτεθεί ότι ο επεξεργαστής παράγει μία διεύθυνση για να πάρει την πληροφορία που είναι αποθηκευμένη στη διεύθυνση αυτή, τότε η διεύθυνση χρησιμοποιείται για να διευθυνσιοδοτηθεί η κύρια μνήμη. Ταυτόχρονα τα δυαδικά ψηφία του πεδίου «διεύθυνση του συνόλου στην κρυφή μνήμη» της διεύθυνσης χρησιμοποιούνται για να διευθυνσιοδοτηθούν και οι μνήμες RAM της κρυφής μνήμης. Τα δυαδικά ψηφία του πεδίου «ετικέτα» της διεύθυνσης συγκρίνονται με τις δύο ετικέτες που είναι αποθηκευμένες στη θέση καθεμίας από τις μνήμες RAM της κρυφής μνήμης που προσπελάστηκε. Εάν κάποια από τις δύο συγκρίσεις είχε θετικό αποτέλεσμα και το αντίστοιχο δυαδικό ψηφίο εγκυρότητας έχει την τιμή ένα, τότε η προσπέλαση είναι επιτυχής και τα δεδομένα μπορούν πλέον να μεταφερθούν από την μνήμη στην ΚΜΕ. Εάν δεν είναι επιτυχής δηλαδή κανένα, κανένα μπλοκ δεν περιέχει την ζητούμενη πληροφορία, προσκομίζεται από την κύρια μνήμη στην κρυφή μνήμη. Τόσο ο χρόνος προσπέλασης όσο και ο ρυθμός αποτυχιών και το κόστος υλοποίησης μίας κρυφής μνήμης με οργάνωση τ δρόμων συνόλου συσχέτισης είναι μεταξύ των αντίστοιχων μεγεθών της κρυφής μνήμης άμεσης οργάνωσης και της κρυφής μνήμης με οργάνωση πλήρους συσχέτισης, πάντα υπό την προϋπόθεση ότι τα υπόλοιπα χαρακτηριστικά είναι τα ίδια. Μπλοκ Διεύθυνσης Ετικέτα {ν-λ Δείκτης {κ Απόκλιση Μπλοκ {μ Σχ..6 Μνήμη Συνολοσυσχέτισης -δρόμων Αξίζει να σημειωθεί πως μία κρυφή μνήμη με οργάνωση τ δρόμων συνολοσυσχέτισης, όπου τ=1, έχει ένα πλαίσιο ανά σύνολο, επομένως είναι άμεσης οργάνωσης. Επίσης σε μία κρυφή μνήμη με οργάνωση τ δρόμων συνόλου συσχέτισης, διατηρώντας τη χωρητικότητά της και το μέγεθος του πλαισίου σταθερά, κάθε φορά που διπλασιάζεται η τιμή του τ, υποδιπλασιάζεται ο αριθμός των συνόλων της κρυφής μνήμης. -1-

22 Επομένως ελαττώνεται κατά ένα δυαδικό ψηφίο το πεδίο διεύθυνση του συνόλου στην κρυφή μνήμη της διεύθυνσης. Όταν ο αριθμός των πλαισίων ανά σύνολο γίνει ίσος με τον αριθμό των μπλοκ στην κρυφή μνήμη τότε η κρυφή μνήμη έχει οργάνωση πλήρους συσχέτισης...3 Πολιτική Αντικατάστασης (Replacement Policy) Όταν η ΚΜΕ ζητήσει κάποια πληροφορία, είτε πρόκειται για κάποιο δεδομένο ή εντολή, από την κρυφή μνήμη τότε η πρώτη ενέργεια είναι να γίνει αναζήτηση αυτού μέσα στην κρυφή μνήμη. Σε περίπτωση που αυτό δεν υπάρχει στην κρυφή μνήμη θα συμβεί μία αποτυχία (miss), και τότε το ζητούμενο δεδομένο θα πρέπει να μεταφερθεί σε αυτή, δηλαδή ένα μπλοκ της κύριας μνήμης, που περιέχει τα απαιτούμενα δεδομένα, να προσκομιστεί στην κρυφή μνήμη. Εάν η θέση της κρυφής μνήμης που πρέπει να τοποθετηθεί αυτό το μπλοκ (όπως παρουσιάστηκε στις ενότητες...1,... και...3) στην κρυφή μνήμη είναι γεμάτη, τότε το μπλοκ που βρίσκεται σε αυτή τη θέση πρέπει να αντικατασταθεί από το μπλοκ του ζητούμενου δεδομένου-εντολής. Η στρατηγική απελευθέρωσης (replacement policy) πλαισίων της κρυφής μνήμης για την προσκόμιση μπλοκ της κύριας μνήμης είναι αυτή που καθορίζει το πλαίσιο που θα αντικατασταθεί. Στην περίπτωση κρυφής μνήμης άμεσης οργάνωσης ένα μπλοκ της κύριας μνήμης μπορεί να τοποθετηθεί μόνο σε ένα πλαίσιο της κρυφής μνήμης, επομένως η στρατηγική απελευθέρωσης πλαισίων της κρυφής μνήμης για την προσκόμιση μπλοκ της κύριας μνήμης είναι άμεση και φυσικά απαιτεί το ελάχιστο υλικό για την υλοποίησή της. Στην περίπτωση κρυφής μνήμης πλήρους συσχέτισης ή συνολοσυσχέτισης κ-δρόμων, η διαδικασία περιπλέκεται επομένως και ο χρόνος εκτέλεσης της στο υλικό. Ενα μπλοκ της κύριας μνήμης μπορεί να τοποθετηθεί σε περισσότερα από ένα πλαίσια της κρυφής μνήμης, επομένως πρέπει να επιλεγεί ένα από αυτά. Υπάρχουν τρεις κύριες στρατηγικές που μπορούν να χρησιμοποιηθούν για τον προσδιορισμό του πλαισίου που πρέπει να αντικατασταθεί: Τυχαία επιλογή (Random policy). Στην περίπτωση αυτή το προς αντικατάσταση πλαίσιο επιλέγεται τυχαία. Επιλογή του μη χρησιμοποιηθέντος πρόσφατα (Least Recently Used). Η στρατηγική αυτή βασίζει την επιτυχία της στην χρονική τοπικότητα των αναφορών. Εάν τα πρόσφατα χρησιμοποιηθέντα πλαίσια είναι περισσότερο πιθανόν να χρησιμοποιηθούν στο άμεσο μέλλον, τότε λιγότερο πιθανόν είναι να χρησιμοποιηθούν αυτά που έχουν μεγάλο χρονικό διάστημα να χρησιμοποιηθούν. Για να ελαττωθεί λοιπόν η πιθανότητα να απομακρύνουμε κάποια πληροφορία που θα χρειαστεί στο άμεσο μέλλον, η εφαρμογή αυτής της στρατηγικής έχει σαν συνέπεια την αντικατάσταση εκείνου του πλαισίου που έχει να χρησιμοποιηθεί το μεγαλύτερο χρονικό διάστημα. Για να μπορεί να υλοποιηθεί αυτή η στρατηγική, ο ελεγκτής της κρυφής μνήμης κρατάει πληροφορία για τις προσπελάσεις που γίνονται σε κάθε πλαίσιο. Επιλογή του πλαισίου που προσκομίστηκε πρώτο στην κρυφή μνήμη (First In First Out). Βάσει αυτής της στρατηγικής απομακρύνεται το πλαίσιο που προσκομίστηκε πρώτο στην κρυφή μνήμη. Το πλεονέκτημα της τυχαίας επιλογής είναι η ευκολία υλοποίησής της σε υλικό. Καθώς το πλήθος των πλαισίων της κρυφής μνήμης αυξάνεται, το κόστος υλοποίησης της επιλογής του μη πρόσφατα χρησιμοποιηθέντος πλαισίου αυξάνεται. Για το λόγο αυτό υλοποιούνται συνήθως προσεγγίσεις αυτής της στρατηγικής. Ο λόγος αποτυχίας αυξάνεται όταν αντί της στρατηγικής του μη πρόσφατα χρησιμοποιηθέντος πλαισίου, χρησιμοποιηθεί η στρατηγική της τυχαίας επιλογής και ακόμη --

23 περισσότερο όταν χρησιμοποιηθεί η στρατηγική της επιλογής πλαισίου που προσκομίστηκε πρώτο στην κρυφή μνήμη. Οι διαφορές μικραίνουν σημαντικά καθώς η χωρητικότητα της κρυφής μνήμης αυξάνεται. Παρατίθεται πίνακας με αστοχίες της κρυφής μνήμης ανα 1000 εντολές ούτως ώστε να συγκριθούν θεωρητικά οι τρεις διαδικασίες. Μέγεθος Μνήμης -δρόμων 4-δρόμων 8-δρόμων Π.1.1 Αστοχίες Κρυφής Μνήμης ανα 1000 εντολές..4 Tακτική ενημέρωσης επόμενου επιπέδου της ιεραρχίας μνήμης Το ποσοστό των λειτουργιών εγγραφής στη μνήμη που λαμβάνουν χώρα κατά την εκτέλεση ενός προγράμματος είναι πάρα πολύ μικρότερο από το ποσοστό των λειτουργιών ανάγνωσης από τη μνήμη. Γενικά σε κάθε τέσσερις, τουλάχιστον, αναγνώσεις από τη μνήμη αντιστοιχεί μία εγγραφή. Αυτό οφείλεται, αφενός στο γεγονός ότι όλες οι προσπελάσεις εντολών είναι λειτουργίες ανάγνωσης από την μνήμη, και αφετέρου στο ότι οι περισσότερες προσπελάσεις δεδομένων είναι προσπελάσεις ανάγνωσης. Αυτό είναι κάτι που οφείλεται στο γεγονός ότι όλα τα δεδομένα διαβάζονται από τη μνήμη, ενώ τα ενδιάμεσα αποτελέσματα δεν αποθηκεύονται πάντα στη μνήμη, αλλά κρατούνται στους καταχωρητές μέχρι να υπολογιστεί το τελικό τους αποτέλεσμα, οπότε και να γίνει η εγγραφή τους στην μνήμη. Στην περίπτωση μιας ανάγνωσης από την κρυφή μνήμης, η ανάγνωση του μπλοκ της πληροφορίας μπορεί να ξεκινήσει την ίδια χρονική στιγμή που ξεκινάει και ο έλεγχος της ετικέτας, οπότε αν είναι επιτυχής η ζητούμενη πληροφορία πηγαίνει στην ΚΜΕ. Αν είναι αποτυχής δεν υπάρχει κάποιο όφελος, αλλά ούτε και ζημιά, αφού η πληροφορία που διαβάστηκε απλά αγνοείται. Στην περίπτωση μιας εγγραφής στην κρυφή μνήμη τα πράγματα είναι κάπως διαφορετικά. Η τροποποίηση ενός μπλοκ δεν μπορεί να ξεκινήσει έως ότου ελεγχθεί πλήρως η ετικέτα με επιτυχία και διαπιστωθεί ότι πράγματι το μπλοκ είναι το ζητούμενο. Επομένως, η εγγραφή πληροφορίας από την ΚΜΕ στην κρυφή μνήμη είναι πιο χρονοβόρα διαδικασία από ότι η ανάγνωση. Για την περίπτωση που το μπλοκ στο οποίο ανήκει η πληροφορία που θα γραφεί από την ΚΜΕ στη μνήμη βρίσκεται στην κρυφή μνήμη, πρέπει να επιλεγεί μεταξύ των επόμενων δύο τακτικών ενημέρωσης (updade policy): Η τακτική της διεγγραφής (write through). Η πληροφορία γράφεται ταυτόχρονα τόσο στο πλαίσιο της κρυφής μνήμης όσο και στο μπλοκ του επόμενου επιπέδου της ιεραρχικής μνήμης. Η τακτική της ετεροχρονισμένης εγγραφής (write back). Σε κάθε λέξη της κρυφής μνήμης αντιστοιχεί ένα δυαδικό ψηφίο που καλείται σημαία αλλαγής (dirty bit) και τίθεται όταν η συγκεκριμένη λέξη τροποποιηθεί. Η αντίστοιχη λέξη της κύριας μνήμης ενημερώνεται μόνο όταν το μπλοκ που περιέχει την τροποποιημένη λέξη πρόκειται να αντικατασταθεί στην κρυφή μνήμη από ένα άλλο μπλοκ της κύριας μνήμης. Για να μειωθεί η συχνότητα των ετεροχρονισμένα εγγεγραμμένων μπλοκ στην αντικατάσταση χρησιμοποιείται το bit αλλοίωσης. Αυτό το bit κατάστασης υποδεικνύει αν το μπλοκ είναι αλλοιωμένο -δηλαδή αλλαγμένο ενώ αυτό βρίσκεται μέσα στην κρυφή -3-

24 μνήμη- η καθαρό (μη αλλαγμένο). Αν είναι καθαρό το μπλοκ δεν εγγράφεται ετεροχρονισμένα στην περίπτωση αστοχίας αφού η ίδια η πληροφορία με αυτή της κρυφής μνήμης βρίσκεται σε χαμηλότερα επίπεδα. Τόσο η ετεροχρονισμένη εγγραφή όσο και η διεγγραφή έχουν τα δικά τους πλεονεκτήματα η καθεμία. Με την ετεροχρονισμένη εγγραφή οι εγγραφές συμβαίνουν με την ταχύτητα της κρυφής μνήμης και πολλαπλές εγγραφές μέσα σε ένα μπλοκ απαιτούν μόνο μια εγγραφή στην μνήμη χαμηλότερου επιπέδου. Αφού κάποιες εγγραφές δεν πηγαίνουν στην μνήμη η ετεροχρονισμένη εγγραφή χρησιμοποιεί λιγότερο εύρος ζώνης μνήμης κάνοντας την ετεροχρονισμένη εγγραφή ελκυστική στους πολυεπεξεργαστές οι οποίοι είναι συναντώνται συχνά στους εξυπηρετητές. Αφού η ετεροχρονισμένη εγγραφή χρησιμοποιεί το υπόλοιπο της ιεραρχίας μνήμης και τους διαύλους μνήμης λιγότερο από την διεγγραφή επίσης εξοικονομεί ισχύ όντας πιο ελκυστική για ενσωματωμένες εφαρμογές. Η διεγγραφή είναι ευκολότερη να υλοποιηθεί από ότι η ετεροχρονισμένη εγγραφή. Η κρυφή μνήμη είναι πάντα καθαρή οπότε αντίθετα με τις αστοχίες ανάγνωσης στην περίπτωση της ετεροχρονισμένης εγγραφής ποτέ δεν έχουν ως αποτέλεσμα εγγραφές στο χαμηλότερο επίπεδο. Η διεγγραφή έχει επίσης το πλεονέκτημα ότι το αμέσως επόμενο χαμηλότερο επίπεδο έχει το πιο πρόσφατο αντίγραφο των δεδομένων το οποίο απλοποιεί την συμβατότητα των δεδομένων. Η συμβατότητα των δεδομένων είναι σημαντική για τους πολυεπεξεργαστές. Οι πολυεπεξεργαστές είναι ασταθείς και χρειάζονται ετεροχρονισμένη εγγραφή για κρυφές μνήμες επεξεργαστών για να μειώσουν την κυκλοφορία μνήμης και διεγγραφή για να κρατήσουν συμβατή την κρυφή μνήμη με χαμηλότερα επίπεδα της ιεραρχίας μνήμης. Όταν η ΚΜΕ πρέπει να περιμένει να ολοκληρωθούν οι εγγραφές στη διάρκεια της διεγγραφής, η ΚΜΕ λέγεται ότι είναι σε καθυστέρηση εγγραφής. Μια συνηθισμένη βελτιστοποίηση για να μειωθούν οι καθυστερήσεις εγγραφών είναι μια μνήμη εγγραφών, η οποία επιτρέπει στον επεξεργαστή να συνεχίσει μόλις τα δεδομένα έχουν γραφεί στην μνήμη, επιτυγχάνοντας έτσι να επιτύχει παραλληλισμό στην εκτέλεση του επεξεργαστή με την ενημέρωση της μνήμης. Στην περίπτωση που τα δεδομένα δεν υπάρχουν στην κρυφή μνήμη και χρειάζονται σε μια εγγραφή υπάρχουν δύο επιλογές σε αστοχία εγγραφής: Τακτική προσκόμισης κατά την εγγραφή (write allocate ή fetch on write). Το μπλοκ προσκομίζεται από την κύρια μνήμη στην κρυφή και ακολουθείται η τακτική της άμεσης ενημέρωσης ή η τακτική της τελικής ενημέρωσης ανάλογα με το ποια από τις δύο έχει υλοποιηθεί. Τακτική μη προσκόμισης κατά την εγγραφή (no write allocate ή write around). Η πληροφορία αποθηκεύεται κατευθείαν στην κύρια μνήμη στο μπλοκ που αντιστοιχεί. Αν και οποιαδήποτε από τις τακτικές προσκόμισης ή μη προσκόμισης κατά την εγγραφή μπορεί να συνδυαστεί με οποιαδήποτε από τις τακτικές άμεσης ή τελικής ενημέρωσης, συνήθως η τακτική τελικής ενημέρωσης συνδυάζεται με την τακτική προσκόμισης κατά την εγγραφή, ελπίζοντας ότι επόμενες εγγραφές σ αυτό το μπλοκ θα γίνουν στην κρυφή μνήμη. Οι κρυφές μνήμες που υλοποιούν την τακτική της άμεσης ενημέρωσης συνήθως υλοποιούν την τακτική μη προσκόμισης κατά την εγγραφή, επειδή οι επόμενες εγγραφές σε αυτό το μπλοκ ούτως ή άλλως θα πρέπει να γίνουν και στη μνήμη..3 Απόδοση Κρυφών Μνημών Η ιεραρχία μνήμης όπως αναλύθηκε παραπάνω συνεισφέρει στην αύξηση απόδοσης της μνήμης ούτως ώστε να καλυφθεί το χάσμα επιδόσεων σε σχέση με τις ΚΜΕ. Μια μέθοδος αξιολόγησης της απόδοσης της κρυφής μνήμης είναι ο υπολογισμός του αριθμού -4-

25 των κύκλων, στη διάρκεια των οποίων η ΚΜΕ σταματάει περιμένοντας για μια προσπέλαση μνήμης, και οι οποίοι ονομάζονται κύκλοι καθυστέρησης μνήμης. Η απόδοση τότε είναι το γινόμενο του χρόνου κύκλου ρολογιού και του αθροίσματος των κύκλων ΚΜΕ και των κύκλων καθυστέρησης μνήμης. Ο αριθμός των κύκλων καθυστέρησης μνήμης εξαρτάται και από τον αριθμό των αστοχιών και από το κόστος ανά αστοχία, το οποίο ονομάζεται ποινή αστοχίας: Κύκλοι Ανάσχεσης Μνήμης= Αριθμός Αστοχιών Ποινή Αστοχίας επομένως Κύκλοι Ανάσχεσης Μνήμης =Αριθμός Εντολών Αριθμός Εντολών Αστοχίες Ποινή Αστοχίας = Εντολή Προσπελάσεις Μνήμης Ρυθμός Αστοχίας Ποινή Αστοχίας Εντολή Το πλεονέκτημα του τελευταίου τύπου είναι ότι τα συστατικά στοιχεία μπορούν εύκολα να μετρηθούν. Το μέτρημα του αριθμού αναφορών μνήμης ανά εντολή μπορεί να γίνει ως εξής. Κάθε εντολή απαιτεί μια προσπέλαση εντολής και είναι εύκολο να αποφασιστεί αν απαιτεί επίσης και προσπέλαση δεδομένων. Αν και η ποινή αστοχίας έχει υπολογιστεί ως μέσος όρος παρακάτω χρησιμοποιείται σαν να ήταν σταθερή. Η μνήμη πίσω από την κρυφή μνήμη μπορεί να είναι απασχολημένη τη στιγμή της αστοχίας εξαιτίας απαιτήσεων της μνήμης που έγιναν νωρίτερα ή λόγω ανανέωσης της μνήμης. Ο αριθμός των κύκλων ρολογιού επίσης ποικίλλει στις διεπαφές ανάμεσα στα διαφορετικά ρολόγια του επεξεργαστή, διαύλου και μνήμης. Γι' αυτό μόνο ένας αριθμός για ποινή αστοχίας είναι απλούστευση. Ο ρυθμός αστοχίας είναι ο λόγος του αριθμού προσπελάσεων που αστοχούν προς τον αριθμό των συνολικών προσπελάσεων. Οι ρυθμοί αστοχίας μπορούν να μετρηθούν με προσομοιωτές κρυφής μνήμης οι οποίοι παίρνουν ένα ίχνος διευθύνσεων και των αναφορών σε εντολές και δεδομένα, προσομοιώνουν τη συμπεριφορά των κρυφών μνημών για να εντοπίσουν ποιες αναφορές ευστοχούν και ποιες αστοχούν και μετά αναφέρουν τα αθροίσματα των ευστοχιών και αστοχιών. Κάποιοι μικροεπεξεργαστές παρέχουν υλικό για να μετρούν τον αριθμό των αστοχιών και των αναφορών μνήμης, γεγονός το οποίο αποτελεί έναν πολύ γρηγορότερο και ευκολότερο τρόπο για τη μέτρηση του ρυθμού αστοχίας. Ο τύπος που αναφέρθηκε πιο πάνω αποτελεί μια προσέγγιση από την στιγμή που οι ρυθμοί αστοχίας και οι ποινές αστοχίας συχνά διαφέρουν από τις αναγνώσεις και τις εγγραφές. Για αυτόν τον λόγο οι χρόνοι ρολογιού καθυστέρησης μνήμης μπορούν να οριστούν με δικούς τους όρους: τον αριθμό προσπελάσεων μνήμης ανά εντολή, την ποινή αστοχίας (σε κύκλους ρολογιού) για εγγραφές και αναγνώσεις και τον ρυθμό αστοχίας για εγγραφές και αναγνώσεις. Ο αριθμός των κύκλων ανάσχεσης μνήμης λοιπόν μπορει να προκύψει από: Κύκλοι Ανάσχεσης Μνήμης = Αριθμ.Εντολ. Αναγνώσεις Ρυθμ.Αστοχ.Αναγνώσεων Ποινή Αστοχ. Αναγνώσεων Εντολή Αριθ.Εντολ. Εγγραφές Ρυθμ.Αστοχ. Εγγραφών Ποινή Αστοχ. Εγγραφών Εντολή -5-

26 Είναι συνηθισμένη η απλούστευση του παραπάνω τύπου συνδυάζοντας εγγραφές και αναγνώσεις και βρίσκοντας το μέσο όρο ρυθμού αστοχίας και ποινής αστοχίας για αναγνώσεις και εγγραφές. Ο ρυθμός αστοχίας είναι μια από τις πιο σημαντικές παραμέτρους των κρυφών μνημών. Μια διαφορετική έκφραση του ρυθμού αστοχίας πέρα από τις αστοχίες ανά αναφορά μνήμης είναι η αστοχία ανά εντολή: Αστοχίες Ρυθμός Αστοχίας Προσπελάσεις Μνήμης = Εντολή Αριθμός Εντολών Το πλεονέκτημα των αστοχιών ανά εντολή είναι ότι είναι ανεξάρτητες από την υλοποίηση σε υλικό. Λόγο του διαφορετικού μεγέθους του συνόλου εντολών που χρησιμοποιεί ο κάθε επεξεργαστής, η διαφορά στο ποσοστό του πλήθους των εντολών που πραγματικά χρησιμοποιούνται μπορεί τεχνητά να μειώσει το ρυθμό αστοχίας αν μετρηθεί ως αστοχίες ανά αναφορά μνήμης παρά ανά εντολή. Το μειονέκτημα είναι ότι οι αστοχίες ανά εντολή είναι αρχιτεκτονικά εξαρτώμενες επειδή για παράδειγμα ο μέσος αριθμός των προσπελάσεων μνήμης ανά εντολή μπορεί να είναι πολύ διαφορετική ανά επεξεργαστή..3.1 Βελτίωση της απόδοσης των κρυφών μνημών Για να γίνει εκτίμηση της απόδοσης της ιεραρχίας μνήμης πρέπει λοιπόν να προσδιοριστεί ο αριθμός των αστοχιών μίας και είναι ανεξάρτητος από την ταχύτητα του υλικού. Έτσι σαν μέτρο της απόδοσης μπορεί να προσδιοριστεί ο μέσος χρόνος προσπέλασης της μνήμης. Μέσος Χρόνος Προσπέλασης= Χρόνος Ευστοχίας Ρυθμός Αστοχίας Ποινή Αστοχίας όπου ως χρόνος ευστοχίας ορίζεται ο χρόνος προσπέλασης με ευστοχία στην κρυφή μνήμης, ως ρυθμός αστοχίας το κλάσμα των προσπελάσεων κρυφής μνήμης που καταλήγουν σε αστοχία και ως ποινή αστοχίας το κόστος των αστοχιών σε κύλους Μείωση Ποινής Αστοχίας Η μείωση της ποινής αστοχίας αποτελεί ένα απο τους βασικότερους τρόπους για την βελτίωση της απόδοσης των κρυφών μνημών ούτως ώστε να καλυφθεί το κενό μεταξύ της ταχύτητας των επεξεργαστών και των κύριων μνημών το οποίο όσο περνάει ο καιρός και και αυξάνεται. Ένας τρόπος για την αντιμετώπιση της ποινής αστοχίας είναι η χρήση της ιεραρχίας μνήμης σύμφωνα με την οποία μεταξύ της κύριας μνήμης και του επεξεργαστή παρεμβάλλεται μια κρυφή μνήμη. Ο λόγος είναι ότι η κρυφή μνήμη ως μικρότερη της κύριας είναι πιο γρήγορη αλλά ως μεγαλύτερη από το συνολικό άθροισμα του μεγέθους των καταχωρητών είναι πιο αργή από αυτούς. Στους σημερινούς επεξεργαστές είναι κοινή αρχή να χρησιμοποιούνται τουλάχιστον δύο επίπεδα κρυφής μνήμης μεταξύ κύριας μνήμης. Ο λόγος για αυτό είναι ότι με αυτό τον τρόπο μειώνεται η ποινή αστοχίας της κρυφής μνήμης που είναι σημαντικός παράγοντας για την απόδοση της και κατ' επέκταση και του επεξεργαστή. Αυτή η τεχνική ουσιαστικά αγνοεί την ΚΜΕ εστιάζοντας στην διεπαφή ανάμεσα στην κύρια και την κρυφή μνήμη. Ένα δίλημμα λοιπόν που δημιουργείται είναι το κατά πόσο πρέπει να γίνει η κρυφή μνήμη γρηγορότερη για να συμβαδίζει με την ταχύτητα του επεξεργαστή η να γίνει μεγαλύτερη για να ξεπεραστεί το κενό μεταξύ της ΚΜΕ και της κύριας μνήμης. Με τα επίπεδα κρυφών μνημών δίνεται λύση σε αυτό ακριβώς το ερώτημα αφού επιτυγχάνονται και τα δύο. Η κρυφή μνήμη πρώτου επιπέδου μπορεί να είναι αρκετά μικρή ώστε να ισοδυναμεί με τον χρόνο κύκλου ρολογιού της γρήγορης ΚΜΕ. -6-

27 Αντίθετα η κρυφή μνήμη δευτέρου επιπέδου πρέπει να είναι αρκετά μεγάλη για να συλλάβει πολλές προσπελάσεις που θα μπορούσαν να πάνε στην κύρια μνήμη μειώνοντας έτσι την αποτελεσματική ποινή αστοχίας. Αν και η ιδέα να προστεθεί άλλο ένα επίπεδο στην ιεραρχία είναι προφανής, περιπλέκει ωστόσο την ανάλυση της απόδοσης της. Η απόδοση της κρυφής μνήμης υπολογίζεται μέσω του μέσου χρόνου προσπέλασης μνήμης. Για ένα επίπεδο κρυφής μνήμης ισχύει: Μέσ.Χρόν.Προσπ.Μνήμης = Χρόν.Ευστοχ.L1 Ρυθμ.Ευστοχ.L1 Ποινή Ευστοχ.L1 Για δυο επίπεδα κρυφής μνήμης μετασχιματίζεται: Μ.Χ.Π.Μ = Χρόν.Ευστ.L1 Ρυθμ.Ευστ.L1 Xρόν.Eυστ.L Ρυθμ.Aστ.L Ποιν.Aστοχ.L Σε αυτόν τον τύπο ο ρυθμός αστοχίας του δευτέρου επιπέδου μετριέται στα εναπομείναντα από την κρυφή μνήμη πρώτου επιπέδου. Ο τοπικός ρυθμός αστοχίας είναι ο ρυθμός αστοχιών σε μια κρυφή μνήμη διαιρεμένη δια του συνολικού αριθμού των προσπελάσεων μνήμης σε αυτήν την κρυφή μνήμη. Όπως είναι λογικό για την κρυφή μνήμη πρώτου επιπέδου αυτή είναι ίση με τον ρυθμό αστοχίας L1 και για το δεύτερο επίπεδο κρυφής μνήμης είναι ο ρυθμός αστοχίας L. Ο συνολικός ρυθμός αστοχίας είναι ο αριθμός των αστοχιών στην κρυφή μνήμη διαιρεμένος με το συνολικό αριθμό των προσπελάσεων μνήμης που παράχθηκαν από την ΚΜΕ. Χρησιμοποιώντας τους πιο πάνω όρους ο συνολικός ρυθμός αστοχίας για το πρώτο επίπεδο της κρυφής μνήμης είναι ακόμα απλά μόνο ρυθμός αστοχίας L1 αλλά για την κρυφή μνήμη δευτέρου επιπέδου είναι ρυθμός αστοχίας L1*ρυθμός αστοχίας L. Αυτός ο τοπικός ρυθμός αστοχίας είναι μεγάλος για κρυφές μνήμες δευτέρου επιπέδου διότι η κρυφή μνήμη του πρώτου επιπέδου παίρνει την πιο αποδοτική από τις προσπελάσεις μνήμης. Αυτός είναι και ο λόγος που ο συνολικός ρυθμός αστοχίας είναι το πιο χρήσιμο μέτρο, δείχνει πιο ποσοστό των προσπελάσεων μνήμης που φεύγουν από την KME φτάνουν μέχρι την μνήμη Μείωση Ρυθμού Αστοχίας Ένας άλλος τρόπος για την βελτίωση της συμπεριφοράς της κρυφής μνήμης πέρα από την μείωση της ποινής αστοχίας είναι η μείωση του ρυθμού αστοχίας. Για να προσδιοριστεί ο τρόπος που μπορεί να συμβεί κάτι τέτοιο πρέπει πρώτα να γίνει μια διερεύνηση ως προς τα είδη τον αστοχιών που μπορούν να συμβούν. Οι αστοχίες που μπορούν να συμβούν αποτελούντα λοιπόν από τρία είδη: Αναγκαστική Αστοχία ( Compulsory Miss) : Όταν ένα μπλοκ αναζητηθεί για πρώτη φορά στην Cache, αυτό αναγκαστικά δεν θα υπάρχει και έτσι γίνεται Miss. Αστοχία -Χωρητικότητας (Capacity Miss) : Προκαλούνται εξαιτίας του μεγέθους της κρυφής μνήμης. Αν η κρυφή μνήμη δεν μπορεί να χωρέσει όλα τα μπλοκ που χρειάζονται κατά την εκτέλεση του Προγράμματος, τότε κάποια μπλοκ αναγκαστικά θα αντικατασταθούν, αλλά στο μέλλον ίσως χρειαστεί να επαναφερθούν στην κρυφή μνήμη. Αστοχία Σύγκρουσης (Conflict Miss) : Προκαλούνται εξαιτίας της λογικής για αντιστοίχιση των θέσεων της κρυφής μνήμης με τις θέσεις Κύριας Μνήμης. Αν περισσότερα από 1 μπλοκ αντιστοιχούν στην ίδια θέση της κρυφής μνήμης, τότε η ζήτηση του ενός προκαλεί την αντικατάσταση του άλλου. Εφόσον έχουν αναλυθεί τα είδη των αστοχιών που μπορούν να προκύψουν γίνονται πλέον πιο εμφανή τα μέτρα που πρέπει να παρθούν ούτως ώστε να προκύψει μείωση του -7-

28 ρυθμού αστοχίας. Κατ' αρχήν ο απλούστερος και συνάμα αντι-οικονομικότερος τρόπος για να επιτευχθεί μείωση των αστοχιών χωρητικότητας είναι εξ' ορισμού η αύξηση της χωρητικότητας της κρυφής μνήμης. Δυστυχώς όμως κάτι τέτοιο αυξάνει τον χρόνο ευστοχίας Μεγαλύτερο Μέγεθος Μπλοκ Ο απλούστερος τρόπος για να μειωθεί ο ρυθμός αστοχίας είναι να αυξηθεί το μέγεθος του μπλοκ, αφού θα μειωθούν οι υποχρεωτικές αστοχίες. Αυτή η μείωση συμβαίνει εξαιτίας των αρχών της χρονικής τοπικότητας και της χωρικής τοπικότητας. Την τελευταία εκμεταλλεύονται ιδιαιτέρως τα μεγαλύτερα μπλοκ. Παρόλα αυτά όμως αυξάνουν και την ποινή αστοχίας καθώς μειώνεται ο αριθμός των μπλοκ στην κρυφή μνήμη οπότε και αυξάνονται οι αστοχίες σύγκρουσης και χωρητικότητας. Η επιλογή του μεγέθους του μπλοκ εξαρτάται και από την καθυστέρηση και από το εύρος ζώνης της μνήμης χαμηλού επιπέδου, αφού υψηλή καθυστέρηση και εύρος ενθαρρύνουν μεγάλα μεγέθη μπλοκ εφόσον η κρυφή μνήμη παίρνει πολύ περισσότερα bytes ανά αστοχία για μικρή αύξηση στην ποινή αστοχίας. Αντιθέτως χαμηλή καθυστέρηση και εύρος ζώνης ενθαρρύνουν μικρότερα μπλοκ. Ενδεικτικά παρουσιάζεται ο πίνακας με το ρυθμό αστοχίας για διάφορα μεγέθη μπλοκ και για διάφορα μεγέθοι κτυφών μνημών. Μέγεθος Κρυφής Μνήμης Μέγεθος Μπλοκ Π.1. Ρυθμός Αστοχίας Έναντι Μεγέθους Μπλοκ Υψηλότερος Βαθμός Συνολοσυχέτισης Η αύξηση στο επίπεδο της συσχετιστικότητας μεταφράζεται σε πολλαπλότητα των θέσεων που μπορεί να τοποθετηθεί κάθε μπλοκ από την κύρια μνήμη στην κρυφή. Κατ' αυτό τον τρόπο τα μπλοκ όπως έχει ήδη περιγραφεί διεξοδικά δεν αντικαθίστανται βάση της διευθύνσεώς τους αλλά βάση της επαναχρησιμοποίησής τους. Δηλαδή δεδομένα που έχουν μεγάλο βαθμό επαναχρησιμοποίησης έχουν περισσότερες πιθανότητες να μην αντικατασταθούν από νέα μπλοκ. Βάση αυτής της αρχής υπάρχουν περισσότερα χρήσιμα δεδομένα στην κρυφή μνήμη όσο αυξάνεται η συνολοσυσχέτιση. Έτσι αυξάνεται η πιθανότητα αυτά τα δεδομένα τα οποία καλούνται πολλές φορές να βρεθούν ξανά στην κρυφή μνήμη και μειώνεται η αστοχία αυτών επομένως μειώνεται γενικότερα ο ρυθμός αστοχίας. Κατά την αύξηση του βαθμού συνολοσυσχέτισης ακολουθούνται κανόνες. Ο πρώτος είναι ότι η συνολοσυσχέτιση 8 δρόμων είναι για πρακτικούς σκοπούς τόσο αποτελεσματική στη μείωση των αστοχιών για μεγέθη 3-56Kbytes όσο και η πλήρους συσχέτιση, και ο δεύτερος που ονομάζεται :1, είναι ο πρακτικός κανόνας κρυφής μνήμης και υπαγορεύει ότι η μια άμεσα αντιστοιχισμένη κρυφή μνήμη μεγέθους Ν έχει περίπου τον -8-

Κεφάλαιο 5. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 2. Σημείωση

Κεφάλαιο 5. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 2. Σημείωση Κεφάλαιο 5 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 1 Σημείωση Οι παρούσες διαφάνειες παρέχονται ως συμπλήρωμα διδασκαλίας για το μάθημα «Αρχιτεκτονική Υπολογιστών» του Τμήματος Ηλεκτρολόγων Μηχανικών & Τεχνολογίας

Διαβάστε περισσότερα

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες. (οργάνωση, λειτουργία και απόδοση)

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες. (οργάνωση, λειτουργία και απόδοση) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κρυφές Μνήμες (οργάνωση, λειτουργία και απόδοση) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Ιεραρχία συχνά και το

Διαβάστε περισσότερα

Ιεραρχία Μνήμης. Ιεραρχία μνήμης και τοπικότητα. Σκοπός της Ιεραρχίας Μνήμης. Κρυφές Μνήμες

Ιεραρχία Μνήμης. Ιεραρχία μνήμης και τοπικότητα. Σκοπός της Ιεραρχίας Μνήμης. Κρυφές Μνήμες Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κρυφές Μνήμες (οργάνωση, λειτουργία και απόδοση) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Για βελτίωση της απόδοσης

Διαβάστε περισσότερα

Οργάνωση Υπολογιστών

Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Επιμέλεια: Γεώργιος Θεοδωρίδης, Επίκουρος Καθηγητής Ανδρέας Εμερετλής, Υποψήφιος Διδάκτορας Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών 1 Άδειες Χρήσης Το παρόν υλικό

Διαβάστε περισσότερα

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 7ο μάθημα: Κρυφές μνήμες (cache) - εισαγωγή Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου Σύστημα μνήμης! Η μνήμη είναι σημαντικό

Διαβάστε περισσότερα

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ Γιώργος Δημητρίου Μάθημα 8 ο ΠΜΣ Εφαρμοσμένη Πληροφορική ΜΟΝΑΔΑ ΜΝΗΜΗΣ Επαρκής χωρητικότητα αποθήκευσης Αποδεκτό μέσο επίπεδο απόδοσης Χαμηλό μέσο κόστος ανά ψηφίο Ιεραρχία μνήμης

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών II 16-2-2012. Ενδεικτικές απαντήσεις στα θέματα των εξετάσεων

Αρχιτεκτονική Υπολογιστών II 16-2-2012. Ενδεικτικές απαντήσεις στα θέματα των εξετάσεων Αρχιτεκτονική Υπολογιστών II 6 --0 Ενδεικτικές απαντήσεις στα θέματα των εξετάσεων Θέμα. Τι γνωρίζετε για την τοπικότητα των αναφορών και ποιών μονάδων του υπολογιστή ή τεχνικών η απόδοση εξαρτάται από

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΑΡΧΙΤΕΚΤΟΝΙΚΗ

Διαβάστε περισσότερα

ΠΛΕ- 027 Μικροεπεξεργαστές 9ο μάθημα: Αρχιτεκτονική συστήματος μνήμης: Κρυφές μνήμες εισαγωγή

ΠΛΕ- 027 Μικροεπεξεργαστές 9ο μάθημα: Αρχιτεκτονική συστήματος μνήμης: Κρυφές μνήμες εισαγωγή ΠΛΕ- 027 Μικροεπεξεργαστές 9ο μάθημα: Αρχιτεκτονική συστήματος μνήμης: Κρυφές μνήμες εισαγωγή Αρης Ευθυμίου Σύστημα μνήμης Η μνήμη είναι σημαντικό κομμάτι ενός υπολογιστή Επηρεάζει κόστος, ταχύτητα, κατανάλωση

Διαβάστε περισσότερα

i Στα σύγχρονα συστήματα η κύρια μνήμη δεν συνδέεται απευθείας με τον επεξεργαστή

i Στα σύγχρονα συστήματα η κύρια μνήμη δεν συνδέεται απευθείας με τον επεξεργαστή Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2015-16 Τεχνολογίες Κύριας (και η ανάγκη για χρήση ιεραρχιών μνήμης) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης i Στα σύγχρονα

Διαβάστε περισσότερα

Επιπλέον διδακτικό υλικό κρυφών μνημών: set-associative caches, πολιτικές αντικατάστασης, χειρισμός εγγραφών

Επιπλέον διδακτικό υλικό κρυφών μνημών: set-associative caches, πολιτικές αντικατάστασης, χειρισμός εγγραφών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Οργάνωση Υπολογιστών Επιπλέον διδακτικό υλικό κρυφών μνημών: set-associative caches, πολιτικές αντικατάστασης, χειρισμός εγγραφών Μανόλης Γ.Η. Κατεβαίνης Τμήμα Επιστήμης

Διαβάστε περισσότερα

Τεχνολογίες Κύριας Μνήμης

Τεχνολογίες Κύριας Μνήμης Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Τεχνολογίες Κύριας (και η ανάγκη για χρήση ιεραρχιών μνήμης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Κύρια Μνήμη

Διαβάστε περισσότερα

Ασκήσεις Caches

Ασκήσεις Caches Ασκήσεις Caches 1 Άσκηση 1η Θεωρήστε ένα σύστημα μνήμης με μία cache: 4-way set associative μεγέθους 256ΚΒ, με cache line 8 λέξεων. Χαρακτηριστικά συστήματος μνήμης: μέγεθος της λέξης είναι 32 bits. 1

Διαβάστε περισσότερα

Ασκήσεις Caches

Ασκήσεις Caches Ασκήσεις Caches 1 Άσκηση 1η Θεωρήστε ένα σύστημα μνήμης με μία cache: 4-way set associative μεγέθους 256ΚΒ, με cache line 8 λέξεων. Χαρακτηριστικά συστήματος μνήμης: μέγεθος της λέξης είναι 32 bits. 1

Διαβάστε περισσότερα

Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy)

Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy) Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy) 1 Συστήματα Μνήμης Η οργάνωση του συστήματος μνήμης επηρεάζει τη λειτουργία και απόδοση ενός μικροεπεξεργαστή: Διαχείριση μνήμης και περιφερειακών (Ι/Ο) απότολειτουργικόσύστημα

Διαβάστε περισσότερα

Άσκηση 1η. Θεωρήστε ένα σύστημα μνήμης με μία cache: 4 way set associative μεγέθους 256ΚΒ,

Άσκηση 1η. Θεωρήστε ένα σύστημα μνήμης με μία cache: 4 way set associative μεγέθους 256ΚΒ, Ασκήσεις Caches Άσκηση 1η Θεωρήστε ένα σύστημα μνήμης με μία cache: 4 way set associative μεγέθους 256ΚΒ, με cache line 8 λέξεων. Χαρακτηριστικά συστήματος μνήμης: μέγεθος της λέξης είναι 32 bits. 1 byte

Διαβάστε περισσότερα

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC Πλεονεκτήματα MPSoC Είναι ευκολότερο να σχεδιαστούν πολλαπλοί πυρήνες επεξεργαστών από τον σχεδιασμό ενός ισχυρότερου και πολύ πιο σύνθετου μονού επεξεργαστή.

Διαβάστε περισσότερα

Η ιεραρχία της μνήμης

Η ιεραρχία της μνήμης Η ιεραρχία της μνήμης Οι περιορισμοί στο σχεδιασμό της μνήμης συνοψίζονται σε τρεις ερωτήσεις : 1) Πόση 2) Πόσο γρήγορη 3) Πόσο ακριβή Ερωτήματα-Απαντήσεις Ερώτημα πόση μνήμη. Είναι ανοικτό. Αν υπάρχει

Διαβάστε περισσότερα

Ασκήσεις Caches. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης

Ασκήσεις Caches. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης Αρχιτεκτονική Υπολογιστών 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: 2014-2015 Νεκ. Κοζύρης nkoziris@cslab.ece.ntua.gr Ασκήσεις Caches http://www.cslab.ece.ntua.gr/courses/comparch/ Άδεια Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Οργάνωση Υπολογιστών Εργαστήριο 11: Κρυφές Μνήμες και η Επίδοσή τους Μανόλης Γ.Η. Κατεβαίνης Τμήμα Επιστήμης Υπολογιστών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

Τεχνολογία μνημών Ημιαγωγικές μνήμες Μνήμες που προσπελαύνονται με διευθύνσεις:

Τεχνολογία μνημών Ημιαγωγικές μνήμες Μνήμες που προσπελαύνονται με διευθύνσεις: Σύστημα μνήμης Ο κύριος σκοπός στο σχεδιασμό ενός συστήματος μνήμης είναι να προσφέρουμε επαρκή χωρητικότητα αποθήκευσης διατηρώντας ένα αποδεκτό επίπεδο μέσης απόδοσης και επίσης χαμηλό μέσο κόστος ανά

Διαβάστε περισσότερα

Κρυφή Μνήµη. Λειτουργικά Συστήµατα ΙΙ UNIX. Μάθηµα: Aναπλ. Καθ. Κ. Λαµπρινουδάκης ιδάσκων: &καιτοπλήθοςτωνπλαισίωντηςκρυφήςµνήµης

Κρυφή Μνήµη. Λειτουργικά Συστήµατα ΙΙ UNIX. Μάθηµα: Aναπλ. Καθ. Κ. Λαµπρινουδάκης ιδάσκων: &καιτοπλήθοςτωνπλαισίωντηςκρυφήςµνήµης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX Τρόπος Απεικόνισης Μπλόκ της Κύριας Μνήµης σε Πλαίσια της Κρυφής Μνήµης (placement policy) Μάθηµα: Λειτουργικά Συστήµατα ΙΙ UNIX Κρυφή Μνήµη Οργάνωση κρυφής µνήµης ιδάσκων:

Διαβάστε περισσότερα

Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering. Εργαστήριο 8. Χειμερινό Εξάμηνο

Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering. Εργαστήριο 8. Χειμερινό Εξάμηνο Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering Οργάνωση και Σχεδίαση Η/Y (HY232) Εργαστήριο 8 Χειμερινό Εξάμηνο 2016-2017 1. Προσομοίωση λειτουργίας ιεραρχίας

Διαβάστε περισσότερα

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM). Μνήμες Ένα από τα βασικά πλεονεκτήματα των ψηφιακών συστημάτων σε σχέση με τα αναλογικά, είναι η ευκολία αποθήκευσης μεγάλων ποσοτήτων πληροφοριών, είτε προσωρινά είτε μόνιμα Οι πληροφορίες αποθηκεύονται

Διαβάστε περισσότερα

ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Διδάσκων: Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 ΕΙΣΑΓΩΓΗ Μνήμη : Πόρος ζωτικής σημασίας του οποίου η διαχείριση απαιτεί ιδιαίτερη

Διαβάστε περισσότερα

Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Ταχύτητα εκτέλεσης Χρόνος εκτέλεσης = (αριθμός εντολών που εκτελούνται) Τί έχει σημασία: Χ (χρόνος εκτέλεσης εντολής) Αριθμός

Διαβάστε περισσότερα

Ενότητα 2: Η κρυφή µνήµη και η λειτουργία της

Ενότητα 2: Η κρυφή µνήµη και η λειτουργία της Ενότητα 2: Η κρυφή µνήµη και η λειτουργία της Στην ενότητα αυτή θα αναφερθούµε εκτενέστερα στη λειτουργία και την οργάνωση της κρυφής µνήµης. Θα προσδιορίσουµε τις βασικές λειτουργίες που σχετίζονται µε

Διαβάστε περισσότερα

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Οργάνωση Η/Υ Ενότητα 1η: Εισαγωγή στην Οργάνωση Η/Υ Άσκηση 1: Αναλύστε τη διαδοχική εκτέλεση των παρακάτω εντολών MIPS με βάση τις

Διαβάστε περισσότερα

Λειτουργικά Συστήματα Η/Υ

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 8 «Ιδεατή Μνήμη» Διδάσκων: Δ. Λιαροκαπης Διαφάνειες: Π. Χατζηδούκας Ιδεατή Μνήμη Οργάνωση. Εισαγωγή. Ιδεατές και πραγματικές διευθύνσεις. Λογική οργάνωση. Τμηματοποίηση

Διαβάστε περισσότερα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Επ. Καθ. Κ. Λαμπρινουδάκης

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Επ. Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Διδάσκων: Επ. Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 ΕΙΣΑΓΩΓΗ Μνήμη : Πόρος ζωτικής σημασίας του οποίου η διαχείριση απαιτεί ιδιαίτερη

Διαβάστε περισσότερα

ΕΘΝΙKΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Ονοματεπώνυμο: ΑΜ:

ΕΘΝΙKΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Ονοματεπώνυμο: ΑΜ: ΕΘΝΙKΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Ονοματεπώνυμο: ΑΜ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ (τμήμα Μ - Ω) Κανονική εξεταστική Φεβρουαρίου

Διαβάστε περισσότερα

Κατακερματισμός (Hashing)

Κατακερματισμός (Hashing) Κατακερματισμός (Hashing) O κατακερματισμός είναι μια τεχνική οργάνωσης ενός αρχείου. Είναι αρκετά δημοφιλής μέθοδος για την οργάνωση αρχείων Βάσεων Δεδομένων, καθώς βοηθάει σημαντικά στην γρήγορη αναζήτηση

Διαβάστε περισσότερα

Διάλεξη 15 Απόδοση της Ιεραρχίας Μνήμης Βελτιστοποίηση της απόδοσης

Διάλεξη 15 Απόδοση της Ιεραρχίας Μνήμης Βελτιστοποίηση της απόδοσης ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 5 Απόδοση της Ιεραρχίας Μνήμης Βελτιστοποίηση της απόδοσης Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Πόσο μεγάλη είναι μια μνήμη cache;

Διαβάστε περισσότερα

Υ- 01 Αρχιτεκτονική Υπολογιστών Υπόβαθρο: Κρυφές μνήμες

Υ- 01 Αρχιτεκτονική Υπολογιστών Υπόβαθρο: Κρυφές μνήμες Υ- 01 Αρχιτεκτονική Υπολογιστών Υπόβαθρο: Κρυφές μνήμες Αρης Ευθυμίου Το σημερινό μάθημα Κρυφές μνήμες (cache memory) Βασική οργάνωση, παράμετροι: γραμμές, συσχετιστικότητα, συνολική χωρητικότητα Επίδοση:

Διαβάστε περισσότερα

Κεφάλαιο 4 ο. Ο Προσωπικός Υπολογιστής

Κεφάλαιο 4 ο. Ο Προσωπικός Υπολογιστής Κεφάλαιο 4 ο Ο Προσωπικός Υπολογιστής Μάθημα 4.3 Ο Επεξεργαστής - Εισαγωγή - Συχνότητα λειτουργίας - Εύρος διαδρόμου δεδομένων - Εύρος διαδρόμου διευθύνσεων - Εύρος καταχωρητών Όταν ολοκληρώσεις το μάθημα

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Υποσύστημα μνήμης Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

Διαβάστε περισσότερα

ΠΕΡΙΕΧΟΜΕΝΑ. 1.1. Υλικό και Λογισμικό.. 1 1.2 Αρχιτεκτονική Υπολογιστών.. 3 1.3 Δομή, Οργάνωση και Λειτουργία Υπολογιστών 6

ΠΕΡΙΕΧΟΜΕΝΑ. 1.1. Υλικό και Λογισμικό.. 1 1.2 Αρχιτεκτονική Υπολογιστών.. 3 1.3 Δομή, Οργάνωση και Λειτουργία Υπολογιστών 6 ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή στην Δομή, Οργάνωση, Λειτουργία και Αξιολόγηση Υπολογιστών 1.1. Υλικό και Λογισμικό.. 1 1.2 Αρχιτεκτονική Υπολογιστών.. 3 1.3 Δομή, Οργάνωση και Λειτουργία Υπολογιστών 6 1.3.1 Δομή

Διαβάστε περισσότερα

ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ (Τμήματα Υπολογιστή) ΕΚΠΑΙΔΕΥΤΗΣ:ΠΟΖΟΥΚΙΔΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ Κάθε ηλεκτρονικός υπολογιστής αποτελείται

Διαβάστε περισσότερα

ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ

ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ ΜΝΗΜΗ Πρωτόκολλα Συνέπειας Μνήµης σε Πολυεπεξεργαστικά Υπολογιστικά Συστήµατα ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΡΓΑΣΤΗΡΙΟ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΥΨΗΛΩΝ ΕΠΙ

Διαβάστε περισσότερα

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τμήμα Πληροφορικής

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τμήμα Πληροφορικής Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τμήμα Πληροφορικής Άσκηση : Λυμένες Ασκήσεις Έστω ένα σύστημα μνήμης, στο οποίο έχουμε προσθέσει μια κρυφή μνήμη θυμάτων 6 θέσεων

Διαβάστε περισσότερα

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Τμήμα Λογιστικής Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Μάθημα 8 Κεντρική Μονάδα Επεξεργασίας και Μνήμη 1 Αρχιτεκτονική του Ηλεκτρονικού Υπολογιστή Μονάδες Εισόδου Κεντρική

Διαβάστε περισσότερα

Επαρκή χωρητικότητα αποθήκευσης Αποδεκτό επίπεδο μέσης απόδοσης Χαμηλό μέσο κόστος ανά δυαδικό δ ψηφίο

Επαρκή χωρητικότητα αποθήκευσης Αποδεκτό επίπεδο μέσης απόδοσης Χαμηλό μέσο κόστος ανά δυαδικό δ ψηφίο ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Ι Κεφάλαιο 51&52 5.1 5.2 Σύστημα μνήμης Αρχιτεκτονική Υπολογιστών,, Δημήτριος B. Νικολός, 2η η Έκδοση, Έκδοση Δ. Β. Νικολού,, 2012 Κύριος Σκοπός κατά τη Σχεδίαση του Συστήματος

Διαβάστε περισσότερα

Οργάνωση Υπολογιστών (ΙI)

Οργάνωση Υπολογιστών (ΙI) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Οργάνωση Υπολογιστών (ΙI) (κύρια και κρυφή μνήμη) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Ένα τυπικό

Διαβάστε περισσότερα

Λειτουργικά Συστήματα (Λ/Σ)

Λειτουργικά Συστήματα (Λ/Σ) Λειτουργικά Συστήματα (Λ/Σ) Διαχείριση Μνήμης Βασίλης Σακκάς 6/12/2013 1 Διαχείριση Μνήμης 1 Το τμήμα του Λ/Σ που διαχειρίζεται τη μνήμη λέγεται Διαχειριστής Μνήμης (Memory manager). Καθήκον του είναι

Διαβάστε περισσότερα

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ II. χειμερινό εξάμηνο & εαρινό εξάμηνο (σε κίτρινο υπόβαθρο)

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ II. χειμερινό εξάμηνο & εαρινό εξάμηνο (σε κίτρινο υπόβαθρο) I χειμερινό εξάμηνο & ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ II εαρινό εξάμηνο (σε κίτρινο υπόβαθρο). Νικολός Καθηγητής ΚΕΦΑΛΑΙΟ 1 Εισαγωγή στην ομή, Οργάνωση, Λειτουργία και Αξιολόγηση Υπολογιστών Ενότητα 1.1 Υλικό

Διαβάστε περισσότερα

Κύρια μνήμη. Μοντέλο λειτουργίας μνήμης. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (ΙI)

Κύρια μνήμη. Μοντέλο λειτουργίας μνήμης. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (ΙI) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 015-16 Οργάνωση Υπολογιστών (ΙI) (κύρια και ) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Ένα τυπικό υπολογιστικό

Διαβάστε περισσότερα

Αρχιτεκτονική υπολογιστών

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 4 : Κρυφή Μνήμη Καρβούνης Ευάγγελος Δευτέρα, 30/11/2015 Χαρακτηριστικά Θέση Χωρητικότητα Μονάδα Μεταφοράς

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 11: Κρυφή Μνήμη Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών http://arch.icte.uowm.gr/mdasyg

Διαβάστε περισσότερα

Με τον όρο μνήμη αναφερόμαστε στα μέσα που χρησιμοποιούνται για την αποθήκευση προγραμμάτων και δεδομένων σε έναν υπολογιστή ή άλλη ψηφιακή

Με τον όρο μνήμη αναφερόμαστε στα μέσα που χρησιμοποιούνται για την αποθήκευση προγραμμάτων και δεδομένων σε έναν υπολογιστή ή άλλη ψηφιακή Μνήμη Με τον όρο μνήμη αναφερόμαστε στα μέσα που χρησιμοποιούνται για την αποθήκευση προγραμμάτων και δεδομένων σε έναν υπολογιστή ή άλλη ψηφιακή ηλεκτρονική συσκευή, σε προσωρινή ή μόνιμη βάση. Τα σύγχρονα

Διαβάστε περισσότερα

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ Η Κεντρική Μονάδα Επεξεργασίας (Central Processing Unit -CPU) ή απλούστερα επεξεργαστής αποτελεί το μέρος του υλικού που εκτελεί τις εντολές ενός προγράμματος υπολογιστή

Διαβάστε περισσότερα

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

Διαβάστε περισσότερα

SMPcache. Ένα εργαλείο για προσομοίωση-οπτικοποίηση κρυφής μνήμης (Cache)

SMPcache. Ένα εργαλείο για προσομοίωση-οπτικοποίηση κρυφής μνήμης (Cache) SMPcache Ένα εργαλείο για προσομοίωση-οπτικοποίηση κρυφής μνήμης (Cache) 1. Βασικές ρυθμίσεις του συστήματος: δημιουργία μια δικής μας σύνθεσης συστήματος. Το SMPcache είναι ένα εργαλείο με το οποίο μπορούμε

Διαβάστε περισσότερα

Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή

Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή 8.1 Τακτική σάρωση (Polling) Ας υποθέσουμε ότι έχουμε ένα πληκτρολόγιο συνδεδεμένο σε ένα υπολογιστικό σύστημα. Το πληκτρολόγιο είναι μια μονάδα εισόδου.

Διαβάστε περισσότερα

Ζητήµατα Απόδοσης. Ιεραρχία Μνήµης. Αναγκαιότητα για Ιεραρχία Μνήµης. Processor-DRAM Gap (latency) Ε-85: Ειδικά Θέµατα Λογισµικού

Ζητήµατα Απόδοσης. Ιεραρχία Μνήµης. Αναγκαιότητα για Ιεραρχία Μνήµης. Processor-DRAM Gap (latency) Ε-85: Ειδικά Θέµατα Λογισµικού Ε-85: Ειδικά Θέµατα Λογισµικού Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων Χειµερινό Εξάµηνο 2009-10 «Ιεραρχία Μνήµης και Τεχνικές Βελτιστοποίησης» Παναγιώτης Χατζηδούκας (Π.Δ. 407/80) Ζητήµατα Απόδοσης

Διαβάστε περισσότερα

Ιεραρχία Μνήμης. Εικονική μνήμη (virtual memory) Επεκτείνοντας την Ιεραρχία Μνήμης. Εικονική Μνήμη. Μ.Στεφανιδάκης

Ιεραρχία Μνήμης. Εικονική μνήμη (virtual memory) Επεκτείνοντας την Ιεραρχία Μνήμης. Εικονική Μνήμη. Μ.Στεφανιδάκης Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής ρχιτεκτονική Υπολογιστών 2016-17 Εικονική Μνήμη (και ο ρόλος της στην ιεραρχία μνήμης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Δευτερεύουσα μνήμη

Διαβάστε περισσότερα

Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών

Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ: ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας

Διαβάστε περισσότερα

ΣΤΑΤΙΚΕΣ ΚΑΙ ΔΥΝΑΜΙΚΕΣ ΜΝΗΜΕΣ ΤΥΧΑΙΑΣ ΠΡΟΣΠΕΛΑΣΗΣ (Static and Dynamic RAMs). ΔΙΑΡΘΡΩΣΗ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΘΕΜΑΤΙΚΕΣ ΕΝΟΤΗΤΕΣ

ΣΤΑΤΙΚΕΣ ΚΑΙ ΔΥΝΑΜΙΚΕΣ ΜΝΗΜΕΣ ΤΥΧΑΙΑΣ ΠΡΟΣΠΕΛΑΣΗΣ (Static and Dynamic RAMs). ΔΙΑΡΘΡΩΣΗ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΘΕΜΑΤΙΚΕΣ ΕΝΟΤΗΤΕΣ ΣΤΑΤΙΚΕΣ ΚΑΙ ΔΥΝΑΜΙΚΕΣ ΜΝΗΜΕΣ ΤΥΧΑΙΑΣ ΠΡΟΣΠΕΛΑΣΗΣ (Static and Dynamic RAMs). ΔΙΑΡΘΡΩΣΗ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΘΕΜΑΤΙΚΕΣ ΕΝΟΤΗΤΕΣ ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ ΗΜΙΑΓΩΓΙΚΩΝ ΜΝΗΜΩΝ. ΒΑΣΙΚΗ ΛΕΙΤΟΥΡΓΙΑ RAM CMOS. ΤΥΠΟΙ ΚΥΤΤΑΡΩΝ ΑΡΧΕΣ

Διαβάστε περισσότερα

Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση. Κεφάλαιο 5. Μεγάλη και γρήγορη: Αξιοποίηση της ιεραρχίας της µνήµης

Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση. Κεφάλαιο 5. Μεγάλη και γρήγορη: Αξιοποίηση της ιεραρχίας της µνήµης Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση Κεφάλαιο 5 Μεγάλη και γρήγορη: Αξιοποίηση της ιεραρχίας της µνήµης Ασκήσεις Η αρίθµηση των ασκήσεων είναι από την 4 η έκδοση

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 11: Κρυφή Μνήμη Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών http://arch.icte.uowm.gr/mdasyg

Διαβάστε περισσότερα

Αρχιτεκτονική-ΙI Ενότητα 4 :

Αρχιτεκτονική-ΙI Ενότητα 4 : ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Αρχιτεκτονική-ΙI Ενότητα 4 : Μνήμες Ιωάννης Έλληνας Τμήμα Η/ΥΣ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

Εργαστήριο Εισαγωγής στη Σχεδίαση Συστημάτων VLSI

Εργαστήριο Εισαγωγής στη Σχεδίαση Συστημάτων VLSI Ε.Μ.Π. - ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΡΓΑΣΤΗΡΙΟ ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗ ΣΧΕΔΙΑΣΗ ΣΥΣΤΗΜΑΤΩΝ VLSI

Διαβάστε περισσότερα

Μάθημα 5: Χαρακτηριστικά της Κ.Μ.Ε.

Μάθημα 5: Χαρακτηριστικά της Κ.Μ.Ε. Μάθημα 5: Χαρακτηριστικά της Κ.Μ.Ε. 5.1 Το ρολόι Κάθε μία από αυτές τις λειτουργίες της Κ.Μ.Ε. διαρκεί ένα μικρό χρονικό διάστημα. Για το συγχρονισμό των λειτουργιών αυτών, είναι απαραίτητο κάποιο ρολόι.

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Υποσύστημα μνήμης Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

Αρχιτεκτονική Μνήμης

Αρχιτεκτονική Μνήμης ΕΣ 08 Επεξεργαστές Ψηφιακών Σημάτων Αρχιτεκτονική Μνήμης Τμήμα Επιστήμη και Τεχνολογίας Τηλεπικοινωνιών Πανεπιστήμιο Πελοποννήσου Βιβλιογραφία Ενότητας Kuo [2005]: Chapters 3 & 4 Lapsley [2002]: Chapter

Διαβάστε περισσότερα

Μάθημα 8: Διαχείριση Μνήμης

Μάθημα 8: Διαχείριση Μνήμης Μάθημα 8: Διαχείριση Μνήμης 8.1 Κύρια και δευτερεύουσα μνήμη Κάθε μονάδα ενός υπολογιστή που χρησιμεύει για τη μόνιμη ή προσωρινή αποθήκευση δεδομένων ανήκει στην μνήμη (memory) του υπολογιστή. Οι μνήμες

Διαβάστε περισσότερα

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Βασισμένο σε μια εργασία των Καζαρλή, Καλόμοιρου, Μαστοροκώστα, Μπαλουκτσή, Καλαϊτζή, Βαλαή, Πετρίδη Εισαγωγή Η Εξελικτική Υπολογιστική

Διαβάστε περισσότερα

Κεφάλαιο 5. Κεφ. 5 Λειτουργικά Συστήματα 1

Κεφάλαιο 5. Κεφ. 5 Λειτουργικά Συστήματα 1 Λειτουργικά Συστήματα Κεφάλαιο 5 Κεφ. 5 Λειτουργικά Συστήματα 1 Διαχείριση Κεντρικής Μνήμης Στην Κεντρική (κύρια) Μνήμη του Η/Υ αποθηκεύονται ανα πάσα στιγμή όλα τα προγράμματα που εκτελούνται στην ΚΜΕ

Διαβάστε περισσότερα

Προγραμματισμός συστημάτων UNIX/POSIX. Θέμα επιλεγμένο από τους φοιτητές: Προγραμματιστικές τεχνικές που στοχεύουν σε επιδόσεις

Προγραμματισμός συστημάτων UNIX/POSIX. Θέμα επιλεγμένο από τους φοιτητές: Προγραμματιστικές τεχνικές που στοχεύουν σε επιδόσεις Προγραμματισμός συστημάτων UNIX/POSIX Θέμα επιλεγμένο από τους φοιτητές: Προγραμματιστικές τεχνικές που στοχεύουν σε επιδόσεις Βελτιστοποιήσεις με στόχο τις επιδόσεις Σε αρκετές περιπτώσεις δεν αρκεί να

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ

Διαβάστε περισσότερα

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο 2006-07

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο 2006-07 Ενότητα 4 Εισαγωγή στην Πληροφορική Κεφάλαιο 4Α: Αναπαράσταση πληροφορίας Κεφάλαιο 4Β: Επεξεργαστές που χρησιµοποιούνται σε PCs Χειµερινό Εξάµηνο 2006-07 ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Εισαγωγή

Διαβάστε περισσότερα

Πανεπιστήµιο Θεσσαλίας

Πανεπιστήµιο Θεσσαλίας Πανεπιστήµιο Θεσσαλίας Τµήµα Πληροφορικής Ενότητα 8η: Συσκευές Ε/Ε - Αρτηρίες Άσκηση 1: Υπολογίστε το µέσο χρόνο ανάγνωσης ενός τµήµατος των 512 bytes σε µια µονάδα σκληρού δίσκου µε ταχύτητα περιστροφής

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ, 5 ο εξάµηνο

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ, 5 ο εξάµηνο ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ και ΥΠΟΛΟΓΙΣΤΩΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ, 5 ο εξάµηνο ΦΕΒΡΟΥΑΡΙΟΣ 2006 ΘΕΜΑΤΑ ΚΑΙ ΛΥΣΕΙΣ

Διαβάστε περισσότερα

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή 1 Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή μνήμη(cache). Η cache είναι πολύ σημαντική, πολύ γρήγορη,

Διαβάστε περισσότερα

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα Ιεραρχία Μνήμης Υπολογιστή Εξωτερική Μνήμη Εσωτερική Μνήμη Κρυφή Μνήμη (Cache) μεγαλύτερη χωρητικότητα Καταχωρητές (Registers) Κεντρική Μονάδα (CPU) μεγαλύτερη ταχύτητα Πολλές σημαντικές εφαρμογές διαχειρίζονται

Διαβάστε περισσότερα

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ 1. Τι εννοούμε με τον όρο υπολογιστικό σύστημα και τι με τον όρο μικροϋπολογιστικό σύστημα; Υπολογιστικό

Διαβάστε περισσότερα

Εικονική Μνήμη (Virtual Μemory)

Εικονική Μνήμη (Virtual Μemory) ΗΥ 431 Αρχιτεκτονική Παραλλήλων Συστημάτων Διάλεξη 16 Εικονική Μνήμη (Virtual Μemory) Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Απλό πείραμα int *data = malloc((1

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ. ΜΑΘΗΜΑ 4 ο ΟΡΓΑΝΩΣΗ ΤΗΣ ΜΝΗΜΗΣ ΠΕΡΙΦΕΡΕΙΑΚΗ ΜΝΗΜΗ

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ. ΜΑΘΗΜΑ 4 ο ΟΡΓΑΝΩΣΗ ΤΗΣ ΜΝΗΜΗΣ ΠΕΡΙΦΕΡΕΙΑΚΗ ΜΝΗΜΗ ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ ΜΑΘΗΜΑ 4 ο ΟΡΓΑΝΩΣΗ ΤΗΣ ΜΝΗΜΗΣ ΠΕΡΙΦΕΡΕΙΑΚΗ ΜΝΗΜΗ ΧΕΙΜΩΝΑΣ 2009 ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ 1 Γενική οργάνωση του υπολογιστή Ο καταχωρητής δεδομένων της μνήμης (memory data register

Διαβάστε περισσότερα

Ασκήσεις Αρχιτεκτονικής Υπολογιστών

Ασκήσεις Αρχιτεκτονικής Υπολογιστών Ασκήσεις Αρχιτεκτονικής Υπολογιστών ακαδ. έτος 2008-2009 Άσκηση 1: caches Θεωρούμε το ακόλουθο κομμάτι κώδικα #define N 4 #define M 8 double c[n], a[n][m], b[m]; int i,j; for(i = 0; i < N; i++) for(j =

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ

Διαβάστε περισσότερα

ΠΛΕ- 027 Μικροεπεξεργαστές

ΠΛΕ- 027 Μικροεπεξεργαστές ΠΛΕ- 027 Μικροεπεξεργαστές 10ο μάθημα: Αρχιτεκτονική συστήματος μνήμης: Εικονική μνήμη, σχεδίαση αποδοτικής κρυφής μνήμης, προγραμματισμός για κρυφή μνήμη Αρης Ευθυμίου Εικονική μνήμη ως cache Η κύρια

Διαβάστε περισσότερα

Εικονική Μνήµη. Κεφάλαιο 8. Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

Εικονική Μνήµη. Κεφάλαιο 8. Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi Εικονική Μνήµη Κεφάλαιο 8 Υλικό και δοµές ελέγχου Οι αναφορές στην µνήµη υπολογίζονται δυναµικά κατά την εκτέλεση Ηδιεργασίαχωρίζεταισετµήµατα τα οποία δεν απαιτείται να καταλαµβάνουν συνεχόµενες θέσεις

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ ΤΕΛΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232) Τετάρτη, 21 Δεκεμβρίου 2016 ΔΙΑΡΚΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ 3 ΩΡΕΣ Για πλήρη

Διαβάστε περισσότερα

Δομή Ηλεκτρονικού υπολογιστή

Δομή Ηλεκτρονικού υπολογιστή Δομή Ηλεκτρονικού υπολογιστή Η κλασσική δομή του μοντέλου που πρότεινε το 1948 ο Von Neumann Κεντρική Μονάδα Επεξεργασίας Είσοδος Αποθήκη Αποθήκη - Έξοδος Εντολών Δεδομένων Κλασσικό μοντέλο Von Neumann

Διαβάστε περισσότερα

Μάθημα 3.2: Κεντρική Μονάδα Επεξεργασίας

Μάθημα 3.2: Κεντρική Μονάδα Επεξεργασίας Κεφάλαιο 3 ο Αρχιτεκτονική Υπολογιστών Μάθημα 3.: Κεντρική Μονάδα Επεξεργασίας Όταν ολοκληρώσεις το κεφάλαιο θα μπορείς: Να σχεδιάζεις την εσωτερική δομή της ΚΜΕ και να εξηγείς τη λειτουργία των επιμέρους

Διαβάστε περισσότερα

Ασκήσεις στα Προηγμένα Θέματα Αρχιτεκτονικής Υπολογιστών

Ασκήσεις στα Προηγμένα Θέματα Αρχιτεκτονικής Υπολογιστών Ασκήσεις στα Προηγμένα Θέματα Αρχιτεκτονικής Υπολογιστών ακ. έτος 2006-2007 Νεκτάριος Κοζύρης Νίκος Αναστόπουλος {nkoziris,anastop}@cslab.ece.ntua.gr Άσκηση 1: pipelining Εξετάζουμε την εκτέλεση του παρακάτω

Διαβάστε περισσότερα

Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access)

Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access) Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access) Μελετώντας το μάθημα θα μπορείς να ξέρεις τη λειτουργία του Polling να ξέρεις

Διαβάστε περισσότερα

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System)

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System) ..8 Κατανομή των αρχείων σε συσκευές Ακολουθείται κάποια λογική στην αποθήκευση των αρχείων:.αρχεία που χρησιμοποιούνται συχνά τοποθετούνται στους σκληρούς δίσκους που έχουν μεγάλη ταχύτητα πρόσβασης..αν

Διαβάστε περισσότερα

3 η ΑΣΚΗΣΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΥΠΟΛΟΓΙΣΤΩΝ

3 η ΑΣΚΗΣΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ntua.gr 3 η ΑΣΚΗΣΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ

Διαβάστε περισσότερα

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη. (και ο ρόλος της στην ιεραρχία μνήμης)

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη. (και ο ρόλος της στην ιεραρχία μνήμης) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2011-12 Εικονική (και ο ρόλος της στην ιεραρχία μνήμης) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης Ιεραρχία η νέα τάση: [2011]

Διαβάστε περισσότερα

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ» Περιεχόμενα Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»... 2 Καταχωρητές... 3 Αριθμητική-λογική μονάδα... 3 Μονάδα μνήμης... 4 Μονάδα Εισόδου - Εξόδου... 5 Μονάδα ελέγχου... 5 Ρεπερτόριο Εντολών «ΑΒΑΚΑ»... 6 Φάση

Διαβάστε περισσότερα

Θέματα Μεταγλωττιστών

Θέματα Μεταγλωττιστών Γιώργος Δημητρίου Ενότητα 10 η : Βελτιστοποιήσεις Τοπικότητας και Παραλληλισμού: Εξαρτήσεις και Μετασχηματισμοί Βρόχων Επεξεργασία Πινάκων Παραλληλισμός επιπέδου βρόχου Λόγω παραλληλισμού δεδομένων Επιτυγχάνεται

Διαβάστε περισσότερα

Μάθημα 4: Κεντρική Μονάδα Επεξεργασίας

Μάθημα 4: Κεντρική Μονάδα Επεξεργασίας Μάθημα 4: Κεντρική Μονάδα Επεξεργασίας 4.1 Γενικά Ο υπολογιστής επεξεργάζεται δεδομένα ακολουθώντας βήμα βήμα, τις εντολές ενός προγράμματος. Το τμήμα του υπολογιστή, που εκτελεί τις εντολές και συντονίζει

Διαβάστε περισσότερα

Μάθημα 7: Μικροϋπολογιστικό Σύστημα και Μνήμες

Μάθημα 7: Μικροϋπολογιστικό Σύστημα και Μνήμες Μάθημα 7: Μικροϋπολογιστικό Σύστημα και Μνήμες 7.1 Αρχιτεκτονική μνημών σε υπολογιστικό σύστημα Σε ένα υπολογιστικό σύστημα υπάρχουν συνήθως περισσότερες από μία μνήμες. Επειδή η χωρητικότητα ενός μόνο

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 10: Ιεραρχία Μνήμης. Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών http://arch.icte.uowm.gr/mdasyg

Διαβάστε περισσότερα

- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών

- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών Μάθημα 4.5 Η Μνήμη - Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών Όταν ολοκληρώσεις το μάθημα αυτό θα μπορείς: Να αναφέρεις τα κυριότερα είδη μνήμης

Διαβάστε περισσότερα

Κωνσταντίνος Κυριακουλάκος Α.Μ.:

Κωνσταντίνος Κυριακουλάκος Α.Μ.: ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Κωνσταντίνος Κυριακουλάκος Α.Μ.:2000030020 ΔΙΠΛΩΜΑΤΙΚΉ ΕΡΓΑΣΊΑ ΥΛΟΠΟΙΗΣΗ ΚΑΙ ΠΡΟΣΟΜΟΙΩΣΗ ΜΙΑΣ ΠΑΡΑΜΕΤΡΙΚΗΣ ΚΡΥΦΗΣ ΜΝΗΜΗΣ Επιβλέπων Καθηγητής:

Διαβάστε περισσότερα

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ)

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ) ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ) Συσκευές αποθήκευσης Ένας υπολογιστής προκειµένου να αποθηκεύσει δεδοµένα χρησιµοποιεί δύο τρόπους αποθήκευσης: Την Κύρια Μνήµη Τις συσκευές µόνιµης αποθήκευσης (δευτερεύουσα

Διαβάστε περισσότερα

3. Σελιδοποίηση μνήμης 4. Τμηματοποίηση χώρου διευθύνσεων

3. Σελιδοποίηση μνήμης 4. Τμηματοποίηση χώρου διευθύνσεων ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ MHXANIKOI Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΙΠΕ Ο ΜΗΧΑΝΗΣ ΛΕΙΤΟΥΡΓΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ Γ. Τσιατούχας 6 ο Κεφάλαιο 1. Επίπεδο OSM 2. Εικονική μνήμη ιάρθρωση 3. Σελιδοποίηση μνήμης 4. Τμηματοποίηση

Διαβάστε περισσότερα

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Κεφάλαιο 3

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Κεφάλαιο 3 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 3 Κεντρική Μονάδα Επεξεργασίας Κεντρική Μονάδα Επεξεργασίας Μονάδα επεξεργασίας δεδομένων Μονάδα ελέγχου Μονάδα επεξεργασίας δεδομένων Δομή Αριθμητικής Λογικής Μονάδας

Διαβάστε περισσότερα