Μνήμες RAM
Μνήμη RAM
Οι μνήμες RAM χρησιμοποιούνται για την αποθήκευση πληροφοριών οι οποίες μεταβάλλονται συχνά. Οι λειτουργίες ανάγνωσης (read) και εγγραφής (write) των πληροφοριών από και προς την μνήμη RAM γίνονται με την ίδια ευκολία σε αντίθεση με τις μνήμες ROM, ενώ οι χρόνοι προσπέλασης είναι από 5 φορές έως 50 φορές μικρότεροι (50 nsec έως 5 nsec). Η μνήμη RAM είναι πρόσκαιρη (volatile) και όταν διακόψουμε την τάση τροφοδοσίας της, τα δεδομένα της χάνονται ενώ με την επάνοδο της τα περιεχόμενά της θα βρίσκονται σε τυχαίες καταστάσεις. Επειδή οι μνήμες RAM είναι ταχύτατες χρησιμοποιούνται σε μικροϋπολογιστές (microcomputers) ως κύρια μνήμη για την προσωρινή αποθήκευση προγραμμάτων και δεδομένων τα οποία αλλάζουν συχνά. Η επικοινωνία του κάθε Ο.Κ. μνήμης RAM με άλλα ψηφιακά κυκλώματα γίνεται με ένα αριθμό n γραμμών εισόδου και n γραμμών εξόδου δεδομένων, k γραμμών επιλογής διεύθυνσης και γραμμών ελέγχου.
Οι n γραμμές εισόδου χρησιμοποιούνται για την τοποθέτηση των δεδομένων της λέξης που θα εγγραφεί και οι n γραμμές εξόδου χρησιμοποιούνται για την ανάγνωση των δεδομένων της λέξης που έχει επιλεγεί. Για λόγους περιορισμού του πλήθους των γραμμών, έχει επικρατήσει στα Ο.Κ. των μνημών RAM οι ακροδέκτες εισόδου και εξόδου να είναι κοινοί. Ανάλογα με τη λειτουργία που επιλέγουμε κάθε φορά (ανάγνωση ή εγγραφή) οι ακροδέκτες θα συμπεριφέρονται σαν γραμμές εξόδου ή εισόδου αντίστοιχα. Η επιλογή της λειτουργίας γίνεται με την είσοδο ελέγχου R/W ανάγνωσης και εγγραφής. Όταν η είσοδος αυτή έχει τη λογική κατάσταση ″1″ , τότε έχουμε λειτουργία ανάγνωσης, ενώ, όταν είναι σε λογική κατάσταση ″0″ έχουμε λειτουργία εγγραφής. Η χωρητικότητα των Ο.Κ. RAM
αναφέρεται σαν ένα γινόμενο δύο αριθμών. Ο πρώτος είναι ο συνολικός αριθμός των λέξεων, ενώ ο δεύτερος είναι το μήκος της κάθε λέξης σε bit (πχ. 32Kx8).




Τρίτη κατάσταση (tri-state)
Υπάρχει και άλλη μία είσοδος ελέγχου του Ο.Κ. η οποία ονομάζεται είσοδος επιλογής του Ο.Κ. και συμβολίζεται σαν CS (Chip select). Ο συμβολισμός του συμπληρώματος δηλώνει ότι, όταν αυτή η είσοδος βρίσκεται σε λογική
κατάσταση ″0″, τότε το Ο.Κ. της μνήμης λειτουργεί κανονικά (έχει επιλεγεί το ολοκληρωμένο κύκλωμα). Όταν βρίσκεται σε λογική κατάσταση ″1″, τότε το Ο.Κ. της μνήμης είναι απενεργοποιημένο και οι είσοδοι-έξοδοι του συμπεριφέρονται σαν να είναι αποσυνδεδεμένες ηλεκτρικά από το εξωτερικό περιβάλλον. Η κατάσταση αυτή των εισόδων-εξόδων του για να διακρίνεται από τις λογικές καταστάσεις ″0″ και ″1″ ονομάζεται ″τρίτη κατάσταση″ (tri-state) ή κατάσταση υψηλής σύνθετης αντίστασης και συμβολίζεται στα φυλλάδια των κατασκευαστών ως ″Ζ″ ή ως ″Ηi-Ζ″. Η κατάσταση υψηλής σύνθετης αντίστασης για μία είσοδο ή έξοδο ισοδυναμεί ηλεκτρικά με την ύπαρξη πολύ μεγάλης αντίστασης μεταξύ της εισόδου ή εξόδου και της γείωσης του κυκλώματος. Οι είσοδοι επιλογής ολοκληρωμένου κυκλώματος δίνουν τη δυνατότητα της επέκτασης (δηλαδή της κατασκευής μνημών με μεγαλύτερες χωρητικότητες), όπως και της υλοποίησης των διαύλων, δηλαδή της σύνδεσης παράλληλα πολλών ψηφιακών εξόδων σε μία κοινή γραμμή.
Εσωτερική δομή της μνήμης RAM

