Αστέρια ΑνενεργάΑστέρια ΑνενεργάΑστέρια ΑνενεργάΑστέρια ΑνενεργάΑστέρια Ανενεργά
 

Μάθημα 3.7o Κυκλώματα αποκωδικοποίησης

 

  • Σύγχρονη αρχιτεκτονική υπολ. συστημάτων
  • Βοηθητικά κυκλώματα

 

  • Μικροϋπολογιστικό σύστημα με πολλές μνήμες

 

 3.7.1 Αρχιτεκτονική υπολογιστικών συστημάτων

 

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

 

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

 

Ας πάρουμε για παράδειγμα ένα υπολογιστικό σύστημα που αποτελείται από ένα επεξεργαστή των 16-bit που μπορεί να προσπελάσει 216=65536 διαφορετικές θέσεις δηλαδή 64ΚBytes. Έστω ότι θέλουμε να έχει μνήμη ROM 32Kbytes και RAM 32Kbytes. Ας υποθέσουμε ότι η μνήμη ROM πρέπει να επιλέγεται στις διευθύνσεις από 0 έως 32767 και η μνήμη RAM στις διευθύνσεις από 32768 έως 65535.

 

Ας θεωρήσουμε ότι έχουμε ένα ολοκληρωμένο μνήμης RAM και ένα μνήμης ROM που έχουν μέγεθος 32Κbytes, το καθένα. Στο σχήμα 3.7.1 δίνεται ένα σχέδιο του τμήμα επεξεργασίας.

 

Σχήμα 3.7.1 Τμήμα επεξεργασίας

 

Κάθε μία από τις δύο μνήμες είναι μεγέθους 32Κbytes. Δεδομένου ότι η κάθε μνήμη έχει μέγεθος 32Κbytes (215=32ΚΒ) χρειάζεται 15 γραμμές διευθύνσεων (Α014). Το υπολογιστικό σύστημα διαθέτει 16 γραμμές διευθύνσεων και χρειάζεται ένα κύκλωμα που να κάνει σωστή επιλογή της μνήμης, ανάλογα με την διεύθυνση που θέλει να διαβάσει ή να γράψει ο επεξεργαστής.

 

Στην περίπτωση που είχαμε στο υπολογιστικό σύστημα μια μνήμη μεγέθους 64Kbytes, τότε δεν θα είχαμε το πρόβλημα της επιλογής της μνήμης, και όλα τα σήμα της διεύθυνσης του επεξεργαστή θα συνδέονταν στα σήματα της μνήμης. Την επιλογή της θέσης της μνήμης, όπως έχουμε πει σε προηγούμενο μάθημα, την πραγματοποιεί ένα εσωτερικό κύκλωμα της μνήμης.

 

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

 

Στο παράδειγμά μας το κύκλωμα αποκωδικοποίησης χρειάζεται μόνο να επιλέξει μία από τις δύο μνήμες. Παρατηρώντας τον πίνακα 3.7.1, βλέπουμε ότι το περισσότερης αξίας bit (MSB) της διεύθυνσης είναι 0 όταν η διεύθυνση είναι από 0 έως 32767 και 1 όταν η διεύθυνση είναι από 32768 έως 65535. Με την παρατήρηση αυτή μπορούμε να σχεδιάσουμε το κύκλωμα της αποκωδικοποίησης αποτελείται μόνο από έναν αντιστροφέα.

 

Πίνακας 3.7.1 Σήματα διεύθυνσης

 

Διευθύνσεις

A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0

Μνήμη

0 1 2 έως 32767

0   0   0   0   0   0   0 0   0 0 0 0 0 0 0 0

0   0   0   0   0   0   0 0   0 0 0 0 0 0 0 1

0   0   0   0   0   0   0 0   0 0 0 0 0 0 1 0

έως

0   1   1   1   1   1   1 1   1 1 1 1 1 1 1 1

ROM

32768

32769

32770

έως

65535

1   0   0   0   0   0   0 0   0 0 0 0 0 0 0 0

1   0   0   0   0   0   0 0   0 0 0 0 0 0 0 1

1   0   0   0   0   0   0 0   0 0 0 0 0 0 1 0

έως

1   1   1   1   1   1   1 1   1 1 1 1 1 1 1 1

RAM

Όπως φαίνεται και στο σχήμα 3.7.2 το σήμα Α15 συνδέεται στο (Chip Select) της μνήμης ROM και η έξοδος του αντιστροφέα συνδέεται στο της RAM.

Σχήμα 3.7.2 Σύνδεση δύο μνημών σε ένα υπολογιστικό σύστημα

