Κεφ. 7 Καταχωρητές – Θεωρία
7.2 ΚΑΤΑΧΩΡΗΤΕΣ
Ένας καταχωρητής (register) είναι ένα κύκλωμα που χρησιμοποιείται για την αποθήκευση πληροφοριών. Στο σχήμα φαίνεται ένας καταχωρητής των 4 bits, ο οποίος αποτελείται από τέσσερα D flip flops.

H είσοδος ρολογιού είναι κοινή για όλα τα D flip-flops, με αποτέλεσμα τα δεδομένα που βρίσκονται στις εισόδους D0, D1, D2, D3 να μεταφέρονται στα τέσσερα flip-flops του καταχωρητή ταυτόχρονα με το αρνητικό μέτωπο του ρολογιού. Οι τέσσερις έξοδοι Q0, Q1 , Q2, Q3 των flip-flops, αποτελούν τις εξόδους του καταχωρητή, τις οποίες μπορούμε να χρησιμοποιήσουμε για να οδηγήσουμε κάποιο άλλο κύκλωμα.
7.3 ΚΑΤΑΧΩΡΗΤΕΣ ΟΛΙΣΘΗΣΗΣ
Ο καταχωρητής ολίσθησης (shift register) είναι ένας καταχωρητής στον οποίο η έξοδος του κάθε flip-flop τροφοδοτεί την είσοδο του γειτονικού του. Ένας καταχωρητής ολίσθησης ολισθαίνει τα δεδομένα του από το ένα flip-flop στο γειτονικό του με κάθε παλμό του κοινού ρολογιού του.
Ανάλογα με τον τρόπο τοποθέτησης των δεδομένων εισόδου και τον τρόπο εξόδου των περιεχομένων ενός καταχωρητή ολίσθησης μπορούμε να τους κατατάξουμε σε τέσσερις βασικούς:
- Σειριακής εισόδου – σειριακής εξόδου (serial–in, serial–out SISO)
- Σειριακής εισόδου – παράλληλης εξόδου (serial–in, parallel–out SIPO)
- Παράλληλης εισόδου – παράλληλης εξόδου (parallel–in, parallel–out ΡΙΡΟ)
- Παράλληλης εισόδου – σειριακής εξόδου (parallel–in, serial–out PlSO)
Ανάλογα με την κατεύθυνση της ολίσθησης θα ονομάζεται καταχωρητής δεξιάς ολίσθησης (right register) αν ολισθαίνει τα δεδομένα του προς τα δεξιά και καταχωρητής αριστερής ολίσθησης (left Shift register) αν ολισθαίνει τα δεδομένα του προς τα αριστερά.
Αν η έξοδος του τελευταίου flip-flop είναι συνδεδεμένη στην είσοδο του πρώτου τότε έχουμε ένα καταχωρητή κυκλικής ολίσθησης.
7.3.1 Καταχωρητής ολίσθησης σειριακής εισόδου – σειριακής εξόδου SISO
Στον καταχωρητή ολίσθησης σειριακής εισόδου-σειριακής εξόδου (serial-in, serial-out SlSO) τα δεδομένα τοποθετούνται σειριακά (διαδοχικά) το ένα bit μετά το άλλο στην είσοδο και εξέρχονται σειριακά (διαδοχικά) από την έξοδό του.
Η είσοδος δεδομένων του πρώτου από αριστερά flip-flop αποτελεί τη σειριακή είσοδο των δεδομένων του καταχωρητή, ενώ η έξοδος του τελευταίου flip-flop αποτελεί τη σειριακή έξοδο των δεδομένων του καταχωρητή ολίσθησης.


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

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

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

7.3.2 Καταχωρητής ολίσθησης σειριακής εισόδου – παράλληλης εξόδου SlPO
Στον καταχωρητή ολίσθησης σειριακής εισόδου – παράλληλης εξόδου (serial-in, parallel-out SIPO) τα δεδομένα τοποθετούνται σειριακά (διαδοχικά) το ένα bit μετά το άλλο στην είσοδο και εξέρχονται παράλληλα (ταυτόχρονα) από τις εξόδους του.



