Τι είναι η προσωρινή μνήμη;

Τι είναι η προσωρινή μνήμη και γιατί την διαθέτουν οι CPU, οι GPU και άλλα είδη επεξεργαστών; Εδώ είναι όλα όσα πρέπει να γνωρίζετε.

Γρήγοροι Σύνδεσμοι

  • Cache: Μικρή ποσότητα μνήμης υψηλής ταχύτητας
  • Επίπεδα κρυφής μνήμης και ιεραρχία μνήμης
  • Η προσωρινή μνήμη είναι απαραίτητη, αλλά δεν βελτιώνει την απόδοση από μόνη της

Αν και για την κρυφή μνήμη δεν γίνεται λόγος τόσο για τους πυρήνες, ΕΜΒΟΛΟ (Μνήμη τυχαίας πρόσβασης) ή VRAM, πιθανότατα θα το έχετε ξανακούσει, ειδικά πρόσφατα. Η AMD διαφημίζει με περηφάνια την απόδοση gaming γι' αυτήν Επεξεργαστές Ryzen με 3D V-Cache Ως αποτέλεσμα της χρήσης προσωρινής μνήμης, και μία από τις μεγαλύτερες βελτιώσεις της Intel με τους επεξεργαστές Raptor Lake 13ης γενιάς ήταν η προσθήκη περισσότερης κρυφής μνήμης.

Αλλά πώς μπορεί η προσωρινή μνήμη να βελτιώσει την απόδοση όταν μετράει σε megabyte; Ακόμη και τα φθηνότερα κιτ μνήμης RAM έρχονται με 16 GB αυτές τις μέρες, οπότε πώς μπορεί η προσθήκη λίγων επιπλέον megabyte μνήμης cache να κάνει τόσο μεγάλη διαφορά στην απόδοση; Λοιπόν, η προσωρινή μνήμη δεν είναι ο κανονικός τύπος μνήμης σας.

Cache: Μικρή ποσότητα μνήμης υψηλής ταχύτητας

Πηγή: AMD

Η προσωρινή μνήμη είναι στην πραγματικότητα μια αρκετά πρόσφατη εξέλιξη στους επεξεργαστές, που χρονολογείται από τη δεκαετία του 1990 και εφευρέθηκε λόγω της μνήμης RAM. Η μνήμη RAM είναι ένα βασικό στοιχείο σε υπολογιστές που αποθηκεύει σημαντικό όγκο δεδομένων που οι επεξεργαστές (όπως οι CPU και οι GPU) αναμένεται να χρειάζονται αρκετά συχνά. Για μεγάλο χρονικό διάστημα, οι βελτιώσεις στην απόδοση της μνήμης RAM συμβαδίζουν με τις βελτιώσεις στην απόδοση της CPU, αλλά μέχρι τη δεκαετία του 1990 γινόταν προφανές ότι η RAM δεν θα μπορούσε να συμβαδίσει με τις πιο πρόσφατες CPU. Η RAM είχε πολλή χωρητικότητα, αλλά και οι ταχύτητες μεταφοράς ήταν επίσης αργός.

Εδώ μπαίνει η προσωρινή μνήμη. Δεν είναι τόσο μεγάλη όσο η μνήμη RAM είτε φυσικά είτε από χωρητικότητα, αλλά βρίσκεται μέσα στον ίδιο τον επεξεργαστή και μπορεί να μεταφέρει δεδομένα πολύ γρήγορα και με πολύ χαμηλή καθυστέρηση. Εφόσον η κρυφή μνήμη αποθηκεύει τα δεδομένα που πραγματικά χρειάζεται ο επεξεργαστής, μπορεί να εξοικονομήσει χρόνο, επειδή η αίτηση RAM για τα ίδια δεδομένα είναι πολλές φορές πιο αργή. Ήταν μια εξαιρετική λύση στο πρόβλημα της RAM και επέτρεψε στους σχεδιαστές CPU να συνεχίσουν να φτιάχνουν ταχύτερες CPU και Οι σχεδιαστές RAM θα ​​συνεχίσουν να δημιουργούν μεγαλύτερες χωρητικότητες RAM χωρίς να χρειάζεται να ανησυχούν τόσο πολύ εκτέλεση. Σήμερα, η προσωρινή μνήμη υπάρχει σχεδόν σε κάθε είδος επεξεργαστή.

