Day 2 of 5
⏱ ~60 minutes
Build a PC in 5 Days — Day 2

Compatibility Deep Dive

Compatibility errors are the #1 cause of failed PC builds. Today you'll understand every compatibility dimension so you buy right the first time.

CPU Sockets and Chipsets

Intel LGA1700 (12th-14th gen), AM5 (AMD Ryzen 7000+). The chipset on the motherboard determines features: PCIe lanes, USB speeds, overclocking support. Z-series (Intel Z790) and X-series (AMD X670E) allow CPU overclocking. B-series boards are mid-range. Budget A-series boards. Higher chipsets add more PCIe 4.0/5.0 lanes and USB 3.2 Gen 2x2 ports.

RAM: Speed, Timings, and XMP

DDR5 runs at 4800 MHz base, up to 7200+ MHz with XMP (Intel) or EXPO (AMD) profiles. Higher speed and lower CAS latency (CL30 vs CL40) improves performance. Always check the motherboard's QVL (Qualified Vendor List) for guaranteed compatibility. Dual-channel (2 sticks) doubles memory bandwidth vs single-channel. Always install in the correct slots (usually A2/B2, not A1/A2).

Power: PCIe Lanes and TDP

Your GPU needs enough PCIe lanes for full bandwidth. PCIe 4.0 x16 = 32 GB/s — more than enough for any current GPU. PCIe 5.0 x16 = 64 GB/s (future-proofing). TDP (Thermal Design Power) is the heat a cooler must dissipate. A 125W CPU needs at minimum a 150W cooler. High-performance CPUs (i9-13900K at 253W under load) need 280mm+ AIOs or high-end air coolers. Underpowered cooling = thermal throttling.

python
# RAM channel configuration checker
# Many builds lose 40% memory bandwidth from wrong slot placement

class MotherboardSlots:
    """Most ATX boards: A1, A2, B1, B2 (A=channel A, B=channel B)"""
    def __init__(self, slots=['A1','A2','B1','B2']):
        self.slots = slots
        self.installed = {}
    
    def install(self, slot, stick):
        self.installed[slot] = stick
    
    def check(self):
        # Dual channel requires one stick per channel
        ch_a = [s for s in self.installed if s.startswith('A')]
        ch_b = [s for s in self.installed if s.startswith('B')]
        
        total = len(self.installed)
        print(f"Installed: {total} stick(s) in slots {list(self.installed.keys())}")
        
        if total == 1:
            print("  ⚠ Single channel — half bandwidth. Add a matching stick.")
        elif total == 2:
            if len(ch_a)==1 and len(ch_b)==1:
                # Check if they're in the right slots (A2/B2 preferred)
                slots = list(self.installed.keys())
                if set(slots) == {'A2','B2'} or set(slots)=={'A1','B1'}:
                    print("  ✓ Dual channel — full bandwidth")
                else:
                    print("  ⚠ Dual channel BUT check manual — A2/B2 slots preferred")
            else:
                print("  ✗ Both sticks same channel — running single channel!")
                print("    Move sticks to A2 and B2 for dual channel")
        elif total == 4:
            print("  ✓ Quad populated — dual channel, max capacity")

# Common mistake: installing both sticks in adjacent slots
print("--- Correct: A2 + B2 ---")
b = MotherboardSlots(); b.install('A2','16GB'); b.install('B2','16GB'); b.check()

print("\n--- Wrong: A1 + A2 (same channel) ---")
b2 = MotherboardSlots(); b2.install('A1','16GB'); b2.install('A2','16GB'); b2.check()
💡
Putting both RAM sticks in adjacent slots (A1+A2) instead of alternating slots (A2+B2) is one of the most common PC building mistakes. You lose 40–50% memory bandwidth. Always check your motherboard manual for the correct dual-channel configuration.
📝 Day 2 Exercise
Verify Your Component Compatibility
  1. Download your target CPU's datasheet from Intel ARK or AMD's product pages. Find: socket type, TDP, max RAM speed, PCIe generation.
  2. Download your target motherboard's manual (PDF, free from manufacturer). Find: QVL RAM list, recommended RAM slots for dual channel, M.2 slot PCIe generation.
  3. Use CPU-Z (free) on an existing PC to read your current RAM's actual speed, timing, and channel mode. Is it running dual channel?
  4. Calculate your PSU requirement: find GPU power draw at full load (TDP listed on product page or from reviews). Add CPU TDP + 100W. Is your PSU sufficient?
  5. Check your case's maximum GPU length spec vs your chosen GPU's length. Most cases list this in specs as 'Maximum GPU length'.

Day 2 Summary

  • Always use A2/B2 RAM slots (not A1/A2) for dual-channel — check your motherboard manual
  • XMP/EXPO profiles unlock rated RAM speed — without it, RAM runs at JEDEC defaults (often half speed)
  • Chipset determines features: Z/X for overclocking, B for mid-range, H/A for budget
  • TDP is heat, not power draw — high-performance CPUs under load draw 200+ W; cooler must match
Challenge

Research PCIe bifurcation. Some motherboards can split a PCIe x16 slot into two x8 slots for dual-GPU or dual-NVMe configurations. Why would you want this? What are the bandwidth trade-offs? Look up whether your target motherboard supports it.

Finished this lesson?