Καταχωρητής ολίσθησης: Διαφορά μεταξύ των αναθεωρήσεων

Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
Stelios21r (συζήτηση | συνεισφορές)
Επιμέλεια
Γραμμή 1:
Στα ψηφιακά κυκλώματα, ένας '''καταχωρητής ολίσθησης''' είναι μία αλληλουχία από [[δισταθής πολυδονητής|δισταθείς πολυδονητές]] (flip-flop) που μοιράζονται το ίδιο [[Ψηφιακό σήμα|ρολόι χρονισμού]]. Η έξοδος του κάθε [[δισταθής πολυδονητής|δισταθούς πολυδονητή]] συνδέεται στην είσοδο του επόμενου στην ακολουθία αυτή. Το [[κύκλωμα]] που προκύπτει, μετατοπίζει κατά μία θέση, σε κάθε [[Ψηφιακό σήμα|παλμό ρολογιού]], την ακολουθία από [[Bit|μπιτ (binary digits ή δυαδικά ψηφία,bits)]] που αποθηκεύτηκε αρχικά στους αντίστοιχους [[δισταθής πολυδονητής|δισταθείς πολυδονητές]] της αλυσίδας αυτής.<ref name=":0">{{Cite web|url = https://www.okoutris.gr/%CE%98%CE%AD%CE%BC%CE%B1%CF%84%CE%B1%20-%20%CE%A3%CE%B7%CE%BC%CE%B5%CE%B9%CF%8E%CF%83%CE%B5%CE%B9%CF%82/%CE%9A%CE%B1%CF%84%CE%B5%CF%8D%CE%B8%CF%85%CE%BD%CF%83%CE%B7%CF%82/%CE%97%CE%BB%CE%B5%CE%BA%CF%84%CF%81%CE%BF%CE%BD%CE%B9%CE%BA%CE%AE%20%CE%BA%CE%B1%CE%B9%20%CE%A4%CE%B7%CE%BB%CE%B5%CF%80%CE%B9%CE%BA%CE%BF%CE%B9%CE%BD%CF%89%CE%BD%CE%AF%CE%B5%CF%82/%CE%A8%CE%B7%CF%86%CE%B9%CE%B1%CE%BA%CE%AC%20%CE%A3%CF%85%CF%83%CF%84%CE%AE%CE%BC%CE%B1%CF%84%CE%B1/%CE%9D%CE%B9%CE%BA%CE%BF%CE%BB%CE%B1%CE%AF%CE%B4%CE%B7%CF%82%20PPT/kef_6.ppt|title = Καταχωρητές|date = |accessdate = 2016-01-31/1/2016|website = |publisher = |last = |first = }}{{Dead link|date=Οκτώβριος 2019 }}</ref><ref name=":1">{{Cite web|url = http://elnsite.teilam.gr/ebooks/digital_design/slides/course%2012%20%5BCompatibility%20Mode%5D.pdf|title = Καταχωρητές|date = |accessdate = 2016-01-31/1/2016|website = |publisher = |last = ΑΣΗΜΑΚΗΣ-ΒΟΥΡΒΟΥΛΑΚΗΣ-ΚΑΚΑΡΟΥΝΤΑΣ-ΛΕΛΙΓΚΟΥ|first = }}</ref><ref name=":2">{{Cite web|url = http://www.cs.uoi.gr/~kabousia/pdf/LogicDesignI/Th4_RegistersCounters.pdf|title = Καταχωρητές και Μετρητές|date = |accessdate = 2016-01-31/1/2016|website = |publisher = |last = Καβουσιανός|first = }}</ref><ref name=":3">{{Cite web|url = http://meleththrio.teicm.gr/xmlui/bitstream/handle/123456789/29/Digital_circuits_lab8.pdf;jsessionid=9F2E59E2D5F8FB16A34D758BB4B69C38?sequence=8|title = ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 8 ΣΤΟΙΧΕΙΑ ΜΝΗΜΗΣ – ΚΑΤΑΧΩΡΗΤΕΣ|date = |accessdate = 2016-01-31/1/2016|website = |publisher = |last = |first = }}</ref>
 
== Κατηγορίες ==
 
=== Είσοδοι-Έξοδοι ===
Οι πλέον συνήθεις υλοποιήσεις ,σε σχέση με τις εισόδους και τις εξόδους δεδομένων είναι οι αυτές που έχουν :
Γραμμή 8 ⟶ 7 :
* ''Σειριακή'' Είσοδο-''Παράλληλη'' Έξοδο ('''''ΣΕΠΕ''''') (Αγγλ. ''Serial In-Parallel Out ('''SIPO''')'')
* ''Παράλληλη'' Είσοδο-''Παράλληλη'' Έξοδο ('''''ΠΕΠΕ''''') (Αγγλ. ''Parallel In-Parallel Out ('''PIPO''')'')
* ''Παράλληλη'' Είσοδο-''Σειριακή''  Έξοδο ('''''ΠΕΣΕ''''') (Αγγλ. ''Parallel In-Serial Out ''''PISO''')'')<ref name=":4">{{Cite web|url = http://dsmc2.eap.gr/files/pdf/eOSS190110/OSS2-Part4of4.pdf|title = ΚΑΤΑΧΩΡΗΤΕΣ|date = 2009|accessdate = 31/1/2016-01-31|website = |publisher = Ελληνικό Ανοικτό Πανεπιστήμιο|last = Σκόδρας|first = }}</ref><ref name=":3" /><ref name=":1" />
Στα ψηφιακά κυκλώματα λέμε ότι λειτουργούν ''σειριακά'', όταν σε κάθε παλμό ρολογιού το [[Ηλεκτρικό κύκλωμα|κύκλωμα]] επεξεργάζεται ένα μόνο μπιτ .Όταν τα κυκλώματα λειτουργούν ''παράλληλα'', τότε σε κάθε παλμό ρολογιού επεξεργάζονται και διαχειρίζονται ταυτόχρονα [[Byte|ομάδες από μπιτ]].<ref name=":0" /><ref name=":2" />
 
Γραμμή 17 ⟶ 16 :
Ένας απλός και τυπικός εκπρόσωπος των καταχωρητών ολίσθησης είναι αυτός που υλοποιείται από [[δισταθής πολυδονητής#Δισταθής Πολυδονητής τύπου D|δισταθείς πολυδονητές]] (flip-flop) τύπου D. Την περίπτωση ενός καταχωρητή ολίσθησης ''Σειριακής'' εισόδου - ''Παράλληλης'' εξόδου ('''ΣΕΠΕ''' ή '''SIPO''') βλέπουμε στην εικόνα που ακολουθεί. Στην προσομοίωση λειτουργίας του 4-bit καταχωρητή ολίσθησης,όπως φαίνεται ακολούθως ,το μπιτ εισόδου ολισθαίνει προς τα δεξιά κατά μία θέση σε κάθε παλμό του ρολογιού χρονισμού.<ref name=":4" /><ref name=":3" /><ref name=":2" />
 
Τα δεδομένα εισόδου περνούν από την κάθε έισοδο 'D' του κάθε [[δισταθής πολυδονητής|δισταθούς πολυδονητή]], στην έξοδό του 'Q', κατά την άνοδο (από 0 σε 1),ή την κάθοδο (από 1 σε 0) του παλμού, του ρολογιού χρονισμού . Αυτό γίνεται για να μην αλλάζει η έξοδος 'Q' ,αν τύχει και αλλάξει η είσοδος 'D' ,ενώ το ρολόι βρίσκεται στην κατάσταση '1' .Αυτό εξασφαλίζει στο κύκλωμα, ότι δεν θα υπάρχουν πολλαπλές καιταυτόχρονα ανεπιθύμητες αλλαγές κατάστασης στην έξοδο σε ένα παλμό ρολογιού.Η διέγερση κατά την άνοδο του παλμού ονομάζεται 'διέγερση θετικής ακμής' ενώ κατά την κάθοδο 'διέγερση αρνητικής ακμής'.<ref name=":2" /><ref name=":5" /><ref>{{Cite web|url = http://www.lib.ntua.gr/gr/el_sources/ebooks/kagiafas/CHAPTER9.pdf|title = Κεφάλαιο 9 Flip Flop|date = |accessdate = 1/2/2016-02-01|website = |publisher = |last = Καγιάφας|first = }}</ref><ref>{{Cite web|url = https://www.ceid.upatras.gr/webpages/faculty/alexiou/dig_design/notes/6_Sygxrova_AkolouQiaka.pdf|title = 6η ενότητα:Σύγχρονα ακολουθιακά κυκλώματα|date = |accessdate = 1/2/2016-02-01|website = |publisher = |last = Αλεξίου|first = }}</ref>
 
[[Αρχείο:SIPO_animated_el.gif|centre|frame|<center>4 bit ΣΕΠΕ (SIPO) καταχωρητής ολίσθησης με δισταθή πολυδονητή (flip-flop) τύπου D</center>]]
Γραμμή 26 ⟶ 25 :
Πολλαπλοί αμφίδρομοι καταχωρητές ολίσθησης μπορούν να συνδεθούν παράλληλα για την υλοποίηση της λειτουργίας του [[σωρός|σωρού (stack)]] σε επίπεδο υλικού.
 
Γενικά, η υλοποίηση σειριακών κυκλωμάτων, είναι ευκολότερη γιατί χρειάζονται λιγότερα κυκλώματα αλλά μειονεκτούν στην ταχύτητα<ref name=":0" /> . Όμως οι επεξεργαστές και τα κυκλώματα των ψηφιακών υπολογιστών επεξεργάζονται [[Byte|ομάδες δυαδικών ψηφίων]], οπότε χρησιμοποιούμε τους καταχωρητές ολίσθησης για τη μετατροπή, των δυαδικών ψηφίων από σειριακά σε παράλληλα και το αντίστροφο.Οι καταχωρητές ολίσθησης, υλοποιούν την κατάλληλη διεπαφή υλικού για μετατροπή των [[Bit|bits]] σε [[Byte|bytes]] και αντίστροφα.<ref>{{Cite web|title = Serial-in, Parallel-out Shift Register : Shift Registers - Electronics Textbook|url = http://www.allaboutcircuits.com/textbook/digital/chpt-12/serial-in-parallel-out-shift-register/|website = www.allaboutcircuits.com |accessdate = 2016-01-31}}</ref><ref name=":5">{{Cite web|url = https://www.fairchildsemi.com/datasheets/74/74VHC164.pdf|title = 74VHC164 — 8-Bit Serial-In, Parallel-Out Shift Register|date = February 2008 |accessdate = 31/1/2016-01-31 |website = www.fairchildsemi.com |publisher = ©1993 Fairchild Semiconductor Corporation 74VHC164 Rev. 1.4.0|last = |first = |archiveurl = https://web.archive.org/web/20170311231245/https://www.fairchildsemi.com/datasheets/74/74VHC164.pdf |archivedate = 2017-03-11 |url-status = dead}}</ref><ref>{{Cite web|url = https://www.nxp.com/documents/data_sheet/74HC_HCT595.pdf |title = 74HC595; 74HCT595 8-bit serial-in, serial or paraparallel-out shift register with output latches; 3-state |date = 2015-01-26 |accessdate = 2016-01-31 |publisher = NXP semiconductors |archiveurl = https://web.archive.org/web/20160208143532/http://www.nxp.com/documents/data_sheet/74HC_HCT595.pdf |archivedate = 2016-02-08 |url-status = dead}}</ref><ref>{{Cite web|url = http://www.nxp.com/documents/data_sheet/74LV165A.pdf |title = 74LV165A 8-bit parallel-in/serial-out shift register |date = 2014-03-28 |accessdate = 2016-01-31 |publisher = NXP semiconductors |archiveurl = https://web.archive.org/web/20151122233854/http://www.nxp.com/documents/data_sheet/74LV165A.pdf |archivedate = 2015-11-22 |url-status = dead}}</ref>
llel-out shift register with output latches; 3-state|date = 26 January 2015 - Rev. 7|accessdate = 31/1/2016|website = |publisher = NXP semiconductors|last = |first = |archiveurl = https://web.archive.org/web/20160208143532/http://www.nxp.com/documents/data_sheet/74HC_HCT595.pdf|archivedate = 2016-02-08|url-status = dead}}</ref><ref>{{Cite web|url = http://www.nxp.com/documents/data_sheet/74LV165A.pdf|title = 74LV165A 8-bit parallel-in/serial-out shift register|date = 28 March 2014 - rev.4|accessdate = 31/1/2016|website = |publisher = NXP semiconductors|last = |first = |archiveurl = https://web.archive.org/web/20151122233854/http://www.nxp.com/documents/data_sheet/74LV165A.pdf|archivedate = 2015-11-22|url-status = dead}}</ref>
 
Οι ΣΕΠΕ (SIPO) καταχωρητές ολίσθησης χρησιμοποιούνται συνήθως στους ακροδέκτες εξόδου των μικροεπεξεργαστών ή των μικροελεγκτών όπου χρειαζόμαστε περισσότερους ακροδέκτες (pins) γενικής χρήσεως από όσους μπορούμε να έχουμε. Αντίστοιχα οι ΠΕΣΕ (PISO) καταχωρητές ολίσθησης χρησιμοποιούνται ευρέως για να παρέχουν αυξημένες δυαδικές εισόδους στον επεξεργαστή ή στο μικροελεγκτή.<ref>{{Cite web|url = https://books.google.gr/books?id=vmucq8Ki8sgC&pg=PA43&lpg=PA43&dq=PISO+SIPO+in+8051&source=bl&ots=x5yJXdIens&sig=MzDSddSpDJ_-qydpdKoisKKYvto&hl=el&sa=X&ved=0ahUKEwiyrenbmtXKAhWKBywKHYUUDJUQ6AEIJjAA#v=onepage&q=PISO%20SIPO%20in%208051&f=false |title = 8051-compliant Asynchronous Microcontroller Core Design, Fabrication, and testing for extreme enviroment |dateyear = 2008 |accessdate = 2016-01-31/1/2016|website = |publisher = PRO QUEST LLC|last = |first = }}{{Dead link|date=Οκτώβριος 2019 }}</ref><ref>{{Cite web|url = http://www.atmel.com/Images/doc3621.pdf |title = AT89LP216 |dateyear = 2008 |accessdate = 2016-01-31/1/2016|website = |publisher = ATMEL|last = |first = }}</ref><ref>{{Cite web|url = http://www.st.com/web/en/resource/technical/document/application_note/CD00165404.pdf |title = AN2591 Application note Microcontroller input / output expander |date =Αύγουστος August2007 2007|accessdate = 2016-01-31/1/2016|website = |publisher = ST Microelectronics|last = |first = }}</ref>
 
Από τους πρώτους ψηφιακούς υπολογιστές οι καταχωρητές ολίσθησης χρησιμοποιήθηκαν ήδη και για την επεξεργασία των δεδομένων, όπως για την άθροιση δύο αριθμών, όπου οι προς άθροιση αριθμοί από τους καταχωρητές ολίσθησης επεξεργάζονταν στην [[Αριθμητική και Λογική Μονάδα]] και το αποτέλεσμα επέστρεφε στην είσοδο του ενός καταχωρητή, ο οποίος είχε και ένα δυαδικό ψηφίο περισσότερο, για την περίπτωση που από το άθροισμα θα προέκυπτε κρατούμενο.<ref name=":0" /><ref name=":2" /><ref name=":4" />
 
Στις σύγχρονες γλώσσες προγραμματισμού υπάρχουν εντολές που ολισθαίνουν το αριθμητικό περιεχόμενο ενός καταχωρητή κατά μία θέση δεξιά ή αριστερά, επιτυγχάνοντας έτσι τη διαίρεση διά δύο ή τον πολλαπλασιασμό επί δύο αντίστοιχα του αριθμού αυτού.<ref>{{Cite web|url = https://eclass.teiath.gr/modules/document/file.php/EE131/%CE%98%CE%95%CE%A9%CE%A1%CE%99%CE%91/03.%CE%A0%CF%81%CE%AC%CE%BE%CE%B5%CE%B9%CF%82.%CE%94%CF%85%CE%B1%CE%B4%CE%B9%CE%BA%CF%8E%CE%BD.%CE%91%CF%81%CE%B9%CE%B8%CE%BC%CF%8E%CE%BD.pdf |title = Πράξεις δυαδικών αριθμών|date = |accessdate = 2016-01-31/1/2016|website = |publisher = |last = |first = }}</ref><ref>{{Cite web|url = http://aetos.it.teithe.gr/~dima/Labs/Assembly/Slides/LAB_8_2.pdf |title = ΛΟΓΙΚΗ/ΑΡΙΘΜΗΤΙΚΗ ΟΛΙΣΘΗΣΗ|date = |accessdate = 2016-01-31/1/2016|website = |publisher = |last = |first = }}</ref>
 
== Πηγές ==