Ίσως αναρωτιέστε γιατί η κρυφή μνήμη είναι τόσο μικρή όμως. Λοιπόν, έχει να κάνει κυρίως με χώρο και χρήματα. Ακόμη και 32 MB προσωρινής μνήμης μπορούν να καταλαμβάνουν αρκετό χώρο σε έναν επεξεργαστή και τα σύγχρονα τσιπ περιορίζονται σε περίπου 600 mm2 συνολικής επιφάνειας, η οποία πρέπει να χρησιμοποιείται με σύνεση. Αυτό σημαίνει ότι η αφιέρωση περισσότερης περιοχής στην κρυφή μνήμη μπορεί να είναι αρκετά ακριβή και αυτή η κατάσταση στην πραγματικότητα χειροτερεύει, όχι καλύτερη. Οι πιο πρόσφατες διαδικασίες κατασκευής έχουν ως αποτέλεσμα όλο και μικρότερες βελτιώσεις στην πυκνότητα της κρυφής μνήμης και η TSMC απέτυχε να μειώσει καθόλου το μέγεθος της κρυφής μνήμης στην πρώτη επανάληψη της διαδικασίας των 3 nm.

Επίπεδα κρυφής μνήμης και ιεραρχία μνήμης

Πηγή: Carlos Carvalho

Η εφεύρεση της κρυφής μνήμης σήμαινε ότι υπήρχε ένα νέο επίπεδο σε όλες τις συσκευές αποθήκευσης δεδομένων σε έναν υπολογιστή. Αυτά τα επίπεδα σχηματίζουν αυτό που ονομάζεται ιεραρχία της μνήμης, την οποία μπορείτε να δείτε στην παραπάνω εικόνα και με λεπτομέρειες ποια μνήμη πηγαίνει σε ένα τυπικό σύστημα μέσα σε μια CPU (αν και άλλα είδη επεξεργαστών θα φαίνονται πολύ παρόμοιος). Σήμερα, η σύγχρονη ιεραρχία μνήμης δεν περιλαμβάνει μόνο κρυφή μνήμη, RAM και συσκευές μόνιμης αποθήκευσης, αλλά και μια ιεραρχία μνήμης μέσα στην ίδια την κρυφή μνήμη.

Οι περισσότεροι επεξεργαστές έχουν διαφορετικά επίπεδα κρυφής μνήμης για διάφορους σκοπούς. Το πρώτο και μικρότερο επίπεδο κρυφής μνήμης είναι το L1, στο οποίο δίνονται μεμονωμένοι πυρήνες για την επεξεργασία δεδομένων που χρειάζονται άμεσα. Η κρυφή μνήμη L1 μετριέται συχνά σε kilobyte, με τις πιο πρόσφατες επεξεργαστές Ryzen 7000 να έχουν 64 KB μνήμης cache L1 ανά πυρήνα. Επιπλέον, η σύγχρονη κρυφή μνήμη L1 συχνά χωρίζεται περαιτέρω σε L1I (για οδηγίες) και L1D (για δεδομένα).

Ακολουθεί το L2, το οποίο είναι για μια ομάδα πυρήνων και όχι για μεμονωμένους. Φυσικά, η κρυφή μνήμη L2 είναι μεγαλύτερη από την κρυφή μνήμη L1, συχνά κατά μια τάξη μεγέθους, αλλά είναι πολύ μεγαλύτερη και χρειάζεται να εξυπηρετήσει περισσότερους πυρήνες σημαίνει ότι είναι πιο αργή και έχει υψηλότερη καθυστέρηση. Ορισμένοι επεξεργαστές, ιδιαίτερα οι GPU και οι πιο αργές CPU, θα ανεβαίνουν μόνο στη μνήμη cache L2.

Το επόμενο βήμα είναι το L3, το οποίο χρησιμοποιείται γενικά από όλους τους πυρήνες του τσιπ. Το μέγεθός του μπορεί να ποικίλλει από μερικές φορές μεγαλύτερο από την κρυφή μνήμη L2 έως περισσότερο από μια τάξη μεγέθους μεγαλύτερο, ανάλογα με τον επεξεργαστή. Αυτό σημαίνει ότι είναι ακόμη πιο αργή από την προσωρινή μνήμη L2, αλλά εξακολουθεί να έχει καλύτερη απόδοση από τη μνήμη RAM. Επιπλέον, η κρυφή μνήμη L3 λειτουργεί επίσης συχνά ως "κρυφή μνήμη θυμάτων", όπου πηγαίνουν τα δεδομένα που εξάγονται από την κρυφή μνήμη L1 και L2. Μπορεί να εξαλειφθεί περαιτέρω από την κρυφή μνήμη L3 εάν δεν είναι απαραίτητο. Σήμερα, η κρυφή μνήμη L3 είναι ιδιαίτερα σημαντική για την AMD λόγω της τεχνολογίας chiplet της. Τα τσιπ Ryzen 3D V-Cache περιέχουν 64MB cache L3 και τα RX 7000 Memory Cache Dies (ή MCD) περιέχουν 16MB cache L3 το καθένα.

