Motherboard
- It is a PCB (Printed Circuit Board)
- Peripheral Controller/Hardware chips are excluded here
- Core Components
- CPU Socket
- DIMM Slots: RAM
- Chipset
- PCIe Expansion slots
- Storage Interfaces
- SATA port: HDD/SSD
- M.2 slots: NVMe or SATA SSD
- SD Card Reader
- Power
- Voltage Regulator Module (VRM)
- Power connectors
- Power input
- Battery
- CMOS/RTC Backup battery
- Firmware
- BIOS/UEFI Chip
- Clocks
- Clock Generator/Oscillator
- Real-Time Clock (RTC)
- Networking
- Wi-Fi/Bluetooth module connector
- Ethernet port
- USB
- USB ports
- Internal USB Headers
- Audio
- 3.5 mm jack
- Display
- HDMI port
- DisplayPort
- Cooling
- CPU Fan Header (CPU Cooler)
- System Fan Headers (System Cooler)
- Internal Connectors
- FFC/FPC Ribbon Cable Connectors (can use different protocols)
- Keyboard
- Touchpad
- Display
- Camera
- Front-panel headers
- Power button
- Reset button
- Status LEDs
- FFC/FPC Ribbon Cable Connectors (can use different protocols)
Form Factor (Size)
- ATX
- Micro ATX (mATX)
- Extended ATX (E-ATX)
- Mini-ITX
CPU Socket
- CPU is installed here
- CPU can be removed
- Motherboard specifies what CPU it can support
- Generally a series or generation of CPUs are supported
- Example: AMD AM5 socket supports Ryzen 7000/8000/9000 series CPUs
Chipset
- manages flow b/w processor, memory, peripherals
- usually designed to work with family of processors, memory and peripherals
- It is non-removable and permanently soldered onto motherboard
- CPU is not part of Chipset
- It contains North bridge, South bridge and keyboard I/O controller
- In modern computing, these functions have largely been integrated directly into the CPU itself
North Bridge
- main cache memory
- AGP/PCIe (graphics)
- can include integrated graphics
- has heatsink/fan
- connects to CPU via Front side bus (FSB)
- connects CPU to L2 cache via Back side bus (BSB)
- Fast
South bridge
- Realtime clock
- power management
- PCI bus/USB controller
- Slow
SoC
- System on Chip
- CPU, graphics, memory controller and chipset are all baked into one single package
- It is non-removable
System Cooler
- Connected via System Cooler headers
- Include System Fans
- Different from CPU Cooler
Interfaces
- CPU socket
- CPU
- USB port
- Printer, Camera, Flash drive
- SATA port
- HDD/Optical Drive
- may use SATA cable
- See HDD interfaces
- M.2 slot
- NVMe SSD
- can use PCIe or SATA internally as per the support
- PCIe Expansion Slot
- Graphics card, NVMe SSD, Wi-Fi/Network card, and any other expansion card
- Based on the PCIe Lanes, they come in different sizes
- PCIe x1, PCIe x4, PCIe x8, PCIe x16
- RAM Slot
- DIMM and SO-DIMM
- See RAM Modules and Slots
Interconnect
PCIe
- Peripheral Component Interconnect Express
- Common devices
- GPUs, NVMe SSDs, Wi-Fi cards, Ethernet cards, and expansion cards
- Key Components
- PCIe link
- Communication connection between two PCIe components
- Consists of one or more lanes
- PCIe Root Complex
- Connects the host CPU/SoC to the PCIe hierarchy
- Commonly integrated into the CPU/SoC
- PCIe switch
- Allows multiple PCIe devices to share an upstream connection
- PCIe slot
- Physical connector for an expansion card; not all PCIe connections use slots
- PCIe link
- Data path: PCIe Device <—> PCIe Link <—> Host (CPU/SoC)
- Lanes
- PCIe Links can use x1, x4, x8, or x16 lanes
- Each lane has separate transmit and receive signal pairs
- More lanes generally provide greater bandwidth
- Generations: PCIe 3.0, 4.0, 5.0, and 6.0
- Newer generations offer higher bandwidth per lane
- Bandwidth
- More lanes and newer generations generally increase available bandwidth
Internal Interconnect
- It connects hardware components within a CPU or SoC
- Examples
- AMBA AXI: Advanced eXtensible Interface
- part of ARM’s AMBA on-chip interconnect family
- NoC: Network-on-Chip
- connects components using network-like links and routers
- Ring interconnect
- connects components in a ring topology
- AMBA AXI: Advanced eXtensible Interface
Peripherals
- The controllers can be outside CPU or part of SoC
- General Path to CPU
- Peripheral —> Peripheral Interface —> Peripheral Controller —> Interconnect —> CPU
- PCIe internally goes through PCIe Root Complex usually integrated into the CPU/SoC
| Peripheral | Controller/ Processing Hardware | How it connects to CPU or SoC |
|---|---|---|
| CPU | - | - |
| GPU | - | Discrete: GPU —> PCIe —> CPU Integrated: SoC |
| RAM | Memory Controller | Memory Interface (DIMM Slot) —> Memory Controller —> CPU |
| SSD | - | NVMe slot —> PCIe —> CPU |
| HDD | SATA Controller | SATA cable —> SATA Controller —> CPU |
| Display | Display Engine | CPU —> Display Engine —> Display Cable |
| Keyboard | Keyboard Controller | I2C or USB —> Keyboard controller —> CPU |
| Touchpad | Touchpad Controller | I2C or USB —> Touchpad controller —> CPU |
| WiFi | WiFi Controller | Wifi Slot —> Wifi Controller —> PCIe —> CPU |
| Bluetooth | Bluetooth Controller | Integrated into SoC |
| Speaker (Audio output) | Audio codec (DAC) + Amplifier | CPU —> Audio codec (DAC) —> Amplifier |
| Mic (Audio input) | Audio codec (ADC) | Audio codec (ADC) —> CPU |
| Webcam | USB Host Controller (if USB) | USB: USB Host Controller —> CPU/SoC MIPI CSI: CSI Receiver —> SoC |
| Battery | Power-management circuitry | - |
| Fans | Fan Controller | Fan Controller —> CPU |
| Fingerprint reader | Fingerprint controller | USB, SPI or other interface —> CPU |
| PCIe expansion | PCI Root Complex | Expansion slot —> PCIe —> CPU |
| Sensors - Temperature sensor - Hall effect sensor - Ambient Light sensor | Sensor Specific | I2C, SPI, GPIO, or analog input —> Controller —> CPU |
External Interfaces
| Interface | Controller/ Processing Hardware | How it reaches CPU or SoC |
|---|---|---|
| USB | USB Host Controller | USB port —> USB Host Controller —> CPU |
| HDMI | HDMI transmitter | CPU —> Display Engine —> HDMI port |
| DisplayPort | DisplayPort transmitter | DisplayPort —> Display Engine —> CPU |
| Ethernet | Ethernet Controller (MAC) | Ethernet port —> Ethernet Controller —> PCIe —> CPU |
| 3.5 mm jack (Audio input/output) | Audio codec (ADC/DAC) + Amplifier | Audio Jack —> Audio Codec (ADC) —> CPU CPU —> Audio Codec (DAC) —> Amplifier —> Audio Jack |
| SD Card slot | SD Host Controller | SD Card Slot —> SD Host Controller —> CPU |
| Power input | Power-management circuitry | - |