ΑρχικήΥπολογιστέςΜνήμη RAM συμβουλές, πληροφορίες και λύση προβλημάτων

Μνήμη RAM συμβουλές, πληροφορίες και λύση προβλημάτων

Δημιουργήσαμε ένα εκτενές αφιέρωμα για τη Μνήμη RAM με συμβουλές, πληροφορίες και λύση προβλημάτων.

BIOS tips για ρύθμιση της μνήμης RAM

Είναι γνωστό, ότι το BIOS αποτελεί την “καρδιά” του software και χωρίς αμφιβολία ο ρόλος του έχει υποβαθμιστεί ιδιαίτερα. Οι περισσότεροι χρήστες σήμερα δεν ασχολούνται με τη ρύθμισή του, αλλά ούτε και με τις δυνατότητες που μπορεί να εκμεταλλευτούν μέσω αυτού.

Στην καρδιά του software

Ωστόσο, ορισμένες ρυθμίσεις μπορούν να αυξήσουν τη συνολική απόδοση του συστήματός μας, καθώς επίσης και να επιλύσουν ορισμένα προβλήματα, τα οποία εκ πρώτης όψεως έχουν άγνωστη αιτιολογία. Παρακάτω θα δούμε ορισμένα πράγματα, τα οποία καλό είναι να προσέξετε. Οι συμβουλές αυτές είναι γενικής φύσεως, εφόσον ανάλογα με την έκδοση και τον κατασκευαστή του BIOS, αλλάζουν και οι εντολές / ρυθμίσεις.

Optimal Bus Speed Setting: Το πρώτο πράγμα που θα πρέπει να κάνουμε, είναι να ελέγξουμε τη ρύθμιση της συχνότητας λειτουργίας του System Bus, προκειμένου να ανταποκρίνεται στη μέγιστη υποστηριζόμενη ταχύτητα του επεξεργαστή μας. Υπενθυμίζουμε, ότι η ταχύτητα λειτουργίας του επεξεργαστή μας είναι άμεσα εξαρτώμενη από την ταχύτητα του System Bus, αφού αποτελεί γινόμενο της τιμής του πολλαπλασιαστή με αυτό. Η ταχύτητα του System Bus θα πρέπει να ρυθμιστεί ανάλογα με τις τεχνικές προδιαγραφές του επεξεργαστή μας (βλέπε manual).

Ενεργοποίηση της εσωτερικής cache: Όλοι οι επεξεργαστές διαθέτουν εσωτερική μνήμη cache, η οποία “τρέχει” στην ίδια συχνότητα λειτουργίας με αυτούς. Η ενεργοποίησή της είναι πολύ σημαντικός παράγοντας και θα πρέπει να γίνεται σε κάθε περίπτωση από το σχετικό μενού του BIOS (enable internal cache).

Ενεργοποίηση της εξωτερικής cache: Εξίσου σημαντική είναι και η ενεργοποίηση της εξωτερικής cache του επεξεργαστή, όποτε αυτή υπάρχει και ορίζεται από τις προδιαγραφές του. Οι περισσότεροι επεξεργαστές διαθέτουν εξωτερική cache της τάξης των 256 ή 512 Kb.

Ενεργοποίηση του Fast A20 Gating: Η δυνατότητα αυτή θα έχει ως αποτέλεσμα μία πολύ μικρή ώθηση στις επιδόσεις του συστήματος και αν δε δημιουργεί προβλήματα, καλό είναι να την έχουμε ενεργοποιημένη.

Global Chipset Features: Ορισμένα chipsets μας προσφέρουν την παραπάνω δυνατότητα, έτσι ώστε να μπορούμε να εκμεταλλευτούμε κάποια από τα λεγόμενα “Global Features”. Στην περίπτωση που δούμε λοιπόν στο BIOS τη σχετική επιλογή, καλό είναι να την ενεργοποιήσουμε.

Σωστή ρύθμιση του Memory Timing: Τα περισσότερα BIOS μας δίνουν τη δυνατότητα να ρυθμίζουμε manually το timing της μνήμης που χρησιμοποιούμε. Σε αυτήν την περίπτωση και αφού μάθουμε τις τεχνικές προδιαγραφές των modules μνήμης που διαθέτουμε, ορίζουμε τον αριθμό των nanosecond (ns).

AGP mode: Σχεδόν όλα τα motherboards που κυκλοφορούν στην αγορά, αλλά και οι περισσότερες κάρτες γραφικών υποστηρίζουν το mode AGP4x. Σε αυτήν την περίπτωση η ενεργοποίησή του μέσω του BIOS θα μας δώσει τις επιθυμητές επιδόσεις. Σημειώνουμε, ότι παράλληλα με αυτό ορίζουμε και το Aperture Size του διαύλου. Το μέγεθος αυτό καθορίζει τη μέγιστη φυσική μνήμη του υπολογιστή μας, που μπορεί να είναι διαθέσιμη για τη δημιουργία textures.

HD S.M.A.R.T. capability: Πρόκειται για μία δυνατότητα, που έχουν από κοινού το motherboard και ο σκληρός δίσκος, η οποία, αν ενεργοποιηθεί, αυξάνει τις επιδόσεις και την αξιοπιστία των αποθηκευτικών μέσων.

Shadowing: Οι δυνατότητες για shadowing που μας προσφέρει το BIOS (είτε αφορά σε μνήμη της κάρτας γραφικών είτε οπουδήποτε αλλού) καλό είναι να είναι ενεργοποιημένες μόνο, στην περίπτωση που δεν αντιμετωπίζουμε προβλήματα με το hardware.

BIOS Update: Το update του BIOS είναι αρκετά επικίνδυνο ως διαδικασία και θα πρέπει να γίνεται μόνο όταν δεν έχουμε άλλη επιλογή.

Το BIOS (Basic Input / Output System) είναι υπεύθυνο για μία σειρά από ενέργειες, που λαμβάνουν χώρα αμέσως μόλις πατήσουμε το πλήκτρο “On” στον υπολογιστή μας. Οι ενέργειες αυτές έχουν να κάνουν κυρίως με τον έλεγχο της κατάστασης του hardware του PC, έτσι ώστε προτού μεταβιβαστεί ο έλεγχος στο λειτουργικό σύστημα να έχουμε εξασφαλίσει, ότι όλα λειτουργούν σωστά, ή τουλάχιστον με επάρκεια. Έτσι λοιπόν ελέγχονται οι τάσεις τροφοδοσίας, η ύπαρξη των βασικών εξαρτημάτων (CPU, μνήμη, σκληροί δίσκοι), η σωστή λειτουργία τους και ο έλεγχος των τυπικών ρυθμίσεων σε επίπεδο hardware, που θα εξασφαλίσουν την έναρξη του υπολογιστή.

Όσον αφορά στις ρυθμίσεις τώρα, στις περισσότερες περιπτώσεις δεν απαιτείται κάποια παρέμβαση για τη σωστή λειτουργία του υπολογιστή, γεγονός το οποίο είναι ο κύριος υπεύθυνος για την υποβάθμιση του ρόλου του BIOS, για την οποία κάναμε λόγο προηγουμένως.

Chipsets και motherboards

Αγοράσατε το σούπερ γρήγορο motherboard, με το chipset ΧΧΧ, που τρέχει με την… ταχύτητα του φωτός. Βάλατε πάνω ένα ταχύτατο επεξεργαστή και όταν ήλθε η ώρα της μνήμης, είπατε να χρησιμοποιήσετε την παλιά, καλή SDRAM, που είχατε στο προηγούμενο σύστημά σας.

Ποια μνήμη να πάρω για το σύστημα μου;

