桶式移位器(barrel shifter)是一种数字电路,可以在一个时脉周期内,将资料字进行特定比特数的移位。桶式移位器可以用一串的数据选择器实现,某一个数据选择器的输出是其他数据选择器的输入,其关系则视要位移的比特数而定。
例如,以一个四比特的桶式移位器为例,一开始的输入是A, B, C及D,桶式移位器可以由输入得到、或,所有比特的信息都会留下来,只是位置以循环组合的方式改变,桶式移位器有许多不同的应用,是微处理器中的一个重要成分。
桶式移位器可以用平行的2×1数据选择器的组合而成。对于8位的桶式移位器,需要二个中间的信号,分别表示位移四比特、二比特或是不位移,这是依S和S的值而定,信号会再经过数据选择器位移一比特,这是由S控制。
int1 = IN , if S == 0 = IN << 4, if S == 1 int2 = int1 , if S == 0 = int1 << 2, if S == 1 OUT = int2 , if S == 0 = int2 << 1, if S == 1
较大的桶式移位器会有更多的中间信号。
比特资料的桶式移位器,需要的数据选择器数量为个时脉周期。
本条目部分或全部内容出自以GFDL授权发布的《自由在线电脑词典》(FOLDOC)。