Λύσεις — Μάθημα 3.7 · Κυκλώματα αποκωδικοποίησης (Έλεγχος Γνώσεων, σελ. 119-120)
Λύσεις των ασκήσεων του βιβλίου (ορισμοί, πίνακες αληθείας decoder, κύκλωμα επιλογής μνήμης).
Χαμηλά ενεργό σήμα
Ερώτηση: Τι ονομάζουμε χαμηλά ενεργό σήμα;
Απάντηση:
- Ένα σήμα που ενεργοποιεί το κύκλωμα όταν είναι στο λογικό 0 (χαμηλή τάση) και το απενεργοποιεί όταν είναι 1 (υψηλή τάση).
- Π.χ. το CS (Chip Select) είναι ενεργό χαμηλά.
Σύνοψη: (ενδεικτική) Σήμα που ενεργοποιεί όταν είναι 0 (και απενεργοποιεί όταν είναι 1).
Κριτήρια αξιολόγησης:
- Κριτήριο: ενεργό στο λογικό 0.
Απομονωτής τριών καταστάσεων
Ερώτηση: Τι είναι ένας απομονωτής τριών καταστάσεων;
Απάντηση:
- Κύκλωμα με τρεις δυνατές καταστάσεις εξόδου: 0, 1 και υψηλή αντίσταση.
- Όταν το σήμα ελέγχου είναι ανενεργό, η έξοδος αποσυνδέεται από τον διάδρομο (υψηλή αντίσταση) → δεν επηρεάζει τα δεδομένα.
Σύνοψη: (ενδεικτική) Απομονωτής με εξόδους 0/1/υψηλή αντίσταση· όταν είναι ανενεργός, αποσυνδέει την έξοδο από τον διάδρομο.
Κριτήρια αξιολόγησης:
- Κριτήριο: οι τρεις καταστάσεις + ρόλος αποσύνδεσης.
Πίνακας αληθείας
Ερώτηση: Τι είναι ο πίνακας αληθείας;
Απάντηση:
- Πίνακας που δείχνει τις λογικές τιμές των εξόδων ενός κυκλώματος για όλους τους δυνατούς συνδυασμούς των εισόδων.
Σύνοψη: (ενδεικτική) Πίνακας με τις τιμές εξόδου για κάθε συνδυασμό εισόδων ενός λογικού κυκλώματος.
Κριτήρια αξιολόγησης:
- Κριτήριο: όλοι οι συνδυασμοί εισόδων → τιμές εξόδων.
Άσκηση 4 — decoder 2→4 ΚΑΙ 4→16
Ερώτηση: Δώστε τον πίνακα αληθείας ενός αποκωδικοποιητή 2 σε 4 και ενός 4 σε 16.
Λύση:
- Decoder 2→4 (ενεργή έξοδος = δυαδικός αριθμός εισόδου):
i1 i0 | d0 d1 d2 d3 → 00|1000, 01|0100, 10|0010, 11|0001.
- Decoder 4→16: 4 είσοδοι (i3 i2 i1 i0) → 16 έξοδοι (d0…d15). Σε κάθε γραμμή του πίνακα γίνεται 1 μόνο η έξοδος d_k με k = δεκαδική τιμή της εισόδου· όλες οι άλλες 15 έξοδοι είναι 0.
- Πλήρης πίνακας (είσοδος i3i2i1i0 → έξοδος που γίνεται 1):
0000→d0, 0001→d1, 0010→d2, 0011→d3, 0100→d4, 0101→d5, 0110→d6, 0111→d7, 1000→d8, 1001→d9, 1010→d10, 1011→d11, 1100→d12, 1101→d13, 1110→d14, 1111→d15.
Απάντηση: 2→4: 00→d0, 01→d1, 10→d2, 11→d3 (μία έξοδος '1'). 4→16: κάθε από τους 16 συνδυασμούς ενεργοποιεί ακριβώς μία από τις d0…d15 (d_k, k=τιμή εισόδου).
Πρόσεξε:
- Σε κάθε γραμμή του πίνακα μόνο μία έξοδος είναι 1.
- Ο decoder n→2ⁿ: 2→4 (4 έξοδοι), 4→16 (16 έξοδοι).
Άσκηση 5 — κύκλωμα ROM/RAM
Ερώτηση: Σχεδιάστε ένα κύκλωμα που χρησιμοποιεί μνήμες ROM και RAM μεγέθους 8Kbytes για τις περιοχές 0000-7FFF(ROM) και 8000-FFFF(RAM).
Λύση:
- Ο χώρος 0000–FFFF είναι 64 KB (διάδρομος διευθύνσεων 16 bit, A0–A15). Κάθε ολοκληρωμένο μνήμης είναι 8 KB = 2¹³ θέσεις, άρα χρειάζεται 13 γραμμές διεύθυνσης (A0–A12), κοινές για όλα τα ολοκληρωμένα.
- Η περιοχή ROM 0000–7FFF είναι 32 KB → 4 ολοκληρωμένα ROM των 8 KB· η περιοχή RAM 8000–FFFF είναι 32 KB → 4 ολοκληρωμένα RAM των 8 KB. Σύνολο 8 ολοκληρωμένα.
- Τα 3 bits μεγαλύτερης αξίας A15 A14 A13 οδηγούνται σε αποκωδικοποιητή 3 σε 8· κάθε (ανεστραμμένη) έξοδός του οδηγεί το CS ενός ολοκληρωμένου (CS ενεργό χαμηλά):
000 D0 → ROM 1 (0000–1FFF) · 001 D1 → ROM 2 (2000–3FFF) · 010 D2 → ROM 3 (4000–5FFF) · 011 D3 → ROM 4 (6000–7FFF)
100 D4 → RAM 1 (8000–9FFF) · 101 D5 → RAM 2 (A000–BFFF) · 110 D6 → RAM 3 (C000–DFFF) · 111 D7 → RAM 4 (E000–FFFF)
- Οι γραμμές δεδομένων όλων των ολοκληρωμένων συνδέονται στον διάδρομο δεδομένων μέσω απομονωτών τριών καταστάσεων· ο αποκωδικοποιητής ενεργοποιεί κάθε φορά ένα μόνο ολοκληρωμένο, οπότε δεν υπάρχει σύγκρουση δεδομένων.
Απάντηση: 8 ολοκληρωμένα των 8 KB (4 ROM στο 0000–7FFF, 4 RAM στο 8000–FFFF)· A0–A12 κοινά σε όλα· A13–A15 σε decoder 3→8 του οποίου οι έξοδοι D0–D3 οδηγούν τα CS των ROM και D4–D7 τα CS των RAM.
Πρόσεξε:
- Τα «8 Kbytes» είναι το μέγεθος κάθε ολοκληρωμένου· γι’ αυτό κάθε περιοχή των 32 KB χρειάζεται 4 ολοκληρωμένα.
- Όπως στο παράδειγμα του Σχήματος 3.7.6 του βιβλίου: 13 bits (2¹³ = 8192) για τη θέση μέσα στο ολοκληρωμένο, 3 bits για την επιλογή ολοκληρωμένου.
- Εναλλακτικά, με δύο ολοκληρωμένα των 32 KB η επιλογή θα γινόταν μόνο με το A15 (Σχήμα 3.7.2)· η εκφώνηση όμως ζητά μνήμες των 8 KB.
Άσκηση 6 — decoder 3→8 ΚΑΙ έξι μνήμες (σελ. 119)
(Πρόσθετη άσκηση — καλύπτει τη γενική περίπτωση περισσότερων από δύο μνημών, ενότητα 3.7.3 του βιβλίου.)
Ερώτηση: Ένα υπολογιστικό σύστημα έχει διάδρομο διευθύνσεων 16 bit και χρησιμοποιεί ολοκληρωμένα μνήμης των 8 KB το καθένα. Πόσα bits διεύθυνσης οδηγούνται κοινά σε κάθε ολοκληρωμένο, πόσα bits οδηγούν τον αποκωδικοποιητή και τι μέγεθος decoder χρειάζεται;
Λύση:
- Κάθε ολοκληρωμένο 8 KB = 2¹³ bytes, άρα χρειάζεται 13 κοινά bits (A0–A12) που οδηγούνται με τον ίδιο τρόπο σε όλα τα ολοκληρωμένα — επιλέγουν τη θέση μέσα στο ολοκληρωμένο.
- Μένουν 16−13 = 3 bits υψηλής αξίας (A13–A15), τα οποία οδηγούν τον αποκωδικοποιητή.
- Ένας decoder 3→8 δίνει 8 εξόδους — μία για κάθε πιθανό τμήμα των 8 KB μέσα στα συνολικά 64 KB. Κάθε έξοδος οδηγεί το CS ενός ολοκληρωμένου· όσες έξοδοι δεν αντιστοιχούν σε πραγματικό ολοκληρωμένο μένουν απλά αχρησιμοποίητες.
Απάντηση: 13 κοινά bits (A0–A12) στα ολοκληρωμένα ΚΑΙ 3 bits (A13–A15) στον αποκωδικοποιητή → χρειάζεται decoder 3→8.
Πρόσεξε:
- Το πλήθος εισόδων του decoder προκύπτει από τα bits που ΔΕΝ χρειάζονται για να διευθυνσιοδοτηθεί ένα ολοκληρωμένο (16 − 13 = 3), όχι από το πλήθος των ολοκληρωμένων που όντως χρησιμοποιούνται.