Shifting is useful in programming, sliding bits to the left or right with the "<<" or ">>" operators. But it takes a lot of hardware to do this efficiently. Older x86 processors could only shift one position at a time, looping to shift multiple positions. The 386 fixed this. 2/11
A barrel shifter uses a matrix of switches to select where each input bit ends up, as this Wikipedia diagram shows. Each diagonal control line selects a particular shift amount. But for a 32-bit processor, the matrix becomes very large. 3/11