Όταν όμως ανοίξατε τον υπολογιστή, απογοητευθήκατε. Η αύξηση των επιδόσεων του συστήματος δεν ήταν αυτή που περιμένατε. Γιατί; Απλώς δεν υπολογίσατε, ότι η μνήμη “φρενάρει” όλο το σύστημα, όταν δεν είναι η ταχύτερη δυνατή, που μπορεί να δεχτεί το motherboard.

Στο παράδειγμά μας, αν αγοράσατε motherboard με chipset της πιο πρόσφατης παραγωγής, π.χ. για Athlon XP, τότε κατά πάσα πιθανότητα έχετε αγοράσει ένα motherboard που υποστηρίζει DDR SDRAM 333, που θεωρητικά είναι 3.5 φορές ταχύτερη από την SDRAM PC100. Οπότε είναι λογικό, ότι δε θα πάρετε από το σύστημά σας αυτό που μπορεί να δώσει. Για την ακρίβεια το chipset είναι αυτό που καθορίζει τον τύπο της μνήμης που θα χρησιμοποιήσετε, αφού αν δε διαθέτει ενσωματωμένη υποστήριξη για τον τύπο μνήμης που επιθυμείτε να τοποθετήσετε, τότε χάσατε.

Οι διάφοροι κατασκευαστές motherboard χρησιμοποιούν τα δημοφιλέστερα chipsets της αγοράς και υλοποιούν γύρω από αυτά τις λύσεις τους. Ορισμένες εταιρείες που κατασκευάζουν chipsets υποστήριξης προχωρούν ένα ακόμη βήμα και φτιάχνουν τα δικά τους motherboards. Ωστόσο, η πλειονότητα των κατασκευαστών motherboard προμηθεύονται τα chipsets τους από έναν από τους (λίγους) κατασκευαστές του κλάδου.

Τι είναι το chipset

Πρόκειται συνήθως για δύο chips, τα οποία κατά κανόνα ονομάζονται southbridge και northbridge αντίστοιχα. Τα δύο αυτά chips επιτελούν όλες τις λειτουργίες επικοινωνίας των διαφόρων μερών που συνυπάρχουν επάνω στο motherboard (CPU, μνήμη, δίαυλοι δεδομένων κ.λπ.), ενώ σε ορισμένες περιπτώσεις ενσωματώνουν κυκλώματα ήχου (πολύ συχνά τελευταία), αλλά και κυκλώματα γραφικών. Mε την πρόοδο της τεχνολογίας και την εισαγωγή μεθόδων παραγωγής, που κάνουν δυνατή την τοποθέτηση όλο και περισσότερων κυκλωμάτων πάνω σε ένα chip, οι κατασκευαστές chipsets έχουν τη δυνατότητα να συμπυκνώσουν τις λειτουργίες πολύ περισσότερων chipsets σε ένα, που αποτελεί και την “καρδιά” του motherboard.

Τα πιο γνωστά chipsets

Σε δύο πίνακες που παραθέτουμε (πίνακας 1 και πίνακας 2) μπορείτε να δείτε επιγραμματικά τα δημοφιλέστερα chipsets που κυκλοφορούν στην ελληνική αγορά, σε αντίστοιχες υλοποιήσεις σε motherboards. Δύο είναι οι μεγάλοι κατασκευαστές επεξεργαστών για PCs: η Intel και η AMD. Οσον αφορά στους επεξεργαστές της πρώτης, σε ένα μεγάλο τμήμα της αγοράς κυριαρχούν τα δικά της chipsets, ιδιαίτερα όσον αφορά στις υλοποιήσεις της για Pentium 4. Αυτό συνέβη μετά την εισαγωγή στην αγορά από την Intel των λύσεων που υποστηρίζουν μνήμες DDR, καθώς η επιμονή της στην υποστήριξη της RDRAM παλιότερα, της κόστισε ένα μεγάλο τμήμα της αγοράς στο μέσο τμήμα της.

Η Intel πάντως παρά τα όσα λέγονται περί του αντιθέτου, δεν σκοπεύει να εγκαταλείψει την RDRAM, αφού κάποιες εκδόσεις της νέας γενιάς των Tehoma chipsets θα συνεχίσουν να υποστηρίζουν τη μνήμη που εφηύρε η Rambus. Η ΑMD φαίνεται ότι ακολουθεί μια διαφορετική πολιτική. Συνήθως με την εισαγωγή στην αγορά μιας καινούργιας οικογένειας επεξεργαστών, έχει έτοιμο και ένα chipset υποστήριξης, με το οποίο εφοδιάζει τους κατασκευαστές motherboards.

Όταν αρχίσει η νέα CPU να εδραιώνεται στην αγορά, τρίτοι κατασκευαστές έχουν αρχίσει ήδη να προσφέρουν τις δικές τους λύσεις για την υποστήριξη επεξεργαστών της εταιρείας του Τέξας. Συνήθως αυτές οι λύσεις είναι πολύ ανώτερες από αυτήν που αρχικά προσέφερε η ίδια η AMD. Αλλωστε είναι χαρακτηριστικό, ότι από τα σημερινά chipsets που κυκλοφορούν ευρέως στην ελληνική αγορά για Athlon/Duron, μόνο οι εκδόσεις του AMD 760, που υποστηρίζουν δύο επεξεργαστές, προέρχονται από την AMD. Ολες οι υπόλοιπες είναι κατασκευή τρίτων εταιρειών.

Κατασκευαστές και υποστήριξη

Η πιο πρόσφατη εξέλιξη στα chipsets υποστήριξης είναι η DDR 5. Όλο και περισσότεροι κατασκευαστές κυκλοφορούν chipsets, που προσφέρουν την ανώτερη δυνατή ταχύτητα με μνήμη DDR SDRAM. Σιγά-σιγά η υποστήριξη αποκλειστικά για μνήμη SDRAM περιορίζεται στα φθηνά συστήματα “entry level”. Αλλά ακόμη και σε αυτό το τμήμα της αγοράς η DDR φαίνεται να κερδίζει τη μάχη, καθώς κυκλοφορούν chipsets, που επιτρέπουν τη συνεργασία επεξεργαστών τύπου Celeron (που εξοπλίζουν συνήθως μηχανήματα entry level) με γρήγορη μνήμη DDR 5. Υποστήριξη DDR 5 προσφέρουν οι περισσότεροι μεγάλοι κατασκευαστές chipset, όπως οι ταϊβανέζικες Ali (Acer Labs) SiS, Via και τα στάνταρτ της αγοράς σιγά-σιγά μετατοπίζονται προς αυτό το σημείο.

Ωστόσο, για την ώρα η πλειονότητα των motherboards που κυκλοφορούν στην ελληνική αγορά, υποστηρίζει DDR, γεγονός που οφείλεται στην καθυστέρηση, που κατά κανόνα υπάρχει μεταξύ της καθιέρωσης ενός νέου στάνταρτ από τις εταιρείες και της υιοθέτησής του από την αγορά. Χαρακτηριστικό είναι πάντως, ότι οι περισσότεροι κατασκευαστές ακόμη και στα “προχωρημένα” DDR chipsets τους, προσφέρουν υποστήριξη για SDRAM. Γνωρίζουν, ότι αυτήν τη στιγμή κυκλοφορεί περισσότερη SDRAM στην αγορά απ’ ό,τι DDR και σαφώς υπολογίζουν και στην εγκατεστημένη βάση που υπάρχει ήδη.

Overclocking με Μνήμη RAM

Βεβαίως, ο τίτλος μπορεί να θεωρηθεί παραπλανητικός, καθώς ορισμένες φορές αντί να βγάλουμε στην επιφάνεια την κρυμμένη δύναμη της μνήμης, ανοίγουμε το… κουτί της Πανδώρας. Ωστόσο, η μνήμη θεωρείται ένας από τους δυνατούς κρίκους στην αλυσίδα του overclocking και κατά κανόνα συμβαδίζει με τη CPU στις δυνατότητες overclocking.

