Παράλειψη περιήγησης

Καταχωρητής ολίσθησης SISO

SISO

Ο καταχωρητής ολίσθησης (shift register) είναι ένας καταχωρητής στον οποίο η έξοδος του κάθε flip-flop τροφοδοτεί την είσοδο του γειτονικού του. Ένας καταχωρητής ολίσθησης ολισθαίνει τα δεδομένα του από το ένα flip-flop στο γειτονικό του με κάθε παλμό του κοινού ρολογιού του. Ένα παράδειγμα ολίσθησης συναντάμε κατά την πληκτρολόγηση ενός αριθμού τηλεφώνου. Κάθε φορά που πιέζουμε το πλήκτρο ενός αριθμού τα ψηφία του αριθμού στην οθόνη μετακινούνται (ολισθαίνουν) κατά μία θέση προς τα αριστερά.

Ανάλογα με την κατεύθυνση της ολίσθησης θα ονομάζεται καταχωρητής δεξιάς ολίσθησης (right shift register) αν ολισθαίνει τα δεδομένα του προς τα δεξιά και καταχωρητής αριστερής ολίσθησης (left shift register) αν ολισθαίνει τα δεδομένα του προς τα αριστερά. Αν η έξοδος του τελευταίου flip-flop είναι συνδεδεμένη στην είσοδο του πρώτου τότε έχουμε ένα καταχωρητή κυκλικής ολίσθησης.

Στον καταχωρητή ολίσθησης σειριακής εισόδου-σειριακής εξόδου (serial-in serial-out, SISO) τα δεδομένα τοποθετούνται σειριακά (διαδοχικά) το ένα bit μετά το άλλο στην είσοδο και εξέρχονται σειριακά (διαδοχικά) από την έξοδό του. Η τοποθέτηση γίνεται με την εφαρμογή παλμών στην κοινή είσοδο ρολογιού των flip-flops του καταχωρητή ολίσθησης. Χρησιμοποιούμε τόσα flip-flops όσα είναι το μέγεθος (ή μήκος) του καταχωρητή σε bit. Η έξοδος του κάθε flip-flop συνδέεται στην είσοδο του γειτονικού του, ενώ η είσοδος του ρολογιού είναι κοινή για όλα τα flip-flops του καταχωρητή. Η είσοδος δεδομένων του πρώτου από αριστερά flip-flop αποτελεί τη σειριακή είσοδο των δεδομένων του καταχωρητή, ενώ η έξοδος του τελευταίου flip-flop αποτελεί τη σειριακή έξοδο των δεδομένων του καταχωρητή ολίσθησης.

Η διαδικασία της ολίσθησης επαναλαμβάνεται με κάθε παλμό στην είσοδο του ρολογιού. Παρατηρούμε ότι με κάθε παλμό στην είσοδο του ρολογιού η λογική κατάσταση που εφαρμόσαμε στη σειριακή είσοδο θα ολισθαίνει στο γειτονικό προς τα δεξιά flip-flop, ενώ μετά από τέσσερις παλμούς θα εμφανισθεί στην έξοδο του τελευταίου flip-flop του καταχωρητή. Με κάθε παλμό του κοινού ρολογιού εισέρχεται ένα καινούργιο bit πληροφορίας στον καταχωρητή, ενώ όλα τα flip-flops του καταχωρητή μεταφέρουν την πληροφορία που έχουν αποθηκευμένη στο γειτονικό τους flip-flop προς τα δεξιά, με αποτέλεσμα το περισσότερο σημαντικό bit (MSB) του καταχωρητή να αποκτά την τιμή της σειριακής εισόδου ενώ το λιγότερο σημαντικό bit (LSB) του καταχωρητή αποτελεί την σειριακή έξοδο του καταχωρητή.

Με κατάλληλη τροποποίηση του κυκλώματος του καταχωρητή SISO δεξιάς ολίσθησης προκύπτει ένας καταχωρητής SISO αριστερής ολίσθησης. Τα δεδομένα εισέρχονται από το flip flop 0 και η έξοδός τους γίνεται από το flip-flop 3. Η είσοδος της προς αποθήκευση πληροφορίας γίνεται τοποθετώντας πρώτα το MSB.

Άσκηση

α) Να σχεδιάσετε καταχωρητή SISO 4bit με D Flip-Flops αρνητικού μετώπου, τα οποία θα έχουν εισόδους PRESET και CLEAR.

β) Τι θα συμβεί όταν έρθει ένας παλμός "0" στην είσοδο CLEAR;

γ) Αν συνδέσουμε στο HIGH (5V) την είσοδο του καταχωρητή και δώσουμε 4 παλμούς ρολογιού, τότε να συμπληρώσετε το παρακάτω διάγραμμα.

