ENES

Cores and threads

Why a CPU is really several processors, and why it can juggle even more tasks.

A CPU with four cores; each core is fed by two threads, shown as two lanes of tasks merging into it

A core is a complete processor: it can fetch instructions and execute them on its own. For decades a CPU had one. Since the mid-2000s, chipmakers have put several cores on the same chip instead of making a single core ever faster, so a laptop processor might have 8 or more and a server processor many dozens. Each core can run a different program, or a different piece of the same program, at the same time.

A thread is a sequence of instructions waiting to be run. Software creates threads, the operating system hands them to cores, and switches between them so quickly that dozens of apps seem to run at once. Many CPUs also offer simultaneous multithreading (Intel calls it Hyper-Threading): each core presents itself as two, so it can work on a second thread while the first is waiting for data. That is where specs like "8 cores, 16 threads" come from. The two threads share one core's machinery, so it is a useful boost, not double the speed.

More cores help only when the work can be split. Rendering video, compiling code or running many users' requests on a server split well, and get much faster with more cores. A single long chain of steps, where each step needs the previous result, cannot be split, and runs at the speed of one core. That is why both the number of cores and the speed of each one matter.

Keep in mind

Go deeper

Related terms

More in Hardware