Αυτό βεβαίως εξαρτάται και από τη μνήμη που θα επιλέξουμε να βάλουμε στο σύστημά μας – με τις πιο ακριβές brand names μνήμες να έχουν και τις καλύτερες επιδόσεις στο overclocking και τις φθηνότερες no name μνήμες να εγκαταλείπουν τη μάχη νωρίτερα. Γενικώς, overclocking σημαίνει να σπρώχνουμε το σύστημα (το CPU, τη μνήμη, την κάρτα γραφικών κ.λπ. ενός συστήματος) να λειτουργήσουν σε συχνότητες υψηλότερες από εκείνες που έχει θέσει στις προδιαγραφές του ο κατασκευαστής.

Το overclocking υφίσταται εδώ και πολλά χρόνια. Ακόμη και στην πολύ μακρινή εποχή του i286, κάποιοι “φανατικοί” προσπαθούσαν και συχνά κατάφερναν να πάρουν 1 MHz παραπάνω από τον επεξεργαστή τους. Αν έχετε μία γενική ιδέα από overclocking, δε χρειάζεται να σας πούμε, ότι η διαδικασία αυτή, όσον αφορά στη μνήμη, επιτυγχάνεται μέσω της αύξησης της συχνότητας λειτουργίας του Front side bus (FSB για συντομία), του διαύλου μέσω του οποίου επικοινωνούν οι διάφορες “συσκευές” που βρίσκονται σε ένα motherboard. Θα μπορούσατε να σκεφτείτε το FSB ως τη ραχοκοκαλιά του motherboard και ταυτόχρονα ως το κυκλοφορικό σύστημά της.

Οι περισσότεροι κατασκευαστές motherboard εδώ και μερικά χρόνια που το overclocking έγινε της μόδας, όχι απλώς σας επιτρέπουν να “πειράξετε” τις σχετικές ρυθμίσεις μέσα από το BIOS, αλλά πρακτικά σας προκαλούν να το κάνετε. Ωστόσο, το overclocking σε κάθε περίπτωση χρειάζεται προσοχή και βήμα προς βήμα προώθηση προς τα πάνω, ειδάλλως το σύστημά μας κινδυνεύει, είτε να μην μπορεί να κάνει boot (μικρό το κακό, κλείνουμε και ξανανοίγουμε), είτε να “παραδώσει πνεύμα” γενικότερα (ενίοτε και τελεσίδικα). Αν κάνετε μια περιήγηση στα web sites που είναι αφιερωμένα στο overclocking, θα διαπιστώσετε, ότι οι περισσότεροι από τους “ειδικούς” συνιστούν να ανεβάζετε τη συχνότητα του FSB κατά βήματα του ενός ή των δύο MHz.

Σε κάθε ανέβασμα του bus θα πρέπει να τεστάρετε το σύστημα με μια σειρά applications. Συνήθως χρησιμοποιούνται από κοινού: ένα πρόγραμμα benchmark, όπως το SiSoft Sandra, ένα utility που χρησιμοποιεί το μεγαλύτερο μέρος των πόρων του υπολογιστή, όπως το Seti@home και ένα παιχνίδι, όπως το Unreal που σπρώχνει το σύστημα στα όριά του. Διαφορετικά είδη μνήμης έχουν διαφορετικές ανοχές στο overclocking, όπως και διαφορετικές μάρκες του ίδιου είδους.

Μεγάλη σημασία παίζει η ποιότητα κατασκευής του DIMM (ή RIMM). Επίσης καλό είναι, όταν θέλουμε να “πουσάρουμε” ένα motherboard με FSB στα 100 ΜΗz, να χρησιμοποιήσουμε μνήμη, που να λειτουργεί σε υψηλότερη συχνότητα. Για παράδειγμα, αν μιλάμε για SDRAM, μπορούμε να χρησιμοποιήσουμε PC133, ή και καλύτερη (κυκλοφορούν και μνήμες μαρκαρισμένες ως PC150, οι οποίες αν και φυσιολογικά λειτουργούν ως PC133 είναι ιδιαίτερα ευέλικτες στο overclocking).

Κατά κανόνα, οι μνήμες μπορούν να ανέβουν σταθερά (δίχως να παγώνουν το σύστημα) έως τα 3200 με 3600 MHz. Έχουν αναφερθεί και καλύτερες επιδόσεις, αλλά τις περισσότερες φορές θυσιάζουμε τη σταθερότητα του συστήματος για να ανεβάσουμε πολύ τη συχνότητα. Η μνήμη μπορεί να ανέβει κατά κανόνα έως τα 3600 MHz, ενώ ορισμένα modules ανεβαίνουν στα 1200 με 1600 MHz με πολύ ικανοποιητική σταθερότητα. Από εκεί και πάνω τα πράγματα “ζορίζουν”, αν και κάποιοι οverclockers έχουν ανεβάσει τη μνήμη έως και τα 1600 με σχετική σταθερότητα.

Computer Memory Bandwidth

Ο όρος bandwidth συναντάται σε όλους σχεδόν τους τομείς της πληροφορικής, όταν έχουμε να κάνουμε με μεταφορά δεδομένων. Αποτελεί μάλιστα χαρακτηριστική μονάδα μέτρησης των “επιδόσεων” ενός δικτύου ανεξάρτητα από το μέγεθός του.

Διευρύνοντας τα όρια

Το bandwidth είναι ουσιαστικά η μέγιστη “ποσότητα” δεδομένων, που μπορούν να μεταφερθούν μέσω ενός διαύλου επικοινωνίας, σε συγκεκριμένο χρόνο, που συνήθως εκφράζεται σε δευτερόλεπτα. Μπορούμε να φανταστούμε το δίαυλο αυτό ως έναν αγωγό, του οποίου το υποστηριζόμενο bandwidth καθορίζεται από τη διάμετρό του. Το bandwidth άρχισε να τραβάει την προσοχή μας μετά την “επέλαση” του Internet στην καθημερινή μας ζωή και εξέφραζε κυρίως τη “χωρητικότητα”, που προσέφεραν οι διάφοροι ISP στους συνδρομητές τους. Είναι γεγονός, ότι ένας από τους σημαντικότερος παράγοντες, που επηρεάζουν τις επιδόσεις ενός σύγχρονου υπολογιστικού συστήματος, είναι το bandwidth της μνήμης.

Οι νέες τεχνολογικά μνήμες που κυκλοφορούν στο εμπόριο (όπως για παράδειγμα οι DDR και οι RDRAM), έχουν συμβάλλει σημαντικά στην αύξηση των επιδόσεων, ακόμη κι αν ως αποκλειστικό “υπεύθυνο” θεωρήσουμε το μεγαλύτερο bandwidth. Το ιδανικό θα ήταν να έχουμε ένα ζευγάρι επεξεργαστή-μνήμης, το οποίο να χαρακτηρίζεται από το ίδιο μέγιστο υποστηριζόμενο bandwidth. Δυστυχώς, αυτό δε συμβαίνει πάντα, με αποτέλεσμα να “χαραμίζονται”, είτε οι επιδόσεις της μνήμης, είτε του επεξεργαστή.

Το “χάσμα” ανάμεσα στις ονομαστικές επιδόσεις των επεξεργαστών και της μνήμης ονομάζεται στους κύκλους των ειδικών “Memory Wall” και αντιμετωπίζεται με την εγκατάσταση μνήμης cache πολλαπλών επιπέδων στους επεξεργαστές. Ας δούμε λίγο, τι συμβαίνει με τις μνήμες DDR. Οι μνήμες αυτές χρησιμοποιούν δίαυλο των 16bit (2 byte), ο οποίος “τρέχει” στα 400MHz.

