Ψηφιακά Συστήματα 8. Καταχωρητές
Βιβλιογραφία 1. Φανουράκης Κ., Πάτσης Γ., Τσακιρίδης Ο., Θεωρία και Ασκήσεις Ψηφιακών Ηλεκτρονικών, ΜΑΡΙΑ ΠΑΡΙΚΟΥ & ΣΙΑ ΕΠΕ, 2016. [59382199] 2. Floyd Thomas L., Ψηφιακά ηλεκτρονικά, ΣΤΕΛΛΑ ΠΑΡΙΚΟΥ & ΣΙΑ ΟΕ, 2007. [14795] 3. Πογαρίδης Δ., Σχεδίαση Ψηφιακών Συστημάτων, ΙΩΝ, 2004. 4. Φανουράκης Κ., Πάτσης Γ., Τσακιρίδης Ο., Σημειώσεις Θεωρίας, Ψηφιακών Ηλεκτρονικών, 2014. 2
Καταχωρητές Εισαγωγή: Flip Flop -> αποθήκευση μιας πληροφορίας ενός ψηφίου (1 bit). Επομένως για περισσότερα του ενός ψηφία θέλουμε τόσα FF όσα και τα ψηφία της πληροφορίας. Το ενιαίο συνδυαστικό σύνολο αυτό λέγεται καταχωρητής (Register). Επίσης οι καταχωρητές μπορούν να χρησιμοποιηθούν για την μετακίνηση (ολίσθηση) της πληροφορίας shift registers. Αρχικά ο καταχωρητής περιέχει μηδενικά (ή άκυρη πληροφορία) Το 1 ο ψηφίο (1) ολισθαίνει σειριακά στον καταχωρητή Το 2 ο ψηφίο (0) ολισθαίνει σειριακά στον καταχωρητή και το 1 ο ψηφίο ολισθαίνει δεξιά Το 3 ο ψηφίο (1) ολισθαίνει σειριακά στον καταχωρητή και τα 1 ο και 2 ο ψηφία ολισθαίνουν δεξιά. Το 4 ο ψηφίο (0) ολισθαίνει σειριακά στον καταχωρητή και τα 1 ο, 2 ο και 3 ο ψηφία ολισθαίνουν δεξιά. Ο καταχωρητής πλέον αποθηκεύει και τα 4 bit, είναι πλήρης. 4
Καταχωρητές Οι καταχωρητές ολίσθησης (Shift Registers): αποτελούνται από διατάξεις flip-flop και παίζουν σημαντικό ρόλο στην αποθήκευση και μεταφορά δεδομένων στα ψηφιακά συστήματα. Γενικά, ένας καταχωρητής χρησιμοποιείται κυρίως για αποθήκευση (storage) και μετατόπιση (shifting) δεδομένων (1 και 0) εισαγόμενα από εξωτερική πηγή. Η αποθηκευτική ικανότητα ενός καταχωρητή τον κατατάσσει στους σημαντικούς τύπους διατάξεων μνήμης. Η αποθηκευτική ικανότητα (χωρητικότητα) είναι ο συνολικός αριθμός bits (1 και 0) που δύναται να συγκρατήσει. Κάθε επίπεδο (flip-flop) σε έναν καταχωρητή ολίσθησης αντιπροσωπεύει 1 bit αποθηκευτικής ικανότητας, άρα ο αριθμός των FF καθορίζει την συνολική αποθηκευτική του ικανότητα. 5
Καταχωρητές Shift Register (SRG) συνέχεια: Η ικανότητα ολίσθησης ενός καταχωρητή επιτρέπει την μετατόπιση των δεδομένων από επίπεδο σε επίπεδο (FF) εντός του ή μέσα και έξω με την εφαρμογή παλμών ρολογιού (Ck). Βασική κίνηση δεδομένων σε καταχωρητές ολίσθησης 6
Καταχωρητές Shift Register (SRG) συνέχεια: Σε έναν καταχωρητή δεξιάς ολίσθησης αν εισάγετε 0 η δεξιά ολίσθηση ισοδυναμεί με διαίρεση δια 2, π.χ. αν έχουμε 1100 (12 10 ) με εισαγωγή 0 θα πάρουμε 0110 (6 10 ). Σε έναν καταχωρητή αριστερής ολίσθησης αν εισάγουμε 0 ο αριθμός που προκύπτει είναι ο προηγούμενος επί 2, π.χ. αν έχουμε 0111 (7 10 ) με εισαγωγή 0 και αριστερή ολίσθηση θα πάρουμε 1110 (14 10 ). 7
Serial IN/Serial OUT (SISO) SISO: η πληροφορία εισάγεται σειριακά, ένα ψηφίο τη φορά σε μια γραμμή εισόδου. Δημιουργεί την αποθηκευμένη πληροφορία στην έξοδό του επίσης σειριακά. Πραγματοποίηση καθυστέρησης σε ψηφιακό σήμα. Υλοποίηση με 4 επίπεδα D-FF (ή JK-FF) για την αποθήκευση 4-bit πληροφορίας. Λογικό σύμβολο ενός 8bit SISO 8
Serial IN/Serial OUT (SISO) Παράδειγμα SISO: εισόδου του 1010 ξεκινώντας από το ΛΣΨ (LSB). o o o o o o Αρχικά ο καταχωρητής είναι μηδέν (άδειος). Το 0 εισέρχεται στην είσοδο άρα D=0 για το FF0. Όταν εφαρμοστεί ο παλμός το FF0 μηδενίζει (RESET) και αποθηκεύει το 0. Το 2 ο ψηφίο 1 εισέρχεται στην είσοδο άρα D=1 για το FF0 και D=0 για το FF1 εφόσον η είσοδος D του FF1 είναι συνδεδεμένη στην έξοδο Q0. Όταν εφαρμοστεί ο 2 ος παλμός, το 1 ολισθαίνει στο FF0 τοποθετώντας το (SET) και το 0 του FF0 ολισθαίνει στο FF1. Το 3 ο ψηφίο 0 εισέρχεται στην είσοδο και μετά τον παλμό το D=0 για το FF0, το 1 του FF0 ολισθαίνει στο FF1 και το 0 του FF1 ολισθαίνει στο FF2. Το 4 ο ψηφίο 1 εισέρχεται στην είσοδο και μετά τον παλμό το D=1 για το FF0, το 0 του FF0 ολισθαίνει στο FF1, το 1 του FF1 ολισθαίνει στο FF2 και το 0 του FF2 ολισθαίνει στο FF3. Έτσι ολοκληρώνεται η σειριακή είσοδος των 4ρων bit στον καταχωρητή ολίσθησης. 9
Καταχωρητές Άσκηση 8.1: α) Να σχεδιαστεί καταχωρητής SISO 4bit με D Flip-Flops αρνητικού μετώπου, τα ΛΥΣΗ οποία θα έχουν εισόδους PRESET και CLEAR. β) Τι θα συμβεί όταν έρθει ένας παλμός "0" στην είσοδο CLEAR; γ) Αν συνδέσουμε στο HIGH την είσοδο του καταχωρητή και δώσουμε 4 παλμούς ρολογιού, τότε να συμπληρώσετε το παρακάτω διάγραμμα. 10
Καταχωρητές Άσκηση 8.1: α) Να σχεδιαστεί καταχωρητής SISO 4bit με D Flip-Flops αρνητικού μετώπου, τα ΛΥΣΗ οποία θα έχουν εισόδους PRESET και CLEAR. β) Τι θα συμβεί όταν έρθει ένας παλμός "0" στην είσοδο CLEAR; γ) Αν συνδέσουμε στο HIGH την είσοδο του καταχωρητή και δώσουμε 4 παλμούς ρολογιού, τότε να συμπληρώσετε το παρακάτω διάγραμμα. β) Όταν έρθει παλμός "0" στην ασύγχρονη είσοδο CLEAR, τότε χωρίς παλμό ρολογιού και ανεξάρτητα από τις προηγούμενες τιμές των εξόδων, οι έξοδοι θα γίνουν όλες LOW, δηλαδή Q 3 Q 2 Q 1 Q 0 = 0000. 11
Serial IN/Parallel OUT (SIPO) SIPO: η πληροφορία εισάγεται σειριακά (πρώτα το ΛΣΨ), ψηφίο-ψηφίο από την είσοδο ΙΝ στο 1 ο FF, μετακινείται κατά μήκος του καταχωρητή μια θέση σε κάθε παλμό ολίσθησης και μεταφέρεται ολισθαίνει και καταχωρείται μετά από n- παλμούς. Η διαφορά είναι στον τρόπο με τον οποίο η πληροφορία εξέρχεται του SRG. Σε έναν παράλληλης εξόδου καταχωρητή, η έξοδος κάθε επιπέδου είναι διαθέσιμη ταυτόχρονα και όχι ψηφίο-ψηφίο. Λογικό σύμβολο ενός 4bit SIPO 12
Serial IN/Parallel OUT (SIPO) Παράδειγμα SIPO: οι καταστάσεις (Q 0 Q 1 Q 2 Q 3 ) ενός 4bit SRG για τους παλμούς (CLK) και την είσοδο (Data in). Αρχικά ο SRG περιέχει άσσους. Ο καταχωρητής περιέχει 0110 μετά από 4 παλμούς ρολογιού. 13
Καταχωρητές Άσκηση 8.2: Σε έναν καταχωρητή SIPO 4 bit με αρχική τιμή 0000, δίνουμε τα δεδομένα 0,1,1,1 μαζί με 4 παλμούς ρολογιού και παρατηρούμε ότι στο τέλος ο καταχωρητής περιέχει την ψηφιακή λέξη 1110. Ο καταχωρητής είναι δεξιάς ή αριστερής ολίσθησης; ΛΥΣΗ 14
Καταχωρητές Άσκηση 8.2: Σε έναν καταχωρητή SIPO 4 bit με αρχική τιμή 0000, δίνουμε τα δεδομένα 0,1,1,1 μαζί με 4 παλμούς ρολογιού και παρατηρούμε ότι στο τέλος ο καταχωρητής περιέχει την ψηφιακή λέξη 1110. Ο καταχωρητής είναι δεξιάς ή αριστερής ολίσθησης; ΛΥΣΗ Εφόσον το δεδομένο "0" που εισήχθη πρώτο βρίσκεται στο δεξιότερο flip flop του καταχωρητή, συμπεραίνουμε ότι ο καταχωρητής είναι δεξιάς ολίσθησης. Αν ήταν αριστερής ολίσθησης, τότε ο καταχωρητής στο τέλος θα περιείχε τη λέξη 0111. 15
Καταχωρητές Άσκηση 8.3: Σε ένα καταχωρητή αριστερής ολίσθησης SISO 4 bit θέλουμε να φορτώσουμε τη λέξη 1101. Αν η αρχική τιμή του καταχωρητή είναι 0000, τότε ποιες είναι οι ενδιάμεσες καταστάσεις του καταχωρητή, αν του φορτώσουμε τη λέξη 1101 με 4 παλμούς ρολογιού; 0000, 0001, 0011, 0110, 1101 0000, 1000, 0100, 1010, 1101 ΛΥΣΗ 16
Καταχωρητές Άσκηση 8.3: Σε ένα καταχωρητή αριστερής ολίσθησης SISO 4 bit θέλουμε να φορτώσουμε τη λέξη 1101. Αν η αρχική τιμή του καταχωρητή είναι 0000, τότε ποιες είναι οι ενδιάμεσες καταστάσεις του καταχωρητή, αν του φορτώσουμε τη λέξη 1101 με 4 παλμούς ρολογιού; 0000, 0001, 0011, 0110, 1101 0000, 1000, 0100, 1010, 1101 ΛΥΣΗ 0000, 0001, 0011, 0110, 1101 17
Parallel IN/Serial OUT (PISO) PISO: εδώ η πληροφορία εισάγεται ταυτόχρονα στα σχετικά επίπεδα. με την εφαρμογή ενός παλμού εγγραφής, στις πύλες εισόδου, μετακινείται κατά μήκος του καταχωρητή μια θέση σε κάθε παλμό ολίσθησης και μεταφέρεται ολισθαίνει ψηφίο-ψηφίο στην έξοδο OUT μετά από n-παλμούς. Ένας PISO καταχωρητής τεσσάρων ψηφίων: 18
Parallel IN/Serial OUT (PISO) PISO εξήγηση: υπάρχουν 4 γραμμές εισόδου D 0,D 1,D 2,D 3 και μια SHIFT/LOAD είσοδος που επιτρέπουν την παράλληλη εισαγωγή στον SRG. Όταν το SHIFT/LOAD είναι 0 ενεργοποιούνται οι πύλες G 1 έως G 4 επιτρέποντας να εφαρμοστούν τα ψηφία στις αντίστοιχες εισόδους (D) των FF. Όταν εφαρμοστεί ο παλμός Ck, τα FF με D=1 θα τοποθετηθούν (SET) και αυτά με D=0 θα μηδενιστούν (RESET) αποθηκεύοντας έτσι 4bit ταυτόχρονα. Όταν το SHIFT/LOAD είναι 1 ενεργοποιούνται οι πύλες G 5 έως G 7 επιτρέποντας την δεξιά ολίσθηση των ψηφίων. Οι πύλες OR επιτρέπουν είτε την λειτουργία ολίσθησης είτε την παράλληλη είσοδο δεδομένων, ανάλογα με ποιες πύλες AND είναι ενεργοποιημένες από την SHIFT/LOAD είσοδο. Το FF0 έχει μια πύλη AND για να απενεργοποιεί την παράλληλη είσοδο D 0. Δεν χρειάζεται AND/OR αφού δεν υπάρχει σειριακή είσοδος. 19
Parallel IN/Parallel OUT (PIPO) PIPO: έχουμε μελετήσει την παράλληλη είσοδο και παράλληλη έξοδο προηγουμένως. Ο PIPO χρησιμοποίει και τις δυο μεθόδους. Η πληροφορία εισάγεται ταυτόχρονα και με την εφαρμογή παλμού εξέρχεται ταυτόχρονα στα σχετικά επίπεδα. 21
Καταχωρητές Άσκηση 8.4: α) Να σχεδιάσετε καταχωρητή PIPO 4 bit με D Flip-Flops αρνητικού ΛΥΣΗ μετώπου, τα οποία θα έχουν εισόδους PRESET και CLEAR. β)τι θα συμβεί όταν η έξοδος του καταχωρητή είναι Q 3 Q 2 Q 1 Q 0 =1111 και έρθει ένας παλμός "0" στην είσοδο CLEAR; γ)τι θα συμβεί αν μετά έρθει ένας παλμός "0" στην είσοδο PRESET; 22
Καταχωρητές Άσκηση 8.4: α) Να σχεδιάσετε καταχωρητή PIPO 4 bit με D Flip-Flops αρνητικού μετώπου, τα οποία θα έχουν εισόδους PRESET και CLEAR. β)τι θα συμβεί όταν η έξοδος του καταχωρητή είναι Q 3 Q 2 Q 1 Q 0 =1111 και έρθει ένας παλμός "0" στην είσοδο CLEAR; γ)τι θα συμβεί αν μετά έρθει ένας παλμός "0" στην είσοδο PRESET; ΛΥΣΗ β) Όταν στην ασύγχρονη είσοδο CLEAR εφαρμοστεί ένας παλμός "0", τότε όλες οι έξοδοι, ανεξάρτητα από την τιμή που είχανε και χωρίς παλμό ρολογιού θα γίνουν όλες LOW, δηλαδή Q 3 Q 2 Q 1 Q 0 =0000. γ) Όταν στην ασύγχρονη είσοδο PRESET εφαρμοστεί ένας παλμός "0", τότε όλες οι έξοδοι, ανεξάρτητα από την τιμή που είχανε και χωρίς παλμό ρολογιού θα γίνουν όλες HIGH, δηλαδή Q 3 Q 2 Q 1 Q 0 =1111. 23
Αμφίδρομοι καταχωρητές μετατόπισης Bidirectional Shift Registers: στους αμφίδρομους καταχωρητές τα δεδομένα μπορούν να ολισθαίνουν αριστερά ή δεξιά. Υλοποιείται με βοήθεια πυλών που ενεργοποιούν τη μεταφορά προς αριστερά ή δεξιά. 24
Αμφίδρομοι καταχωρητές μετατόπισης Bidirectional Shift Registers εξήγηση: όταν RIGHT/LEFT είναι 1 ενεργοποιούνται οι πύλες G 1 έως G 4 και οι έξοδοι Q κάθε FF περνάνε στο επόμενο FF επιτρέποντας να εφαρμοστούν τα ψηφία στις αντίστοιχες εισόδους (D) των FF. Όταν εφαρμοστεί ο παλμός Ck, τα ψηφία ολισθαίνουν μια θέση δεξιά. Όταν το RIGHT/LEFT είναι 0 ενεργοποιούνται οι πύλες G 5 έως G 8 και η έξοδος Q κάθε FF περνά στην είσοδο D του προηγούμενου FF. Όταν εφαρμοστεί ο παλμός Ck, τα ψηφία ολισθαίνουν μια θέση αριστερά. 25
Αμφίδρομοι καταχωρητές μετατόπισης Bidirectional Shift Registers παράδειγμα: Ποια θα είναι η κατάσταση του αμφίδρομου καταχωρητή ολίσθησης μετά από κάθε παλμό ρολογιού για το δεδομένο έλεγχο του RIGHT/LEFT. Υποθέτουμε ότι Q 0 =1, Q 1 =1, Q 2 =0, Q 3 =1, και η σειριακή είσοδος στο LOW. 26
Αναφορές 1. Φανουράκης Κ., Πάτσης Γ., Τσακιρίδης Ο., Θεωρία και Ασκήσεις Ψηφιακών Ηλεκτρονικών, ΜΑΡΙΑ ΠΑΡΙΚΟΥ & ΣΙΑ ΕΠΕ, 2016. [59382199] 2. Floyd Thomas L., Ψηφιακά ηλεκτρονικά, ΣΤΕΛΛΑ ΠΑΡΙΚΟΥ & ΣΙΑ ΟΕ, 2007. [14795] 3. Φανουράκης Κ., Πάτσης Γ., Τσακιρίδης Ο., Σημειώσεις Θεωρίας, Ψηφιακών Ηλεκτρονικών, 2014. 30