42
Μικροεπεξεργαστές Σημειώσεις Μαθήματος 2013-14 Υπεύθυνος: Δρ Άρης Παπακώστας,

Μικροεπεξεργαστές - TEILARe-class.teilar.gr/modules/document/file.php/HL159/MICRO... · 2019-10-04 · ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Μικροεπεξεργαστές - TEILARe-class.teilar.gr/modules/document/file.php/HL159/MICRO... · 2019-10-04 · ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος

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

Σημειώσεις Μαθήματος 2013-14

Υπεύθυνος: Δρ Άρης Παπακώστας,

Page 2: Μικροεπεξεργαστές - TEILARe-class.teilar.gr/modules/document/file.php/HL159/MICRO... · 2019-10-04 · ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος

MEMORY MODULE

• Ένα από τα βασικά πλεονεκτήματα των ψηφιακών συστημάτων σε

σχέση με τα αναλογικά είναι η ικανότητα που έχουν τα πρώτα να

αποθηκεύουν μεγάλες ποσότητες ψηφιακής πληροφορίας για όσο

χρόνο είναι επιθυμητός. Η βασική μονάδα ψηφιακής ημιαγωγού

μνήμης είναι ο πολυδονητής δύο σταθερών καταστάσεων ( flip-

flop). Το flip-flop μπορεί να αποθηκεύσει πληροφορίες 0 και 1.

Ένας συνδυασμός από flip-flop σχηματίζει τον καταχωρητή ο

οποίος μπορεί να αποθηκεύσει μία ψηφιακή λέξη, το μήκος της

οποίας εξαρτάται από τον αριθμό των flip-flops που αποτελούν

τον καταχωρητή.

Page 3: Μικροεπεξεργαστές - TEILARe-class.teilar.gr/modules/document/file.php/HL159/MICRO... · 2019-10-04 · ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος

MEMORY MODULE

• Η ανάπτυξη της τεχνολογίας των ολοκληρωμένων κυκλωμάτων LSI και

VLSI έδωσε την δυνατότητα κατασκευής ολοκληρωμένων που περιέχουν

μεγάλο αριθμό καταχωρητών και επομένως μεγάλη χωρητικότητα

αποθήκευσης ψηφιακής πληροφορίας. Οι μνήμες ημιαγωγών είναι

σήμερα οι ταχύτερες και φθηνότερες μορφές μνήμης.

• Η μνήμη μαζικής αποθήκευσης αναφέρεται στην εξωτερική μορφή

μνήμης του υπολογιστή , που μπορεί να αποθηκεύσει εκατομμύρια

ψηφίων χωρίς την ανάγκη ηλεκτρικής τροφοδοσίας. Τέτοιες μορφές

μνήμης είναι δίσκοι και οι μαγνητικές ταινίες.

• Η μνήμη ενός υπολογιστή διακρίνεται σε μνήμη ROM ( Read Only

Memory ) και RAM ( Random Access Memory ).

Page 4: Μικροεπεξεργαστές - TEILARe-class.teilar.gr/modules/document/file.php/HL159/MICRO... · 2019-10-04 · ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος

ΧΑΡΤΟΓΡΑΦΗΣΗ ΜΝΗΜΗΣ

• Ο αριθμός των θέσεων μνήμης στις οποίες μπορεί να

απευθυνθεί ένας μικροεπεξεργαστής δίνεται από τη

σχέση : Θέσεις Μνήμης = 2ν , όπου ν είναι ο

αριθμός των γραμμών του διαδρόμου διευθύνσεων που

συνδέουν τον μικροεπεξεργαστή με την μνήμη.

• Έτσι ένας μικροεπεξεργαστής που έχει 16 γραμμές

διευθύνσεων μπορεί να απευθυνθεί σε 65536 ή 64Κ

θέσεις μνήμης. Στο δεκαεξαδικό σύστημα αυτές οι

διευθύνσεις είναι οι $0000 μέχρι $FFFF.

Page 5: Μικροεπεξεργαστές - TEILARe-class.teilar.gr/modules/document/file.php/HL159/MICRO... · 2019-10-04 · ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος

ROM (μνήμη)

• Η ROM (Read-Only Memory, μτφ. μνήμη μόνο για ανάγνωση)

είναι τύπος ηλεκτρονικής μνήμης, μόνο ανάγνωσης (γράφεται

μόνο μία φορά από το εργοστάσιο που την κατασκευάζει) και

είναι μη πτητική (δεν χάνει τα δεδομένα της με τη διακοπή της

τροφοδοσίας ρεύματος), χρησιμοποιείται κυρίως σε

ηλεκτρονικούς υπολογιστές αλλά και σε ηλεκτρονικές συσκευές.

Υπάρχουν ειδικές περιπτώσεις που μπορούμε να αλλάξουμε τα

περιεχόμενα μιας μνήμης ROM αλλά αυτή η αλλαγή είτε γίνεται

πολύ αργά είτε απαιτούνται ειδικά μηχανήματα και τεχνικές.

Page 6: Μικροεπεξεργαστές - TEILARe-class.teilar.gr/modules/document/file.php/HL159/MICRO... · 2019-10-04 · ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος

ROM (μνήμη)

• Ιστορία

• Οι περισσότεροι οικιακοί υπολογιστές τη δεκαετία του '80

χρησιμοποιούσαν τη μνήμη ROM, για τη μόνιμη αποθήκευση του

λειτουργικού συστήματος (που τότε ήταν σαφώς απλούστερο και

μικρότερο σε χωρητικότητα ως πρόγραμμα ), και για μία απλή έκδοση

της BASIC. Για παράδειγμα ο Commodore 64 είχε 20 Kb ROM ενώ o

ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος του λειτουργικού

συστήματος μεγάλωσε σημαντικά και έτσι προτιμήθηκε από τους

κατασκευαστές υπολογιστών, λόγω υψηλού κόστους, το λειτουργικό να

φορτώνεται από ένα μαγνητικό μέσο, με τη βοήθεια μιας στοιχειώδους

αρχικοποίησης από ένα λογισμικό που εγγράφεται στο BIOS.

Παλαιότερα το BIOS αποθηκευόταν σε μια μνήμη EPROM ενώ τώρα

αποθηκεύεται σε μνήμη τύπου Flash ROM

Page 7: Μικροεπεξεργαστές - TEILARe-class.teilar.gr/modules/document/file.php/HL159/MICRO... · 2019-10-04 · ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος

ROM (μνήμη)

• Είδη άλλων μη πτητικών μνημών ROM

• Υπάρχουν παρόμοιες μνήμες με τη ROM όσον αφορά κυρίως στη

μη πτητικότητα τους όπως οι :

• PROM (Programmable Read Only Memory)

• EPROM (Erasable Programmable Read Only Memory)

• EEPROM (Electrically Erasable Programmable Read-Only

Memory)

• Flash ROM.

Page 8: Μικροεπεξεργαστές - TEILARe-class.teilar.gr/modules/document/file.php/HL159/MICRO... · 2019-10-04 · ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος

Μνήμη τυχαίας προσπέλασης RAM

• Η Μνήμη τυχαίας προσπέλασης (RAM, Random access memory) είναι όρος που