Με την τεχνολογία DDR signaling η ονομαστική ταχύτητα αντιστοιχεί σε “πρακτική” ταχύτητα 800MHz. Το μέγιστο δυνατό bandwidth λοιπόν υπολογίζεται από το γινόμενο των bytes, που μπορούν να μεταφερθούν ταυτόχρονα επί τον αριθμό των MHz, οπότε στην περίπτωση αυτή έχουμε 2bytes * 800 MHz = 1.6GB ανά δευτερόλεπτο. Στην περίπτωση της DDR-SDRAM (PC2100) έχουμε δίαυλο της τάξης των 64bit, ονομαστική ταχύτητα του bus 133MHz (266MHz λόγο DDR) και bandwidth 2.1 GB ανά δευτερόλεπτο. Σε πραγματικές συνθήκες θα παρατηρήσουμε, ότι το μέγιστο υποστηριζόμενο bandwidth είναι πολύ χαμηλότερο από το αποτελεσματικό (effective).

Άλλωστε οι μνήμες εκτός από την καθαρή μεταφορά δεδομένων ασχολούνται και με άλλες χρονοβόρες διαδικασίες, όπως το addressing. Ενα από τα καλύτερα προγράμματα της αγοράς για τον υπολογισμό του bandwidth της μνήμης είναι το StreamBench.

  • Τα αποτελέσματα του memory bandwidth benchmark αφορούν, τόσο στο θεωρητικό bandwidth που υποστηρίζει η μνήμη μας, όσο και στο “πραγματικό”, ή αποτελεσματικό που έχουμε σε πραγματικές συνθήκες.

Memory data integrity checking

H μνήμη που χρησιμοποιούμε στους υπολογιστές μας και ιδιαίτερα η DRAM όλων των τύπων, είναι επιρρεπής στα σφάλματα. Σε σχέση για παράδειγμα με την SRAM (Static RAM) που χρησιμοποιείται και ως μνήμη cache, η DRAM είναι πολύ περισσότερο επιρρεπής στα λάθη.

Το σφάλλειν ανθρώπινον εστίν

Γιατί συμβαίνει αυτό; Eπειδή η DRAM έχει ανάγκη από συνεχή ανανέωση των δεδομένων (εξ ου και το “Dynamic”), ειδάλλως έχει την τάση να χάνει τα δεδομένα αυτά. Η λειτουργία της μνήμης είναι απλή στη θεωρία. Κάθε bit δεδομένων αντιπροσωπεύεται από μία τιμή, που στο δυαδικό σύστημα αξιών (αυτό που χρησιμοποιείται στην ψηφιακή τεχνολογία και φυσικά και στους υπολογιστές) λαμβάνει την τιμή “1” ή την τιμή “0”.

Η μνήμη “καταλαβαίνει” τη διαφορά ανάλογα με την τάση ρεύματος που δέχεται. Για παράδειγμα, το “1” μπορεί να ορίζεται ως 5V και το “0” ως 0V. Εδώ όμως είναι το σημείο, που προκύπτουν πολλά λάθη. Μπορεί το 5V να μη διαβαστεί ως 5V, αλλά ως 4.2V. Σε μια τέτοια περίπτωση το λάθος μπορεί να αποφευχθεί, καθώς το 4.2 είναι πολύ πιο κοντά στο 5 απ’ ό,τι στο 0. Αλλά αν η τάση διαβαστεί ως 2.0V, τότε …προκύπτει ένα λάθος. Υπάρχουν ουσιαστικά δύο είδη errors (λαθών), που μπορούν να προκύψουν σε συστήματα μνήμης.

Το πρώτο λέγεται repeatable, ή hard error και είναι συνήθως επαναλαμβανόμενο και κατά κανόνα οφειλόμενο σε αστοχία του υλικού (ελαττωματικό hardware, πρόβλημα στην τοποθέτηση των modules μνήμης, πρόβλημα του motherboard). Το δεύτερο είναι το soft, ή transient error και κατά κανόνα δεν επαναλαμβάνεται σε κανονικά διαστήματα, αν και αυτό μπορεί να προέρχεται από ελαττωματική μνήμη, ή από κάποιο άλλο πρόβλημα hardware. Το πιο δύσκολο στον εντοπισμό πρόβλημα είναι σαφώς το soft, αφού δεν επαναλαμβάνεται τακτικά. Πρόληψη και διόρθωση

Η συχνότητα των λαθών δημιουργεί προβλήματα αξιοπιστίας στη λειτουργία των υπολογιστών, ωστόσο παρότι το πρόβλημα είναι πιο εμφανές σήμερα απ’ ό,τι ήταν 10 χρόνια πριν, οι κατασκευαστές μνήμης, chipset υποστήριξης, motherboard και ολοκληρωμένων συστημάτων έχουν απομακρυνθεί από το τραίνο της διόρθωσης των λαθών, ή memory data integrity checking. Πριν από 10 χρόνια η πλειονότητα της μνήμης που κυκλοφορούσε, ήταν parity, δηλαδή περιείχε ένα έξτρα bit πληροφορίας κάθε 8 bits.

Το bit αυτό χρησιμοποιούνταν για checking ύπαρξης λαθών. Σήμερα, ελάχιστες είναι οι μνήμες που κυκλοφορούν με parity, καθώς η πλειονότητα των κατασκευαστών έχει στραφεί στις φθηνότερες μνήμες non-parity. Η διαφορά κόστους είναι μικρή, αλλά υπαρκτή, αφού η μνήμη parity απαιτεί περίπου 12% παραπάνω μνήμη για να υλοποιηθεί. Επίσης, υπάρχει κάποια επίπτωση στην ταχύτητα της μνήμης (αμφισβητήσιμη πάντως).

Σήμερα η διαφορά στην τιμή είναι μεγάλη, κάτι που ουσιαστικά οφείλεται στο ότι οι μνήμες parity κατασκευάζονται σε πολύ μικρότερες ποσότητες από ό,τι οι μνήμες non-parity. Parity checking και ΕCC Δύο μέθοδοι χρησιμοποιούνται ευρέως για memory data integrity checking. Η πρώτη βασίζεται στη μνήμη parity και συνήθως αναφέρεται ως parity checking. Η μέθοδος αυτή κάνει χρήση του έξτρα bit, όπου αποθηκεύει πληροφορίες, που επιτρέπουν στο σύστημα να εντοπίσει, αν υπάρχει λάθος στα υπόλοιπα 8 bits του byte.

Για να εξειδικεύσουμε λίγο περισσότερο: όταν χρησιμοποιείται parity checking, κάθε φορά που ένα byte γράφεται στη μνήμη, καλείται ένα λογικό κύκλωμα, που ονομάζεται parity generator/checker, που εξετάζει τo byte και καθορίζει την τιμή του 9ου (του “περίσσιου”) bit, ανάλογα με το αν ο αριθμός των “1” του byte είναι μονός, ή ζυγός. Αν χρησιμοποιείται odd parity, τότε στην περίπτωση που ο αριθμός των “1” ήταν μονός, το 9ο bit παίρνει την τιμή “1”, ειδάλλως γίνεται “0”. Αν χρησιμοποιείται even parity συμβαίνει το αντίθετο. Το στάνταρτ πάντως είναι το odd parity.

Πως γίνεται το τσεκάρισμα του λάθους; Το ίδιο λογικό κύκλωμα (τώρα ως parity checker) εξετάζει τα δεδομένα, όταν καλούνται ξανά και κοιτάζει αν το parity είναι even, δηλαδή αν ο αριθμός των “1” είναι ζυγός. Αν δεν είναι, τότε το byte έχει πρόβλημα (εμφανίζει λάθος) και η πληροφορία απορρίπτεται, με τη δημιουργία ενός interrupt. Λόγω της μεθόδου που χρησιμοποιείται, το parity checking δεν μπορεί να εντοπίσει σφάλματα αλλοίωσης δύο bit ανά byte, τα double bit errors.