Η εσωτερική δομή μίας μνήμης RAM παρουσιάζει πολλές ομοιότητες με την εσωτερική δομή της μνήμης ROM. Οι n ψηφιακές είσοδοι των διευθύνσεων οδηγούνται σε έναν αποκωδικοποιητή n σε 2n. Ο αποκωδικοποιητής αντιστοιχεί στη συγκεκριμένη διεύθυνση, που έχουμε τοποθετήσει στις εισόδους των διευθύνσεων, μία συγκεκριμένη λέξη. Όταν έχουμε προσπέλαση σε μια λέξη, όλες οι άλλες λέξεις της μνήμης θα είναι απενεργοποιημένες, δηλαδή τα δεδομένα τους δεν αλλάζουν, ενώ οι έξοδοι των βασικών κυττάρων που τις αποτελούν θα βρίσκονται σε λογική κατάσταση ″0″.
Στο σχήμα φαίνεται η εσωτερική δομή μίας μνήμης RAM με χωρητικότητα 4x3 bits, δηλαδή τεσσάρων λέξεων με 3 bits η κάθε λέξη. Παρατηρούμε ότι χρειάζονται δύο είσοδοι για τη διεύθυνση, οι οποίες οδηγούνται στον αποκωδικοποιητή 2x4. Οι έξοδοι του αποκωδικοποιητή οδηγούνται στα κύτταρα μνήμης (ΚΜ) της κάθε λέξης. Το κύτταρο μνήμης κατασκευάζεται με ένα flip-flop στο οποίο έχουν προστεθεί κάποια κυκλώματα για την ανάγνωση και την εγγραφή της πληροφορίας.
Η κάθε λέξη αποτελείται από τρία βασικά κύτταρα (bits) μνήμης με μία είσοδο και μία έξοδο δεδομένων, μία είσοδο για την επιλογή της λειτουργίας ανάγνωσης ή εγγραφής και μία είσοδο ενεργοποίησης (ενεργοποιείται σε λογική κατάσταση ″0″) κοινή σε όλα τα κύτταρα της κάθε λέξης και συνδεδεμένη σε μία έξοδο του αποκωδικοποιητή. Όταν δεν είναι ενεργοποιημένο ένα κύτταρο (είσοδος ενεργοποίησης σε λογική κατάσταση ″1″) η έξοδός του θα είναι ″0″ ανεξάρτητα από το πραγματικό του περιεχόμενο.
Ο αποκωδικοποιητής έχει μία είσοδο ενεργοποίησης. Όταν αυτή η είσοδος είναι ″1″ τότε όλες οι έξοδοι του αποκωδικοποιητή είναι ″1″ και δεν επιλέγεται κανένα κύτταρο, επομένως οι έξοδοί τους είναι σε λογική κατάσταση ″0″. Οι έξοδοι δεδομένων της μνήμης θα είναι σε λογική κατάσταση ″0″, ανεξάρτητα από τη διεύθυνση που τοποθετούμε. Όταν ο αποκωδικοποητής είναι ενεργοποιημένος (είσοδος ενεργοποίησης σε λογική κατάσταση ″0″), τότε ανάλογα με τη διεύθυνση που έχουμε τοποθετήσει, μόνο μία από τις εξόδους του αποκωδικοποιητή θα είναι σε λογική κατάσταση ″0″. Όλα τα κύτταρα μνήμης που η είσοδος ενεργοποίησής τους είναι συνδεδεμένα σ’ αυτή την έξοδο θα είναι ενεργοποιημένα και μπορεί να γίνει η ανάγνωση ή εγγραφή τους. Τα υπόλοιπα κύτταρα είναι απενεργοποιημένα, επομένως οι έξοδοί τους είναι ″0″ και λόγω των πυλών OR δεν επηρεάζουν τις εξόδους της μνήμης κατά τη λειτουργία ανάγνωσης, ενώ δεν μεταβάλλουν τα περιεχόμενά τους κατά τη λειτουργία εγγραφής.
Άσκηση
Να αναφέρεται τουλάχιστον 2 βασικές διαφορές μεταξύ των μνημών RAM και ROM.
Άσκηση
Άσκηση
Άσκηση
Άσκηση
Άσκηση
Ποιες είναι οι βασικές διαφορές μεταξύ των στατικών μνημών SRAM και των δυναμικών μνημών DRAM;
Χρονισμός μνήμης RAM
Τα διαγράμματα χρονισμού μας δείχνουν την χρονική εξέλιξη των διαφόρων σημάτων εισόδου και εξόδου κατά την προσπέλαση μιας στατικής μνήμης RAM. Κατά τη μελέτη των διαγραμμάτων χρονισμού μιας μνήμης RAM από τα φυλλάδια της κατασκευάστριας εταιρίας (data sheets) πρέπει να μπορούμε να εξάγουμε κάποια χαρακτηριστικά της μνήμης και να τα αξιολογήσουμε σε σχέση με τις απαιτήσεις του ψηφιακού συστήματος στο οποίο θα χρησιμοποιηθεί. Για παράδειγμα, αν χρησιμοποιηθεί μια μνήμη RAM ως κύρια μνήμη ενός υπολογιστή που χρησιμοποιεί μια ταχύτατη κεντρική μονάδα επεξεργασίας (CPU), θα πρέπει η μνήμη να είναι το ίδιο γρήγορη για να μπορεί να
ανταποκριθεί στις απαιτήσεις χρονισμού της συγκεκριμένης CPU.