Με το σήμα που έχει κάθε ολοκληρωμένο μπορούμε να το επιλέξουμε ή όχι. Έτσι όταν το Α15 είναι ‘0’ τότε το της ROM είναι ‘0’ και της RAM ‘1’ και έχουμε επιλογή της ROM. Ενώ στην περίπτωση που το Α15 είναι ‘1’ τότε το της ROM είναι ‘1’ και το της RAM είναι ‘0’ και έχουμε επιλογή της RAM.

 

3.7.2 Βοηθητικά κυκλώματα

            Κάθε ολοκληρωμένο που συνδέεται σε διάδρομο υπολογιστικού συστήματος πρέπει να πληρεί τις εξής προϋποθέσεις:

  • Nα διαθέτει σήμα ενεργοποίησης ενεργό χαμηλά, που συνήθως ονομάζεται
  • Να διαθέτει ειδικούς απομονωτές, που ονομάζονται απομονωτές τριών καταστάσεων (three state buffers). Οι έξοδοι του ολοκληρωμένου συνδέονται στο διάδρομο των δεδομένων μόνο μέσα από αυτούς τους απομονωτές.

Με τον όρο ενεργό χαμηλά εννοούμε ότι, όταν το σήμα είναι στο λογικό ΄0΄, τότε ενεργοποιείται το ολοκληρωμένο και όταν είναι ‘1’ το ολοκληρωμένο είναι απενεργοποιημένο.

Στο σχήμα 3.7.3 φαίνεται η σχηματική παράσταση ενός απομονωτή τριών καταστάσεων. Όπως έχει αναφερθεί και σε προηγούμενο μάθημα, όλα τα ολοκληρωμένα που συνδέονται στο διάδρομο δεδομένων πρέπει να διαθέτουν στις εξόδους τους απομονωτές three state. Αυτό απαιτείται για να μην επηρεάζουν οι έξοδοι των ολοκληρωμένων, που δεν είναι επιλεγμένες, τα σήματα του διαδρόμου δεδομένων. Ο three state απομονωτής έχει την ιδιότητα, όταν το σήμα control είναι απενεργοποιημένο, η έξοδος του να αποσυνδέεται τελείως από την είσοδο in με αποτέλεσμα το λογικό του επίπεδο να μην επηρεάζεται καθόλου από το επίπεδο του σήματος εισόδου του. Σε αντίθετη περίπτωση, όπου το σήμα ελέγχου είναι ενεργοποιημένο η έξοδος συνδέεται με την είσοδο και η γραμμή του διαδρόμου καταλαμβάνεται από την έξοδο του διαδρόμου. Οι ειδικοί απομονωτές ονομάζονται έτσι επειδή παρουσιάζουν τρεις καταστάσεις στην έξοδο τους (1, 0, υψηλή αντίσταση).

Σχήμα 3.7.3 Απομονωτής τριών καταστάσεων (three state buffer)

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

Σχήμα 3.7.4 Ζεύγος απομονωτών τριών καταστάσεων

            Το σήμα ελέγχου εισόδου in ενεργοποιείται όταν το ολοκληρωμένο έχει πάρει την εντολή να διαβάσει δεδομένα. Στην περίπτωση αυτή το σήμα ελέγχου εξόδου πρέπει να είναι απενεργοποιημένο ώστε να μην υπάρχει σύγκρουση δεδομένων.

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

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

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

            Για παράδειγμα ας θεωρήσουμε ένα αποκωδικοποιητή που έχει στην είσοδό του 3 σήματα. Στην έξοδό του πρέπει να έχει 8 σήματα. Στο σχήμα 3.7.5 φαίνεται το σχηματικό του αποκωδικοποιητή.

Σχήμα 3.7.5 Σχηματικό αποκωδικοποιητή

            Για κάθε λογικό κύκλωμα μπορούμε να δούμε τη λειτουργία του, με έναν πίνακα που δείχνει τις λογικές τιμές των εξόδων του για όλες τις τιμές των εισόδων του. Ένας τέτοιος πίνακας ονομάζεται πίνακας αληθείας. Στον πίνακα 3.7.2 φαίνεται ο πίνακας αληθείας του αποκωδικοποιητή 3 σε 8.

                    Πίνακας 3.7.2 Πίνακας αλήθειας αποκωδικοποιητή 3 σε 8

ΕΙΣΟΔΟΙ

ΕΞΟΔΟΙ

I2

i1

I0

d0

d1

d2

d3

d4

d5

d6

d7

0

0

0

1

0

0

0

0

0

0

0

0

0

1

0

1

0

0

0

0

0

0

0

1

0

0

0

1

0

0

0

0

0

0

1

1

0

0

0

1

0

0

0

0

1

0

0

0

0

0

0

1

0

0

0

1

0

1

0

0

0

0

0

1

0

0

1

1

0

0

0

0

0

0

0

1

0

1

1

1

0

0

0

0

0

0

0

1