H δεύτερη μέθοδος εντοπισμού λαθών ονομάζεται ECC (Error Correction Code, ή Error Correcting Circuits, ή Error Correcting Code). Στην περίπτωση αυτή ωστόσο εκτός από τον εντοπισμό του λάθους, υπάρχει και η διόρθωσή του. Tο ECC πετυχαίνει να εντοπίσει και τα double bit errors, τα λάθη δηλαδή όπου μεταβάλλεται η τιμή δύο bit σε ένα byte. Το ECC χρησιμοποιεί ένα συγκεκριμένο αλγόριθμο για να εντοπίζει τα λάθη και στη συνέχεια να τα διορθώνει.

Αντίθετα με το parity checking, το ECC χρησιμοποιεί ομαδοποιημένα bits για να προστατεύσει τα δεδομένα των άλλων bit: 7 bits για να προστατεύσει 32 bits ή 8 bits για να προστατεύσει 64 bits. Οταν το ECC εντοπίζει ένα λάθος, το διορθώνει άμεσα (“on the fly”) δίχως να παρατηρεί κάτι ο χρήστης του υπολογιστή.

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

Υπάρχουν συγκεκριμένα modules μνήμης, τα οποία έχουν σχεδιαστεί για να λειτουργούν σε ECC mode, αλλά το ECC λειτουργεί κανονικότατα και με απλές μνήμες parity. Είναι φυσικά προαπαιτούμενο, το motherboard (δηλαδή το chipset) να υποστηρίζει τη λειτουργία ECC. Επίσης, απαιτείται – όπως και στο parity checking – να έχει ενεργοποιηθεί η αντίστοιχη λειτουργία μέσα από το BIOS.

Tα διάφορα είδη της μνήμης RAM

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

Ποια να διαλέξω από τις τρεις;

Κυκλοφορεί ευρέως η παλιά μνήμη τύπου SDRAM , που κοστίζει ελάχιστα χρήματα αλλά είναι περιορισμένων δυνατοτήτων. Αυτή η τεχνολογία δείχνει να μην αποτελεί πια την πρώτη επιλογή της αγοράς, αφού ο αμείλικτος νόμος του “ταχύτερα, όλο και ταχύτερα” δείχνει να προτιμά έναν άλλο τύπο μνήμης, την DDR SDRAM.

H DDR SDRAM δεν είναι παρά ένα μεγάλο βήμα μπροστά μέσα στα πλαίσια της τεχνολογίας, πάνω στην οποία βασίζεται η SDRAM. Αλλωστε όταν εμφανίστηκε η DDR, ονομάζονταν και SDRAM IΙ. Πρόκειται για μια απλή (στη θεωρία, τουλάχιστον) βελτίωση της σχεδίασης της μνήμης, αφού η DDR επιτρέπει το διπλασιασμό της ταχύτητας και του ρυθμού μεταφοράς δεδομένων δίχως απαραίτητα και αύξηση της ταχύτητας χρονισμού.

Αυτό επιτυγχάνεται μέσω μιας μεθόδου, που επιτρέπει στα δεδομένα να διαβάζονται δύο φορές στον ίδιο κύκλο ρολογιού, δηλαδή θεωρητικά σε έναν κύκλο ρολογιού η DDR SDRAM διεκπεραιώνει την ίδια εργασία, που κάνει η SDRAM σε δύο κύκλους ρολογιού. Στην πράξη η διαφορά στην ταχύτητα είναι αρκετά μικρότερη, αλλά σε κάθε περίπτωση αναγνωρίσιμη και αρκετά μεγάλη, ώστε να “σπρώξει” τους κατασκευαστές μνήμης και τους κατασκευαστές chipset υποστήριξης να χαρίσουν την απεριόριστη εμπιστοσύνη τους στη νέα τεχνολογία.

Για να γίνει κατανοητό για τι μεγέθη μιλάμε, να αναφέρουμε ένα παράδειγμα: ένας από τους κορυφαίους κατασκευαστές τσιπ μνήμης, η Naya Technology Corporation πούλησε τον περασμένο Δεκέμβριο περίπου 20 εκατομμύρια τσιπ DRAM. Από αυτά εκτιμάται, ότι 14 έως 16 εκατομμύρια ήταν τσιπάκια, που χρησιμοποιούν την τεχνολογία DDR.

Ένας ακόμη μεγαλύτερος κατασκευαστής τσιπ μνήμης, η Samsung ανακοίνωσε, ότι περιμένει μέσα στο 2002 να πουλά περίπου 25 εκατομμύρια τσιπάκια μνήμης DDR SDRAM κάθε μήνα, ενώ συγκριτικά οι πωλήσεις των τσιπ RDRAM (για την οποία θα δούμε περισσότερα στοιχεία στη συνέχεια) από την ίδια εταιρεία ήταν περί τα 10 εκατομμύρια κομμάτια τον περασμένο Δεκέμβριο.

Ακόμη, μία σειρά άλλων μεγάλων κατασκευαστών τσιπ μνήμης (ορισμένοι εκ των οποίων κατασκευάζουν και μνήμες για άλλα καταναλωτικά προϊόντα, κυρίως του κλάδου των consumer electronics) προβλέπουν, ότι μέχρι το τέλος του τρέχοντος έτους οι πωλήσεις των τσιπ DDR SDRAM θα αποτελούν το 40-50% των συνολικών τους πωλήσεων. Βεβαίως, η καθολική σχεδόν επικράτηση του DDR δεν είναι άσχετη με την απόφαση της κραταιάς Intel να υποστηρίξει και επίσημα αυτόν τον τύπο μνήμης για τη “ναυαρχίδα” της, τον Pentium 4 με την κυκλοφορία πριν από λίγους μήνες του chipset i845.

Η DDR SDRAM έχει θεωρητικά επιτύχει ασύλληπτες για την “απλή” SDRAM ταχύτητες, καθώς οι κατασκευαστές την προσφέρουν ως μνήμη χρονισμένη στα 333 ΜΗz με τα 400 προ των πυλών. Στην πράξη αυτή η “ταχύτητα” είναι πλασματική, αφού προκύπτει από το διπλασιασμό του κύκλου ανάγνωσης των δεδομένων που επιτυγχάνει η DDR. Παράλληλα, η DDR έχει βρει την υποστήριξη των κατασκευαστών chipset, που σπεύδουν να στηρίξουν την ταχύτερη μνήμη με τις νεώτερες δημιουργίες τους.

Η νέα γενιά της μνήμης DDR είναι έτοιμη, θα ονομάζεται DDR-II και (όπως θα δούμε και στο αντίστοιχο άρθρο για το μέλλον της μνήμης) οι προδιαγραφές της έχουν ήδη τεθεί από την JEDEC, τον οργανισμό που θέτει τα στάνταρτ στη βιομηχανία ημιαγωγών.

Η DDR SDRAM δεν αναφέρεται εμπορικά με τη συχνότητα χρονισμού, αλλά με το θεωρητικό bandwidth που επιτυγχάνει. Ετσι, υπάρχει PC1600 (ρυθμός μεταφοράς 1,6 gigabyte/sec) PC2100 (2,1 gig/s) PC2700 (2,7 gig/s). Αυτές οι μνήμες είναι γνωστές και ως PC200, PC266, PC333 αντίστοιχα. Στην πραγματικότητα οι δύο τύποι έχουν μικρή, ή καθόλου διαφορά στην πραγματική ταχύτητα χρονισμού. Η διαφορά στις επιδόσεις προκύπτει από το double rate.

