- Multiply-accumulate (MAC)
- A single hardware operation that computes A × B + C in one step; the fundamental primitive inside every AI chip because matrix multiplication reduces to a loop of MACs.
- DADA multiplier
- An area-efficient integer multiplier that uses a tree of full adders (3-to-2 compressors) to reduce partial products; requires exactly p×q full adders for a p-bit × q-bit multiply.
- Full adder
- A logic gate that takes 3 single-bit inputs and produces a 2-bit output (sum + carry); also called a 3-to-2 compressor because it reduces three input bits to two output bits.
- MUX (Multiplexer)
- A circuit that selects one of n inputs based on a selector signal; costs n×p AND gates plus n×p OR gates for n inputs each p bits wide.
- Systolic array
- A 2D grid of multiply-accumulate units where data flows rhythmically between adjacent cells; stores weight matrices locally to amortize register file bandwidth, used in TPU MXUs and NVIDIA Tensor Cores.
- Register file
- A small, fast on-chip storage array holding a fixed number of values; the immediate source and destination for ALU operands in a CPU or GPU core.
- Pipeline register
- A register inserted mid-way through a logic chain to allow each half to operate at a higher clock frequency, trading area for speed.
- LUT (Lookup Table)
- The programmable logic element inside an FPGA; a 4-input, 1-output truth table stored in configuration bits that can emulate any logic gate, implemented as a 16-entry MUX.
- ASIC (Application-Specific Integrated Circuit)
- A chip designed for one specific function, manufactured via a costly tape-out (~$30M); roughly 10× more area- and energy-efficient than an FPGA for the same computation.
- FPGA (Field-Programmable Gate Array)
- A chip whose logic connections can be reprogrammed after manufacture by configuring a grid of LUTs and MUXes; roughly 10× less efficient than an ASIC but far cheaper to prototype.
- Scratchpad memory
- On-chip memory where software explicitly issues load/store instructions, as used in TPUs; contrasted with a hardware-managed cache where the hardware silently decides whether data is on-chip or off-chip.
- Cache hit / cache miss
- A cache hit is when requested data is found in the fast on-chip cache (~100× faster than DDR); a miss forces a slow fetch from off-chip DRAM, introducing non-deterministic latency.
- Branch predictor
- CPU hardware that guesses the outcome of a conditional branch 5+ cycles before it is evaluated, allowing the pipeline to keep fetching and executing instructions without stalling.
- Streaming Multiprocessor (SM)
- The basic compute tile of an NVIDIA GPU; contains Tensor Cores, CUDA cores, a register file, and a vector unit — structurally equivalent to a miniaturized TPU.
- Dynamic (switching) power
- The dominant source of chip energy consumption: the energy spent charging and discharging capacitors each time a bit toggles between 0 and 1.
- PDK (Process Design Kit)
- A library of primitive logic cells (AND gates, flip-flops, etc.) and physical design rules provided by a fab like TSMC that chip designers build upon.
- Tape-out
- The final step of chip design where design files are sent to a semiconductor foundry for manufacturing; historically named after the magnetic tape used to deliver data to fabs.
- One-hot encoding
- A representation where exactly one bit is 1 and all others are 0; used in MUX selector signals to indicate which input to pass through.
- Clock domain crossing
- A circuit boundary where signals move between two regions running at different clock frequencies, requiring special synchronization logic because timing guarantees no longer hold.
- Amortize
- To spread a fixed cost over many operations so its per-unit impact decreases; used throughout to describe how larger systolic arrays reduce per-operation register file overhead.