Οι έξοδοι d0-d7 έχουν τιμή ανάλογα με τον συνδυασμό τις τιμής των εισόδων του i0-i2. Παρατηρούμε ότι για κάθε συνδυασμό μόνο μία έξοδος είναι 1, αυτή που αντιστοιχεί στον δυαδικό αριθμό της εισόδου. Για παράδειγμα όταν έχω i2i1i0=000 μόνο η έξοδος d0 γίνεται 1. Όταν έχω i2i1i0=101 μόνο η έξοδος d5 γίνεται 1 και τέλος όταν i2i1i0=111 έχουμε d7=1

Συνήθως, στα κυκλώματα αυτά οι έξοδοι d0-d7 δίνονται σε ανεστραμμένη μορφή. Δηλαδή έχουμε ως εξόδους τα σήματα . Ο λόγος είναι ότι αν θέλουμε να οδηγήσουμε με αυτά τα CS άλλων ολοκληρωμένων όπου χρειάζονται να είναι ανεστραμμένα τα έχουμε έτοιμα.

3.7.3      Υπολογιστικό σύστημα με πολλές μνήμες

Έστω ότι έχουμε έναν υπολογιστή που έχει εύρος διαδρόμου διευθύνσεων 16. Η συνολική μνήμη που μπορεί να προσπελάσει ο επεξεργαστής αυτός είναι 64Κbytes. Στο σύστημά μας θέλουμε να έχουμε μνήμες ROM και μνήμες RAM. Το συνολικό μέγεθος της ROM ας υποθέσουμε ότι είναι 16Kbytes και της RAM 32Κbytes. Στον πίνακα 3.7.3 φαίνονται οι διευθύνσεις που θέλουμε να καταλαμβάνουν οι μνήμες αυτές.

Πίνακας 3.7.3 Κατανομή μνημών

Διευθύνσεις(ΗΕΧ)

Διευθύνσεις(Δεκαδικές)

Τύπος

0000-1FFF

0000-8191

RAM

2000-5FFF

8192-24575

ROM

8000-9FFF

32768-40959

RAM

C000-FFFF

49152-65535

RAM

Κάθε ολοκληρωμένο μνήμη που θα χρησιμοποιήσουμε έχει μέγεθος 8Κbytes. Έτσι θα χρειαστούμε δύο μνήμες ROM και τέσσερις μνήμες RAM. Για να διευκολύνουμε την κατανόηση, σχηματίζουμε τον πίνακα μνήμης του συστήματος. Στον πίνακα 3.7.4 αυτό η μνήμη των 64Kbytes χωρίζεται σε τμήματα των 8Kbytes.

Πίνακας 3.7.4 Πίνακας μνήμης υπολογιστικού συστήματος

Διευθύνσεις(ΗΕΧ)

Διευθύνσεις(Δεκαδικές)

Μνήμη

0000-1FFF

0000-8191

RAM 1

2000-3FFF

8192-16383

ROM 1

4000-5FFF

16384-24575

ROM 2

6000-7FFF

24576-32767

Δεν χρησιμοποιείται

8000-9FFF

32768-40959

RAM 2

A000-BFFF

40960-49151

Δεν χρησιμοποιείται

C000-EFFF

49152-57343

RAM 3

E000-FFFF

57344-65535

RAM 4

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

Το πλήθος των γραμμών διευθύνσεων σε κάθε μνήμη είναι 13. Αυτό προκύπτει, όπως έχει αναφερθεί και σε προηγούμενο μαθήμα, από τον τύπο 213=8192=8*1024=8Κbytes. Το κύκλωμα της αποκωδικοποίησης πρέπει να επιλέγει μία από τις 6 μνήμες σύμφωνα με ποιά διεύθυνση θέλει να επικοινωνήσει ο επεξεργαστής.

Για τον σχεδιασμό του κυκλώματος της αποκωδικοποίησης πρέπει να παρατηρήσουμε, όπως έγινε και στο απλό παράδειγμα στην αρχή του μαθήματος, τις περιοχές της μνήμης. Έτσι για παράδειγμα για την πρώτη περιοχή από 000016 έως 1FFF16 παρατηρούμε ότι τα 3 μεγαλύτερης αξίας δυαδικά ψηφία παραμένουν σταθερά και ίσα με το 0 και αλλάζουν μόνο τα 13 μικρότερης αξίας δυαδικά ψηφία. Για την τρίτη περιοχή 400016 έως 5FFF16 τα τρία μεγαλύτερης αξίας bits είναι πάλι σταθερά και ίσα με 010. Σαν γενική παρατήρηση βλέπουμε ότι κάθε τμήμα από τα 8 της μνήμης χαρακτηρίζεται από τα τρία μεγαλύτερη αξίας bits, όπως φαίνεται στον πίνακα 3.7.5, τα οποία παραμένουν σταθερά για όλη την περιοχή της μνήμης και αλλάζουν μόνο τα 13 λιγότερης αξίας δυαδικά ψηφία.