RDRAM

To “κουτσό άλογο” πάνω στο οποίο πόνταρε η Intel, ή η μνήμη του μέλλοντος; Τα γεγονότα υπαινίσσονται το πρώτο, αλλά δε θα πρέπει να βιαστούμε να ξεγράψουμε την “επαναστατική” μνήμη, που λάνσαρε η εταιρεία Rambus (RDRAM=Rambus DRAM) πριν από λίγα χρόνια και που έσπευσε να υποστηρίξει (υπογράφοντας και μια σχετική συμφωνία σύνδεσης) η Intel.

Η RDRAM είναι μια ολότελα διαφορετική τεχνολογικά λύση σε σχέση με την SDRAM. Η κυριότερη διαφορά βρίσκεται στην υλοποίηση του interface μεταξύ μνήμης και συστήματος, με τη χρήση της τεχνολογίας RSL (Rambus Signaling Logic), που επιτρέπει την ταχύτερη μετάδοση δεδομένων μέσω αύξησης του χρονισμού.

Αυτό μάλιστα με τη χρήση ενός απλοποιημένου διαύλου (bus), που στην τυπική RDRAM είναι εύρους μόλις 16 bits, ενώ η νέα γενιά RDRAM θα χρησιμοποιεί δίαυλο 32 bit. Μέχρι σήμερα, δύο ήταν τα προβλήματα που έβαλαν φρένο στην ανάπτυξη και διάδοση της RDRAM. Το πρώτο και κυριότερο ήταν η τιμή της. Με χαμηλή διαθεσιμότητα τον πρώτο καιρό που λανσαρίστηκε, η τιμή της RDRAM ήταν εξαιρετικά υψηλή.

Βεβαίως, αυτό δεν είναι άσχετο με το ότι η Rambus (μόνη τότε κατασκευάστρια) ακολουθούσε μια “τίμια” (ή μάλλον “διάφανη”) πολιτική. Προσπαθούσε δηλαδή να ανοίξει την αγορά και να επιβάλλει το προϊόν της όχι με μια επιθετική εμπορική πολιτική – μείωση τιμών, μηδενισμό ποσοστών κέρδους κ.λπ. – αλλά με την “αξία του προϊόντος”. Αυτό είχε δυσμενή αποτελέσματα και στις πωλήσεις των Pentium 4, που δέχονταν μόνο τέτοια μνήμη (τουλάχιστον με τα “επίσημα” chipsets της Intel, καθώς σύντομα άλλοι κατασκευαστές προσέφεραν λύσεις για τη λειτουργία του Pentium με DDR).

Σήμερα, RDRAM προσφέρουν οι περισσότεροι μεγάλοι κατασκευαστές τσιπ μνήμης και η τιμή της έχει πέσει στα επίπεδα, σχεδόν των τιμών της DDR, αλλά… η αγορά έχει ήδη “κλείσει”.

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

Η RDRAM αποτελεί σήμερα για την αγορά μία αξιόπιστη λύση για συστήματα high end, κυρίως workstations και servers, αλλά το μέλλον της στην αγορά προσωπικών υπολογιστών είναι τουλάχιστον αβέβαιο, με δεδομένο ότι η Intel ενδεχομένως δε θα την υποστηρίξει σε μελλοντικές εκδόσεις των chipsets υποστήριξης των επεξεργαστών της. Πάντως, οι ταχύτητες χρονισμού που έχει πετύχει η RDRAM είναι ασύλληπτες για τα υπόλοιπα είδη μνήμης: οι εταιρείες που κατασκευάζουν μνήμες RDRAM, κυκλοφορούν την PC1066 (χρονισμένη στα 1066 MHz) και είναι έτοιμες να διαθέσουν στην αγορά (την έχουν ήδη παρουσιάσει) μνήμη RDRAM στα 1200ΜΗz.

Ωστόσο, το στάνταρτ της αγοράς είναι σήμερα η PC800, οι επιδόσεις της οποίας σε πρακτικό επίπεδο δεν είναι πολύ υψηλότερες από αυτές της PC333 DDR για παράδειγμα. Και αυτό οφείλεται κυρίως στο πρόβλημα του Latency (υστέρησης), που εμφανίζεται εξαιτίας του μικρού εύρους διαύλου.

Πρακτικά αυτό σημαίνει, ότι σε εργασίες που απαιτούν πολλές κλήσεις από και προς τη μνήμη και όχι συνεχή μεταφορά δεδομένων, ο μικρός δίαυλος δημιουργεί το φαινόμενο του bottleneck (κατά κάποιον τρόπο… κυκλοφοριακό πρόβλημα), που καθυστερεί τις επιδόσεις του συστήματος.

Memory modules

Στο χώρο των PCs, πολύ παλιότερα τα τσιπάκια της μνήμης “κολλούσαν” πάνω στο motherboard. Με αυτόν τον τρόπο υπήρχαν ωστόσο διάφορα προβλήματα, με σημαντικότερο το ότι η μνήμη δεν ήταν αναβαθμίσιμη. Ως εκ τούτου, αναγκαζόμασταν να πετάξουμε το motherboard και να αγοράσουμε νέο.

Το να έχουμε αρκετές θέσεις μνήμης για να καλύψουν κάθε μελλοντική ανάγκη μας πάνω στο motherboard, θα ήταν επίσης εξωπραγματικό λόγω στενότητας χώρου. Οπότε αναπτύχθηκαν τα modules μνήμης, όπως είναι τα SIMM, DIMM και RIMM. Τα SIMM (Single In-line Memory Module) είναι ο απλούστερος τρόπος διάταξης μνήμης, που χρησιμοποιούνταν σε μεγάλη έκταση τα προηγούμενα χρόνια.

Με αυτόν τον τρόπο, μια σειρά από τσιπάκια μνήμης (έως και 20) τοποθετούνται πάνω σε ένα PCB (Printed Circuit Board), μία πλακέτα που φέρει τυπωμένα κυκλώματα, δημιουργώντας ένα SIMM. Στη συνέχεια αυτό το SIMM τοποθετείται στην κατάλληλη υποδοχή, που έχουμε δημιουργήσει πάνω στο motherboard. Με αυτόν τον τρόπο μπορούμε να έχουμε μεγάλη ποσότητα μνήμης σε μικρό χώρο.

Η εξέλιξη των SIMM είναι τα DIMM (Double In-line Memory Modules). Λειτουργούν με την ίδια αρχή, όπως τα SIMM, αλλά με μία βασική διαφορά: τα κυκλώματα που είναι τυπωμένα πάνω στις δύο πλευρές του PCB ενός SIMM επικοινωνούν μεταξύ τους, ενώ αντίθετα στο DIMM οι δύο πλευρές είναι εντελώς ανεξάρτητες μεταξύ τους, επιτρέποντας πρακτικά το διπλασιασμό του διαύλου επικοινωνίας. Δηλαδή, η δίοδος μέσα από την οποία περνούν τα δεδομένα, είναι μεγαλύτερη (διπλάσια) σε ένα DIMM απ’ ό,τι σε ένα SIMM.

Όλα αυτά γίνονται πιο κατανοητά, αν δούμε τους ακροδέκτες (pins), με τους οποίους επικοινωνούν τα memory modules με το mainboard. Τα SIMM κυκλοφορούσαν σε 30pin και 72pin, ενώ τα στάνταρτ DIMM είναι 168pin, πάντα μιλώντας για τις μνήμες που τοποθετούνται σε desktop PCs, αφού για notebooks αλλά και για άλλες χρήσεις (κάποιοι printers κ.λπ.) υπάρχουν διαφορετικές υλοποιήσεις. Η Rambus (η εφευρέτης και κατασκευάστρια της μνήμης RDRAM) πατεντάρισε ένα ειδικό module, το Rimm. Δεν πρόκειται για ακρωνύμιο, αν και πολλοί το εκλαμβάνουν λανθασμένα ως Rambus In-line Memory Module.

