You are on page 1of 17

Shift Registers

Registers 1.1

Registers
Registers are common sequential devices.
Theyre a good example of sequential analysis and design. They are also frequently used in building larger sequential circuits.

Registers hold larger quantities of data than individual flip-flops.


Registers are central to the design of modern processors. There are many different kinds of registers. Some applications of these special registers.

Benefits of registers
Flip-flops are limited because they can store only one bit.
Two flip-flops are used for two-bit counters. Most computers work with integers and single-precision floating-point numbers that are 32-bits long.

A register is an extension of a flip-flop that can store multiple bits. Registers are commonly used as temporary storage in a processor.
They are faster and more convenient than main memory. More registers can help speed up complex calculations.

Shift Register Applications


Shift Registers are an important Flip-Flop configuration with a wide range of applications, including:
Computer and Data Communications Serial and Parallel Communications Multi-bit number storage Sequencing Basic arithmetic such as scaling (a serial shift to the left or right will change the value of a binary number a power of 2) Logical operations

Registers 1.4

Parallel versus Serial


Serial communications: provides a binary number as a sequence of binary digits, one after another, through one data line.

Parallel communications: provides a binary number as binary digits through multiple data lines at the same time.

Registers 1.5

Shift Registers
Shift Registers are devices that store and move data bits in serial (to the left or the right),

..or in parallel,

..or a combination of serial and parallel.

Registers 1.6

Configuration

In Shift Registers, the binary digit transfers (shifts) from the output of one flip-flop to the input of the next individual Flip-Flop at every clock edge. Once the binary digits are shifted in, the individual Flip-Flops will each retain a bit, and the whole configuration will retain a binary number.

Registers 1.7

Construction
Shift registers are constructed from flip-flops due to their characteristics:
Edge-triggered devices Output state retention

Each Flip-Flop in a shift register can retain one binary digit.


For instance, if a 5-bit binary number needs to be stored and shifted, 5 flip-flops are required.

Each binary digit transfer operation requires a clock edge. Asynchronous inputs are useful in resetting the whole configuration.

Registers 1.8

Shift Register Construction


Shift registers are comprised of D Flip-Flops that share a common clock input.

D Q Q

D Q Q

D Q Q

Registers 1.9

Combinations of Data Transfer Methods


SISO: Serial In, Serial Out
10110 10110 10110

SIPO: Serial In, Parallel Out 10110


10110

PISO: Parallel In, Serial Out

10110 10110

PIPO: Parallel In, Parallel Out


10110 How many clock edges are required for each operation?
Registers 1.10

SISO Flip-Flop Shift Register


a Serial In Serial Out shift register has a single input and a single output

Input

D Q Q

D Q Q

D Q Q

Output

Registers 1.11

SIPO Flip-Flop Shift Register


a Serial In Parallel Out shift register has a single input and access to all outputs

Output

Output

Output

Input

D Q Q

D Q Q

D Q Q

Registers 1.12

PISO Flip-Flop Shift Register


a Parallel In Serial Out shift register requires additional gates, and the parallel input must revert to logic low.

Input

Input

Input Output
D Q Q

D Q Q

D Q Q

Registers 1.13

PIPO Flip-Flop Shift Register


a Parallel In Parallel Out register has the simplest configuration. It represents a memory device.

Input
D Q Q

Input
D Q Q

Input
D Q Q

Output

Output

Output
Registers 1.14

Universal Shift Registers


Universal Shift Registers can be configured to operate in a variety of modes. For instance, they can be configured to have either Serial or Parallel Input/Output. Internally use steering gates to determine:
Serial input/output direction Parallel input (load) Hold

Refer to the manufacturer specification sheets for more information.


Registers 1.15

Serial data transfer


One application of shift registers is converting between serial data and parallel data. Computers typically work with multiple-bit quantities.
ASCII text characters are 8 bits long. Integers, single-precision floating-point numbers, and screen pixels are up to 32 bits long.

But sometimes its necessary to send or receive data serially, or one bit at a time. Some examples include:
Input devices such as keyboards and mice. Output devices like printers. Any serial port, USB or Firewire device transfers data serially. Recent switch from Parallel ATA (Advanced Technology Attachment) to Serial ATA in hard drives thin wires help air cooling...
16

Registers summary
A register is a special state machine that stores multiple bits of data. Several variations are possible: Parallel loading to store data into the register. Shifting the register contents either left or right. Counters are considered a type of register too! One application of shift registers is converting between serial and parallel data. Most programs need more storage space than registers provide. Well introduce RAM to address this problem. Registers are a central part of modern processors.

17

You might also like