χρησιμοποιούμε για ηλεκτρονικές διατάξεις προσωρινής αποθήκευσης ψηφιακών

δεδομένων (μνήμης υπολογιστή), οι οποίες επιτρέπουν πρόσβαση στα

αποθηκευμένα δεδομένα στον ίδιο χρόνο οπουδήποτε και αν βρίσκονται αυτά,

δηλαδή με «τυχαία πρόσβαση». Σε αντιδιαστολή βρίσκονται συσκευές

αποθήκευσης δεδομένων, όπως οι μαγνητικές ταινίες, οι μαγνητικοί δίσκοι

(«σκληροί» ή «εύκαμπτοι»), στα οποία η πρόσβαση στα δεδομένα μπορεί να γίνει

μόνο με κάποιον προκαθορισμένο τρόπο, συνήθως σειριακά, λόγω του τρόπου

κατασκευής τους. Υπάρχουν δύο βασικοί τύποι RAM : η δυναμική RAM (DRAM)

και η στατική RAM (SRAM). Η DRAM είναι η πιο κοινή μορφή αλλά πρέπει να

«ανανεώνεται» (refresh) χιλιάδες φορές ανά δευτερόλεπτο, ενώ η SRAM δεν

χρειάζεται κάτι τέτοιο. Η SRAM, ως διάταξη, είναι πιο δαπανηρή στην κατασκευή

της - και επομένως στην αγορά της - σε σχέση με την DRAM.

Page 9: Μικροεπεξεργαστές - TEILARe-class.teilar.gr/modules/document/file.php/HL159/MICRO... · 2019-10-04 · ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος

Μνήμη τυχαίας προσπέλασης RAM

• Στην πληροφορική με τον όρο RAM αναφερόμαστε στην κύρια ή κεντρική μνήμη

ενός υπολογιστικού συστήματος αρχιτεκτονικής φον Νόιμαν, δηλαδή τη μνήμη

στην οποία αποθηκεύονται προγράμματα και δεδομένα, προκειμένου είτε να

εκτελεστούν είτε να υποστούν επεξεργασία αντίστοιχα. Τμήμα, επίσης, της

κεντρικής μνήμης είναι και η μνήμη μόνο ανάγνωσης (ROM), η οποία επίσης

επιτρέπει την τυχαία προσπέλαση. Η βασική διαφορά των δύο τύπων μνήμης είναι

ότι η μεν RAM διατηρεί τα περιεχόμενά της μόνο όσο της επιτρέπει ο χρήστης ή

το λογισμικό που εκτελείται και μόνο εφόσον το υπολογιστικό σύστημα

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

είτε αντικαθίστανται από άλλα είτε χάνονται ολοσχερώς. Αν οι όροι που έχουν

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

«μνήμη τυχαίας προσπέλασης εγγραφής / ανάγνωσης», ενώ η μνήμη ROM ως

«μνήμη τυχαίας προσπέλασης μόνο ανάγνωσης».

• Η μνήμη ROM έχει προεγγεγραμμένο περιεχόμενο, πάντα από τον κατασκευαστή

του συστήματος, και χρησιμεύει, συνήθως, για την εκκίνηση λειτουργίας του

συστήματος (BIOS), μόλις αυτό αρχίσει να τροφοδοτείται με ρεύμα, οπότε και η

μνήμη RAM είναι κενή από περιεχόμενο.

Page 10: Μικροεπεξεργαστές - TEILARe-class.teilar.gr/modules/document/file.php/HL159/MICRO... · 2019-10-04 · ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος

Μνήμη τυχαίας προσπέλασης RAM• Χωρητικότητα

• Η μνήμη RAM χρησιμεύει στην αποθήκευση δυαδικών ψηφίων οργανωμένων σε

ομάδες (συνήθως οκτάδες) οι οποίες λέγονται κελιά· συνήθως σε κάθε κελί

αποθηκεύεται ένα byte. Επομένως, όπως είναι φυσικό, η χωρητικότητα της μνήμης

RAM μετράται σε Kbytes, Mbytes και GBytes, όπως άλλωστε συμβαίνει για όλες

τις μονάδες μνήμης. Η χωρητικότητα της RAM είναι αποφασιστικός παράγοντας

για την ταχύτητα εκτέλεσης υπολογισμών από ένα υπολογιστικό σύστημα. Η

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

χρησιμοποιηθεί από ένα υπολογιστικό σύστημα. Τα υπολογιστικά συστήματα

ξεκίνησαν με πολύ μικρές χωρητικότητες RAM (από 12 bytes (!) έως 3 Kbytes).

Από γενιά σε γενιά και καθώς η τεχνολογία και η ηλεκτρονική έκαναν γιγαντιαία

άλματα, η μνήμη RAM αυξανόταν διαρκώς σε μέγεθος. Σήμερα (2014) η μνήμη

RAM σε μεγάλα υπολογιστικά συστήματα ή υπερυπολογιστές διαθέτει

χωρητικότητες αρκετών TeraBytes, ενώ στα μικρότερα συστήματα ανέρχεται σε

κάποια Gbytes (από 1 έως 48 Gbytes, ανάλογα με το σύστημα).

• Καθοριστικό, επίσης, είναι το μέγεθος της χωρητικότητας της μνήμης RAM για τη

σταθερότητα και την ομαλή λειτουργία ενός υπολογιστικού συστήματος.

Page 11: Μικροεπεξεργαστές - TEILARe-class.teilar.gr/modules/document/file.php/HL159/MICRO... · 2019-10-04 · ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος

Μνήμη τυχαίας προσπέλασης RAM

• Χρόνος προσπέλασης

• Ανάμεσα στη στιγμή εκκίνησης μιας αίτησης για ένα byte ή λέξη από τη μνήμη,

μέχρι αυτό να προσκομιστεί πραγματικά στον επεξεργαστή και να αποθηκευθεί σε

κάποιον καταχωρητή του, μεσολαβεί κάποιο χρονικό διάστημα το οποίο

ονομάζεται υστέρηση ή χρόνος προσπέλασης. Ο χρόνος αυτός μπορεί να δωθεί

ως το διάστημα από τη στιγμή που ζητείται μια διεύθυνση στη μνήμη μέχρι τη

στιγμή που τα αντίστοιχα δεδομένα θα είναι διαθέσιμα για χρήση. Αποτελεί

θεμελιώδες μέτρο ταχύτητας της μνήμης: όσο μικρότερη η υστέρηση τόσο

μεγαλύτερη η ταχύτητα της μνήμης.

• Η υστέρηση δεν θα πρέπει να συγχέεται με το εύρος μνήμης, το μέγεθος του

διαύλου (bus) της RAM σε bit, με το οποίο μετράται η διαμεταγωγή της μνήμης.

Είναι πιθανό μια προηγμένη τεχνολογία μνήμης να έχει αυξημένο εύρος μνήμης

αλλά, παράλληλα, και αυξημένο χρόνο προσπέλασης. Για παράδειγμα η μνήμη

DDR, η εμφάνιση της οποίας στην αγορά προηγείται χρονικά της μνήμης DDR2,

έχει μικρότερη υστέρηση αν και πρόκειται για παλαιότερη τεχνολογία.

