什么是移位寄存器:
移位寄存器是一種時序邏輯電路,能夠存儲和傳輸數據。它們由觸發器組成,這些觸發器的連接方式使得一個觸發器的輸出可以作為另一個觸發器的輸入,具體取決于所創建的移位寄存器的類型。
移位寄存器基本上是一種能夠傳輸(“移位”)數據的寄存器。寄存器通常是存儲設備,它們是通過將特定數量的觸發器串聯在一起而創建的,并且寄存器可以存儲的數據量(位數)始終與觸發器的數量成正比,因為每個觸發器一次只能存儲一個bit。當寄存器中的觸發器以這樣的方式連接時,一個觸發器的輸出成為另一個觸發器的輸入,就會創建一個移位寄存器。
觸發器是具有類似于閂鎖操作的設備,被稱為雙穩態電路,有兩個穩定的狀態,即0或1,并且能夠以bit為單位存儲數據。每當D觸發器的時鐘發生變化時(上升沿或下降沿,取決于觸發器的規格)。輸出“Q”處的數據與輸入“D”處的數據相同。觸發器的輸出“Q”將保持在該值,直到下一個時鐘周期,然后它將再次更改為輸入處的值(1或0)。
數字電路中的寄存器類型
移位寄存器主要根據其工作模式(串行或并行)分為幾類。下面列出了幾種基本移位寄存器,盡管其中一些可以根據數據流的方向進一步劃分,右移還是左移。
- 串口輸入—串口移位寄存器 (SISO)
- 串行輸入—并行輸出移位寄存器 (SIPO)
- 并聯輸入—并聯輸出移位寄存器 (PIPO)
- 并聯輸入—串行移位寄存器 (PISO)
- 雙向移位寄存器
1. 串行輸入—串行輸出移位寄存器
串行輸入 – 串行輸出移位寄存器,它以串行方式(每個時鐘周期一位)流式傳入數據,并以相同的方式逐個流出數據。
一個簡單的4位串行輸入 – 串行輸出移位寄存器如上所示,寄存器由4個觸發器組成,其工作原理如下所述;
啟動時,首先復位移位寄存器,所有觸發器的輸出為零,然后將輸入數據串行施加到輸入端,一次一位。
下圖顯示了數據1101如何從串行輸入—并行輸出
第一個周期
第二個周期
第三個周期
第四個周期
2. 串行輸入—并行輸出移位寄存器
這類移位寄存器用于將數據從串行轉換為并行。每個時鐘周期的數據一個接一個地輸入,這意味著當數據被讀入時,每個讀入位在其各自的輸出線上同時輸出(Q0 – Q3,對于如下所示的4位移位寄存器)。4位串行輸入—并行輸出移位寄存器如下圖所示。
下圖顯示了數據1001如何從串行輸入-并行輸出
3. 并行輸入—串行輸出移位寄存器
在并行輸入—串行輸出移位寄存器中,數據是并行輸入的,例如如下所示的4位寄存器。該寄存器可用于存儲和移位4bit數據,WS控制控制移位寄存器的工作模式(寫入/移位)。當WS控制線為低電平(寫入模式)時,數據可以通過D0到D3寫入寄存器。為了連續地將數據移出,WS控制線被置于HIGH(移位模式),然后寄存器在時鐘輸入時將數據移出。
4. 并行輸入—并行輸出移位寄存器
對于并聯輸入– 并聯輸出移位寄存器,并行輸出端的輸出數據在輸入數據輸入時同時出現。當器件計時時,從D0到D3的每個輸入引腳的輸入數據同時輸入,同時,從每個輸入的數據在相應的輸出(從Q0到Q3)處輸出。
5. 雙向移位寄存器
移位寄存器可以執行右移或左移,或兩者,具體取決于移位寄存器的類型及其配置。在右移操作中,二進制數據除以二。反之,則二進制數據將乘以 2。通過適當的組合邏輯,可以將串行移位寄存器配置為執行這兩種操作。
請考慮下圖中的 4 位寄存器。Left /Right用于控制移動方向,向右還是向左。
-
控制器
+關注
關注
113文章
16802瀏覽量
181934 -
二進制
+關注
關注
2文章
803瀏覽量
42012 -
移位寄存器
+關注
關注
3文章
284瀏覽量
22567 -
觸發器
+關注
關注
14文章
2029瀏覽量
61713 -
時序邏輯電路
+關注
關注
2文章
94瀏覽量
16710
發布評論請先 登錄
相關推薦
評論