Computer architecture is the specification of a computer’s instruction set and the functional behavior of the hardware units that execute those instructions. It’s the abstraction layer between hardware and software — the contract a CPU makes with the programmer.
The closely related term computer organization describes the structure and operation of digital computers: which physical components exist, how they’re wired together, what the data buses look like, how memory is laid out. The line between architecture and organization is fuzzy in practice, and many courses (and this vault) use both terms loosely.
A useful split:
- Architecture = “what” the machine does. Instruction set, register conventions, addressing modes, memory model.
- Organization = “how” it’s built. Pipeline depth, cache sizes, datapath width, ALU implementation.
Two CPUs with different organization (one pipelined, one not; different cache sizes) can share the same architecture and run identical machine code. Same architecture → same software compatibility. Different architecture → different binaries.
What architecture specifies
A complete architecture defines:
- The set of instructions the CPU understands (the ISA).
- The register set: how many, what sizes, what each is for.
- The memory model: address space, endianness, alignment requirements.
- Addressing modes: how operands are computed.
- Exception/interrupt handling rules.
- Privilege levels (user vs. kernel).
These together form the binary interface a program targets. A mov r3, r2 Nios II instruction means the same thing on every Nios II implementation, even if one chip has 4 KB of cache and another has 128 KB.
Hardware vs. architecture
Hardware = physical electronic circuits, storage devices, wires.
Architecture = the abstract specification implemented by that hardware.
A program is written for an architecture, not for a specific piece of hardware. That’s why a typical 32-bit x86 program from 1995 can still run on modern Intel CPUs — the underlying hardware has changed dramatically but the architecture has accumulated rather than replaced. Two real caveats: (1) Intel removed 16-bit real-mode support entirely on some recent server parts, so genuine MS-DOS-era binaries no longer run on every modern x86; (2) Windows 11 dropped 32-bit OS support, so even where the CPU still runs the binary, the OS might not host it.
Software, hardware, and the ISA
Hardware and software are studied together because programs determine how the hardware components are used. The ISA is the meeting point: hardware engineers build to its spec, software engineers code against it. See Functional Units of a Computer for the high-level hardware view, and Instruction Set Architecture for the architectural side.