Διδάσκοντας: Κ. Χαλάτσης

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Indexing.
Advertisements

5 Οργάνωση υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών ã Εκδόσεις Κλειδάριθμος.
ΨΗΦΙΑΚΗ ΜΝΗΜΗ (RAM – ROM).
Κ. Διαμαντάρας Α. Βαφειάδης Τμήμα Πληροφορικής ΑΤΕΙ Θεσσαλονίικης 2011 Συστήματα Μνήμης – Οργάνωση κύριας μνήμης.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Αποθήκευση Δεδομένων.
Κώστας Διαμαντάρας Τμήμα Πληροφορικής ΤΕΙ Θεσσαλονίκης 2011 Πολυεπεξεργαστές.
ΤΑΞΗ Γ ΓΥΜΝΑΣΙΟΥ Βασικές Έννοιες Επανάληψη (2).
Το υλικο του Υπολογιστη
Συνάφεια Κρυφής Μνήμης σε Επεκτάσιμα Μηχανήματα. Συστήματα με Κοινή ή Κατανεμημένη Μνήμη  Σύστημα μοιραζόμενης μνήμης  Σύστημα κατανεμημένης μνήμης.
Ζητήματα Σελιδοποίησης
Cache Optimisations.
By Τζέρυ, Κώστας και Λέντι. είναι όρος που χρησιμοποιούμε για ηλεκτρονικές διατάξεις προσωρινής αποθήκευσης ηλεκτρονικές οι οποίες επιτρέπουν πρόσβαση.
Μνήμη και Προγραμματίσιμη Λογική
To υπολογιστικό σύστημα
Εικονική Μνήμη (virtual memory) Πολλά προγράμματα εκτελούνται ταυτόχρονα σε ένα υπολογιστή Η συνολική μνήμη που απαιτείται είναι μεγαλύτερη.
Είδη των Cache Misses: 3C’s 1 Compulsory: 1 Compulsory: Συμβαίνουν κατά την πρώτη πρόσβαση σε ένα block. Το block πρέπει να κληθεί από χαμηλότερα επίπεδα.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
Μνημη τυχαιας προσπελασης (Random Access Memory - RAM)
Διαχείριση μνήμης Υπόβαθρο Εναλλαγή Συνεχής κατανομή Σελιδοποίηση
ΔΕΞΙΟΤΗΤΕΣ ΕΠΙΚΟΙΝΩΝΙΑΣ 1 ΠΕΡΙΓΡΑΦΗ ΤΩΝ ΜΝΗΜΩΝ ΕΝΟΣ Η/Υ ΤΜΗΜΑ: Τ6 ΟΝΟΜΑΤΑ: ΣΕΛΑΛΜΑΖΙΔΗΣ ΤΑΣΟΣ ΦΙΛΙΑΣ ΑΝΤΩΝΗΣ ΦΙΛΙΑΣ ΑΝΤΩΝΗΣ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ.
Κεφάλαιο 2 Το Εσωτερικό του υπολογιστή
ΕΣ 08: Επεξεργαστές Ψηφιακών Σημάτων © 2006 Nicolas Tsapatsoulis Αρχιτεκτονική Μνήμης Τμήμα Επιστήμη και Τεχνολογίας Τηλεπικοινωνιών Πανεπιστήμιο Πελοποννήσου.
Ο προσωπικός υπολογιστής εσωτερικά
Τα μέσα μνήμης του Η.Υ.
Σχεδιασμός της Ιεραρχίας Μνήμης (1) Pedro Trancoso Τμήμα Πληροφορικής Πανεπιστήμιο Κύπρου.
Μοντέλα - Αλγόριθμοι – Ταξινόμηση Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων)
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
Άσκηση Διεύθυνσης Μνήμης με cache Νεκτάριος Κοζύρης Άρης Σωτηρόπουλος Νίκος Αναστόπουλος.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
© Processor-Memory (DRAM) Διαφορά επίδοσης Performance
Processor-Memory (DRAM) Διαφορά επίδοσης Performance
ΜΝΗΜΗ RAM Εισαγωγή Μια μονάδα μνήμης στην ουσία είναι ένα σύνολο από δυαδικά κύτταρα αποθήκευσης (τα δυαδικά κύτταρα μπορούν να αποθηκεύσουν είτε την.
Translation Lookaside Buffers Φροντιστήριο του μαθήματος “Προηγμένοι Μικροεπεξεργαστές”
© Είδη των Cache Misses: 3C’s 1 Compulsory: 1 Compulsory: Συμβαίνουν κατά την πρώτη πρόσβαση σε ένα block. Το block πρέπει να κληθεί.
1 Αρχιτεκτονική υπολογιστών Ενότητα 4 : Ενδιάμεση Μνήμη (Cache Memory) Φώτης Βαρζιώτης Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
Αρχιτεκτονική Υπολογιστών ΙΕΡΑΡΧΙΕΣ ΜΝΗΜΗΣ. Αρχιτεκτονική Υπολογιστών ΤΟΠΙΚΟΤΗΤΑ Χρονική Τοπικότητα (Temporal Locality) –μια λέξη μνήμης που χρησιμοποιήθηκε.
Αρχιτεκτονική-ΙI Ενότητα 4 : Μνήμες Ιωάννης Έλληνας Τμήμα Η/ΥΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα.
Αρχιτεκτονική Υπολογιστών Ενότητα # 3: Ιεραρχία Μνήμης Διδάσκων: Γεώργιος Κ. Πολύζος Τμήμα: Πληροφορικής.
Κρυφή μνήμη (cache memory) (1/2) Εισαγωγή στην Πληροφορκή1 Η κρυφή μνήμη είναι μία πολύ γρήγορη μνήμη – πιο γρήγορη από την κύρια μνήμη – αλλά πιο αργή.
ΕΝΟΤΗΤΑ 1 – Κεφάλαιο 2: Το εσωτερικό του Υπολογιστή Β΄ τάξη Λέξεις Κλειδιά: Μητρική πλακέτα, κάρτες επέκτασης, κάρτα οθόνης, κάρτα ήχου, τροφοδοτικό, Κεντρική.
Επιλογη υλικου Η/Υ Cpu /επεξεργαστης RAM/μνημη GPU/καρτα γραφικων Οθονη HDD/Σκληρος δισκος.
Κύρια Μνήμη Διάφοροι τύποι μνήμης RAM Από πάνω προς τα κάτω, DIP, SIPP, SIMM (30-pin), SIMM (72-pin), DIMM (168-pin), DDR DIMM (184-pin). Μνήμη RΟM.
Διαφάνειες διδασκαλίας του πρωτότυπου βιβλίου μεταφρασμένες στα ελληνικά (μετάφραση, επιμέλεια: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών) Οργάνωση και.
Καταχωρητές (Registers) (1/3) Εισαγωγή στην Πληροφορκή1 Οι Καταχωρητές (Registers) είναι ειδικές θέσεις μνήμης υψηλής ταχύτητας που χρησιμοποιούνται για.
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αρχιτεκτονική Η/Υ ΙΙ Ενότητα #2: Θέματα που αφορούν την Κρυφή Μνήμη (Cache) Νικόλαος Χ. Πετρέλλης Σχολή Τεχνολογικών.
Η Kύρια Μνήμη Η Κύρια ή Κεντρική Μνήμη του υπολογιστή χρησιμοποιείται για προσωρινή αποθήκευση των δεδομένων που δίνουμε στον υπολογιστή να επεξεργαστεί.
ΕΝΟΤΗΤΑ 1 – Κεφάλαιο 2: Το εσωτερικό του Υπολογιστή Το εσωτερικό της Κεντρικής Μονάδας.
Μαγνητικός δίσκος (magnetic disk) Εισαγωγή στην Πληροφορκή1 Ο μαγνητικός δίσκος χρησιμοποιείται για μόνιμη αποθήκευση δεδομένων, παρέχοντας σχετικά μικρό.
Εικονική Μνήμη (virtual memory)
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
στην Επιστήμη των Υπολογιστών Κωδικός Διαφανειών: MKT110
Είδη των Cache Misses: 3C’s
ΜΝΗΜΗ ΥΠΟΛΟΓΙΣΤΗ Ο υπολογιστής κατασκευάστηκε από τον άνθρωπο για να τον “διευκολύνει” σε κάποιες δύσκολες και επίπονες σωματικές μα πιο πολύ νοητικές.
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
ΤΕΧΝΙΚΑ ΘΕΜΑΤΑ ΠΩΛΗΣΕΩΝ & ΠΡΟΔΙΑΓΡΑΦΕΣ ΥΛΙΚΟΥ ΚΑΙ ΛΟΓΙΣΜΙΚΟΥ Β΄ ΕΠΑΛ ΚεφΑλαιο 2: ΠροδιαγραφΕΣ ΥλικοΥ Η/Υ 2.8 Μνήμη.
Morgan Kaufmann Publishers
ΤΑΞΗ Γ ΓΥΜΝΑΣΙΟΥ Βασικές Έννοιες Επανάληψη (2).
Θέματα Φεβρουαρίου
Ασκήσεις Caches
TO BIOS βρίσκεται στην μητρική πλακέτα και τα αρχικά του σημαίνουν: Βασικό Σύστημα Εισόδου-Εξόδου.
Εφαρµογές Πληροφορικής Υπολογιστών
Είδη των Cache Misses: 3C’s
Είδη των Cache Misses: 3C’s
Είδη των Cache Misses: 3C’s
Υλικό - Λογισμικό Υλικό (Hardware) Λογισμικό (Software)
Είδη των Cache Misses: 3C’s
Εξωτερική Αναζήτηση Ιεραρχία Μνήμης Υπολογιστή Εξωτερική Μνήμη
Είδη των Cache Misses: 3C’s
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Μεταγράφημα παρουσίασης:

Διδάσκοντας: Κ. Χαλάτσης Memory Management Προηγμένες Αρχιτεκτονικές Υπολογιστών Ζέρβας Παναγίωτης Μ498 Καλαντζής Γίωργος Μ503 Διδάσκοντας: Κ. Χαλάτσης

Επικοινωνία μεταξύ επεξεργαστή, κρυφής και κύριας μνήμης Τεχνικές για τον συνδυασμό μιας μικρής ποσότητας γρήγορης μνήμης και μιας μεγάλης ποσότητας αργής μνήμης=> ικανοποιητική ποσότητα μνήμης σε μια λογική τιμή Η μικρή , γρήγορη μνήμη ονομάζεται κρυφή (cache) και βρίσκεται υπό τον έλεγχο του μικρό-προγράμματος

Μέσος χρόνος απόκρισης της μνήμης Ο μέσος χρόνος απόκρισης για μια αίτηση προς τη μνήμη υπολογίζεται από τη σχέση tαπόκρισης= h*tc + (1-h)*tm. Kαθώς το h τείνει στο 1, όλες οι αναφορές μπορούν να ικανοποιηθούν από την κρυφή μνήμη και ο χρόνος προσπέλασης τείνει στο c

Ο ρόλος της κρυφής μνήμης στον υπολογιστή Σκοπός :Χρησιμοποίηση αρχιτεκτονικών που θα εκμεταλλεύονται στο έπακρο τις δυνατότητες της σημερινής τεχνολογίας και θα διατηρούν το κόστος αγοράς ενός προσωπικού υπολογιστή σε ανεκτά επίπεδα. Λύση : Χρησιμοποιούμε μια ταχύτατη αλλά όχι τόσο ακριβή (λόγω μεγέθους) κρυφή μνήμη των 256 ΚΒ σε συνδυασμό με μια πιο αργή κύρια μνήμη σε συνδυασμό με τη χρησιμοποίηση ενός αλγορίθμου μεταφοράς δεδομένων μεταξύ αυτών των δυο.

Τοπικότητα (locality) Χρονική τοπικότητα Χωρική τοπικότητα

Επίπεδα κρυφής μνήμης Επίπεδο Συσκευές που τη χρησιμοποιούν Level 1 Cache Level 2 Cache, κύρια μνήμη RAM, σκληρός δίσκος / CD-ROM Level 2 Cache κύρια μνήμη RAM, σκληρός δίσκος / CD-ROM System RAM σκληρός δίσκος / CD-ROM Σκληρός δίσκος / CD-ROM --

Ιεραρχία των μνημών (1) Level 1 (Primary Cache) -το chip της L1 cache είναι ενσωματωμένο μέσα στο chip του επεξεργαστή -ο ταχύτερος τύπος μνήμης μετά τους καταχωρητές -η ταχύτητά της είναι ίδια περίπου με αυτή του επεξεργαστή -η L1 cache είναι πολύ μικρή αφού το μέγεθος της κυμαίνεται από 8 ως 64 ΚΒ

Ιεραρχία των μνημών (2) Level 2 (Secondary Cache) -Το μέγεθός της κυμαίνεται από 64 ΚΒ ως 2 ΜΒ και χρησιμοποιείται για την αποθήκευση των πληροφοριών που έχουν προσπελαστεί προσφάτως και δεν είναι αποθηκευμένες στην L1 cache -το chip της δεν είναι ενσωματωμένο μέσα στo chip του επεξεργαστή -Το chip της L2 cache τοποθετείται είτε απευθείας πάνω στη μητρική πλακέτα

Ιεραρχία των μνημών (3) Η L2 cache αποτελείται από δυο βασικά μέρη -Data Store: Είναι το μέρος που αποθηκεύονται πραγματικά οι πληροφορίες -Tag RAM: Είναι ένα μικρό κομμάτι μνήμης που χρησιμοποιείται για να αποθηκευτούν κομμάτια διευθύνσεων της κύριας μνήμης τα περιεχόμενα των οποίων βρίσκονται στην L2 cache

Ιεραρχία των μνημών (4) Σχηματικά έχουμε :

Εκτίμηση της απόδοσης της ιεραρχικής μνήμης Ένας τρόπος εκτίμησης της απόδοσης της ιεραρχικής μνήμης είναι ο μέσος χρόνος προσπέλασης της μνήμης : Average memory-access time= Hit time + Miss rate*Miss Penalty - O μέσος χρόνος προσπέλασης μπορεί να μετρηθεί είται ως η απόλυτη τιμή του χρόνου ή σαν ο αριθμός των κύκλων ρολογιού που η CPU περιμένει την μνήμη.

Caches τυπικές τιμές της ιεραρχικής μνήμης για κρυφές μνήμες :

Τεχνικές μεταφοράς πληροφοριών (1) Cache Bursting Όλες οι σύγχρονες L2 cache χρησιμοποιούν αυτό τον τύπο μεταφοράς πληροφοριών και μάλιστα ο χρονισμός είναι "3-1-1-1". Αυτό σημαίνει ότι η πρώτη μεταφορά διαρκεί 3 παλμούς, ενώ οι υπόλοιπες 1 παλμό η καθεμιά.

Τεχνικές μεταφοράς πληροφοριών (2) Asynchronous Cache -Όταν μια αίτηση στέλνεται στην κρυφή μνήμη, η τελευταία ανταποκρίνεται στην αίτηση χωρίς να λαμβάνει υπόψη της το ρολόι του συστήματος =>μπορεί να εμφανιστούν διάφορα προβλήματα συγχρονισμού στα πολύ γρήγορα συστήματα. Π.χ. Σε ένα σχετικά αργό σύστημα των 33 MHz, ο χρονισμός της κρυφής μνήμης είναι "2-1-1-1", αλλά σε ταχύτερα συστήματα (66 MHz) ο χρονισμός πέφτει στο "3-2-2-2". -Ο τρόπος λειτουργίας μιας ασύγχρονης κρυφής μνήμης είναι ανάλογος με τον τρόπο λειτουργίας των ασύγχρονων FPM και EDO.

Τεχνικές μεταφοράς πληροφοριών (3) Synchronous Burst Cache -Σε κάθε χτύπο του ρολογιού μπορεί να πραγματοποιηθεί μια μεταφορά πληροφοριών από ή προς την κρυφή μνήμη (αν φυσικά αυτή είναι έτοιμη) -Μπορεί ως ένα βαθμό να ικανοποιεί ταχύτερα συστήματα χωρίς να πέφτει σημαντικά η απόδοση -Όσο πιο γρήγορο είναι το σύστημα, τόσο ταχύτερα chips SDRAM χρειαζόμαστε, για να μην εμφανιστούν προβλήματα χρονισμού

Τοποθέτηση ενός μπλοκ στην κρυφή μνήμη (1) Συσχετιστική κρυφή μνήμη- associative cache

Τοποθέτηση ενός μπλοκ στην κρυφή μνήμη (2) Σε μια συσχετιστική κρυφή μνήμη, η σειρά των καταχωρήσεων είναι τυχαία. (α) μνήμη με μπλοκ 4 byte (β) Συσχετιστική κρυφή μνήμη με 1024 γραμμές

Τοποθέτηση ενός μπλοκ στην κρυφή μνήμη (3) κρυφή μνήμη άμεσης χαρτογράφησης (direct-mapped cache) (a)Κρυφή μνήμη άμεσης χαρτογράφησης με 1024 υποδοχές των 4 byte (b)Υπολογισμός ετικέτας και υποδοχής από μια διεύθυνση των 24 bit

Τοποθέτηση ενός μπλοκ στην κρυφή μνήμη (4) συσχετιστική μνήμη συνόλου (set associative cache) Συσχετιστική κρυφή μνήμη με n καταχωρήσεις ανά υποδοχή

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

Βελτιστοποίηση μεθόδου χαρτογράφησης Ποσοστό Επιτυχίας (Hit Ratio): Θα πρέπει να είναι πολύ υψηλό το ποσοστό επιτυχίας της L2 cache Search Speed: Η ταχύτητα αναζήτησης των περιεχομένων της L2 cache θα πρέπει να είναι όσο το δυνατόν μεγαλύτερη

Αντικατάσταση Block σε ένα Cache Miss Random : Τα υποψήφια μπλοκ επιλέγονται τυχαία . Least-recently used (LRU) : Για να μειώσουμε την πιθανότητα της διαγραφής πληροφορίας την οποία ίσως χρειαστεί να χρησιμοποιήσουμε σχετικά σύντομα η προσπέλαση στα μπλοκ καταγράφεται. Το μπλοκ που αντικαθίσταται είναι αυτό που έχει αρκετό χρόνο να χρησιμοποιηθεί

Χειρισμός εγγραφών διεγγραφή (write though) :όταν γράφεται μια λέξη στην κρυφή μνήμη, γράφεται αυτόματα και στην μνήμη. Εξασφαλίζει ότι οι καταχωρήσεις της κρυφής μνήμης είναι πάντα ίδιες με τις αντίστοιχες καταχωρήσεις της μνήμης . υστεροεγγραφή (copy back) : δεν ενημερώνει τη μνήμη οπότε αλλάζει η κρυφή μνήμη. Αντίθετα, η μνήμη ενημερώνεται μόνον όταν η καταχώρηση καθαρίζεται από την κρυφή μνήμη για να επιτρέψει σε κάποια άλλη καταχώρηση να καταλάβει την υποδοχή της.

Διαδικασία ανάγνωσης / εγγραφής της κρυφής μνήμης

Cache Performance Ο συνολικός χρόνος εκτέλεσης ενός προγράμματος ισούται με: CPU time = IC * (CPIEXECUTION + Miss_Rate*Miss_Penalty* Memory_Accesses/Instruction) * Clock cycle time Miss Rate: ποσοστό αποτυχίας εύρεσης του επιθυμητού block στο ανώτερο επίπεδο μνήμης. Miss Penalty: χρόνος που χρειάζεται για την μεταφορά του block στο ανώτερο επίπεδο μνήμης. IC : σύνολο εντολών. Memory Accesses: χρόνος εύρεσης της πρώτης λέξης του μπλοκ σε χαμηλότερο επίπεδο μνήμης και ο χρόνος μεταφοράς όλου του μπλοκ στο ανώτερο επίπεδο μνήμης( transfer time).

Cache Misses (1) Αναγκαστικός (Compulsory): Η πρώτη αναζήτηση σε ένα block δεν είναι στην cache, οπότε θα πρέπει να το επαναφέρουμε (cold start miss ή reference miss). Χωρητικότητα (Capacity): H cache δεν μπορεί να χωρέσει όλα τα block που χρειάζονται κατά την εκτέλεση ενός προγράμματος => συμβαίνουν capacity misses εξαιτίας των block που έχουν διαγραφεί από την cache τα οποία τα επαναφέρουμε αργότερα.

Cache Misses (2) Σύγκρουση (Conflict): Αν η cache είναι set associative ή direct mapped, είναι πιθανό δύο ή περισσότερα block να αντιστοιχούν στην ίδια θέση => διώχνουμε χρήσιμα block από την cache και να τα επαναφέρουμε αργότερα (collision miss.) 8-way : fully associative to 4-way associative 4-way : 8-way associative to 4-way associative 2-way : 4-way associative to 2-way associative 1-way : 2-way associative to 1-way associative

Block sizes in Cache συσχέτιση του block size και του miss penalty - Ο σκοπός της ιεραρχικής μνήμης είναι να μειώσει τον χρόνο εκτέλεσης, και όχι τα misses

Improving Cache-Memory Performance Αυξάνοντας το μέγεθος του μπλοκ δεν βελτιώνεται το average access time Κάνοντας την cache memory μεγαλύτερη μειώνεται η ταχύτητα της, ριψοκινδυνεύοντας έτσι το CPU clock rate. Κάνοντας την cache περισσότερο associative μειώνεται και η ταχύτητα της.

Reducing Hit times- Making Writes faster (1) Πρωτοχρησιμοποιήθηκε στον VAX 8800. Tags και data διαχωρίζονται έτσι ώστε να μπορούν να καταχωρηθούν ανεξάρτητα Η διαφορά έγκειται στο ότι η memory access κατά την διαδικασία σύγκρισης χρησιμοποιεί την διεύθυνση και τα data από την προηγούμενη εγγραφή caches οι οποίες πρέπει να είναι direct mapped χρησιμοποιώντας μια τεχνική γνωστή ως subblock placement. Κατά την τεχνική αυτή χωρίζουμε τα blocks σε μικρότερα (subblocks) Κάθε subblock περιλαμβάνει τα δεδομένα και το valid tag

Reducing Hit times- Making Writes faster (2) i) Tag match and valid bit already set. Το tag ήταν αυτό στο οποίο έπρεπε να γράψουμε και τίποτα δεν χάθηκε με το να ξανακάνουμε το valid bit ξανά 1 ii) Tag match and valid bit not set.Το tag ήταν αυτό στο οποίο έπρεπε να γράψουμε και το αντίστοιχο bit ήταν 0. iii)Tag mismatch. Τώρα έχει συμβεί ένα miss το οποίο θα αλλάξει το μέρος των data του μπλοκ => αρκεί να αλλαχθεί το Tag στην cache, ώστε να περιέχονται τα σωστά δεδομένα.

