Lectures for 2nd Edition - UCY...HMY 212 –...

23
1 HMY 212 – Οργάνωση Υπολογιστών και Μικροεπεξεργαστές, Κεφάλαιο 7 Εαρινό Εξάμηνο 2006, MKM Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy)

Transcript of Lectures for 2nd Edition - UCY...HMY 212 –...

  • 1HMY 212 – Οργάνωση Υπολογιστών και Μικροεπεξεργαστές, Κεφάλαιο 7Εαρινό Εξάμηνο 2006, MKM

    Κεφάλαιο 7

    Ιεραρχία Μνήμης

    (Memory Hierarchy)

  • 2HMY 212 – Οργάνωση Υπολογιστών και Μικροεπεξεργαστές, Κεφάλαιο 7Εαρινό Εξάμηνο 2006, MKM

    Συστήματα Μνήμης

    • Η οργάνωση του συστήματος μνήμης επηρεάζει τη λειτουργία καιαπόδοση ενός μικροεπεξεργαστή:– Διαχείριση μνήμης και περιφερειακών (Ι/Ο) από το λειτουργικό σύστημα– Παραγωγή κώδικα από μεταγλωττιστές– Χρήση μνήμης από εφαρμογές– ΣΗΜΑΝΤΙΚΟΣ παράγοντας στον καθορισμό της απόδοσης

    • Πρόσφατα, υπάρχει μετάβαση στον τρόπο οργάνωσης της μνήμης απόεπίπεδη μνήμη τυχαίας προσπέλαση σε ιεραρχίες μνήμης, γιαβελτίωση της απόδοσης

    • Ιεραρχία Μνήμης (Memory hierarchy): χρήση πολλαπλών επιπέδωνμνήμης. Το μέγεθος και ο χρόνος προσπέλασης της μνήμης που είναι«κοντινότερα» στον επεξεργαστή (CPU) είναι μικρότερο καιμεγαλώνουν όσο η μνήμη απομακρύνεται από το CPU.Δημιουργεί την ψευδαίσθηση ότι υπάρχει απεριόριστο μέγεθοςγρήγορης μνήμης

  • 3HMY 212 – Οργάνωση Υπολογιστών και Μικροεπεξεργαστές, Κεφάλαιο 7Εαρινό Εξάμηνο 2006, MKM

    Θεμελιώδης αρχές

    • Αρχή Τοπικότητας (Principle of locality)Σε τυπικά προγράμματα, ένα μικρό μέρος της μνήμηςχρειάζεται να προσπελαστεί σε μια δεδομένη στιγμή

    – Χρονική Τοπικότητα (Temporal locality)Εάν μια θέση μνήμης έχει προσπελαστεί πρόσφατα, τότε τείνεινα προσπελαστεί ξανά σε σύντομο χρονικό διάστημα

    – Χωρική Τοπικότητα (Spatial locality)Εάν μια θέση μνήμης έχει προσπελαστεί πρόσφατα, τότεκοντινές θέσεις μνήμης (οι γείτονες), τείνουν ναπροσπελαστούν ξανά σε σύντομο χρονικό διάστημα

    – Θεωρήστε ένα βρόγχο σε ένα πρόγραμμα. Οι εντολές μέσα στοβρόγχο θα επιδεικνύουν την αρχή της χρονικής τοπικότητας; Τι γίνεται με την αρχή της χωρικής τοπικότητας;

  • 4HMY 212 – Οργάνωση Υπολογιστών και Μικροεπεξεργαστές, Κεφάλαιο 7Εαρινό Εξάμηνο 2006, MKM

    • SRAM (Static Random Access Memory):– Η τιμή φυλάγεται στατικά, με ένα ζεύγος αντιστροφέων

    (μοντελοποιείται με μανδαλωτές -- latches)– Πολύ γρήγορη αλλά απαιτεί πολύ περισσότερο χώρο

    από την DRAM (4 με 6 τρανζίστορ)

    • DRAM (Dynamic Random Access Memory):– Η τιμή φυλάγεται ως φορτίο σε πυκνωτές (χρειάζεται be ανανέωση)– Απαιτεί μικρότερο χώρο αλλά είναι πιο αργή από την SRAM (περίπου

    κατά 5 με 10 φορές)

    • Μαγνητικός Δίσκος– Απαιτεί το μικρότερο χώρο, και άρα έχει το μικρότερο κόστος, αλλά

    έχει και τη μικρότερη ταχύτητα

    Word line

    Τεχνολογίες Μνήμης: Επανάληψη

    Pass transistor

    Capacitor

    Bit line

    R

    S

    Q

    Q

  • 5HMY 212 – Οργάνωση Υπολογιστών και Μικροεπεξεργαστές, Κεφάλαιο 7Εαρινό Εξάμηνο 2006, MKM

    • Οι χρήστες ζητούν διαρκών μεγαλύτερες (σε χωρητικότητα) καιγρηγορότερες μνήμες!

    Χρόνος προσπέλασης SRAM μεταξύ 0.5 – 5ns στις $4000 μέχρι $10,000 για κάθε GBΧρόνος προσπέλασης DRAM μεταξύ 50 – 70ns στις $100 μέχρι $200 για κάθε GBΧρόνος προσπέλασης Δίσκου μεταξύ 5 –20,000,000 ns στις $0.50 μέχρι $2 για κάθε GB

    • Η βιομηχανία προσπαθεί ναανταπεξέλθει στις απαιτήσεις– Κατασκευή μνήμης

    βάση ιεραρχίας

    (2004)

    Αξιοποίηση Ιεραρχίας

    CPU

    Απόσταση Μνήμηςαπό το CPU, σεχρόνο προσπέλασης1ο Επίπεδο

    2ο Επίπεδο

    nο Επίπεδο

    .

    .

    .

    Μέγεθος Μνήμης σε κάθε Επίπεδο

  • 6HMY 212 – Οργάνωση Υπολογιστών και Μικροεπεξεργαστές, Κεφάλαιο 7Εαρινό Εξάμηνο 2006, MKM

    Η βασική δομή ιεραρχίας μνήμης

    • Ιεραρχία 3ων επιπέδων. Μπορούμε να έχουμεεπιπρόσθετα επίπεδα (ειδικά για κρυφή μνήμη)

    Κρυφή Μνήμη(cache)

    Κυρίως Μνήμη(main memory)

    ΔευτερεύουσαΜνήμη(secondary memory)

  • 7HMY 212 – Οργάνωση Υπολογιστών και Μικροεπεξεργαστές, Κεφάλαιο 7Εαρινό Εξάμηνο 2006, MKM

    Η βασική δομή ιεραρχίας μνήμης (συν.)

    • Το επίπεδο που είναι πιο κοντάστο μικροεπεξεργαστή είναιυποσύνολο οποιουδήποτεμεταγενέστερου επιπέδου

    • Τα δεδομένα αντιγράφονται μεταξύδυο γειτονικών επιπέδων

    • Μπλοκ: μικρότερη μονάδαπληροφορίας που μπορεί ναυπάρχει ή όχι μεταξύ δύογειτονικών επιπέδων

    Μπλοκ

    Μεταφοράδεδομένων (μπλοκ)

    Επεξεργαστής

    1ο επίπεδοΜνήμης

    2ο επίπεδοΜνήμης

  • 8HMY 212 – Οργάνωση Υπολογιστών και Μικροεπεξεργαστές, Κεφάλαιο 7Εαρινό Εξάμηνο 2006, MKM

    Βασική Ορολογία – Ηit!

    • Επιτυχής Προσπέλαση (Hit): τα δεδομένα πουαπαιτούνται από τον CPU υπάρχουν στο υψηλότεροεπίπεδο της ιεραρχίας της μνήμης

    • Ρυθμός Επιτυχούς Προσπέλασης (Hit rate): ποσοστόπροσπελάσεων όπου τα απαιτούμενα δεδομένα βρίσκονταιστο υψηλότερο επίπεδο (μετρά την απόδοση της ιεραρχίας)

    • Χρόνος Επιτυχούς Προσπέλασης (Hit time): χρόνος πουαπαιτείται για την προσπέλαση ενός μπλοκ στο υψηλότεροεπίπεδο της ιεραρχίας συν ο χρόνος που απαιτείται για τονκαθορισμό επιτυχούς ή όχι προσπέλασης

  • 9HMY 212 – Οργάνωση Υπολογιστών και Μικροεπεξεργαστές, Κεφάλαιο 7Εαρινό Εξάμηνο 2006, MKM

    Βασική Ορολογία – Miss!

    • Ανεπιτυχής Προσπέλαση (Miss): τα δεδομένα πουαπαιτούνται από τον CPU ΔΕΝ υπάρχουν στο υψηλότεροεπίπεδο μνήμης

    • Ρυθμός Ανεπιτυχούς Προσπέλασης (Miss rate): ποσοστό προσπελάσεων όπου τα απαιτούμενα δεδομέναΔΕΝ βρίσκονται στο υψηλότερο επίπεδο (= 1 – hit rate)

    • Ποινή Ανεπιτυχούς Προσπέλασης (Miss penalty): χρόνος που απαιτείται για την μεταφορά ενός μπλοκ απόχαμηλότερο σε ψηλότερο επίπεδο της ιεραρχίας, συν οχρόνος που απαιτείται για τον καθορισμό επιτυχούς ή όχιπροσπέλασης

  • 10HMY 212 – Οργάνωση Υπολογιστών και Μικροεπεξεργαστές, Κεφάλαιο 7Εαρινό Εξάμηνο 2006, MKM

    • Cache (κρύπτη, κρυψώνα): ασφαλές χώρος για απόκρυψη ήαποθήκευση -- Webster’s New World Dictionary

    • Σε σχέση με το θέμα μας: μνήμη που εκμεταλλεύεται την αρχήτης τοπικότητας (συνήθως, το(α) επίπεδο(α) μνήμης μεταξύ τουεπεξεργαστή και της κυρίως μνήμη)

    • Παράδειγμα απλήςκρυφής μνήμης:Θεωρήστε ότι έχουμεαίτημα για τα δεδομένα Xn(a) πριν(b) μετά

    Κρυφή Μνήμη (Cache memory)

  • 11HMY 212 – Οργάνωση Υπολογιστών και Μικροεπεξεργαστές, Κεφάλαιο 7Εαρινό Εξάμηνο 2006, MKM

    • Δύο θέματα:– Πως μπορούμε να γνωρίζουμε αν τα δεδομένα πουχρειαζόμαστε είναι μέσα στην κρυφή μνήμη;

    – Εάν είναι, πως τα βρίσκουμε (σε πια διεύθυνση);

    • Πρώτο παράδειγμα:– Το μέγεθος του μπλοκ είναι μια λέξη (single word block)– Τρόπος οργάνωσης: «direct mapped» (άμεση απεικόνιση)

    Κάθε μπλοκ σε ένα χαμηλότερο επίπεδο της ιεραρχίαςαντιστοιχεί ακριβώς σε μια τοποθεσία στην κρυφή μνήμη, δηλ. πολλά μπλοκ σε χαμηλότερα επίπεδα μοιράζονται μιατοποθεσία στο ψηλότερο επίπεδο μνήμης

    Κρυφή Μνήμη (συν.)

  • 12HMY 212 – Οργάνωση Υπολογιστών και Μικροεπεξεργαστές, Κεφάλαιο 7Εαρινό Εξάμηνο 2006, MKM

    • Μέγεθος μπλοκ = 1 word• Θεωρήστε μια κρυφή μνήμη με 8 μπλοκ (000, …, 111) και μια κυρίως μνήμη με 32

    μπλοκ (00000, …, 11111)• Η διεύθυνση της κρυφή μνήμη που αντιστοιχεί σε μια διεύθυνση στην κυρίως μνήμη:

    (διεύθυνση στην κυρίως μνήμη) mod ( # μπλοκ στη κρυφή μνήμη)

    Κρυφή Μνήμη Άμεσης Απεικόνισης(Direct Map Cache)

    00001 00101 01001 01101 10001 10101 11001 11101

    000

    Cache

    Memory

    001

    010

    011

    100

    101

    110

    111

    0 1 2 3 4 5 6 7

    0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7

    Αν ο αρ. των μπλοκ στηνκρυφή μνήμη είναι δύναμητου 2, τότε:log2(μέγεθος κρυφήςμνήμης σε μπλοκ) = log2(8) = 3

    3 LSBs της διεύθυνσηςτης κυρίως μνήμης δίνουντην αντίστοιχη διεύθυνσηστην κρυφή μνήμη

    Πως γνωρίζουμε αντα δεδομένα στηνκρυφή μνήμηαντιστοιχούν στηνλέξη που ζητείται;Για παράδειγμα, ανζητώ την λέξη10001, πως ξέρω αν ηκρυφή μνήμη έχει την10001 και όχι την00001 ή την 01001, ή την 11001;

    ΚυρίωςΜνήμη

    ΚρυφήΜνήμη

  • 13HMY 212 – Οργάνωση Υπολογιστών και Μικροεπεξεργαστές, Κεφάλαιο 7Εαρινό Εξάμηνο 2006, MKM

    • Προσθέτουμε ένα σύνολο ετικετών (tags) στην κρυφή μνήμη• Κάθε μπλοκ στην κρυφή μνήμη έχει ένα επιπρόσθετο πεδίο για την ετικέτα, που

    χρησιμοποιείται για να καθορίζει ΕΝΑ μπλοκ στην κυρίως μνήμη

    Κρυφή Μνήμη Άμεσης Απεικόνισης (συν.)

    00001 00101 01001 01101 10001 10101 11001 11101

    000

    Cache

    Memory

    001

    010

    011

    100

    101

    110

    111

    0 1 2 3 4 5 6 7

    0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7

    Θεωρήστε n = # bits διεύθυνσης κυρίως μνήμηςΤότε, n - log2(μέγεθος κρυφήςμνήμης σε μπλοκ) = 5 - log2(8) = 2 δίνει τοναρ. των bits για το πεδίο ετικέτας, το οποίοείναι τα 2 MSBs της διεύθυνσης στηνκυρίως μνήμηΕπομένως, η ετικέτα μπορεί να έχει μία απότις πιο κάτω τιμές {00, 01, 10, 11}

    Tag = 00 Tag = 01 Tag = 10 Tag = 11

    Τέλος, πρέπει να γνωρίζουμεαν το μπλοκ στην κρυφήμνήμη περιέχει κάποιαδεδομένα ή όχι

    προσθέτουμε έναbit εγκυρότητας(valid bit) ανά μπλοκ

  • 14HMY 212 – Οργάνωση Υπολογιστών και Μικροεπεξεργαστές, Κεφάλαιο 7Εαρινό Εξάμηνο 2006, MKM

    Παράδειγμα

    • Δείξετε τα περιεχόμενα μιας κρυφής μνήμης με 8 μπλοκ της 1 λέξης καιμε οργάνωση άμεσης απεικόνισης (8 single-word blocks, direct mapped cache) για την πιο κάτω ακολουθία αιτημάτων από τον επεξεργαστή:

    • Ξεκινήστε με άδεια κρυφή μνήμη …

    Αιτούμενη Διευθ.(Δεκαδικό)

    Αιτούμενη Διευθ.(Δυαδικό)

    Hit ή Missστη Cache

    Αντίστοιχο μπλοκστη cache

    22 10110 Miss 10110 mod 8 = 11026 11010 Miss 11010 mod 8 = 01022 10110 Hit 10110 mod 8 = 11026 11010 Hit 11010 mod 8 = 01016 10000 Miss 10000 mod 8 = 0003 00011 Miss 00011 mod 8 = 01116 10000 Hit 10000 mod 8 = 00018 10010 miss 10010 mod 8 = 010

  • 15HMY 212 – Οργάνωση Υπολογιστών και Μικροεπεξεργαστές, Κεφάλαιο 7Εαρινό Εξάμηνο 2006, MKM

    • Για MIPS:

    Κρυφή Μνήμη Άμεσης Απεικόνισης (συν.)

    Address (showing bit positions)

    Data

    Hit

    Data

    Tag

    Valid Tag

    3220

    Index012

    102310221021

    =

    Index

    20 10

    Byteoffset

    31 30 13 12 11 2 1 0

    log2(1024) = 10

    Καθορίζει ποιο byte της λέξηςείναι, αγνοείται

    Θυμηθείτε ότι ο MIPS χρησιμοποιείδιευθυνσιοδότηση ανάbyte (όχι word ή block)

    Έγκυρες διευθ.:0, 4, 8, 12, 16, …(πολλαπλάσια του 4)

  • 16HMY 212 – Οργάνωση Υπολογιστών και Μικροεπεξεργαστές, Κεφάλαιο 7Εαρινό Εξάμηνο 2006, MKM

    Μέγεθος Κρυφής Μνήμης

    • Για μπλοκ 1 λέξης:Θεωρήστε ότι 2n είναι ο αρ. των διευθύνσεων της cache και k ο αρ. των bits σε 1 λέξη

    # bits στη cache = k x 2n + (bits για δεδομένα)1 x 2n + (bits για εγκυρότητα)

    (k - n - 2) x 2n (bits για ετικέτες)

    Από το προηγούμενο παράδειγμα, k=32 και n=10 1024 x (32+1+20) = 53KBytesΤο μέγεθος της κυρίως μνήμης είναι 4 GB. Γιατί;

    • Για μπλοκ πολλαπλών λέξεων:Θεωρήστε ότι 2n είναι ο αρ. των διευθύνσεων της cache , k ο αρ. των bits σε 1 λέξη και2m ο αρ. των λέξεων ανά μπλοκ

    # bits στη cache = 2m k x 2n + (bits για δεδομένα)1 x 2n + (bits για εγκυρότητα)

    (k - n - m - 2) x 2n (bits για ετικέτες)

    Αν k=32, m=2 και n=10 1024 x (128+1+18) = 147KBytesΠοιο είναι το μέγεθος της κυρίως μνήμης;

  • 17HMY 212 – Οργάνωση Υπολογιστών και Μικροεπεξεργαστές, Κεφάλαιο 7Εαρινό Εξάμηνο 2006, MKM

    Μέγεθος Κρυφής Μνήμης (συν.)• Ας αναλύσουμε τα προηγούμενα παραδείγματα:

    – Μπλοκ 1 λέξης, 1024 διευθύνσεις στη cache, 4GB κυρίως μνήμη:απαιτεί 53KB για την cache

    – Μπλοκ 4ων λέξεων, 1024 διευθύνσεις στη cache, 4GB κυρίως μνήμη:απαιτεί 147KB για την cache

    • Ποια cache είναι η καλύτερη (με τη χαμηλότερη επιβάρυνση);– Μπλοκ 1 λέξης : 32KB από τα 53KB είναι για δεδομένα

    60.4% δεδομένα και 39.6% επιβάρυνση– Μπλοκ 4ων λέξεων: 128KB από τα147KB είναι για δεδομένα

    87% δεδομένα και 13% επιβάρυνση

    • Άλλο σημαντικό προτέρημα για μπλοκ πολλαπλών λέξεων:– Μεγαλύτερη χωρική τοπικότητα μειώνει τον αρ. των ανεπιτυχών προσπελάσεων (

    miss rate)• Μειονεκτήματα:

    – Μπλοκ με πολύ μεγάλο μέγεθος αυξάνουν το miss rate– Μπλοκ με πολύ μεγάλο μέγεθος αυξάνουν το miss penalty (απαιτεί περισσότερο

    χρόνο να μεταφερθούν νέα δεδομένα στη cache)

  • 18HMY 212 – Οργάνωση Υπολογιστών και Μικροεπεξεργαστές, Κεφάλαιο 7Εαρινό Εξάμηνο 2006, MKM

    Miss rate vs Block size

    Μεγαλύτερες cache έχουν μικρότερο miss rate (το αναμενόμενο!)

    Υπάρχει κορεσμός στον αρ. των μπλοκ, όταν το μέγεθος τουμπλοκ αποτελεί σημαντικό μέρος της cache

    4K

    16

    10%

    16K

    64K

    256K

    5%

    0%

    32 64 128 256

    Missrate

    Block size

  • 19HMY 212 – Οργάνωση Υπολογιστών και Μικροεπεξεργαστές, Κεφάλαιο 7Εαρινό Εξάμηνο 2006, MKM

    Ανεπιτυχής ανάγνωση/γραφή κρυφής μνήμης(cache miss)

    • Cache Miss (read/write): – Ανεπιτυχής προσπέλαση στη cache αφού τα αιτούμενα δεδομένα δεν

    είναι στη cache

    • Η μονάδα ελέγχου ανιχνεύει miss ή hit (για ανάγνωση ή γραφή):– Όταν υπάρχει hit, το CPU συνεχίζει χωρίς καθυστέρηση– Όταν υπάρχει miss, η μονάδα ελέγχου καθυστερεί το CPU (με stalls),

    προσκομίζει το απαραίτητο μπλοκ από την κυρίως μνήμη και τοφορτώνει στη cache, και τέλος επιστρέφει στο CPU

    • H γραφή απαιτεί επιπρόσθετο κόπο:– Write-through: πάντα ενημερώνει την μνήμη όταν υπάρχει αλλαγή στα

    περιεχόμενα της cache, για να υπάρχει συνέπεια δεδομένων (απαιτείπολύ χρόνο)

    – Χρήση απομονωτή γραφής (write buffer): τα δεδομένα της cache πουπρέπει να γραφτούν στη μνήμη διατηρούνται σε μια ουρά

    – Write-back: ανανεώνει μόνο τα δεδομένα στη cache και ενημερώνει τηχαμηλότερη μνήμη στην ιεραρχία μόνο όταν τα δεδομένα στη cacheπρέπει να αντικαταστηθούν

  • 20HMY 212 – Οργάνωση Υπολογιστών και Μικροεπεξεργαστές, Κεφάλαιο 7Εαρινό Εξάμηνο 2006, MKM

    Μικροεπεξεργαστής FastMATH

    • Γρήγορος ενσωματωμένος μικροεπεξεργαστής• Χρησιμοποιεί την αρχιτεκτονική του MIPS με διασωλήνωση 12

    σταδίων• Μπορεί να διαβάσει δεδομένα και εντολές στον ίδιο κύκλο του

    ρολογιού• Χρησιμοποιεί διαφορετικές κρυφές μνήμες για εντολές και

    δεδομένα

    • Υλοποίηση Κρυφής Μνήμης– 16KB (δεδομένα)– 16 λέξεις ανά μπλοκ (= 32x16 = 512 bits) (m=4)– 256 μπλοκ (256 x 512 = 16KB) (n=8)– Μέγεθος ετικέτας = 32 – (n + m + 2) = 18

  • 21HMY 212 – Οργάνωση Υπολογιστών και Μικροεπεξεργαστές, Κεφάλαιο 7Εαρινό Εξάμηνο 2006, MKM

    Μικροεπεξεργαστής FastMATH

    Address (showing bit positions)

    DataHit

    Data

    Tag

    V Tag

    32

    16

    =

    Index

    18 8 Byteoffset

    31 14 13 2 1 06 5

    4

    Block offset

    256entries

    512 bits18 bits

    Mux

    3232 32

    16 KB cache για 256 μπλοκ των 16 λέξεων

  • 22HMY 212 – Οργάνωση Υπολογιστών και Μικροεπεξεργαστές, Κεφάλαιο 7Εαρινό Εξάμηνο 2006, MKM

    Σχεδιασμός Συστήματος Μνήμης

    • Το miss penalty εξαρτάται από το bandwidth (μέγεθοςδίαυλου) από την κυρίως μνήμη στην κρυφή μνήμη

    • Μεγαλύτερο bandwidth δίνει μικρότερο miss penalty (επιτρέπει για μεγαλύτερα μπλοκ στην κρυφή μνήμη)

    • Το ρολόι του δίαυλου (bus clock) είναι συνήθως γύρωστις 10 φορές πιο αργό από το ρολόι του CPU

  • 23HMY 212 – Οργάνωση Υπολογιστών και Μικροεπεξεργαστές, Κεφάλαιο 7Εαρινό Εξάμηνο 2006, MKM

    Σχεδιασμός Συστήματος Μνήμης

    CPU

    Cache

    Bus

    Memorybank 0

    Memorybank 1

    Memorybank 2

    Memobank

    c. Interleaved memory organization

    C P U

    C a c h e

    M e m o ry

    B u s

    O n e -w o rd -w id em e m o ry o rg a n iz a tio n

    a .

    b. Wide memory organization

    CPU

    Cache

    Memory

    Bus

    Multiplexor

    Εύρος Δίαυλου(Bus bandwidth) = μέγεθος λέξης

    Αύξηση στο εύρος δίαυλου.Επιτρέπει παράλληληπρόσβαση σε όλες τιςλέξεις του μπλοκ. Επίσης, παράλληλη μεταφορά.

    Αύξηση στο εύρος μνήμης.Η μεταφορά εξακολουθεί ναγίνεται ανά λέξη, αλλά ηπρόσβαση είναι παράλληληγια όλες τις λέξεις σε έναμπλοκ.

    Κεφάλαιο 7��Ιεραρχία Μνήμης��(Memory Hierarchy)���Συστήματα ΜνήμηςΘεμελιώδης αρχέςΤεχνολογίες Μνήμης: ΕπανάληψηΑξιοποίηση ΙεραρχίαςΗ βασική δομή ιεραρχίας μνήμηςΗ βασική δομή ιεραρχίας μνήμης (συν.)Βασική Ορολογία – Ηit!Βασική Ορολογία – Miss!Κρυφή Μνήμη (Cache memory)Κρυφή Μνήμη (συν.)Κρυφή Μνήμη Άμεσης Απεικόνισης�(Direct Map Cache)Κρυφή Μνήμη Άμεσης Απεικόνισης (συν.)ΠαράδειγμαΚρυφή Μνήμη Άμεσης Απεικόνισης (συν.)Μέγεθος Κρυφής ΜνήμηςΜέγεθος Κρυφής Μνήμης (συν.)Miss rate vs Block sizeΑνεπιτυχής ανάγνωση/γραφή κρυφής μνήμης (cache miss)Μικροεπεξεργαστής FastMATHΜικροεπεξεργαστής FastMATHΣχεδιασμός Συστήματος ΜνήμηςΣχεδιασμός Συστήματος Μνήμης