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?