Πίνακας 3.7.5 Σήματα αποκωδικοποίησης

Περιοχές μνήμης

Α15

Α14

Α13

Α120

Μνήμη

0000-1FFF

0

0

0

Χ

RAM 1

2000-3FFF

0

0

1

Χ

ROM 1

4000-5FFF

0

1

0

Χ

ROM 2

8000-9FFF

1

0

0

Χ

RAM 2

C000-DFFF

1

1

0

Χ

RAM 3

E000-FFFF

1

1

1

Χ

RAM 4

Έτσι σαν κριτήριο επιλογής των μνημών μπορούμε να πάρουμε την τιμή των τριών αυτών δυαδικών ψηφίων του διαδρόμου διευθύνσεων (Α151413). Τα σήματα επιλογής (Chip Select) των μνημών μπορούν να παραχθούν από ένα αποκωδικοποιητή 3 σε 8.

Στο σχήμα 3.7.6 φαίνεται ένα μέρος του υπολογιστικού συστήματος. Απεικονίζεται ο επεξεργαστής μαζί τον διάδρομο διευθύνσεων, καθώς και τα ολοκληρωμένα των μνήμων. Τέλος απεικονίζεται ο αποκωδικοποιητής 3 σε 8. Τα τρία μεγαλύτερης αξίας δυαδικά ψηφία της διεύθυνσης οδηγούνται μόνο στον αποκωδικοποιητή. Τα υπόλοιπα 13 σήματα της διεύθυνσης συνδέονται στα 13 σήματα διεύθυνσης του κάθε ολοκληρωμένου μνήμης.

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

Η έξοδος D0 του αποκωδικοποιητή θα ενεργοποιηθεί όταν έχουμε στην είσοδο του αποκωδικοποιητή «000». Αυτό σημαίνει ότι έχουμε διεύθυνση στην περιοχή της μνήμης από 0000 έως 1FFF. Το ίδιο ισχύει και για της υπόλοιπες εξόδους του αποκωδικοποιητή και η αντιστοιχία φαίνεται στον πίνακα 3.7.6.

Πίνακας 3.7.6 Αντιστοίχηση σημάτων αποκωδικοποιητή με περιοχές μνήμης

0000-1FFF

D0

RAM 1

2000-3FFF

D1

ROM 1

4000-5FFF

D2

ROM 2

6000-7FFF

D3

X

8000-9FFF

D4

RAM 2

A000-BFFF

D5

X

C000-DFFF

D6

RAM 3

E000-FFFF

D7

RAM 4

Όπως φαίνεται από το σχήμα 3.7.6 τα σήμα D3 και D5 του αποκωδικοποιητή δεν συνδέονται σε καμία μνήμη αφού δεν πρόκειται να χρησιμοποιηθούν μνήμες στις αντίστοιχες περιοχές.

 

Σχήμα 3.7.6 Κύκλωμα έξι μνημών υπολογιστικού συστήματος

Τι έμαθες

  • Σε ένα υπολογιστικό σύστημα που υπάρχουν περισσότερες από μία μνήμες χρειάζεται κύκλωμα αποκωδικοποίησης της διεύθυνσης
  • Κάθε ολοκληρωμένο που συνδέεται σε διάδρομο υπολογιστικού συστήματος πρέπει να έχει σήμα ενεργοποίησης ενεργό χαμηλά και απομονωτές τριών καταστάσεων
  • Ο απομονωτής τριών καταστάσεων επιτρέπει ή όχι με ένα σήμα ελέγχου τη σύνδεση μιας εξόδου στο διάδρομο δεδομένων.
  • Το κύκλωμα αποκωδικοποίησης ενός υπολογιστικού συστήματος καθορίζει ποιο ολοκληρωμένο θα επιλεγεί για να συνδεθεί πάνω στο διάδρομο.

Ορολογία

  • Απομονωτής τριών καταστάσεων (Three state buffer)
  • Αποκωδικοποιητής
  • Χαμηλά ενεργό σήμα (active-low signal)
  • Πίνακας αληθείας

Έλεγχος γνώσεων

  • Τι ονομάζουμε χαμηλά ενεργό σήμα;
  • Τι είναι ένας απομονωτής τριών καταστάσεων;
  • Τι είναι ο πίνακας αληθείας;
  • Δώστε τον πίνακα αληθείας ενός αποκωδικοποιητή 2 σε 4 και ενός 4 σε 16.
  • Σχεδιάστε ένα κύκλωμα που χρησιμοποιεί μνήμες ROM και RAM μεγέθους 8Kbytes για τις περιοχές 0000-7FFF(ROM) και 8000-FFFF(RAM).

Προσθήκη νέου σχολίου


Κωδικός ασφαλείας
Ανανέωση