Computer Fundamentals

A computer is, underneath every abstraction built on top of it, a piece of hardware that moves electrical charge through transistors to represent and manipulate numbers, and everything in computer science eventually traces back to that physical fact. The CPU, or central processing unit, is the component that actually executes instructions — fetching a coded instruction from memory, decoding what operation it specifies, carrying out that operation on some data, and moving on to the next instruction, millions to billions of times per second depending on the chip's clock speed. Memory, specifically the DRAM this site covers in deep technical detail elsewhere, holds the program's instructions and working data while the CPU is actively using them; it's fast but loses its contents the instant power is removed, which is why it's called volatile. Storage — a solid-state drive built from NAND flash, or historically a spinning hard disk — holds data and programs persistently, even with the power off, but at meaningfully slower access speeds than memory, which is exactly why the memory hierarchy this site's own architecture coverage goes into exists: fast-but-small memory near the CPU, slower-but-larger storage further away, each tier trading capacity for speed. Input devices (a keyboard, a mouse, a sensor, a network connection) bring information into the system; output devices (a display, a speaker, a network connection again) send results back out. Software is the set of instructions that tells this hardware what to do, split broadly into two layers: the operating system, which manages the hardware itself — scheduling which program gets the CPU next, deciding where in memory each program's data lives, handling input and output — and application software, the programs a person actually runs to get something done, which rely on the operating system rather than talking to the hardware directly. None of this is abstract to the readers of a site built around actual silicon: the CPU described above is a physical die built from billions of transistors using the same process nodes, lithography, and packaging this site documents in granular technical detail; the distinction between "computer science" and "computer engineering" is really just where you choose to stop zooming in, and this introduction is the top of that zoom, with everything below it — the transistor physics, the fab process, the instruction set, the compiler, the operating system, the application — being a progressively more detailed answer to the same question: how does a pile of sand become something that can run a program.

The Core Hardware Components What a computer actually is, physically CPU fetch, decode, execute billions of cycles/second Memory (DRAM) fast, volatile Storage (NAND/SSD) slower, persistent I/O devices keyboard, display, network every box above is a physical silicon die built with the process technology this site documents — fab process, lithography, packaging the memory hierarchy: fast-and-small near the CPU, slow-and-large further away
Hardware and Software Layers Where computer science meets computer engineering Application software — what a person runs Operating system — schedules the CPU, manages memory and I/O Hardware — CPU, memory, storage, I/O devices Silicon — transistors, fab process, lithography, packaging each layer is a progressively more detailed answer to the same question

Computer science, in the broadest sense this series will build through in order, is the study of what you can build on top of this stack and how far down you need to understand it to build it well — and this project's own chip-level coverage exists precisely because the bottom layer is never truly optional knowledge, only knowledge you can temporarily set aside.

Take computer fundamentals further

Ask the copilot about this term, or have our engineers assess it against your process.