Το Rimm μοιάζει πολύ με το DIMM και χρησιμοποιεί τις ίδιες αρχές λειτουργίας, όμως διαθέτει διαφορετικούς ακροδέκτες (πλήθος και διάταξη). Το πρόβλημα με τα Rimm (ουσιαστικά είναι πρόβλημα της μνήμης RDRAM) ήταν, ότι λόγω διαύλου η μνήμη RDRAM πρέπει να τοποθετείται σε ζεύγη Rimm. Δηλαδή δε θα μπορούσατε απλώς να πάρετε ένα Rimm των 256ΜΒ και να το τοποθετήσετε στο mainboard. Επρεπε να πάρετε δύο modules της ίδιας ποσότητας μνήμης (ας πούμε 128ΜΒ έκαστο, για να εξασφαλίσετε τα 256ΜΒ) και βεβαίως και συχνότητας και να τα τοποθετήσετε μαζί.

Μετά την έλευση νέων λύσεων, που προσφέρουν οι κατασκευάστριες RDRAM, αυτό το πρόβλημα σύντομα θα αποτελεί παρελθόν. Οι λύσεις αυτές χρησιμοποιούν ζεύγη καναλιών διαύλου στο ίδιο RIMM. Οπότε θα μπορείτε πλέον να απολαμβάνετε τις ταχύτητες της RDRAM, χωρίς να χάνετε σε ευελιξία και δυνατότητες αναβάθμισης.

Cache memory

Ένας υπολογιστής χρησιμοποιεί τη μνήμη RAM για να αποθηκεύει προσωρινά τα δεδομένα, ή τα προγράμματα που “τραβά” από το σκληρό δίσκο (ή οποιοδήποτε άλλο μέσο αποθήκευσης). Όμως μία σειρά από δεδομένα δουλεύονται πολύ συχνότερα από κάποια άλλα και κυρίως κάποιες συγκεκριμένες εντολές. Για να επιταχύνουν τη λειτουργία όλου του συστήματος, οι κατασκευαστές έχουν επινοήσει ένα μηχανισμό, που λέγεται caching.

Ένα πολύ παραστατικό παράδειγμα, που διαφέρει από το κλασικό του “γραφείου” είναι το εξής: είστε σε ένα σπίτι, όπου γίνεται πάρτι και εκεί κοντά βρίσκεται ένα κατάστημα, που πουλά ποτά (μια κάβα). Ας πούμε, ότι τα ποτά που καταναλώνονται στο πάρτι είναι τα δεδομένα και το ψυγείο όπου βρίσκονται αποθηκευμένα προσωρινά είναι η μνήμη cache. Για να ολοκληρώσουμε την αντιστοίχηση, ας ονομάσουμε το κατάστημα, όπου πωλούνται τα ποτά, κεντρική μνήμη.

Ένας καλεσμένος ζητά μια μπύρα. Ο οικοδεσπότης τρέχει στο ψυγείο να την φέρει. Αν δεν υπάρχει άλλη, θα αναγκαστεί να πάει στο κατάστημα που βρίσκεται ένα τετράγωνο παρακάτω. Φαντάζεστε πόσο μεγάλη είναι η καθυστέρηση, με την οποία θα πάρει το ποτό του ο διψασμένος καλεσμένος; Ε, αυτή ακριβώς είναι (αναλογικά) και η διαφορά ταχύτητας στον υπολογιστή μας, αν η CPU αναγκαστεί να “απευθυνθεί” στην κεντρική μνήμη αντί για την cache για να αναζητήσει κάποια δεδομένα.

Το caching υλοποιείται με τη χρήση πολύ γρήγορης μνήμης, η οποία είναι κατά κανόνα ενσωματωμένη στον επεξεργαστή. Υλοποιείται δε σε δύο διαστρωματώσεις, ή επίπεδα. Παλιότερα μόνο το πρώτο επίπεδο (Level 1 ή L1 cache ή primary cache) ήταν ενσωματωμένο στον επεξεργαστή, τώρα επί του ίδιου τσιπ βρίσκεται κατά κανόνα και η Level 2, ή L2 cache, ή secondary cache. Αυτή η αρχιτεκτονική επιτρέπει την αποθήκευση στην προσωρινή αυτή μνήμη ενός σετ εντολών, ή κάποιων δεδομένων που χρησιμοποιεί ο επεξεργαστής συχνά, ώστε να μη χρειάζεται να ανατρέξει κάπου για να το βρει, αλλά να το έχει “πρόχειρο” όποτε το χρειαστεί (συχνά αρκετές χιλιάδες φορές το δευτερόλεπτο).

Στις παλιότερες υλοποιήσεις επεξεργαστών, η L1 cache βρίσκονταν πάνω στο τσιπ (on die) και συνήθως ήταν 8, 16, ή 32Κ (kilobyte) μνήμης. Ακόμη παλιότερα, στην εποχή του 286 και του 386 της Intel για να είμαστε πιο συγκεκριμένοι, η cache δε βρίσκονταν επί του επεξεργαστή, αλλά δίπλα σε ένα ειδικό module, που εξασφάλιζε την άμεση επικοινωνία cache-CPU. Από τον 486, η μνήμη primary cache βρίσκεται επί του επεξεργαστή, ενώ τα τελευταία χρόνια οι κατασκευαστές έχουν κατορθώσει να “χωρέσουν” πάνω στο ίδιο τσιπ (on die) και τη secondary cache.

Αυτή κυμαίνεται σε μέγεθος από τα 64Κ έως και το 1 ΜΒ. Για την υλοποίηση της πολύ γρήγορης cache memory, οι κατασκευαστές συνήθως χρησιμοποιούν την πολύ γρήγορη SRAM (Static Random Access Memory), που όμως είναι και ανάλογα ακριβή. Κοστίζει περίπου 6 φορές περισσότερο από τη συμβατική RAM (DDR), που χρησιμοποιείται στους υπολογιστές, οπότε οι χρήσεις της είναι εξ ανάγκης περιορισμένες. “>

Σε ευρεία χρήση βρίσκονται σήμερα τρεις τύποι μνήμης, αν και οι κατασκευαστές έχουν αρχίσει ήδη να περιορίζουν την υποστήριξη σε έναν από αυτούς. Οι τρεις αυτοί τύποι είναι γνωστοί ως: SDRAM (Synchronous Dynamic Random Access Memory), DDR SDRAM (Double Data Rate SDRAM) και RDRAM (Rambus DRAM).

Η μνήμη που υποστηρίζουν κατά κόρον οι κατασκευαστές chipsets για motherboards είναι η DDR SDRAM. Αλλά ας δούμε ξεχωριστά τον κάθε τύπο, τι λειτουργία επιτελεί, ποιες οι διαφορές του με τους άλλους δύο και ποιο το μέλλον του, εάν… έχει τέτοιο.

SDRAM

Να ξεκινήσουμε με το παλιότερο και πιο διαδεδομένο την προηγούμενη τριετία είδος RAM, την SDRAM. H μνήμη αυτή προέκυψε ως εξέλιξη της προϋπάρχουσας DRAM, της EDO (Extended Data Out) DRAM. Γενικά, η DRAM λειτουργεί βάσει μιας συγκεκριμένης αρχής: μπορούσε να κρατήσει ένα φορτίο (δηλαδή μια πληροφορία, δεδομένα) μόνο για μία πολύ μικρή χρονική περίοδο. Οπότε, για να συγκρατήσει τα δεδομένα (data) θα έπρεπε να ανανεώνεται (refresh) περιοδικά.

