移位寄存器一個最普遍的應用,是數據傳輸過程中,串行接口和并行接口的轉換。這在許多并行傳輸一組比特數據的電路中很有用,因為它們常常也使用了在結構上更為簡單的串行接口。移位寄存器可以被用作一個簡單的延遲電路。許多雙向移位寄存器可以在并行傳輸中作為堆棧的硬件實現方式。 串入并出形式的移位寄存器經常與微處理器連接,這樣做的原因主要是需要的引腳數多于微處理器能夠提供的數量。通過使用移位寄存器,可以只依靠兩三個引腳,而被控制設備的控制位分別連接在移位寄存器的并行輸出端。由此,微處理器可以以串行的方式一次寫入這些設備的各個控制位。類似的,并入串出接法的移位寄存器在多個外部設備向微處理器傳輸數據時較為常用,外部設備以并行的方式將數據輸入到移位寄存器里,然后移位寄存器以串行的方式將數據一位一位地輸出給微處理器,這樣,外部設備的大量信息可以通過少數幾條線到達微處理器。 在早期的計算機中,移位寄存器被用來進行數據處理:兩個相加的數被存儲在兩個移位寄存器里,然后它們按照時間脈沖被輸出到算術邏輯單元,結果中多出的一位以反饋的形式重新被輸入到其中一個移位寄存器(累加器)。注意兩個一位二進制數相加的結果只可能是一位(如0+0=0,0+1=1)或者兩位(1+1=10)。 一些計算機語言內置了移位指令,這類指令可以讓二進制數據在寄存器中進行左移或右移操作。左移或右移一位,相當于乘以2或除以2。 一些1970年代早期的設備曾以類似延遲線存儲器的方式用過非常大規模的串入串出移位寄存器,其規模達到上千位。這類存儲器有時被稱為循環存儲器(circulating memory)。例如,DataPoint 3300將其25列、72行的字符顯示數據存儲在54個200位的移位寄存器里,以6個堆棧、每個堆棧9個包的形式排列,提供了1800個6位字符的存儲能力。 |
電工學習網 ( )
GMT+8, 2021-12-6 21:03