Reducing Miss Penalty- Making write misses faster SW 512(R0), R3 ; M[512] <- R3 LW R1, 1024(R0) ; R1 <- M[1024] LW R2, 512(R0) ; R2 <- M[512] κάθε Read Miss να περιμένει να αδειάσει ο buffer, και μετά να εκτελείται. Mειονέκτημα αυξάνεται το read Miss Penalty. γίνεται έλεγχος στα δεδομένα του buffer, και αν δεν υπάρχει σύγκρουση, να συνεχίζεται το Read Miss

Reducing Miss Penalty-Making Read Misses Faster Early restart : Όταν έρθει η λέξη που ζητά ο επεξεργαστής, να την δώσουμε και να συνεχιστεί η εκτέλεση. Out-of-order-fetch : Απαιτούμε την εκλειπόμενη λέξη από την μνήμη πρώτα και την στέλνουμε στην CPU όσο το δυνατόν συντομότερα. Επιτρέπουμε την CPU να συνεχίσει την εκτέλεση ενώ καλύπτει τις υπολειπόμενες λέξεις στο μπλοκ (wrapped fetch).

Making Cache Hits Faster-Virtually Addressed Caches Το miss penalty παίζει σημαντικό ρόλο στο average access time, αλλά το hit time επηρεάζει και το average access time και το clock rate της CPU Λύση :να χρησιμοποιήσουμε το φυσικό μέρος των διευθύνσεων για να κατατάξουμε την cache ενώ στέλνουμε τις virtual address μέσω των TLB Μειονέκτημα :κρατάμε στην cache διπλά δεδομένα

