Διδακτικά Βιβλία του Παιδαγωγικού Ινστιτούτου

Αναζήτηση

Βρες
Εμφάνιση

Σχεδίαση συστήματος κύριας μνήμης

Η κύρια μνήμη σε ένα υπολογιστικό σύστημα αποτελείται από τη μνήμη μόνο ανάγνωσης (ROM) και από τη μνήμη ανάγνωσης - εγγραφής (RAM*).

Η κύρια μνήμη είναι άμεσα προσπελάσιμη από τον επεξεργαστή, χρησιμοποιώντας τα σήματα ανάγνωσης (RD), εγγραφής (WR), Διευθύνσεων (Ak-i – Α0) και Δεδομένων (Dn-1 – D0), όπως είδαμε στο Μάθημα 4.1, σύμφωνα με τον κύκλο ανάγνωσης και τον κύκλο εγγραφής της μνήμης.

Για τη δημιουργία της κύριας μνήμης συνήθως χρησιμοποιούνται ψηφίδες ολοκληρωμένων κυκλωμάτων μνημών τύπου ROM και RAM. Οι ψηφίδες αυτές χαρακτηρίζονται από τις διαστάσεις (dimensions) τους, δηλαδή από το πλήθος των λέξεων που περιέχουν και το μήκος σε bits της κάθε λέξης.

Μια ψηφίδα διαστάσεων 1024x8 περιέχει 1024 λέξεις των 8 bits η κάθε μία.

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

Ένα σύστημα στηρίζεται σε επεξεργαστή ο οποίος διαθέτει 8 γραμμές δεδομένων (D7 - D0) και 11 γραμμές διευθύνσεων (Α10 – A0). Ο χώρος μνήμης του υπολογιστή αυτού λοιπόν θα αποτελείται από 211 = 2048 λέξεις των 8 bits.

Ο όρος RAM ο οποίος σημαίνει Μνήμη Τυχαίας Προσπέλασης, έχει επικρατήσει ιστορικά, χωρίς να περιγράφει επακριβώς τη μνήμη στην οποία αναφερόμαστε

Θέλουμε να σχεδιάσουμε μια μονάδα κύριας μνήμης που να διαθέτει μνήμη τύπου RAM για τις διευθύνσεις από Ο έως 1023 και μνήμη τύπου ROM για τις διευθύνσεις από 1024 έως 2047. Διαθέτουμε ψηφίδες RAM διαστάσεων 256x8 bits και ROM διαστάσεων 512x4 bits.

Για τον σκοπό αυτό καταρτίζουμε τον Χάρτη Διευθύνσεων (Address Map), όπου καταγράφονται όλες οι αναγκαίες ψηφίδες μνήμης, μαζί με τους αντίστοιχες περιοχές του χώρου διευθύνσεων του επεξεργαστή.

Επειδή οι μνήμες ROM περιέχουν λέξεις των 4 bits, για κάθε λέξη της μνήμης που αντιστοιχεί στη ROM (8 bits) θα χρησιμοποιήσουμε 2 λέξεις των 4 bits με την ίδια διεύθυνση από δύο διαφορετικές ψηφίδες ROM.

Οι διευθύνσεις που καταλαμβάνονται από μνήμη RAM, οι 0-1023, απαιτούν 1024/256 = 4 ψηφίδες, τις RAM0, RAM1, RAM2 και RAM3. Οι διευθύνσεις που καταλαμβάνονται από μνήμη ROM, οι 1024-2047 απαιτούν 1024/512 = 2 ζεύγη ψηφίδων ROM, τα (ROM0, ROM1) και (ROM2, ROM3).

Ο χάρτης διευθύνσεων θα είναι λοιπόν: [pic]

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

Η διεύθυνση 777 βρίσκεται μέσα στο διάστημα 768-1023, άρα βρίσκεται στην ψηφίδα RAM3. Η εσωτερική της διεύθυνση μέσα στην ψηφίδα είναι η 777-768 = 9.

Η διεύθυνση 1548 καλύπτεται από τις ψηφίδες ROM2 και ROM3, από τις εσωτερικές θέσεις 1548-1536=12 κάθε ψηφίδας. Κάθε ψηφίδα παρέχει 4 από τα 8 bit της λέξης.

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

Όταν η είσοδος CS είναι ανενεργή (δηλαδή έχει την τιμή 0), τότε η ψηφίδα μένει αδρανής και δεν ανταποκρίνεται σε κανένα από τα άλλα σήματα (RD ή WR). Μόνον όταν η είσοδος CS είναι ενεργή (έχει την τιμή 1) η ψηφίδα της μνήμης ανταποκρίνεται, σύμφωνα με τον κύκλο ανάγνωσης μνήμης (όταν RD=1) ή με τον κύκλο εγγραφής μνήμης (όταν WR=1), όπως είδαμε στο Μάθημα 4.1.

Για τη σχεδίαση του συστήματος κύριας μνήμης του παραδείγματός μας, πρέπει αρχικά να συνδέσουμε τις γραμμές δεδομένων όλων των ψηφίδων (D7 - D0) με τις αντίστοιχες γραμμές του επεξεργαστή. Οι ψηφίδες ROM συνδέονται ανά ζεύγη, έτσι ώστε να καλύπτεται όλο το μήκος λέξης του υπολογιστή.

Οι γραμμές διευθύνσεως των ψηφίδων μνήμης συνδέονται επίσης με τις αντίστοιχες γραμμές διευθύνσεως του υπολογιστή. Οι ψηφίδες RAM που έχουν 256 λέξεις, διαθέτουν 8 γραμμές διευθύνσεως, οι οποίες συνδέονται με τις γραμμές Α0 έως Α7 του υπολογιστή. Αντίστοιχα, οι ψηφίδες ROM που έχουν 512 λέξεις, διαθέτουν 9 γραμμές διευθύνσεως, οι οποίες συνδέονται με τις γραμμές Α0 έως A8 του υπολογιστή. Επίσης, όλες οι ψηφίδες RAM συνδέονται με τα σήματα RD και WR του υπολογιστή, για τον προσδιορισμό της λειτουργίας που πρέπει να εκτελεστεί κάθε φορά.

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

Ο μηχανισμός CS θα επιλέγει την ψηφίδα RAM3 μόνο όταν Α10=0, A9=1 και Α8=1.

Μπορούμε να δούμε από τον Χάρτη Διευθύνσεων ότι οι τιμές των ψηφίων Α10, Α9 και Α8 μπορούν να χρησιμοποιηθούν για την ενεργοποίηση των ψηφίδων μνήμης, σύμφωνα με τον πίνακα.