Σε διαφορετική περίπτωση τα δεδομένα θα χάνονταν. Η βελτίωση της EDO σε σχέση με την προϋπάρχουσα fast page mode memory ήταν, ότι η EDO περιόριζε τον κύκλο μεταξύ μνήμης και CPU, επιτρέποντας στη δεύτερη να προσπελάσει τη μνήμη ταχύτερα και πρακτικά, δίνοντας επιδόσεις 10-20% υψηλότερες από τον προηγούμενο τύπο μνήμης. Η SDRAM “έχτισε” πάνω στην EDO DRAM και αύξησε τις δυνατότητες της EDO, χρησιμοποιώντας ένα “ρολόι” για να συγχρονίζει (synchronize, εξ ου και Synchronous DRAM) την είσοδο/έξοδο σήματος της μνήμης.

Το ρολόι αυτό είναι συντονισμένο με τον επεξεργαστή, οπότε ο χρονισμός και των δύο (μνήμης και επεξεργαστή) είναι “συγχρονισμένος”. Το πρακτικό όφελος ήταν αρχικά επιδόσεις τουλάχιστον 25% ανώτερες από αυτές που πετύχαινε η “συμβατική” EDO DRAM. H SDRAM συνεχίζει και σήμερα να εξελίσσεται. Γνωρίζαμε παλιότερα, ότι η μνήμη αυτή κυκλοφορούσε κυρίως χρονισμένη στα 66 MHz, ενώ στη συνέχεια κυκλοφόρησαν οι εκδόσεις PC100 και PC133, χρονισμένες αντίστοιχα στα 100 και 133 MHz.

info: Basics

Η JEDEC ανήκει ουσιαστικά στην ΕΙΑ (Electronic Industries Alliance), τον οργανισμό όπου μετέχουν οι 300 εταιρείες που κυριαρχούν στην παγκόσμια αγορά ημιαγωγών. Συνολικά 48 επιτροπές και υποεπιτροπές που βρίσκονται διασκορπισμένες σε ολόκληρο τον κόσμο (από την Αμερική έως την Ευρώπη και έως την Άπω Ανατολή) και στις οποίες μετέχουν αντιπρόσωποι των εταιρειών-μελών της JEDEC, θέτουν τα στάνταρτ για την τεχνολογία του αύριο. Πιο πρόσφατο “έργο” της JEDEC ήταν ο καθορισμός των στάνταρτ για τη νέα γενιά μνήμης DDR SDRAM, την DDR-II, ενώ ήδη οι υποεπιτροπές της δουλεύουν τις προδιαγραφές για την επόμενη γενιά μνήμης DDR, την DDR-III.

Tαχύτητα μνήμης RAM

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

Περί ταχύτητας ο λόγος

Είναι γνωστό, ότι η κεντρική μνήμη του υπολογιστή (RAM) δεν είναι αρκετά γρήγορη, ώστε να μπορεί να επικοινωνεί αποτελεσματικά με τον επεξεργαστή. Γι’ αυτόν το λόγο χρειαζόμαστε τις μνήμες τύπου cache, που παράλληλα με την τεχνολογική εξέλιξη των επεξεργαστών, γίνονται όλο και πιο αναγκαίες.

Η ταχύτητα ενός chip μνήμης είναι συνάρτηση του εύρους του διαύλου (bus width) και της υποστηριζόμενης ταχύτητάς του (bus speed). Ο όρος “εύρος” αναφέρεται στον αριθμό των bits που μπορούν να σταλούν στον επεξεργαστή ταυτόχρονα, στον ίδιο “χτύπο ρολογιού” όπως χαρακτηριστικά λέγεται, ενώ με τον όρο ταχύτητα αναφερόμαστε στο πόσα τέτοια “πακέτα bits” μπορούν να σταλούν στον επεξεργαστή κάθε δευτερόλεπτο. Πολύ συχνά θα συναντήσουμε και τον όρο “bus cycle”.

Ένας τέτοιος “κύκλος” ολοκληρώνεται κάθε φορά που μεταφέρονται δεδομένα από τη μνήμη στον επεξεργαστή. Για παράδειγμα, ένα bus των 32-bit, το οποίο έχει ονομαστική ταχύτητα 100-MHz, είναι θεωρητικά ικανό να στείλει 4 bytes (32-bit/8) δεδομένων στον επεξεργαστή εκατό εκατομμύρια φορές μέσα σε ένα δευτερόλεπτο.

Εφαρμόζοντας απλά μαθηματικά μπορούμε εύκολα να αποδείξουμε, ότι αλλάζοντας τον τύπο μνήμης σε ένα υπολογιστικό σύστημα (με την προϋπόθεση βέβαια ότι υποστηρίζεται από το motherboard και τον επεξεργαστή) μπορούμε να επιτύχουμε θεαματική αύξηση στις επιδόσεις του συστήματος. Δυστυχώς όμως, τις περισσότερες φορές αυτό μένει στη θεωρία.

Λόγω της πολυπλοκότητας ακόμη και του “απλούστερου” υπολογιστή που μπορούμε να υλοποιήσουμε, είναι εξαιρετικά δύσκολο να προβλέψουμε τους αστάθμητους παράγοντες, που μπορεί να επηρεάσουν το ρυθμό μεταφοράς δεδομένων από ένα chip σε ένα άλλο, ακόμη κι αν η απόσταση είναι τόσο “μικρή” (CPU-RAM). Ενας ακόμη παράγοντας που επηρεάζει το ρυθμό μεταφοράς δεδομένων και αφορά στη μνήμη, είναι το λεγόμενο latency.

Το τελευταίο εκφράζει τον αριθμό των clock cycles, που απαιτούνται για την ανάγνωση ενός bit πληροφορίας. Για παράδειγμα, μία μνήμη στα 100MHz είναι ικανή να στείλει στον επεξεργαστή ένα bit πληροφορίας σε 0,00000001 δευτερόλεπτα, αλλά μπορεί να χρειαστεί 0,00000005 δευτερόλεπτα για να ξεκινήσει η διαδικασία ανάγνωσης του πρώτου bit. Για να κερδίσουμε όσο περισσότερο χρόνο μπορούμε, οι επεξεργαστές χρησιμοποιούν μία τεχνική, η οποία ονομάζεται “burst mode”.

Με πολύ απλά λόγια, ορισμένοι επεξεργαστές μπορούν να προβλέπουν με σχετική επιτυχία, ποια δεδομένα θα χρειαστούν στη συνέχεια, έτσι ώστε η μνήμη να τα προετοιμάζει και να τα αποστέλλει άμεσα, όταν ζητηθούν. Γενικά, οι περιπτώσεις είναι δύο: είτε ο επεξεργαστής θα κάνει λάθος, οπότε η μνήμη θα “διαβάσει” δεδομένα χωρίς λόγο, είτε ο επεξεργαστής θα προβλέψει σωστά, οπότε θα κερδίσουμε αρκετό χρόνο από τη μη εφαρμογή του latency στο πακέτο δεδομένων που απαιτείται άμεσα. Σε καμία από τις δύο περιπτώσεις όμως δεν καθυστερεί η μεταφορά των δεδομένων από το ένα chip στο άλλο.

Στέλιος Θεοδωρίδης
Στέλιος Θεοδωρίδης
Ο ήρωας μου είναι ο γάτος μου ο Τσάρλι και ακροάζομαι μόνο Psychedelic Trance
RELATED ARTICLES

Πρόσφατα άρθρα

Tηλέφωνα έκτακτης ανάγκης

Δίωξη Ηλεκτρονικού Εγκλήματος: 11188
Ελληνική Αστυνομία: 100
Χαμόγελο του Παιδιού: 210 3306140
Πυροσβεστική Υπηρεσία: 199
ΕΚΑΒ 166