Άσκηση

Ερώτηση

Ένας καταχωρητής SISO αποτελείται από 100 flip flop και η συχνότητα ρολογιού είναι 1KHz. Πόσο καθυστερούν τα δεδομένα για να περάσουν μέσα από αυτό τον σειριακό καταχωρητή;

Απαντήσεις

100 msec

Ανατροφοδότηση

Άσκηση

Ερώτηση

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

Απαντήσεις

0000, 0001, 0011, 0110, 1101

0000, 1000, 0100, 1010, 1101

Ανατροφοδότηση

Μνήμη FIFO με καταχωρητές SISO

Μία χρήσιμη εφαρμογή των SISO καταχωρητών είναι στην κατασκευή μνήμης ειδικού τύπου, η οποία ονομάζεται FIFO (first-in, first-out). Η μνήμη αυτή αποτελείται από ένα αριθμό καταχωρητών στους οποίους μπορούμε να αποθηκεύσουμε δυαδικές πληροφορίες. Αποτελείται από έναν αριθμό Μ καταχωρητών ολίσθησης κάθε ένας από τους οποίους έχει μήκος Ν bits. Υπάρχουν Μ είσοδοι για τα εισερχόμενα δεδομένα και Μ έξοδοι για τα εξερχόμενα. Υπάρχει επίσης μία κοινή είσοδος ρολογιού για όλα τα flip-flops των καταχωρητών ολίσθησης που αποτελούν αυτή τη μνήμη.

Μια μνήμη FIFO των 4 bits με μήκος 5 bits αποτελείται από τέσσερις (Μ=4) καταχωρητές ολίσθησης SISO με μήκος (μέγεθος)
πέντε bits (Ν=5) ο καθένας. Οι κόκκινες γραμμές δείχνουν την κατεύθυνση ολίσθησης των δεδομένων στους SISO  καταχωρητές. Οι είσοδοι ρολογιού των SISO καταχωρητών είναι συνδεδεμένες σε μία κοινή είσοδο η οποία αποτελεί την είσοδο ρολογιού της FIFO μνήμης. Η λειτουργία της μπορεί να περιγραφεί ως εξής: Με κάθε παλμό του ρολογιού το περιεχόμενο του κάθε καταχωρητή ολισθαίνει κατά μία θέση, ενώ τα λιγότερο σημαντικά bits των τεσσάρων καταχωρητών ολίσθησης αποθηκεύουν τα δεδομένα που βρίσκονται στις ψηφιακές εισόδους τους. Οι ψηφιακές έξοδοι των τεσσάρων
καταχωρητών ολίσθησης αποτελούν τις εξόδους της μνήμης FIFO. Με την διαδικασία αυτή, τα δεδομένα που τοποθετούνται στις εισόδους της FIFO θα εμφανισθούν στις εξόδους της μετά από πέντε (Ν=5) παλμούς ρολογιού. Η ονομασία FIFO
αυτής της μνήμης οφείλεται στο ότι από τα δεδομένα τα οποία τοποθετούνται στη μνήμη διαδοχικά αυτό που εισέρχεται πρώτο είναι και αυτό που εξέρχεται πρώτο. Η FIFO μνήμη κατασκευάζεται χρησιμοποιώντας Μ καταχωρητές ολίσθησης SISO
με μέγεθος Ν bits ο καθένας.

Οι μνήμες FIFO χρησιμοποιούνται για την προσωρινή αποθήκευση της πληροφορίας, έτσι ώστε να προσαρμόζονται οι ρυθμοί μεταφοράς ανάμεσα σε δύο ψηφιακά συστήματα κατά τη διακίνηση της πληροφορίας. Ένα αντίστοιχο παράδειγμα από την καθημερινή ζωή μας είναι οι ″ουρές″ που σχηματίζουμε για να εξυπηρετηθούμε, για παράδειγμα σε ένα ταμείο, όπου ο ρυθμός εξυπηρέτησης των πελατών είναι μικρότερος από το ρυθμό με τον οποίο εισέρχονται νέοι πελάτες (όταν το ταμείο είναι ένα ,τότε η FIFO μνήμη είναι ίδια με ένα καταχωρητή ολίσθησης SISO). Φυσικά αυτός που εισέρχεται πρώτος στην ουρά είναι και αυτός που φεύγει (εξυπηρετείται) πρώτος!


(c) Αμπατζόγλου Γιάννης, MSc  Ηλεκτρονικός Μηχανικός, καθηγητής ΠΕ84

Αδειοδοτημένο υπό τους όρους Creative Commons Αναφορά Δημιουργού 4.0

Δημιουργήθηκε με το eXeLearning (Νέο παράθυρο)