Page 12: Μικροεπεξεργαστές - TEILARe-class.teilar.gr/modules/document/file.php/HL159/MICRO... · 2019-10-04 · ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος

Μνήμη τυχαίας προσπέλασης RAM

• Κόστος

• Το κόστος των αρθρωμάτων μνήμης τυχαίας προσπέλασης είναι αρκετά

ευμετάβλητο και εξαρτάται από την τρέχουσα αγορά μητρικών πλακετών.

Μνήμες οι οποίες πριν μερικούς μήνες είχαν τιμές πολύ μικρές σήμερα

μπορεί να στοιχίζουν πανάκριβα λόγω σταματήματος της παραγωγής

τους και μνήμες οι οποίες στοίχιζαν ακριβά μπορεί σήμερα να στοιχίζουν

πολύ φθηνά επειδή μπορεί να χρησιμοποιούνται ευρέως.

• Μεγάλη επιρροή στη διαφοροποίηση της τιμής έχει και το μέγεθος ενός

μεμονωμένου αρθρώματος. Πολλές φορές αρθρώματα διπλάσιας μνήμης

στοιχίζουν λιγότερο από 2 ίδια με τη μισή μνήμη και σε άλλες

περιπτώσεις στοιχίζουν περισσότερο.[1]

Page 13: Μικροεπεξεργαστές - TEILARe-class.teilar.gr/modules/document/file.php/HL159/MICRO... · 2019-10-04 · ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος

Μνήμη τυχαίας προσπέλασης RAM

• Τύποι μνήμης RAM

• Ο συνηθέστερος τύπος RAM είναι η δυναμική μνήμη τυχαίας προσπέλασης

(Dynamic Random Access Memory, DRAM), η οποία αποθηκεύει bit σε έναν

ξεχωριστό πυκνωτή. Όμως, επειδή το φορτίο των πυκνωτών εξασθενεί με το

πέρασμα του χρόνου, η πληροφορία που είναι αποθηκευμένη εξασθενεί κι αυτή

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

πυκνωτής, εξ ου και ο όρος «δυναμική».

• ECC

• Πολλά αρθρώματα μνήμης κυκλοφορούν και (ή μόνο) σε έκδοση ECC (Error

Correction Code, κώδικας διόρθωσης σφαλμάτων). Τα αρθρώματα αυτά

χρησιμοποιούνται κυρίως σε εξυπηρετητές καθώς είναι συνήθως ακριβότερα αλλά

έχουν δυνατότητα διόρθωσης των σφαλμάτων που μπορεί να παρουσιαστούν λόγω

του τρόπου λειτουργίας της μνήμης.

Page 14: Μικροεπεξεργαστές - TEILARe-class.teilar.gr/modules/document/file.php/HL159/MICRO... · 2019-10-04 · ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος

Μνήμη τυχαίας προσπέλασης RAM

Synchronous Dynamic Random Access Memory.

Είναι συγχρονισμένη με τον δίαυλο του

επεξεργαστή. Η συχνότητα λειτουργίας είναι

καθοριστικός παράγοντας για την ταχύτητά της. Ο

χρόνος προσπέλασης («υστέρηση CAS») πρέπει να

είναι όσο το δυνατόν χαμηλότερος για την ταχύτερη

λειτουργία του υπολογιστή. Δέχεται μία εντολή ανά

κύκλο ρολογιού γράφοντας 64 bit δεδομένων. Οι

ενδεικτικές ταχύτητές της σε MHz είναι SDRAM

PC-66, SDRAM PC-100 έως SDRAM PC-133.

SDRAM

Page 15: Μικροεπεξεργαστές - TEILARe-class.teilar.gr/modules/document/file.php/HL159/MICRO... · 2019-10-04 · ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος

Μνήμη τυχαίας προσπέλασης RAM

• Double Data Rate Synchronous Dynamic Random Access

Memory. Αποτελεί επέκταση της SDRAM με μεγαλύτερες

ταχύτητες λειτουργίας και ταχύτερη εγγραφή / ανάγνωση

δεδομένων. Σε έναν κύκλο ρολογιού εκτελείται μία εντολή που

διαβάζει και γράφει τα διπλάσια δεδομένα (128 bits), καθώς

μεταφέρονται δεδομένα και κατά την ακμή ανόδου και την ακμή

καθόδου του σήματος του ρολογιού του συστήματος. Έτσι,

σχεδόν διπλασιάζεται ο ρυθμός μεταφοράς χωρίς να χρειάζεται

αύξηση της συχνότητας του διαύλου. Οι ενδεικτικές ταχύτητές της

είναι είναι DDR-200, DDR-233, DDR-333 έως DDR-400.

DDR SDRAM

Page 16: Μικροεπεξεργαστές - TEILARe-class.teilar.gr/modules/document/file.php/HL159/MICRO... · 2019-10-04 · ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος

Μνήμη τυχαίας προσπέλασης RAM

• Δεν έχει ιδιαίτερες διαφορές από την DDR SDRAM εκτός από την

αύξηση της συχνότητας. Σε κάθε κύκλο λειτουργίας εγγράφονται 256 bit

δεδομένων. Έχει τάση λειτουργίας 1,8V. Οι ενδεικτικές ταχύτητές της

έως επί του παρόντος είναι DDR2-400, DDR2-533, DDR2-667, DDR2-

800 και DDR2-1066.

DDR2 SDRAM

DDR3 SDRAM

Λειτουργεί σε ταχύτητες από 800MHz έως 2800MHz και σε κάθε

κύκλο λειτουργίας εγγράφονται 512 bit δεδομένων. Έχει τάση

λειτουργίας 1,5V και ενδείκνυται ιδιαίτερα στους φορητούς

υπολογιστές αφού καταναλώνει αρκετά λιγότερη ενέργεια. Η

συγκεκριμένη μνήμη αξιοποιείται περισσότερο στις κάρτες

γραφικών όπου οι απαιτήσεις είναι αυξημένες

Page 17: Μικροεπεξεργαστές - TEILARe-class.teilar.gr/modules/document/file.php/HL159/MICRO... · 2019-10-04 · ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος

BLOCK DIAGRAMM RAM

Page 19: Μικροεπεξεργαστές - TEILARe-class.teilar.gr/modules/document/file.php/HL159/MICRO... · 2019-10-04 · ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος

BLOCK DIAGRAMM RAM

Page 20: Μικροεπεξεργαστές - TEILARe-class.teilar.gr/modules/document/file.php/HL159/MICRO... · 2019-10-04 · ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος

CLASSICAL DRAM ORGANIZATION (SQUARE)

row

decoder

rowaddress

Column Selector & I/O Circuits

ColumnAddress

RAM CellArray

word (row) select

bit (data) lines

Row and Column Address together

Square keeps the wires short:

Power and speed advantages

Less RC, faster precharge and

discharge is faster access time!

Each intersection represents

a 1 T DRAM Cell

Page 21: Μικροεπεξεργαστές - TEILARe-class.teilar.gr/modules/document/file.php/HL159/MICRO... · 2019-10-04 · ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος
Page 23: Μικροεπεξεργαστές - TEILARe-class.teilar.gr/modules/document/file.php/HL159/MICRO... · 2019-10-04 · ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος

Τι είναι η εικονική μνήμη• Αν στον υπολογιστή σας δεν επαρκεί η μνήμη τυχαίας προσπέλασης (RAM) για την εκτέλεση

ενός προγράμματος ή μιας εφαρμογής, τα Windows χρησιμοποιούν εικονική μνήμη για να

καλύψουν το κενό αυτό..

• Η εικονική μνήμη συνδυάζει τη RAM του υπολογιστή σας με προσωρινό χώρο στον σκληρό

δίσκο σας. Όταν η RAM είναι χαμηλή, η εικονική μνήμη μετακινεί δεδομένα από τη RAM σε

έναν χώρο που ονομάζεται αρχείο σελιδοποίησης. Η μετακίνηση δεδομένων από και προς το

αρχείο σελιδοποίησης ελευθερώνει τη RAM ώστε ο υπολογιστής σας να ολοκληρώσει την

εργασία του.

• Όση περισσότερη RAM διαθέτει ο υπολογιστής σας, τόσο ταχύτερα θα εκτελούνται γενικά τα

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

να αυξήσετε την εικονική μνήμη για να αντισταθμίσετε την έλλειψη. Ωστόσο, ο υπολογιστής

σας μπορεί να διαβάζει δεδομένα από τη RAM πολύ πιο γρήγορα σε σχέση με έναν σκληρό

δίσκο, επομένως η προσθήκη RAM είναι καλύτερη λύση.

• Εικονική μνήμη και μηνύματα σφαλμάτων

• Αν λαμβάνετε μηνύματα σφαλμάτων που σας προειδοποιούν για χαμηλή εικονική μνήμη, θα

πρέπει είτε να προσθέσετε περισσότερη RAM, είτε να αυξήσετε το μέγεθος του αρχείου

σελιδοποίησης, ώστε να μπορείτε να εκτελείτε τα προγράμματα στον υπολογιστή σας. Τα

Windows συνήθως διαχειρίζονται το μέγεθος αυτόματα, αλλά μπορείτε να αλλάξετε το

μέγεθος της εικονικής μνήμης με μη αυτόματο τρόπο ,αν το προεπιλεγμένο μέγεθος δεν

καλύπτει τις ανάγκες σας.

Page 24: Μικροεπεξεργαστές - TEILARe-class.teilar.gr/modules/document/file.php/HL159/MICRO... · 2019-10-04 · ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος

RAM (Random Access Memory)

• Η μνήμη RAM (Random Access Memory), δηλ. μνήμη τυχαίας προσπέλασης, είναι η πιο γνωστή

μορφή (τύπος) μνήμης υπολογιστή. Η μνήμη RAM θεωρείται ότι είναι τυχαίας προσπέλασης

(random access) επειδή μπορούμε να έχουμε πρόσβαση απευθείας σ' ένα οποιοδήποτε

κύτταρο ή κελί της μνήμης αυτής (memory cell) αν γνωρίζουμε τη γραμμή (row) και τη στήλη

(column) όπου βρίσκεται αυτό το κελί (cell).

• Το αντίθετο της μνήμης RAM είναι η μνήμη SAM (Serial Access Memory), δηλ. μνήμη σειριακής

προσπέλασης. Η SAM αποθηκεύει τα δεδομένα ως μια σειρά από κύτταρα μνήμης (memory

cells) στα οποία μπορεί να υπάρξει μόνο σειριακή πρόσβαση, όπως δηλαδή συμβαίνει σε μια

κασέτα. Αυτό σημαίνει ότι αν αναζητάμε κάποια δεδομένα, τότε θα πρέπει να ελεγχθούν όλα

τα κύτταρα μνήμης από την αρχή μέχρι να βρεθούν τα επιθυμητά δεδομένα.

• Η SAM εργάζεται πολύ καλά με τους καταχωρητές μνήμης (memory buffers), όπου τα

δεδομένα είναι συνήθως αποθηκευμένα με τη σειρά με την οποία πρόκειται να

χρησιμοποιηθούν, ενώ τα δεδομένα που υπάρχουν στη μνήμη RAM μπορούν να

προσπελαστούν με οποιαδήποτε σειρά (τυχαία).

Page 25: Μικροεπεξεργαστές - TEILARe-class.teilar.gr/modules/document/file.php/HL159/MICRO... · 2019-10-04 · ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος

RAM (Random Access Memory)-Βασικά στοιχεία.

• Όπως ένας μικροεπεξεργαστής (microprocessor), ένα τσιπ μνήμης (memory chip) είναι κι

αυτό ένα ολοκληρωμένο κύκλωμα (IC, integrated circuit), που αποτελείται από εκατομμύρια

τρανζίστορς (transistors) και πυκνωτές (capacitors). Στην πιο κοινή μορφή της μνήμης του

υπολογιστή, που είναι η DRAM (Dynamic Random Access Memory), ένα τρανζίστορ και ένας

πυκνωτής υπάρχουν ως ζευγάρι για να μπορέσουν να δημιουργήσουν ένα κύτταρο μνήμης

(memory cell), το οποίο παριστάνει ένα μόνο bit (δυαδικό ψηφίο) δεδομένων.

• Ο πυκνωτής περιέχει το bit της πληροφορίας, δηλ. ένα 0 ή ένα 1, ενώ το τρανζίστορ ενεργεί ως

ένας διακόπτης (switch) που επιτρέπει στο κύκλωμα ελέγχου του τσιπ μνήμης να διαβάσει τον

πυκνωτή ή να αλλάξει την κατάστασή του. Ο πυκνωτής είναι σαν ένας μικρός κουβάς (δοχείο)

που μπορεί να αποθηκεύσει ηλεκτρόνια (electrons). Για να αποθηκεύσει το 1 στο κύτταρο

μνήμης, ο κουβάς γεμίζει με ηλεκτρόνια, ενώ για να αποθηκεύσει το 0, αδειάζει. Το πρόβλημα

με τον κουβά του πυκνωτή είναι ότι παρουσιάζει μια διαρροή και σε ελάχιστα χιλιοστά του

δευτερολέπτου μπορεί να αδειάσει ένας γεμάτος κουβάς.

• Συνεπώς, για να μπορέσει να δουλέψει σωστά η δυναμική μνήμη, θα πρέπει είτε η CPU ή ο

ελεγκτής μνήμης (memory controller) να αναλάβει δράση και να ξαναφορτίσει όλους τους

πυκνωτές που περιέχουν ένα 1 πριν αυτοί αποφορτιστούν. Για να γίνει αυτό, ο ελεγκτής μνήμης

διαβάζει τη μνήμη και μετά την ξαναγράφει αμέσως. Αυτή η διαδικασία της ανανέωσης

συμβαίνει αυτόματα χιλιάδες φορές το δευτερόλεπτο.

Page 26: Μικροεπεξεργαστές - TEILARe-class.teilar.gr/modules/document/file.php/HL159/MICRO... · 2019-10-04 · ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος

RAM (Random Access Memory)-Βασικά

στοιχεία.

• Ο πυκνωτής, που είναι ένα κύτταρο μνήμης δυναμικής RAM, είναι όπως ένας κουβάς που

