Registers

Multi-bit data storage using groups of D flip-flops with parallel load and bus interfaces.

A register is a group of flip-flops (usually D type) that stores a multi-bit value. Registers are the fastest storage in a computer, holding data for immediate processing by the ALU. They can load data in parallel, hold it indefinitely, and output it to a bus through tri-state buffers.

Objectives

  • Build an N-bit register from D flip-flops
  • Add parallel load enable to control when data is captured
  • Understand tri-state outputs for bus connection
  • Use 74HC374 and 74HC574 octal registers

Key Takeaways

  • Register = group of D flip-flops with common clock for multi-bit storage
  • Load enable controls when new data is captured vs. holding current data
  • Tri-state outputs allow bus sharing - only one register drives at a time
  • 74HC374/574: 8-bit registers with tri-state outputs (the workhorses of bus-based systems)
  • Registers are the fastest storage in a processor (sub-nanosecond access)

Applications

  • CPU Register File: General-purpose registers in every processor.
  • Data Buffers: Holding data between pipeline stages or bus transfers.
  • I/O Ports: Output latches that drive LEDs, motors, or displays.

Practice Problems

Problem 1: How many D flip-flops in a 32-bit register?

Problem 2: A register has LOAD=0 and data inputs change. What happens on the next clock edge?

Problem 3: Why can't two registers drive the same bus simultaneously?

Problem 4: A 74HC374 has 8 D flip-flops with tri-state outputs. How many pins does it need at minimum?