Στο σχήμα υπάρχουν τέσσερις κυματομορφές (χρονική εξέλιξη σημάτων) μία για τις διευθύνσεις, μία για τα δεδομένα, μία για την επιλογή του Ο.Κ. CS και μία για την επιλογή της λειτουργίας ανάγνωσης/εγγραφής R/W . Τα σήματα διεύθυνσης εμφανίζονται σαν δύο γραμμές που αντιστοιχούν στις δύο λογικές καταστάσεις ″0″ και ″1″. Συνηθίζεται αυτή η αναπαράσταση, αφού τα data sheets δεν αναφέρονται συνήθως σε κάποια συγκεκριμένη διεύθυνση, άρα οι είσοδοι διεύθυνσης μπορούν να πάρουν τη λογική κατάσταση ″1″ ή ″0″. Έχει επιλεγεί αυτός ο τρόπος αναπαράστασης της χρονικής εξέλιξης, ώστε να αναφέρεται το διάγραμμα χρονισμού σε όλες τις γραμμές εισόδου διεύθυνσης ταυτόχρονα. Παρόμοια είναι και η αναπαράσταση των σημάτων του διαύλου των δεδομένων (data bus). Στις αναπαραστάσεις των λογικών καταστάσεων του διαύλου δεδομένων εμφανίζεται και η τρίτη κατάσταση (Ηi-Ζ) η οποία παριστάνεται σαν μία ευθεία γραμμή σε μια ενδιάμεση κατάσταση (ούτε λογική κατάσταση ″0″ ούτε ″1″).
Ο κύκλος ανάγνωσης ξεκινά από τη χρονική στιγμή t0, κατά την οποία η CPU δίνει τη διεύθυνση της λέξης και υπάρχουν έγκυρα δεδομένα στις εισόδους διεύθυνσης της μνήμης. Αυτή τη χρονική στιγμή η είσοδος R/W είναι σε κατάσταση ″1″. Μετά από ένα χρονικό διάστημα, απαραίτητο για να σταθεροποιηθούν τα σήματα διεύθυνσης, η είσοδος ελέγχουCSαλλάζει από ″1″ σε ″0″ ώστε να επιλεγεί το Ο.Κ. της μνήμης. Μετά την επιλογή του Ο.Κ. και μετά από ένα χρονικό διάστημα, τη χρονική στιγμή t1, ο δίαυλος των δεδομένων παύει να είναι σε κατάσταση HiZ και εμφανίζει τα δεδομένα της λέξης η οποία αντιστοιχεί στην διεύθυνση που δόθηκε. Ο χρόνος προσπέλασης θα είναι tACC=t1-t0. Ο χρόνος προσπέλασης είναι ο χρόνος τον οποίο χρειάζεται η μνήμη για να εμφανίσει τα δεδομένα στις εξόδους της. Ο χρόνος αυτός μετριέται από την τελευταία αλλαγή η οποία συμβαίνει στις γραμμές διεύθυνσης.

