移位寄存器
维基百科,自由的 encyclopedia
在数字电路中,移位寄存器(英语:shift register)是一种在若干相同时间脉冲下[1]工作的以触发器级联为基础[2]的器件,每个触发器的输出接在触发器链的下一级触发器的“数据”输入端,使得电路在每个时间脉冲内依次向左或右移动一个比特,[1]在输出端进行输出。这种移位寄存器是一维的,事实上还有多维的移位寄存器,即输入、输出的数据本身就是一些列位。实现这种多维移位寄存器的方法可以是将几个具有相同位数的移位寄存器并联起来。
移位寄存器的输入、输出都可以是并行或串行的。它们经常被配置成串入并出(serial-in, parallel-out, SIPO)的形式或并入串出(parallel-in, serial-out, PISO),这样就可以实现并行数据和串行数据的转换。当然,也有输入、输出同时为串行或并行的情况。[1]此外,还有一些移位寄存器为双向的,也就是说它允许数据来回传输,输入端同时可以作为输出端,输出端同时也可以作为输入端。如果把移位寄存器的串行输入端,和并行输出端的最后一位连接起来,还可以构成循环移位寄存器(circular shift register),用来实现循环计数功能。[3]