ALU 101 study materials
ALU 101 study resources

ALU 101 key terms

ALU 101 · Get comfortable with the vocabulary.

Arithmetic Logic Unit (ALU)

A digital circuit that performs arithmetic operations (such as addition and subtraction) and bitwise logic operations (such as AND, OR, XOR) on binary data. It is a core component of a processor's execution unit.

Related: Datapath, Control Unit, Operand
Datapath

The collection of functional units (registers, ALU, multiplexers, buses) that carry out data processing operations in a processor. It moves and transforms data under the direction of control signals.

Related: Control Unit, Register File, Multiplexer
Control Unit

The part of a processor that decodes instructions and generates the control signals that direct the datapath and ALU to perform the required operations at the correct times.

Related: Datapath, Instruction Decoder, Control Signal
Operand

A value or location that an instruction or operation acts upon. Operands can be constants, register contents, or memory addresses, and they supply the inputs to an ALU operation.

Related: Instruction, Register, Immediate
Opcode

The portion of a machine instruction that specifies the operation to be performed, such as addition, subtraction, or logical AND. The control unit uses the opcode to determine which control signals to assert.

Related: Instruction, Instruction Decoder, Control Signal
Instruction Decoder

A circuit that interprets the bits of a machine instruction, separating the opcode from operand fields, and produces the internal control signals needed to execute that instruction.

Related: Opcode, Control Unit, Control Signal
Control Signal

A binary signal generated by the control unit that enables or selects a specific action in the datapath, such as selecting an ALU operation or writing a register.

Related: Control Unit, Multiplexer, Register File
Register

A small, fast storage element inside a processor that holds a fixed number of bits, typically one machine word. Registers provide immediate operands to the ALU and store results.

Related: Register File, Program Counter, Accumulator
Register File

A collection of registers within a processor that can be read and written by instructions. It typically supports multiple simultaneous reads and one write per cycle.

Related: Register, Datapath, Operand
Program Counter (PC)

A special register that holds the memory address of the next instruction to be fetched and executed. It is automatically incremented or updated during program execution.

Related: Instruction, Control Unit, Register
Accumulator

A register that serves as both an implicit source and destination for many arithmetic and logic operations in some processor architectures, reducing the need to explicitly name operands.

Related: Register, ALU, Operand
Instruction

A binary-encoded command that tells a processor what operation to perform, which operands to use, and where to store the result. Instructions are fetched, decoded, and executed in sequence.

Related: Opcode, Operand, Program Counter (PC)
Immediate

An operand value that is encoded directly within the instruction rather than being stored in a register or memory. Immediates are often used for constants in arithmetic operations.

Related: Operand, Instruction, Opcode
Two's Complement

A binary number representation for signed integers in which the most significant bit indicates the sign, and negative values are formed by inverting all bits of the positive value and adding one.

Related: Sign Bit, Overflow, Binary Number System
Sign Bit

The most significant bit of a signed binary number that indicates whether the value is positive (0) or negative (1) in sign-magnitude and two's complement representations.

Related: Two's Complement, Overflow, Signed Integer
Overflow

A condition that occurs when the result of an arithmetic operation cannot be represented in the fixed number of bits available, producing an incorrect value. It is detected by examining sign bits and carry bits.

Related: Two's Complement, Carry Flag, Sign Bit
Carry Flag

A status bit set by the ALU when an addition or subtraction produces a carry out of, or borrow into, the most significant bit position. It is used for multi-word arithmetic and conditional branching.

Related: Overflow, Status Register, Zero Flag
Zero Flag

A status bit set by the ALU when the result of an operation is exactly zero. It is commonly used for equality comparisons and conditional branches.

Related: Status Register, Carry Flag, Condition Code
Status Register

A register that holds condition flags (such as zero, carry, overflow, and sign) produced by ALU operations. These flags are tested by conditional instructions to control program flow.

Related: Zero Flag, Carry Flag, Condition Code
Condition Code

A flag bit, such as zero, carry, sign, or overflow, that summarizes some property of an ALU result and can be tested by conditional branch instructions.

Related: Status Register, Zero Flag, Overflow
Boolean Algebra

A mathematical system for representing and manipulating logical values (true/false or 1/0) using operations such as AND, OR, and NOT. It provides the theoretical foundation for digital logic design.

Related: Logic Gate, Truth Table, De Morgan's Laws
Logic Gate

