ALU 101 key terms
ALU 101 · Get comfortable with the vocabulary.
- Arithmetic Logic Unit (ALU)
- Related: Datapath, Control Unit, Operand
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.
- Datapath
- Related: Control Unit, Register File, Multiplexer
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.
- Control Unit
- Related: Datapath, Instruction Decoder, Control Signal
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.
- Operand
- Related: Instruction, Register, Immediate
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.
- Opcode
- Related: Instruction, Instruction Decoder, Control Signal
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.
- Instruction Decoder
- Related: Opcode, Control Unit, Control Signal
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.
- Control Signal
- Related: Control Unit, Multiplexer, Register File
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.
- Register
- Related: Register File, Program Counter, Accumulator
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.
- Register File
- Related: Register, Datapath, Operand
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.
- Program Counter (PC)
- Related: Instruction, Control Unit, Register
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.
- Accumulator
- Related: Register, ALU, Operand
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.
- Instruction
- Related: Opcode, Operand, Program Counter (PC)
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.
- Immediate
- Related: Operand, Instruction, Opcode
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.
- Two's Complement
- Related: Sign Bit, Overflow, Binary Number System
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.
- Sign Bit
- Related: Two's Complement, Overflow, Signed Integer
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.
- Overflow
- Related: Two's Complement, Carry Flag, Sign Bit
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.
- Carry Flag
- Related: Overflow, Status Register, Zero 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.
- Zero Flag
- Related: Status Register, Carry Flag, Condition Code
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.
- Status Register
- Related: Zero Flag, Carry Flag, Condition Code
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.
- Condition Code
- Related: Status Register, Zero Flag, Overflow
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.
- Boolean Algebra
- Related: Logic Gate, Truth Table, De Morgan's Laws
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.
- Logic Gate
- Related: Boolean Algebra, Truth Table, NAND 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.
- Truth Table
- Related: Boolean Algebra, Logic Gate, Karnaugh Map
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.
- Karnaugh Map
- Related: Truth Table, Boolean Algebra, Logic Gate
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.
- De Morgan's Laws
- Related: Boolean Algebra, Logic Gate, NAND Gate
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).
- NAND Gate
- Related: Logic Gate, Boolean Algebra, De Morgan's Laws
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.
- XOR Gate
- Related: Logic Gate, Half Adder, Boolean Algebra
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.
- Half Adder
- Related: Full Adder, Ripple-Carry Adder, XOR Gate
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.
- Full Adder
- Related: Half Adder, Ripple-Carry Adder, Carry Lookahead 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.
- Ripple-Carry Adder
- Related: Full Adder, Carry Lookahead Adder, Carry Flag
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.
- Carry Lookahead Adder
- Related: Ripple-Carry Adder, Full Adder, Carry Flag
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.
- Multiplexer
- Related: Demultiplexer, Datapath, Control Signal
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.
- Demultiplexer
- Related: Multiplexer, Decoder, Datapath
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.
- Decoder
- Related: Multiplexer, Demultiplexer, Control Signal
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.
- Flip-Flop
- Related: Latch, Clock, Register
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.
- Latch
- Related: Flip-Flop, Clock, Register
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.
- Clock
- Related: Flip-Flop, Latch, Register
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.
- Binary Number System
- Related: Hexadecimal, Two's Complement, Bit
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.
- Hexadecimal
- Related: Binary Number System, Bit, Byte
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.
- Bit
- Related: Byte, Binary Number System, Word
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.
- Byte
- Related: Bit, Word, Hexadecimal
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.