Ο κύκλος εγγραφής ξεκινά από τη χρονική στιγμή t0. Αυτή τη χρονική στιγμή η είσοδος R/W είναι σε κατάσταση ″1″ και η CPU δίνει τη διεύθυνση της λέξης που θα εγγραφεί. Η λειτουργία της εγγραφής ενεργοποιείται όταν τα σήματα R/W και CS πάρουν τη λογική κατάσταση ″0″. Για το χρονικό διάστημα που στο διάγραμμα αναφέρεται σαν χρόνος κύκλου μνήμης όλα τα σήματα (διευθύνσεων και ελέγχου) παραμένουν αμετάβλητα και τη χρονική στιγμή t1 η CPU εφαρμόζει στο δίαυλο των δεδομένων τα δεδομένα που θα εγγραφούν. Στη συνέχεια τη χρονική στιγμή t2 οι είσοδοι ελέγχου (R/W και CS) επιστρέφουν στη λογική κατάσταση ″1″ και τα δεδομένα αποθηκεύονται στη συγκεκριμένη διεύθυνση. Η CPU συνεχίζει να διατηρεί τα δεδομένα και τη διεύθυνση σταθερά για ένα χρονικό διάστημα μετά τη χρονική στιγμή t2.
Εφαρμογές μνημών RAM
Οι μνήμες RAM χρησιμοποιούνται κυρίως σε υπολογιστικά συστήματα σαν κύρια μνήμη για την προσωρινή αποθήκευση προγραμμάτων και δεδομένων. Σε πολλές εφαρμογές οι μνήμες RAM χρησιμοποιούνται σε συνδυασμό με μπαταρίες, ώστε να μην χάνονται τα δεδομένα τους με την διακοπή της τροφοδοσίας. Ένα πλήθος συσκευών χρησιμοποιεί αυτή την τεχνική, όπως υπολογιστές για την αποθήκευση των δεδομένων λειτουργίας τους, τηλέφωνα για την αποθήκευση συχνά χρησιμοποιούμενων αριθμών, ραδιόφωνα αυτοκινήτου για την αποθήκευση πληροφοριών συντονισμού σε συγκεκριμένους σταθμούς. Σήμερα αντικαθίστανται από EEPROM μνήμες ή συνδυάζονται με αυτές.
(c) Αμπατζόγλου Γιάννης, MSc Ηλεκτρονικός Μηχανικός, καθηγητής ΠΕ84
Αδειοδοτημένο υπό τους όρους Creative Commons Αναφορά Δημιουργού 4.0