παρουσιάζει διαρροή και πρέπει συνεπώς να ανανεώνεται (refreshed) περιοδικά ή αλλιώς θα

εκφορτιστεί σε 0. Αυτή η διαδικασία της ανανέωσης είναι απ' όπου έλαβε το όνομά της η

δυναμική μνήμη (dynamic memory), η οποία θα πρέπει να ανανεώνεται δυναμικά συνέχεια

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

είναι ότι απαιτεί χρόνο και επιβραδύνει τη μνήμη.

• Αυτά τα κύτταρα μνήμης χαράζονται σ' ένα κομμάτι από πυρίτιο και σε μια διάταξη από

στήλες (bitlines) και γραμμές (wordlines). Η τομή ενός bitline και ενός wordline αποτελεί τη

διεύθυνση (address) του κυττάρου μνήμης. Η μνήμη αποτελείται από δυαδικά ψηφία (bits) που

είναι διατεταγμένα σ' ένα πλέγμα δύο διαστάσεων. Η DRAM εργάζεται στέλνοντας ένα φορτίο

μέσω της κατάλληλης στήλης για να ενεργοποιήσει το τρανζίστορ σε κάθε bit της στήλης.

Όταν κάνει εγγραφή, οι γραμμές των σειρών περιέχουν την κατάσταση που θα πρέπει να έχει ο

πυκνωτής. Στην ανάγνωση, ο sense-amplifier καθορίζει το επίπεδο της φόρτισης στον

πυκνωτή. Αν είναι πάνω από 50%, το διαβάζει ως ένα 1, αλλιώς το διαβάζει ως ένα 0.

Page 27: Μικροεπεξεργαστές - TEILARe-class.teilar.gr/modules/document/file.php/HL159/MICRO... · 2019-10-04 · ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος

RAM (Random Access Memory)-Βασικά

στοιχεία.

• Ο μετρητής (counter) καταγράφει τη σειρά ανανέωσης λαμβάνοντας υπόψη σε ποιες γραμμές

υπήρξε πρόσβαση και με ποια σειρά. Ο χρόνος που απαιτείται για να γίνει αυτό είναι τόσο

μικρός που εκφράζεται σε νανοδευτερόλεπτα (nanoseconds), δηλ. σε δισεκατομμυριοστά του

δευτερολέπτου. Ένα τσιπ μνήμης με ρυθμό (rating) 70ns σημαίνει ότι χρειάζεται 70

nanoseconds για να διαβάσει πλήρως και να ξαναφορτίσει το κάθε κελί μνήμης.

• Τα κύτταρα μνήμης θα ήταν άχρηστα αν δεν υπήρχε κάποιος τρόπος να λάβουμε πληροφορίες

από και προς αυτά. Έτσι υπάρχει μια πλήρης δομή υποστήριξης από άλλα εξειδικευμένα

κυκλώματα, τα οποία μπορούν να κάνουν τις εξής λειτουργίες :

• Αναγνώριση της κάθε γραμμής (row) και της κάθε στήλης (column) (row address select και

column address select).

• Παρακολούθηση της σειράς ανανέωσης (μετρητής).

• Ανάγνωση και επαναφορά του σήματος από ένα κελί μνήμης (sense amplifier).

• Ενημέρωση ενός κελιού μνήμης για το αν θα πρέπει να λάβει ένα φορτίο ή όχι (write enable).

Page 28: Μικροεπεξεργαστές - TEILARe-class.teilar.gr/modules/document/file.php/HL159/MICRO... · 2019-10-04 · ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος

RAM (Random Access Memory)-Βασικά

στοιχεία.

• Άλλες λειτουργίες του ελεγκτή μνήμης (memory controller) περιλαμβάνουν μια σειρά από

εργασίες όπως αναγνώριση του τύπου, της ταχύτητας και της ποσότητας της μνήμης καθώς και

τον έλεγχο λαθών. Η στατική RAM χρησιμοποιεί μια τελείως διαφορετική τεχνολογία, όπου

ένα είδος κυκλώματος flip-flop περιέχει το κάθε bit της μνήμης. Ένα flip-flop για ένα

κύτταρο μνήμης χρειάζεται 4 ή 6 τρανζίστορς μαζί με κάποια καλωδίωση, αλλά δεν απαιτείται

ποτέ να γίνει ανανέωση.

• Αυτό κάνει τη στατική RAM να είναι σημαντικά ταχύτερη από τη δυναμική RAM. Όμως,

επειδή περιέχει περισσότερα εξαρτήματα, ένα κύτταρο στατικής μνήμης καταλαμβάνει πολύ

περισσότερο χώρο σ' ένα τσιπ απ' ό,τι ένα κύτταρο δυναμικής μνήμης. Συνεπώς, έχουμε

λιγότερη μνήμη ανά τσιπ και αυτό κάνει τη στατική RAM να είναι πολύ περισσότερο ακριβή.

Έτσι, η στατική RAM είναι γρήγορη και ακριβή και η δυναμική RAM είναι λιγότερο ακριβή

και πιο αργή. Η στατική RAM χρησιμοποιείται για να κατασκευαστεί η λανθάνουσα μνήμη

(cache) της CPU, που πρέπει να είναι γρήγορη, ενώ η δυναμική RAM χρησιμοποιείται στη

μεγαλύτερη μνήμη του συστήματος, που είναι η RAM.

Page 29: Μικροεπεξεργαστές - TEILARe-class.teilar.gr/modules/document/file.php/HL159/MICRO... · 2019-10-04 · ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος

Τα Αρθρώματα Μνήμης (Memory Modules)

• Τα τσιπ μνήμης των προσωπικών υπολογιστών χρησιμοποιούσαν αρχικά ένα είδος pin με ονομασία DIP (dual

inline package), το οποίο μπορούσε να κολληθεί σε ειδικές υποδοχές (τρύπες) στη μητρική πλακέτα του

υπολογιστή ή να τοποθετηθεί σε μια ειδική υποδοχή (socket) η οποία ήταν κολλημένη πάνω στη μητρική

πλακέτα. Αυτή η μέθοδος δούλεψε πολύ καλά όταν ακόμα οι υπολογιστές χρειάζονταν μερικά μόνο MBytes

μνήμης RAM, αλλά καθώς η ανάγκη για μνήμη αύξανε συνέχεια, αυξανόταν και ο αριθμός των τσιπς και

συνεπώς και ο απαραίτητος χώρος στη μητρική πλακέτα (motherboard).

• Η λύση ήταν να τοποθετηθούν τα τσιπ μνήμης, μαζί μ' όλα τα εξαρτήματα υποστήριξης, σε μια ξεχωριστή

πλακέτα τυπωμένου κυκλώματος (PCB, printed circuit board), η οποία θα μπορούσε μετά να τοποθετηθεί σ'

έναν ειδικό κοννέκτορα (υποδοχή, memory bank) πάνω στη μητρική πλακέτα. Τα περισσότερα απ' αυτά τα

τσιπς χρησιμοποιούν μια μικρή διάταξη pin τύπου J-lead (SOJ), αλλά αρκετοί κατασκευαστές χρησιμοποιούν

και τη διάταξη (TSOP).

• Η ουσιαστική διαφορά ανάμεσα στα νεότερα αυτά είδη pin και την αρχική διάταξη DIP είναι ότι τα τσιπς SOJ