Το υψηλότερο επίπεδο μνήμης cache που παρατηρείται στους περισσότερους επεξεργαστές είναι το L4, το οποίο είναι συχνά τόσο μεγάλο που ουσιαστικά είναι RAM. Στην πραγματικότητα, οι πιο πρόσφατες CPU που χρησιμοποιούν προσωρινή μνήμη L4 είναι τα τσιπ Sapphire Rapids Xeon της Intel, τα οποία χρησιμοποιούν HBM2 ως προσωρινή μνήμη L4 σε κορυφαία μοντέλα. Η AMD, από την άλλη πλευρά, δεν έχει χρησιμοποιήσει ποτέ προσωρινή μνήμη L4 και αντ' αυτού αρκείται να διευρύνει την προσωρινή μνήμη L3 σε υψηλές χωρητικότητες προσθέτοντας περισσότερα chiplet CPU και V-Cache. Μια κρυφή μνήμη L4 συνήθως ωφελεί περισσότερο τις ενσωματωμένες GPU, καθώς είναι μια on-die λύση που μπορεί να μοιράζεται δεδομένα μεταξύ της CPU και της ενσωματωμένης GPU.

Σε ορισμένα chipset, κυρίως σε κινητά, υπάρχει ένας άλλος τύπος κρυφής μνήμης: η προσωρινή μνήμη σε επίπεδο συστήματος (SLC). Αυτή η κρυφή μνήμη χρησιμοποιείται στη συνέχεια σε ολόκληρο το chipset, όπως η GPU, η NPU και η CPU. Μια κρυφή μνήμη μπορεί να αντικαταστήσει την ανάγκη για αιτήματα στην κύρια μνήμη, επομένως ένα SLC ωφελεί ολόκληρο το SoC.

Η προσωρινή μνήμη είναι απαραίτητη, αλλά δεν βελτιώνει την απόδοση από μόνη της

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

Τούτου λεχθέντος, η δυνατότητα προσθήκης μεγάλης ποσότητας προσωρινής μνήμης μπορεί να είναι επιθυμητή σε ορισμένες περιπτώσεις. Οι CPU με πολλή μνήμη cache τείνουν να αποδίδουν καλύτερα σε παιχνίδια, για παράδειγμα. Οι επεξεργαστές Ryzen της AMD με 3D V-Cache είναι αρκετά γρήγοροι για παιχνίδια παρά το γεγονός ότι έχουν χαμηλότερη συχνότητα από τα τσιπ χωρίς V-Cache και Οι επεξεργαστές 13ης γενιάς της Intel είναι σημαντικά πιο γρήγοροι από τα τσιπ 12ης γενιάς, με τη μόνη σημαντική βελτίωση να είναι η διευρυμένη κρύπτη.

Τελικά, υπάρχει προσωρινή μνήμη, ώστε οι επεξεργαστές να μπορούν να παρακάμπτουν τη μνήμη RAM όσο το δυνατόν συχνότερα και η απόδοση μπορεί να είναι όσο το δυνατόν πιο απεριόριστη. Οι σχεδιαστές CPU πρέπει να εξισορροπούν τη χωρητικότητα της κρυφής μνήμης με το μέγεθος και, κατ' επέκταση, το κόστος, το οποίο γίνεται πιο δύσκολο με κάθε γενιά νέων διαδικασιών παραγωγής. Παρόλο που νέοι τρόποι προσθήκης κρυφής μνήμης στους επεξεργαστές εισάγονται δεκαετίες μετά την εφεύρεση της κρυφής μνήμης, είναι δύσκολο να φανταστεί κανείς ότι ο σκοπός αυτού του βασικού στοιχείου των επεξεργαστών θα αλλάξει ποτέ.