Chapter 7 โ Types of Chips: A Taxonomy
Youโve read papers that benchmark on โA100s,โ blogs that mention โedge NPUs,โ datasheets for โXilinx FPGAs,โ and job posts asking for experience with โcustom ASICs.โ These are all chips, but they are strikingly different objects โ different programming models, different performance profiles, different roles in an ML system. Before the deep-dive chapters in Part III, you need a map.
This chapter is that map. We survey the full spectrum from general-purpose CPU to fixed-function ASIC, explain the fundamental tradeoff (flexibility vs efficiency), define each chip type in one solid paragraph, and then collect everything into a master comparison table. By the end, you will know why you train on GPUs, serve inference on NPUs or ASICs, and occasionally prototype on FPGAs โ not as received wisdom, but as a necessary consequence of physics and economics.
The one-sentence version: Every chip type is a different answer to the question โhow should we spend our transistor budget given the flexibility we need and the efficiency we demand?โ โ and ML is systematically pushing the answer toward specialization.
The Fundamental Tradeoff: Flexibility vs Efficiency
Every design decision in chip architecture can be traced to one axis:
- Can run any algorithm โ sort, render, train, simulate
- Programmable via software; logic can change at runtime
- Hardware must handle all cases โ overhead for common cases
- Lower efficiency per operation (TOPS/W, TOPS/mmยฒ)
- Supports all dtypes and operators
- Examples: CPU, GPU
- Optimized for one class of workload โ often one specific operator
- Fixed function or tightly constrained programmability
- Every transistor serves the target workload โ very high utilization
- High efficiency (TOPS/W), low latency, low power
- Limited dtypes (often INT8 or FP8 only)
- Examples: NPU, ASIC, ISP
The spectrum is not binary โ it is a continuum:
1
2
3
4
More flexible โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโบ More efficient
CPU โ GPU โ DSP/ISP โ NPU/TPU โ FPGA โ ASIC
(any workload) (ML-focused) (reconfigurable) (one job)
Key insight for ML: Research and training require flexibility (trying new architectures, new ops, debugging). Production inference on high volume, known workloads rewards specialization. This is exactly why you see GPUs dominating training and NPUs/ASICs dominating inference as ML matures.
The Chip Types, Defined
CPU โ Central Processing Unit
The CPU is the general-purpose brain of a computer system. It is optimized for low-latency, sequential, control-heavy workloads โ tasks where each step depends on the result of the previous one. Modern CPUs are multi-core out-of-order superscalar processors: each core can execute instructions out of order, reorder memory accesses, predict branches, and run multiple instructions simultaneously per cycle. A high-end server CPU (AMD EPYC Genoa, Intel Sapphire Rapids) might have 96โ128 cores, each with AVX-512 and AMX extensions for SIMD and matrix computation.
CPUs are irreplaceable for the host side of any compute job: launching GPU kernels, managing data pipelines, running PyTorchโs autograd graph, and handling Python interpreter overhead. They remain competitive for small-model CPU-only inference (especially with INT8 quantization on VNNI/AMX) and for irregular graph neural networks where data-dependent control flow defeats GPU parallelism.
Covered in depth: Chapter 14 โ CPUs
GPU โ Graphics Processing Unit
The GPU began as a rasterization accelerator but is now the primary training accelerator for deep learning. Its architecture is built around massive data parallelism: thousands of small cores (CUDA cores, shader processors) organized into Streaming Multiprocessors (SMs), executing the same instruction on many data elements simultaneously (SIMT โ Single Instruction, Multiple Threads).
Modern ML GPUs (NVIDIA H100, AMD MI300X) add Tensor Cores โ dedicated 4ร4 or 8ร8 matrix-multiply hardware that executes FP16/BF16/FP8/INT8 GEMMs at dramatically higher throughput than CUDA cores alone. An H100 SXM5 delivers ~3.9 PFLOPS of BF16 dense throughput (tensor core), backed by 80 GB HBM3 at ~3.35 TB/s memory bandwidth. GPUs are programmable in CUDA, HIP, or Triton, and support all major dtypes from FP64 down to FP4.
Covered in depth: Chapter 15 โ GPUs
TPU โ Tensor Processing Unit (Google)
Googleโs TPU is a family of ASICs designed specifically for large-scale neural network training and inference. The architecture centers on a systolic array โ a 2D grid of multiply-accumulate units where partial sums flow from cell to cell like a โwave,โ minimizing the need to load/store intermediate values. The TPU v1 (2016) was INT8-only inference; by TPU v4/v5 (Trillium), the chips support BF16 training and FP8, with large HBM capacity and high inter-chip bandwidth (ICI, their NVLink equivalent).
TPUs are tightly integrated with Googleโs software stack (JAX/XLA) and only available through Google Cloud. Their efficiency advantage over GPUs comes from the systolic arrayโs near-100% utilization for matmul-dominated workloads and from co-design with XLAโs compiler. LLMs like Gemini are primarily trained on TPU pods.
Covered in depth: Chapter 16 โ TPUs & Systolic Arrays
NPU โ Neural Processing Unit
An NPU (also called Neural Engine, AI Accelerator, or ML Accelerator) is a chip or chip block specifically designed for neural network inference at the edge or in mobile devices. The defining characteristics: small die area, low power (milliwatts to a few watts), fixed or semi-fixed dataflow (often a MAC array or systolic array), and support for quantized (INT8, INT4) operations.
Examples:
- Apple Neural Engine (ANE): 16-core neural engine in M-series and A-series SoCs; ~38 TOPS on M4; optimized for CoreML FP16/INT8
- Qualcomm Hexagon NPU: in Snapdragon SoCs; used for on-device LLM inference (Phi-3, Llama)
- Renesas DRP-AI: dynamically reconfigurable processor with a tiny power envelope
- Samsung Exynos NPU: in Galaxy SoCs
- Google Edge TPU: a tiny 4 TOPS INT8 inference chip (Coral)
NPUs typically run INT8 or INT4 quantized models, support a fixed operator set (Conv2D, LSTM, Attention in modern versions), and are programmed through vendor SDKs (CoreML, SNPE, OpenVX) rather than CUDA/Triton.
Covered in depth: Chapter 17 โ NPUs & Edge AI
DSP โ Digital Signal Processor
A DSP is a processor optimized for real-time signal processing: audio, radio, radar, sensor fusion. Architecturally, DSPs lean on VLIW (Very Long Instruction Word) execution (the compiler packs multiple operations per cycle), fixed-point arithmetic, dedicated MAC (multiply-accumulate) units, and memory architectures suited for streaming data.
DSPs appear in ML contexts as:
- Pre-processing for AI pipelines: decimation, filtering, FFTs before a neural network
- Qualcomm Hexagon DSP: also used for running ML workloads on Android (alongside the NPU)
- TI C6000 family: used in radar/lidar pre-processing for autonomous driving
- Audio NPU/DSP hybrids: Alexa, Siri wake-word detection on tiny power budgets
The boundary between a โDSPโ and an โNPUโ is blurring โ modern mobile DSPs often include dedicated neural network MACs.
Covered in depth: Chapter 18 โ DSPs
ISP โ Image Signal Processor
An ISP is a fixed-function pipeline chip (or block within an SoC) that processes raw image sensor data into usable frames in real time: demosaicing (Bayer pattern โ RGB), noise reduction, white balance, HDR tone mapping, lens distortion correction, compression (JPEG/HEIC). Every phone, webcam, and machine-vision camera has one.
ISPs are increasingly relevant to ML because:
- They sit upstream of any neural network in a vision pipeline โ ISP output quality directly affects model accuracy
- Modern ISPs are adding neural-network-based processing (learned noise reduction, semantic segmentation for bokeh)
- Some ISP vendors run lightweight inference models on the ISP DSP core itself
The ISPโs workload is extremely regular (fixed image dimensions, fixed pipeline order), so it is highly amenable to fixed-function design with minimal programmability.
Covered in depth: Chapter 19 โ ISPs
FPGA โ Field-Programmable Gate Array
An FPGA is a chip whose logic is reconfigurable after manufacturing โ an array of programmable logic blocks (LUTs, flip-flops), configurable routing, and hard blocks (DSP slices, BRAMs, PCIe, high-speed serial I/O). You โprogramโ an FPGA by loading a bitstream that configures what each logic block does and how they connect.
FPGAs occupy a special position: they offer near-ASIC efficiency (no general-purpose overhead) while retaining post-silicon flexibility (redesign = reload bitstream, no new fab run). The cost: very high NRE in design time and tools, and lower clock frequencies (~250โ700 MHz) vs an equivalent ASIC (1โ3+ GHz), with higher power than a custom ASIC at the same logic density.
FPGAs in ML:
- Prototyping new neural chips before tape-out (an expensive and irreversible step)
- Low-latency inference for HFT (microsecond, not millisecond)
- Custom hardware for new sparsity patterns (academic research on structured sparsity)
- Microsoft Project Brainwave / Azure FPGA: served Bing search ranking, ResNet inference on FPGA clusters
- Major vendors: Xilinx (now AMD), Intel (Altera division), Microchip/Lattice for edge
Covered in depth: Chapter 20 โ FPGAs
ASIC โ Application-Specific Integrated Circuit
An ASIC is a chip designed from scratch for one specific application. Once fabricated, its logic is permanent. Every transistor is placed to maximize efficiency for that one workload. The result: 10รโ100ร better energy efficiency and performance per dollar vs an FPGA, and often 2รโ5ร vs a GPU for the same workload.
The catch: NRE (Non-Recurring Engineering) costs for an ASIC are enormous โ $10Mโ$100M+ for design, verification, and a single tape-out at a leading-edge node (3nm TSMC). You need extremely high volume or extreme performance requirements to justify it.
AI ASICs in production:
- Google TPU v1โv5 (inference โ training, internal Google)
- AWS Trainium / Inferentia (AWS-custom for training and inference)
- Cerebras CS-3 (single giant wafer-scale chip, 4T transistors)
- Groq LPU (deterministic low-latency inference ASIC)
- Tesla Dojo (distributed training ASIC for video)
- Graphcore IPU (intelligence processing unit, graph-centric architecture)
Covered in depth: Chapter 21 โ ASICs
SoC โ System-on-Chip
An SoC integrates multiple chip types onto one die (or a small multi-die package): CPU cores, GPU, NPU, ISP, DSP, memory controller, I/O (PCIe, USB, display), codec hardware, and often SRAM. The integration eliminates the power and latency penalties of chip-to-chip communication โ the CPU and NPU share the same memory fabric and can pass tensor data without going off-chip.
SoCs dominate mobile and embedded compute:
- Apple M4: ARM CPU + GPU + Neural Engine + media engine + memory controller, unified 120 GB/s memory bandwidth across all engines
- Qualcomm Snapdragon X Elite: ARM CPU + Adreno GPU + Hexagon NPU, up to 45 TOPS
- NVIDIA Orin: 12-core ARM Cortex-A78 + Ampere GPU + NVDLA (deep learning accelerator) + PVA (signal processing) โ up to 275 TOPS
The SoC model is increasingly adopted in AI servers too: HBM + compute die as one package (NVIDIA GB200, AMD MI300X), or CPU + GPU + NPU in one tile (Intel Meteor Lake).
Covered in depth: Chapter 22 โ SoCs
MCU โ Microcontroller Unit
An MCU is the smallest member of the compute family: a complete computer (CPU core + SRAM + flash + I/O peripherals) on one chip, designed for embedded control at milliwatts or microwatts. MCUs run bare-metal or RTOS firmware, typically with 4โ256 KB of SRAM, no DRAM, and clock frequencies of 10โ500 MHz.
MCUs are becoming ML-relevant as TinyML: running tiny CNNs or keyword-spotting models on microcontrollers for always-on inference (wake-word detection, anomaly detection on sensors). The 2022 Cortex-M55 added Arm Helium (MVE) โ an 8-wide INT8 SIMD engine specifically for neural network MAC operations. MCU ML frameworks: TensorFlow Lite Micro, Edge Impulse, TVM Micro.
APU โ Accelerated Processing Unit (mention)
APU usually refers to AMDโs integrated CPU+GPU die (Ryzen โAPUโ parts: unified LPDDR5 memory shared between CPU and iGPU, 4โ12 RDNA GPU compute units). Also sometimes used loosely for any AI-accelerated processor. Appleโs M-series chips are sometimes called APUs in informal usage. Not a separate category โ an SoC where CPU and GPU are on the same die with shared memory.
The Master Comparison Table
| Chip Type | Primary Purpose | Parallelism Style | Flexibility | Typical Dtypes | Perf/Watt | Programmability | Where Used | Example Parts |
|---|---|---|---|---|---|---|---|---|
| CPU | General-purpose, control | SIMD, out-of-order ILP, multicore (~128 cores) | Very high | FP64/32/16/BF16, INT32/8 | LowโMedium | C/C++/Python, any language | Host control, CPU inference, preprocessing | AMD EPYC 9754, Intel Xeon SPR, Apple M4 Pro |
| GPU | Throughput: GEMM, rendering, simulation | SIMT: thousands of threads, tensor cores | High | FP32/16/BF16/FP8/INT8/INT4 | MediumโHigh | CUDA, HIP, Triton, OpenCL | DL training, inference, HPC | NVIDIA H100, AMD MI300X, NVIDIA RTX 4090 |
| TPU | DL training & inference (matmul) | Systolic array, tensor-level | LowโMedium | BF16, FP8, INT8 | Very High | JAX/XLA (only) | Google Cloud, Google internal | Google TPU v4, TPU v5e (Trillium) |
| NPU | Neural network inference at edge | Fixed MAC/systolic array | Low | INT8, INT4, FP16 | Extremely High | Vendor SDK (CoreML, SNPE) | Mobile, edge devices, laptops | Apple ANE, Qualcomm Hexagon NPU, Google Edge TPU |
| DSP | Real-time signal processing | VLIW, vector MAC | Medium | Fixed-point, INT16/8 | High | C + vendor intrinsics | Audio, radar, wireless, preprocessing | TI C6000, Qualcomm Hexagon DSP, Tensilica HiFi |
| ISP | Camera/image pipeline | Fixed pipeline, streaming | Very Low | RAW (10โ14 bit), YUV | Extremely High | Limited (vendor API) | Phones, cameras, automotive | Apple ISP (A/M series), Sony ISP, OmniVision |
| FPGA | Reconfigurable logic, prototyping | LUTs, DSP slices, custom | Very High (reconfigurable) | Anything you implement | Medium | Verilog/VHDL/HLS | Prototyping, low-latency inference, networks | Xilinx/AMD Alveo, Intel Stratix 10, Lattice ECP5 |
| ASIC | One specific workload | Custom (systolic, dataflow, etc.) | None (fixed) | Custom (INT8, FP8, INT4) | Highest | Fixed; often SDK | High-volume inference, Google/AWS/Meta AI | Google TPU, AWS Trainium, Groq LPU |
| SoC | Integrated heterogeneous system | CPU + GPU + NPU + DSP on one die | High (via sub-engines) | All (per sub-engine) | Very High | Per-engine APIs | Mobile, embedded, laptops, edge servers | Apple M4, Qualcomm Snapdragon X, NVIDIA Orin |
| MCU | Embedded control, TinyML | SIMD (Helium/MVE), scalar | Medium | INT8, INT16, FP32 (tiny) | Ultra High | C, bare-metal, RTOS | IoT, sensors, wake-word, anomaly detection | STM32H7, Nordic nRF9160, ARM Cortex-M85 |
Key Axes Explained
Control-Dominated vs Data-Parallel
A workload is control-dominated if execution depends heavily on data values โ branches, irregular memory access, dynamic dispatch. A compiler is control-dominated. Data-parallel workloads apply the same operation to independent data elements โ matrix multiply, convolution, rendering. CPUs excel at control; GPUs/TPUs excel at data-parallel.
\[\text{GPU speedup} \approx \frac{T_{\text{CPU}}}{T_{\text{GPU}}} \propto \frac{\text{parallelism available}}{\text{synchronization overhead} + \text{launch overhead}}\]For a 4096ร4096 matmul, parallelismย ยป overhead โ GPU wins by 100ร. For a lookup table with data-dependent branching โ CPU wins.
Latency-Oriented vs Throughput-Oriented
- Complete one task as fast as possible
- Large caches, out-of-order execution, branch prediction
- Single-thread performance: 3โ5 GHz, ~5 ns/instruction
- Ideal for: interactive requests, control logic, small batches
- Complete as many tasks per second as possible
- Many simple cores; hide latency with many in-flight operations
- Single-thread: ~1.5โ2 GHz, ~10โ20 ns/instruction
- Ideal for: batched inference, training, large GEMM
For ML serving: a single-token autoregressive decode step is latency-sensitive (user waiting). A large batch of independent requests is throughput-oriented. This tension drives KV-cache sizing, batching strategies, and the choice between CPU+NPU vs GPU deployment (see Chapter 29).
Fixed-Function vs Programmable
1
2
3
Fixed-function โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ Fully programmable
ISP ASIC NPU DSP FPGA GPU CPU
(one pipeline) (one algo) (NN ops) (C + VLIW) (HDL) (CUDA) (anything)
โProgrammableโ has multiple levels:
- Algorithm-programmable (GPU, CPU): you can run any algorithm
- Kernel-programmable (NPU via SDK): you load pre-compiled operator kernels, no new operators
- Netlist-programmable (FPGA): you configure the gate-level logic itself
- Fixed (ASIC, ISP): logic is permanent; parameters may be adjustable
The Role of SoC Integration
Modern ML systems increasingly work as heterogeneous SoCs where the key advantage is zero-copy memory sharing between engines. On Apple M4:
1
2
3
4
5
6
7
8
9
# On Apple Silicon: CPU and Neural Engine share the same LPDDR5X
# tensor stays in place; no copy between "CPU RAM" and "GPU VRAM"
import torch
import coremltools as ct
# Model runs partly on CPU (Python), partly on ANE (CoreML),
# partly on GPU (Metal) โ all sharing 120 GB/s unified memory
model = ct.models.MLModel("model.mlpackage")
result = model.predict({"input": data}) # ANE executes, no PCIe copy
Contrast with a discrete GPU setup: every tensor transfer between CPU RAM and GPU VRAM costs 16โ128 GB/s PCIe bandwidth (vs on-chip memory fabric at TB/s speeds). SoC integration eliminates this bottleneck for edge/laptop deployments.
A Visual Taxonomy
Numerical Perspective: Efficiency Numbers
To make the flexibility/efficiency tradeoff concrete, here are representative numbers (order of magnitude; exact figures depend on workload, precision, utilization, and generation):
| Chip | INT8 TOPS | TDP (W) | INT8 TOPS/W | INT8 TOPS/mmยฒ die |
|---|---|---|---|---|
| Intel Xeon SPR (cpu + AMX) | ~80 | 350 | ~0.23 | low |
| NVIDIA H100 SXM5 (GPU) | ~3,958 | 700 | ~5.7 | medium |
| Google TPU v5p (ASIC) | ~459 (BF16) | 197 | ~2.3 | high |
| Qualcomm Snapdragon X Elite NPU | ~45 | ~5 (NPU only) | ~9 | very high |
| Apple M4 Neural Engine | ~38 | ~8 (total SoC) | ~4.75 | very high |
| AWS Inferentia2 (ASIC) | ~380 | 110 | ~3.5 | high |
| Xilinx/AMD Alveo U280 (FPGA) | ~170* | 225 | ~0.75 | low |
*FPGA number is for a dense INT8 inference implementation; reconfigurability overhead visible.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Quick efficiency comparison in Python
chips = {
"Xeon SPR (CPU+AMX)": {"tops_int8": 80, "tdp_w": 350},
"H100 SXM5 (GPU)": {"tops_int8": 3958, "tdp_w": 700},
"Snapdragon X NPU": {"tops_int8": 45, "tdp_w": 5},
"Apple M4 ANE": {"tops_int8": 38, "tdp_w": 8},
"AWS Inferentia2": {"tops_int8": 380, "tdp_w": 110},
}
print(f"{'Chip':<25} {'INT8 TOPS':>10} {'TDP (W)':>8} {'TOPS/W':>8}")
print("-" * 55)
for name, v in sorted(chips.items(), key=lambda x: -x[1]["tops_int8"] / x[1]["tdp_w"]):
tpw = v["tops_int8"] / v["tdp_w"]
print(f"{name:<25} {v['tops_int8']:>10} {v['tdp_w']:>8} {tpw:>8.2f}")
The trend is clear: specialized chips (NPU, ASIC) achieve 3โ10ร better TOPS/W than general-purpose GPUs, and the gap widens at lower precision (INT4 vs INT8).
Why This Matters for Model Optimization
The chip taxonomy maps directly to where your model lives in its lifecycle:
Why inference moves toward specialized silicon:
- Once a model is deployed, its architecture is fixed. The flexibility of a GPU is wasted on a fixed compute graph.
- Efficiency directly translates to cost-per-query (inference at scale) and battery life (edge).
- INT8 quantization (which is lossless or near-lossless for most inference tasks) maps perfectly onto NPU/ASIC MAC arrays.
- Custom silicon can eliminate memory overhead that GPUs carry for programmability (e.g., the CUDA warp scheduler, register file, L1/L2 caches for arbitrary access patterns).
Why research stays on GPUs:
- New architectures (Mamba, Mixture-of-Experts, diffusion, flow matching) require new operators, new memory patterns, irregular compute graphs.
- GPU + CUDA is the universal research platform โ every library, every optimization, every paper benchmark uses it.
- The time from โideaโ to โrunning on GPUโ is hours; from โideaโ to โrunning on custom ASICโ is years and tens of millions of dollars.
This is the hardware-software co-design loop at the industry scale: researchers discover what works on GPUs, and the insights flow into the next generation of specialized silicon.
Key Takeaways
- Every chip type is a point on the flexibility/efficiency spectrum: CPU โ GPU โ DSP/NPU โ FPGA โ ASIC, with efficiency rising (TOPS/W) and flexibility falling.
- CPUs handle control, host code, and irregular workloads; GPUs dominate training and flexible inference; TPUs/ASICs provide maximum efficiency for fixed, matmul-heavy workloads; NPUs bring inference to mobile/edge at milliwatt budgets.
- FPGAs are reconfigurable post-silicon โ near-ASIC efficiency with the flexibility to reload logic, making them ideal for prototyping and latency-sensitive fixed workloads.
- SoCs integrate multiple chip types on one die, enabling zero-copy memory sharing between CPU, GPU, NPU, and ISP โ the dominant architecture for mobile and edge AI.
- The key axes are: control-dominated vs data-parallel, latency-oriented vs throughput-oriented, and fixed-function vs programmable.
- The ML lifecycle maps naturally onto the spectrum: research โ GPU (flexible); production inference โ NPU/ASIC (efficient); edge โ SoC NPU; IoT โ MCU.
- Specialized silicon (NPU, ASIC) achieves 3โ10ร better TOPS/W than GPU for the same INT8 inference workload โ explaining the industryโs rapid investment in custom AI silicon.
Next: Chapter 8 โ Parallel Processing, where we go deep on ILP, superscalar execution, SIMD, SIMT, multicore, Flynnโs taxonomy, and Amdahlโs Law โ the concepts that explain why all these chip types are built around parallelism.