και TSOP είναι επιφανειακής στήριξης (surface-mounted) πάνω στην PCB. Μ' άλλα λόγια, τα pins είναι

κολλημένα απευθείας στην επιφάνεια της πλακέτας και όχι τοποθετημένα σε τρύπες ή υποδοχές (sockets). Τα

τσιπ μνήμης είναι συνήθως διαθέσιμα μόνο ως τμήματα μιας κάρτας που είναι γνωστή ως άρθρωμα (module).

Αναφέρονται συνήθως με τους συνδυασμούς 8x32 ή 4x16, όπου αυτοί οι αριθμοί παριστάνουν τον αριθμό των

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

(Megabits, Mb), δηλ. ένα εκατομμύριο bits.

• Υπολογίζουμε το γινόμενο και το διαιρούμε με το 8 για να βρούμε τον αριθμό των Megabytes του

συγκεκριμένου αρθρώματος (module). Για παράδειγμα, το 4x32 σημαίνει ότι το module έχει 4 τσιπς των 32-

megabit. Πολλαπλασιάζουμε το 4 με το 32 και έχουμε 128 Megabits. Εφόσον γνωρίζουμε ότι ένα byte έχει 8

bits, διαιρούμε το αποτέλεσμα 128 με το 8 και έχουμε 16 Megabytes. Το είδος της πλακέτας (board) και του

connector που χρησιμοποιόντουσαν για την RAM στους desktop υπολογιστές έχει εξελιχθεί τα τελευταία

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

μνήμης (memory boards) που δούλευαν μόνο με τα συστήματά του.

Page 30: Μικροεπεξεργαστές - TEILARe-class.teilar.gr/modules/document/file.php/HL159/MICRO... · 2019-10-04 · ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος

Τα Αρθρώματα Μνήμης (Memory Modules)

• Μετά ήρθε η πλακέτα μνήμης SIMM (single in-line memory module), η οποία χρησιμοποιούσε έναν κοννέκτορα

(connector) των 30-pin και είχε διαστάσεις περίπου 3,5 Χ 0,75 ίντσες ή 9 Χ 2 εκατοστά. Στους περισσότερους

υπολογιστές, έπρεπε να εγκατασταθούν τα SIMMs σε ζευγάρια ίδιας χωρητικότητας και ταχύτητας. Αυτό

συνέβαινε επειδή το πλάτος του διαδρόμου (bus) ήταν μεγαλύτερο από ένα μόνο κομμάτι SIMM. Για

παράδειγμα, έπρεπε να εγκαταστήσουμε δύο SIMMs των 8-Megabytes για να έχουμε 16 Megabytes συνολική

RAM. Το κάθε SIMM μπορούσε να στείλει 8 bits δεδομένων κάθε φορά, ενώ το bus του συστήματος

μπορούσε να χειρισθεί 16 bits κάθε φορά.

• Αργότερα, οι πλακέτες SIMM, που ήταν λίγο μεγαλύτερες, με διαστάσεις 4,25 Χ 1 ίντσες ή 11 Χ 2,5

εκατοστά, χρησιμοποιούσαν έναν connector των 72-pin για αυξημένο εύρος ζώνης (bandwidth) και επέτρεπαν

έως και 256 MB μνήμης RAM. Καθώς οι επιδόσεις των επεξεργαστών σε ταχύτητα και εύρος ζώνης αύξαναν

συνέχεια, η βιομηχανία υιοθέτησε ένα νέο πρότυπο (standard), το DIMM (dual in-line memory module), μ' έναν

connector των 168-pin ή 184-pin και μέγεθος 5,4 Χ 1 ίντσες ή 14 Χ 2,5 εκατοστά.

• Τα DIMMs έχουν χωρητικότητα από 8 MB έως 1 GB ανά άρθρωμα μνήμης (module) και μπορούν να

εγκατασταθούν μόνα τους αντί για ζευγάρια. Τα περισσότερα αρθρώματα μνήμης των υπολογιστών

λειτουργούν στα 2,5 Volts. Ένα άλλο πρότυπο, το RIMM (rambus in-line memory module), είναι συγκρίσιμο στο

μέγεθος και τη διάταξη των pins με το DIMM, αλλά χρησιμοποιεί ένα ειδικό bus μνήμης ώστε να αυξήσει

σημαντικά την ταχύτητα.

• Πολλοί τύποι φορητών υπολογιστών (notebook computers) χρησιμοποιούν δικά τους αρθρώματα μνήμης

(memory modules), αλλά πολλοί κατασκευαστές χρησιμοποιούν μια RAM που βασίζεται στη διάταξη

SODIMM (small outline dual in-line memory module), οι κάρτες της οποίας είναι μικρές, με μέγεθος περίπου 2 Χ 1

ίντσες ή 5 Χ 2,5 εκατοστά και διαθέτουν 144 ή 200 pins. Η χωρητικότητά τους κυμαίνεται από 16 MB έως 1

GB ανά άρθρωμα μνήμης (module) και για να κερδίσουν χώρο, μερικοί desktop υπολογιστές χρησιμοποιούν

SODIMMs αντί για τα παραδοσιακά DIMMs.

Page 31: Μικροεπεξεργαστές - TEILARe-class.teilar.gr/modules/document/file.php/HL159/MICRO... · 2019-10-04 · ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος

Ο Έλεγχος Λαθών (Error Checking)

• Οι περισσότερες μνήμες που διατίθενται σήμερα είναι πολύ αξιόπιστες και τα περισσότερα

συστήματα υπολογιστών κάνουν έλεγχο μέσω του ελεγκτή μνήμης (memory controller) για

εντοπισμό λαθών κατά την εκκίνηση (start-up) και αρκούνται σ' αυτό. Τα τσιπ μνήμης που

διαθέτουν ενσωματωμένο έλεγχο λάθους χρησιμοποιούν μια μέθοδο που είναι γνωστή ως

μέθοδος ισοτιμίας (parity) για να κάνουν έλεγχο λαθών. Τα τσιπς ισοτιμίας (parity chips)

διαθέτουν ένα επιπλέον bit για κάθε 8 bits δεδομένων. Ο τρόπος που δουλεύει η ισοτιμία είναι

απλός. Θα δούμε αρχικά την άρτια ισοτιμία (even parity).

• Όταν τα 8 bits ενός byte λάβουν δεδομένα, το τσιπ μετράει τον συνολικό αριθμό των 1 και αν

αυτός ο αριθμός είναι περιττός (odd), το bit ισοτιμίας (parity bit) γίνεται ίσο με 1, ενώ αν

αυτός ο αριθμός είναι άρτιος (even), το bit ισοτιμίας (parity bit) γίνεται ίσο με 0. Όταν αυτά

τα δεδομένα διαβασθούν, υπολογίζεται ξανά ο συνολικός αριθμός των bits και συγκρίνεται με

το bit ισοτιμίας. Αν το σύνολο των bits είναι περιττός αριθμός και το parity bit είναι ίσο με 1,

τότε τα δεδομένα θεωρούνται ότι είναι σωστά (έγκυρα) και στέλνονται στην CPU για

περαιτέρω επεξεργασία.