Η πιο συνηθισμένη εφαρμογή των καταχωρητών ολίσθησης SIPO είναι στη μεταφορά δεδομένων σειριακά για τη μετατροπή των δεδομένων από τη σειριακή μορφή στην παράλληλη μορφή.
Καταχωρητής SlPO κυκλικής ολίσθησης
Στο παρακάτω σχήμα φαίνεται το διάγραμμα λειτουργίας ενός καταχωρητή SIPO κυκλικής ολίσθησης των τεσσάρων bits, όπου η έξοδος του τελευταίου flip-flop τροφοδοτεί την σειριακή είσοδο του καταχωρητή.


Η φόρτωση του κυκλικού καταχωρητή μπορεί να γίνει όπως γίνεται στο καταχωρητή SIPO πριν την σύνδεση της σειριακής εισόδου του με την έξοδο του τελευταίου flip-flop, μετά από την οποία η αποθηκευμένη πληροφορία αρχίζει να ολισθαίνει κυκλικά με κάθε παλμό του ρολογιού.
7.3.3 Καταχωρητής ολίσθησης παράλληλης εισόδου – σειριακής εξόδου PISO
Στον καταχωρητή ολίσθησης παράλληλης εισόδου-σειριακής εξόδου (Parallel-in, serial-out PISO), τα δεδομένα τοποθετούνται παράλληλα (ταυτόχρονα) στις εισόδους του και εξέρχονται σειριακά (διαδοχικά) το ένα bit μετά το άλλο από την έξοδό του.

Η φόρτωση των δεδομένων γίνεται σύγχρονα ή ασύγχρονα.
- Στην σύγχρονη παράλληλη φόρτωση τα δεδομένα που εφαρμόζονται στις παράλληλες εισόδους φορτώνονται στον καταχωρητή με την εφαρμογή παλμού στην είσοδο του ρολογιού.
- Στην ασύγχρονη παράλληλη φόρτωση η πληροφορία που υπάρχει στις παράλληλες εισόδους μεταφέρεται στον καταχωρητή ανεξάρτητα από την ύπαρξη παλμών στην είσοδο του ρολογιού του.
Η πιο συνηθισμένη εφαρμογή των καταχωρητών ολίσθησης PISO είναι στην μεταφορά δεδομένων σειριακά για την μετατροπή των δεδομένων από την παράλληλη μορφή στην σειριακή μορφή.
7.3.4 Καταχωρητής ολίσθησης παράλληλης εισόδου – παράλληλης εξόδου ΡΙΡΟ
Στον καταχωρητή ολίσθησης παράλληλης εισόδου-παράλληλης εξόδου (Parallel-in, parallel-out ΡΙ ΡΟ), τα δεδομένα τοποθετούνται παράλληλα (ταυτόχρονα) στις εισόδους του και εξέρχονται παράλληλα στις εξόδους του. Η φόρτωση των δεδομένων γίνεται σύγχρονα ή ασύγχρονα όπως και στον καταχωρητή PlSO.
Στο παρακάτω σχήμα φαίνεται το σχηματικό διάγραμμα ενός καταχωρητή ολίσθησης ΡΙΡΟ των τεσσάρων bits. Για παράδειγμα, αν αποθηκευτεί η πληροφορία 0011 στον καταχωρητή (δίνοντας ταυτόχρονα τα bits της πληροφορίας στις παράλληλες εισόδους), τότε με τον επόμενο παλμό του ρολογιού τα bits της πληροφορίας εμφανίζονται ταυτόχρονα στις εξόδους του καταχωρητή.

Οι πιο συνηθισμένες εφαρμογές των καταχωρητών ολίσθησης PIPO είναι στη μεταφορά πληροφορίας μεταξύ ψηφιακών συστημάτων και στην πραγματοποίηση αριθμητικών πράξεων με δυαδικούς αριθμούς.
