Skip to content

Registers#

TODO

Shift Registers#

Definition: Shift Register

A shift register is a register capable of shifting the data in each of its cells to the neighboring cell in a specified direction.

Definition: Right Shift Register

A right shift register is a shift register \(SR\) whose bits are shifted from the most significant bit to the least significant bit:

\[ SR[k] \to SR[k-1] \]

Definition: Left Shift Register

A left shift register is a shift register \(SR\) whose bits are shifted from the least significant bit to the most significant bit:

\[ SR[k] \to SR[k+1] \]

Parallel Shift Registers#

We can construct an \(n\)-bit parallel shift register using an \(n\)-bit parallel register \(R\) and a multiplexer.

For a right shift register, the multiplexer essentially selects between the load bus \(L[0], \dotsc, L[n-1]\) and either the bits \(R[1],\dotsc, R[n-1]\). An additional input \(b\) determines what value to assign to the most significant bit \(R[n-1]\) when shifting:

Right Shift Register