Reducing Miss Penalty-Two Level Caches (1) O μέσος χρόνος προσπέλασης της μνήμης (Average memory-access time) ισούται : Average memory-access time = Hit timeL1 + Miss rateL1 ( Hit timeL2 + Miss rateL2*Miss penaltyL2 )

Reducing Miss Penalty-Two Level Caches (2) σχετικός χρόνος εκτέλεσης σε σχέση με το μέγεθος της second-level cache.

Reducing Miss Rate by Reducing Cache Flushes-I/O (1) Tο Ι/Ο δημιουργεί το ενδεχόμενο η CPU και τα περιφερειακά να διαβάζουν τα μη ανανεωμένα δεδομένα στην περίπτωση που εφαρμόζεται η μέθοδος write back (cache-coherency)και συναντάται στους multiprocessors.

Reducing Miss Rate by Reducing Cache Flushes-I/O (2) Σχετικά με την εγγραφή έχουμε δυο λύσεις : Software solution: Η λύση αυτή εγγυάται ότι κανένα από τα block του Ι/Ο buffer , δεν υπάρχει στην cache Hardware solution : Eλέγχεται αν οι διευθύνσεις στις οποίες σκοπεύει η συσκευή να γράψει υπάρχουν στην cache. Αν υπάρχουν, τότε οι σχετικές εγγραφές της cache γίνονται invalid.