• Αλλά αν ο συνολικός αριθμός των bits είναι περιττός και το parity bit είναι ίσο με 0, το τσιπ

γνωρίζει ότι υπάρχει λάθος (error) σε κάποιο από τα 8 bits και απορρίπτει τα δεδομένα. Η

περιττή ισοτιμία (odd parity) εργάζεται με παρόμοιο τρόπο, με τη διαφορά ότι το parity bit

γίνεται ίσο με 1 όταν ο συνολικός αριθμός των 1 που υπάρχουν byte είναι άρτιος (even). Το

πρόβλημα με την ισοτιμία είναι ότι βρίσκει τα λάθη αλλά δεν κάνει τίποτα για να τα διορθώσει.

Αν ένα byte δεδομένων δεν ταιριάξει με το bit ισοτιμίας του, τότε τα δεδομένα απορρίπτονται

και το σύστημα κάνει άλλη μια προσπάθεια για να ξαναστείλει.

Page 32: Μικροεπεξεργαστές - TEILARe-class.teilar.gr/modules/document/file.php/HL159/MICRO... · 2019-10-04 · ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος

Ο Έλεγχος Λαθών (Error Checking)

• Όμως, οι υπολογιστές που βρίσκονται σε καίριες θέσεις χρειάζονται ένα υψηλότερο επίπεδο

ανοχής σε λάθη. Οι high-end servers διαθέτουν ένα είδος ελέγχου λαθών (error-checking) που

είναι γνωστό ως κώδικας διόρθωσης λαθών (ECC, error-correction code), που όπως η ισοτιμία

χρησιμοποιεί επιπλέον bits για να μπορεί να παρακολουθεί (ελέγχει) τα δεδομένα που

υπάρχουν σε κάθε byte. Η διαφορά είναι ότι ο ECC χρησιμοποιεί αρκετά bits για τον έλεγχο

λαθών (error checking), όπου το πόσα εξαρτάται από το εύρος ζώνης του καναλιού (bus), αντί

για ένα. Η μνήμη του ECC χρησιμοποιεί έναν ειδικό αλγόριθμο όχι μόνο για να μπορέσει να

εντοπίσει μεμονωμένα λάθη bit, αλλά και για να τα διορθώσει.

• Η μνήμη του ECC μπορεί επίσης να εντοπίσει περιπτώσεις όπου υπάρχουν λάθη σε

περισσότερα από ένα bits δεδομένων σ' ένα byte. Τέτοιες περιπτώσεις είναι πολύ σπάνιες και

δεν μπορούν να διορθωθούν ούτε με τον ECC. Η πλειοψηφία των σημερινών υπολογιστών

χρησιμοποιούν nonparity τσιπς μνήμης, τα οποία δεν παρέχουν κάποιο είδος ενσωματωμένου

ελέγχου λαθών (built-in error checking), αλλά αντίθετα βασίζονται στον ελεγκτή μνήμης

(memory controller) για τον εντοπισμό λαθών.

Page 33: Μικροεπεξεργαστές - TEILARe-class.teilar.gr/modules/document/file.php/HL159/MICRO... · 2019-10-04 · ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος

Κοινοί Τύποι Μνήμης RAM

• · SRAM (static random access memory). Χρησιμοποιεί πολλαπλά τρανζίστορς, τυπικά 4 έως 6, για κάθε κελί

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

γνωστή και ως λανθάνουσα μνήμη.

• · DRAM (dynamic random access memory). Περιέχει κελιά μνήμης με ζευγάρια από τρανζίστορς και

πυκνωτές τα οποία χρειάζονται συνεχείς ανανεώσεις.

• · FPM DRAM (fast page mode dynamic random access memory). Ήταν η αρχική μορφή της DRAM. Περιμένει

για ολόκληρη τη διαδικασία εντοπισμού ενός bit δεδομένων με στήλη (column) και σειρά (row) και μετά

διαβάζει αυτό το bit πριν πάει στο επόμενο bit. Η μέγιστη ταχύτητα μεταφοράς (transfer rate) στη μνήμη L2

cache είναι περίπου 176 MBps.

• · EDO DRAM (extended data-out dynamic random access memory). Δεν περιμένει για ολόκληρη τη διαδικασία

επεξεργασίας του πρώτου bit πριν συνεχίσει με το επόμενο. Μόλις εντοπισθεί η διεύθυνση του πρώτου bit, η

EDO DRAM αρχίζει να ψάχνει για το επόμενο bit. Είναι περίπου 5% ταχύτερη από την FPM. Η μέγιστη

ταχύτητα μεταφοράς (transfer rate) στη μνήμη L2 cache είναι περίπου 264 MBps.

• · SDRAM (synchronous dynamic random access memory). Η SDRAM είναι περίπου 5% ταχύτερη από την

EDO RAM και είναι η πιο κοινή μορφή μνήμης στους σημερινούς desktop υπολογιστές. Η μέγιστη ταχύτητα

μεταφοράς (transfer rate) στη μνήμη L2 cache είναι περίπου 528 MBps.

• · DDR SDRAM (double data rate synchronous dynamic RAM). Είναι σαν την SDRAM με τη διαφορά ότι

έχει μεγαλύτερο εύρος ζώνης (bandwidth), που σημαίνει μεγαλύτερη ταχύτητα. Η μέγιστη ταχύτητα

μεταφοράς (transfer rate) στη μνήμη L2 cache είναι περίπου 1.064 MBps (για DDR SDRAM στα 133

MHZ).

Page 34: Μικροεπεξεργαστές - TEILARe-class.teilar.gr/modules/document/file.php/HL159/MICRO... · 2019-10-04 · ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος

Κοινοί Τύποι Μνήμης RAM• RDRAM (rambus dynamic random access memory). Αποτελεί ένα παράρτημα της προηγούμενης αρχιτεκτονικής της DRAM.

Σχεδιασμένη από τον Rambus, η RDRAM χρησιμοποιεί ένα άρθρωμα RIMM (Rambus in-line memory module), το

οποίο είναι παρόμοιο σε μέγεθος και διάταξη pin μ' ένα κλασικό DIMM. Αυτό που κάνει την RDRAM να ξεχωρίζει

είναι ότι χρησιμοποιεί ένα ειδικό κανάλι δεδομένων (data bus) υψηλής ταχύτητας που αποκαλείται το κανάλι (channel)

Rambus. Τα τσιπς της μνήμης RDRAM εργάζονται σε παράλληλη διάταξη για να επιτύχουν ρυθμό δεδομένων (data

rate) ίσο με 800 MHz ή και 1.600 MBps. Εφόσον λειτουργούν σε τόσο μεγάλες ταχύτητες, παράγεται πολύ περισσότερη

θερμότητα (heat) από άλλα είδη τσιπς. Για να απορροφηθεί αυτή η επιπλέον θερμότητα, τα τσιπς Rambus είναι

εξοπλισμένα μ' ένα ειδικό εξάρτημα που μοιάζει με μακρύ, λεπτό δισκάκι. Όπως υπάρχουν μικρότερες παραλλαγές των

DIMMs, υπάρχουν επίσης και τα SO-RIMMs, που είναι σχεδιασμένα για φορητούς υπολογιστές (notebook computers).