A physical device or circuit that implements a basic Boolean function, such as AND, OR, NOT, NAND, NOR, XOR, or XNOR, taking one or more binary inputs and producing a single binary output.

Related: Boolean Algebra, Truth Table, NAND Gate
Truth Table

A table that lists all possible combinations of input values for a logic circuit and the corresponding output values. It completely specifies the behavior of a Boolean function.

Related: Boolean Algebra, Logic Gate, Karnaugh Map
Karnaugh Map

A graphical method for simplifying Boolean expressions by arranging truth table values in a grid so that adjacent cells differ by one variable, allowing easy identification of common terms.

Related: Truth Table, Boolean Algebra, Logic Gate
De Morgan's Laws

Two Boolean algebra rules stating that the complement of a conjunction is the disjunction of the complements, and the complement of a disjunction is the conjunction of the complements: NOT(A AND B) = (NOT A) OR (NOT B), and NOT(A OR B) = (NOT A) AND (NOT B).

Related: Boolean Algebra, Logic Gate, NAND Gate
NAND Gate

A logic gate that outputs the inverse of the AND operation; its output is 0 only when all inputs are 1. It is a universal gate because any Boolean function can be built using only NAND gates.

Related: Logic Gate, Boolean Algebra, De Morgan's Laws
XOR Gate

A logic gate that outputs 1 when an odd number of its inputs are 1, and 0 otherwise. It is commonly used for parity generation, comparison, and controlled inversion.

Related: Logic Gate, Half Adder, Boolean Algebra
Half Adder

A combinational circuit that adds two single-bit binary numbers, producing a sum bit and a carry bit. It forms the basic building block for multi-bit adders.

Related: Full Adder, Ripple-Carry Adder, XOR Gate
Full Adder

A combinational circuit that adds three single-bit inputs (two operand bits and a carry-in) to produce a sum bit and a carry-out bit. Full adders are cascaded to build multi-bit adders.

Related: Half Adder, Ripple-Carry Adder, Carry Lookahead Adder
Ripple-Carry Adder

A multi-bit adder formed by chaining full adders so that the carry-out of each stage becomes the carry-in of the next. It is simple but its delay grows with the number of bits.

Related: Full Adder, Carry Lookahead Adder, Carry Flag
Carry Lookahead Adder

A fast multi-bit adder that computes carry signals in parallel using generate and propagate logic, reducing the delay caused by carry propagation in a ripple-carry adder.

Related: Ripple-Carry Adder, Full Adder, Carry Flag
Multiplexer

A combinational circuit that selects one of several input signals and forwards it to a single output, based on the value of control (select) inputs. It is widely used in datapaths for routing data.

Related: Demultiplexer, Datapath, Control Signal
Demultiplexer

A combinational circuit that routes a single input signal to one of several outputs, as determined by select inputs. It performs the inverse function of a multiplexer.

Related: Multiplexer, Decoder, Datapath
Decoder

A combinational circuit that converts an n-bit binary input into one of 2^n unique output lines, activating only the output corresponding to the input value. It is often used to select registers or memory locations.

Related: Multiplexer, Demultiplexer, Control Signal
Flip-Flop

A bistable sequential logic circuit that can store one bit of state. Its output changes only at specific times (e.g., clock edges), making it the basic building block of registers and memory.

Related: Latch, Clock, Register
Latch

A level-sensitive sequential circuit that stores one bit and changes its output while its enable signal is active. Unlike a flip-flop, it is not edge-triggered.

Related: Flip-Flop, Clock, Register
Clock

A periodic signal used to synchronize the operation of sequential logic circuits. State changes in flip-flops and registers typically occur on rising or falling edges of the clock.

Related: Flip-Flop, Latch, Register
Binary Number System

A base-2 positional number system that uses only the digits 0 and 1. Each position represents a power of two, and it is the native representation for digital circuits.

Related: Hexadecimal, Two's Complement, Bit
Hexadecimal

A base-16 number system using digits 0-9 and letters A-F. It is widely used as a compact notation for binary values because each hexadecimal digit corresponds to exactly four bits.

Related: Binary Number System, Bit, Byte
Bit

A single binary digit, either 0 or 1. It is the smallest unit of data in a digital system and the fundamental unit of information.

Related: Byte, Binary Number System, Word
Byte

A group of eight bits treated as a unit. Bytes are commonly used to measure memory size and to represent characters or small integer values.

Related: Bit, Word, Hexadecimal