Κύρια Μνήμη RAM

Τύποι Μνήμης RAM Στατική RAM:Διατηρεί τα περιεχόμενα της

Σύγκριση SRAM,DRAM Πλεονεκτήματα SRAM Απλούστερη Ταχύτητερη Μικρότερο Κόστος Μικρότερο Μέγεθος

Κατηγορίες DRAM (1) Συμβατική DRAM FPM (Fast PageMode) DRAM EDO DRAM BEDO DRAM

Κατηγοριες DRAM (2) Συγχονη και Ασύγχρονη DRAM DDR (Double Data Rate) SDRAM DR (Direct Rambus) DRAM SL (Synchronous Link) DRAM

Προσπέλαση Μνήμης και Χρόνος Προσπέλασης (1) Διάγραμμα χρονισμού για μια διαδικασία ανάγνωσης απο την κύρια μνήμη

Προσπέλαση Μνήμης και Χρόνος Προσπέλασης (2) Διαδικασία ανάγνωσης απο μια ασύγχρονη μνήμη DRAM

Παράμετροι της Μνήμης DRAM Χρονισμός της μνήμης Ταχύτητα μνήμης DRAM Εκτίμηση ταχύτητας DRAM

Οργάνωση της Κύριας Μνήμης για βελτίωση της απόδοσης (a) One Word Wide Memory Organization CPU CACHE MUX (b) Wide Memory Organization MEMORY (c) Interleaved Memory Organization BANK 0 BANK 1 BANK 2 BANK 3

Εικονική Μνήμη (1) Πολλές διεργασίες κάθε μια θέλει τον δικό της address space Πολύ δαπανηρό να δεσμεύσουμε όλο το address space κάθε διεργασίας στη κύρια μνήμη

Εικονική Μνήμη (2) Αντιστοιχία εικονικής και φυσικής μνήμης

Page Tables Συλλογή απο Page Table Entries που διατηρούν τις εξής πληροφορίες: Virtual Page Number Page Frame Number Valid Bit Reference Bit Modify Bit Page Protection Bits

Translation Look-aside Buffers Ανάγκη για επιτάχυνση της μετάφρασης απο εικονικές διευθύνσεις σε φυσικές Χρησιμοποίηση μιας cache για τα Page Table Entries

Οργάνωση των Page Tables (1) Hierarchical Page Tables

Οργάνωση των Page Tables (2) Hierarchical Page Tables:2 τρόποι πρόσβασης Top-down traversal Bottom-up traversal

Οργάνωση των Page Tables (3) Inverted Page Tables

Οργάνωση των Page Tables (4) Inverted Page Tables:Lookup Αλγόριθμος Πρόσβασης