• · Credit Card Memory. Είναι ένας ειδικός τύπος μνήμης DRAM που συνδέεται σε μια ειδική θύρα (slot) για χρήση σε

φορητούς υπολογιστές.

• · PCMCIA Memory Card. Είναι ένας άλλος τύπος μνήμης DRAM για φορητούς υπολογιστές, αλλά οι κάρτες αυτού

του τύπου μπορούν να δουλέψουν και με άλλους φορητούς υπολογιστές των οποίων το bus του συστήματος ταιριάζει με

τη διάταξη (configuration) της κάρτας μνήμης.

• · CMOS RAM. Είναι ένας όρος για τη μικρή ποσότητα μνήμης που χρησιμοποιείται από τον υπολογιστή μας και

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

χρησιμοποιεί μια μικρή μπαταρία ώστε να έχει την απαραίτητη ισχύ για να μπορεί να κρατήσει τα περιεχόμενα της

μνήμης.

• · VRAM (VideoRAM). Είναι γνωστή και ως multiport dynamic random access memory (MPDRAM), είναι ένας τύπος

RAM που χρησιμοποιείται ειδικά για video adapters ή επιταχυντές (accelerators) 3-D. Ο όρος "multiport" προέρχεται

από το γεγονός ότι η VRAM κανονικά έχει δύο ανεξάρτητες θύρες πρόσβασης (access ports) αντί για μια, κάτι που

επιτρέπει στην CPU και στον επεξεργαστή γραφικών (graphics processor) να έχουν πρόσβαση στην RAM ταυτόχρονα.

Η VRAM βρίσκεται στην κάρτα γραφικών (graphics card) και έχει πολλά χαρακτηριστικά. Η ποσότητα της VRAM

είναι ένας καθοριστικός παράγοντας για την ανάλυση (resolution) και το βάθος χρώματος (color depth) της εμφάνισης.

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

δεδομένων 3-D και οι χάρτες υφής (texture maps). Επειδή οι αληθινές multiport VRAM είναι ακριβές, σήμερα πολλές

κάρτες γραφικών χρησιμοποιούν την SGRAM (synchronous graphics RAM). Ενώ η απόδοση είναι στην ουσία η ίδια, η

SGRAM είναι φθηνότερη.

Page 35: Μικροεπεξεργαστές - TEILARe-class.teilar.gr/modules/document/file.php/HL159/MICRO... · 2019-10-04 · ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος

Απευθείας Προσπέλαση Μνήμης

(Direct Memory Access-DMA)

• Για μεταφορά από Περιφερειακό σε Μνήμη χωρίς DMA:

• Η ΚΜΕ ειδοποιείται από το Περιφερειακό με διακοπή=>Χρόνος Αντίδρασης

• Για κάθε byte πραγματοποιεί μια μεταφορά από το περιφερειακό σε κάποιο εσωτερικό καταχωρητή

• Ακολουθεί μια μεταφορά από τον εσωτερικό καταχωρητή στη μνήμη

• Για τη μεταφορά κάθε byte απαιτούνται 2 κύκλοι εντολής

Page 36: Μικροεπεξεργαστές - TEILARe-class.teilar.gr/modules/document/file.php/HL159/MICRO... · 2019-10-04 · ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος

Απευθείας Προσπέλαση Μνήμης

(Direct Memory Access-DMA)

• Για μεταφορά από Μνήμη σε Περιφερειακό χωρίςDMA:

• Η ΚΜΕ ειδοποιείται από το Περιφερειακό με διακοπή=>Χρόνος Αντίδρασης

• Για κάθε byte πραγματοποιεί μια μεταφορά από τη μνήμη σε κάποιο εσωτερικό καταχωρητή

• Ακολουθεί μια εγγραφή από τον εσωτερικό καταχωρητή στον κατάλληλο καταχωρητή του περιφερειακού

• Για τη μεταφορά κάθε byte απαιτούνται 2 κύκλοι εντολής

Page 37: Μικροεπεξεργαστές - TEILARe-class.teilar.gr/modules/document/file.php/HL159/MICRO... · 2019-10-04 · ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος

Απευθείας Προσπέλαση Μνήμης

(Direct Memory Access-DMA)

• Η μεταφορά γίνεται χωρίς την μεσολάβηση της ΚΜΕ

• Την διευθυνσιοδότηση της μνήμης καθώς και την οδήγηση

των control σημάτων (RD, WR κλπ) κάνει ο DMA

Controller

• Η ΚΜΕ απομονώνει τον δίαυλο διευθύνσεων και τα control

σήματά της (Υψηλή Εμπέδηση) όσο έχει τον έλεγχο ο

DMA Controller

Page 38: Μικροεπεξεργαστές - TEILARe-class.teilar.gr/modules/document/file.php/HL159/MICRO... · 2019-10-04 · ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος

Μέθοδοι DMA Μεταφοράς

• Cycle Stealing: Σε κάθε κύκλο μηχανής όταν η ΚΜΕ δεν

χρησιμοποιεί τους διαύλους ο DMA Controller μεταφέρει

ένα byte.

• Cycle Stealing με επιμήκυνση του ρολογιού της ΚΜΕ

• Burst Mode: Παραχώριση του system bus για μαζική

μεταφορά δεδομένων από τον DMA Controller.

Page 39: Μικροεπεξεργαστές - TEILARe-class.teilar.gr/modules/document/file.php/HL159/MICRO... · 2019-10-04 · ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος

System Bus χωρίς DMA

ΚΜΕ

Ελεγκτής

DMA

Μνήμη

Περιφερειακά

Page 40: Μικροεπεξεργαστές - TEILARe-class.teilar.gr/modules/document/file.php/HL159/MICRO... · 2019-10-04 · ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος

System Bus με DMA

ΚΜΕ Περιφερειακά

Ελεγκτής

DMA

Μνήμη

Page 41: Μικροεπεξεργαστές - TEILARe-class.teilar.gr/modules/document/file.php/HL159/MICRO... · 2019-10-04 · ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος

Αρχικοποίηση DMA

• Καθορισμός αρχικής διεύθυνσης στη Μνήμη

• Πλήθος δεδομένων που θα μεταφερθούν

• Τύπος μεταφοράς: Cycle Stealing, Burst Mode

• Αναμονή για αίτηση μεταφοράς από την περιφερειακή

συσκευή

Page 42: Μικροεπεξεργαστές - TEILARe-class.teilar.gr/modules/document/file.php/HL159/MICRO... · 2019-10-04 · ZX Spectrum είχε 32 Kb. Αργότερα το μέγεθος

Όταν ζητηθεί DMA μεταφορά

1. Ο DMA Controller ζητά έλεγχο του system bus για 1 κύκλο (cycle stealing) ή όσο απαιτείται για την πλήρη μεταφορά (burst mode)

2. Όταν του δοθεί ο έλεγχος, μεταφέρει ένα byte από/προς την τρέχουσα διεύθυνση μνήμης

3. Αυξάνει κατά ένα τη διεύθυνση και μειώνει κατά ένα το πλήθος των δεδομένων

4. Αν το πλήθος δεν έχει γίνει 0 επαναλαμβάνει τη διαδικασία από το βήμα 2