Menu

System Architecture

Performance

Contents

  1. CPU performance
  2. Clock speed
  3. Cache and performance
  4. Cores
  5. Limits of more cores
  6. Comparing CPUs

A CPU's performance is how quickly it can process instructions. A quicker model gets through the same program in fewer seconds, so a video call connects sooner and a drawing app keeps up with the stylus.

Three common characteristics of a CPU affect its performance. A higher figure for any one of them can make the CPU quicker, but they work together rather than in isolation.

CharacteristicHow a specification shows itRaising it usually means
Clock speed2.7 GHzmore cycles are carried out every second
Cache size6 MBmore data and instructions are held close to the CPU
Number of coresquad-coremore instructions are worked on at the same time

A CPU's specification lists all three together. A laptop advertised as "3.1 GHz octa-core with a 16 MB cache" is quoting each characteristic in turn: 3.1 GHz is the clock speed, octa-core means it has eight cores, and 16 MB is the cache size. Reading the three together is the only way to judge how well that machine will cope with what you want to run on it.

Name each characteristic in full. Write clock speed and number of cores, not just "clock" or "core": on its own, a single word is too vague, because it does not say what is being measured or how many cores there are, and vague answers do not earn marks.

What clock speed means

Clock speed (sometimes called clock rate) is the number of fetch–execute cycles the processor completes every second. One cycle is a single trip round the fetch–execute cycle, in which the processor fetches an instruction, decodes it and carries it out. Because roughly one instruction completes per cycle, clock speed is often simplified to mean the number of instructions a processor carries out each second.

Clock speed is measured in hertz (Hz). A chip running at 1 Hz completes one cycle every second. Real processors work far faster than that, so kilohertz, megahertz and gigahertz are used instead. Hertz counts cycles, not bytes, so a clock speed on its own says nothing about how much storage a computer has.

UnitCycles per second
1 Hz1
1 kHz1,000
1 MHz1,000,000
1 GHz1,000,000,000

Faster and slower clock speeds

More cycles each second gives the processor more chances to work through instructions, so software finishes sooner. Reduce the clock speed and every instruction waits longer for its turn, so tasks take more time. A chip marked 1.2 GHz completes 1,200,000,000 cycles in one second — the same as 1,200 MHz.

Power and heat

A high clock speed comes at a cost: the processor draws more power and gets hotter, so it needs stronger cooling, such as a bigger heatsink, a larger fan or a liquid cooler. That is why the biggest GHz number is not automatically the best buy — it has to be weighed up against electricity use, temperature and the other characteristics that shape performance.

Cache is a small amount of very fast memory inside the CPU. It keeps data and instructions that are used often, so the CPU can get them quickly instead of fetching them from RAM.

RAM is much slower than the CPU. If the CPU needs something that is not in the cache, it has to fetch it from RAM, and while it waits the CPU can sit idle. This waiting is what slows processing down.

Why a larger cache helps

A larger cache size can hold more data and instructions. That makes it more likely that what the CPU needs next is already in the cache, so fewer slow fetches from RAM are needed. Less time spent waiting means better performance. A smaller cache holds less, so more requests miss and go to RAM, adding waiting time.

For example, if a program repeats the same short set of instructions in a loop, those instructions can stay in the cache while the loop runs. The CPU does not need to keep collecting them from RAM each time.

Limits of cache size

Cache is costly to include in a processor, so only a limited amount is provided. Adding more only helps if it stores the data and instructions the CPU actually needs; past a certain size, extra cache makes little difference. Also, cache does not make the CPU itself faster or give you more storage for programs. It reduces waiting time by making trips to RAM less frequent.

A core is one of the processing units built into a CPU chip. Each core can carry out the fetch–decode–execute cycle on its own, so a single core works much like a small, complete CPU, and a multi-core processor simply has several of these units on one chip.

Naming CPUs by their cores

The number of cores is part of how a CPU is described, and the common names simply count them:

NameNumber of cores
Dual-core2
Quad-core4
Octa-core8

So an octa-core CPU contains eight processing units that can each work independently.

Why more cores help

More cores allow more instructions to be processed at the same time, which is called processing in parallel. With one core, instructions have to wait their turn and are dealt with one after another. With several cores, work can be shared out, so fewer instructions are left waiting.

This pays off when several programs are open at once. Imagine a tablet with a quad-core CPU running a video call, a note-taking app and a music player. The operating system can share these three programs across the four cores, so the video call keeps a steady picture while your typing still appears instantly. On a single-core CPU the same jobs would have to take turns, and the typing would feel sluggish.

It also helps with one large job, as long as that job can be split into parts that do not depend on each other. A quad-core CPU could work on four sections of a task at the same time rather than tackling them one by one.

A CPU with more cores can work on several instructions at once, but that does not mean it will always be faster. Adding cores only helps when the work can actually be shared between them.

Software has to be written for more cores

Some programs are written as a single sequence of instructions that runs from start to finish. A program like this can only use one core at a time, so the other cores cannot help with that program and its speed is limited by the single core it uses. To take advantage of extra cores, the software has to be deliberately designed to split its work into parts that can run side by side.

Some tasks cannot be split

Other tasks are a chain of steps, where each step needs the answer from the one before. Imagine keeping a running total of money raised by a school charity: you cannot work out Friday's running total until Thursday's running total is known, so the calculation must happen in order on one core. Anything built on “do this, then use the result to do that” is stuck in a queue, however many cores you have.

Cores have to work together

Spreading a job across cores is not free. The work has to be divided into chunks, handed out to cores, and the answers joined back together, and all of that coordination takes time. The cores also share resources, such as access to RAM: if several cores need data from RAM at the same moment, they may have to take turns, so each one waits. Past a certain point, adding more cores can add more waiting.

This is why a CPU with more cores does not always finish a task in less time, and why the number of cores has to be weighed up alongside clock speed and cache size.

Two CPUs can have very different specifications, so you cannot judge one on a single number. A fair comparison weighs up three things at once: how fast it runs (the clock speed), how much cache it has, and how many cores it contains. Looking at just one of them can give you the wrong answer.

A CPU with more cores is not automatically faster. Doubling the number of cores does not double the speed, because extra cores only help when the software can share the work between them. A chip with fewer cores can still finish the job sooner if each of its cores runs faster, or if a bigger cache keeps more of the data it needs close by.

Comparing two CPUs

A school is buying two mini PCs for its lunchtime coding club. Both run the same software, which can share its work across several cores.

CharacteristicMini PC XMini PC YWhat it means
Clock speed2.6 GHz3.6 GHzY completes more fetch–execute cycles each second.
Cache size6 MB2 MBX can keep more frequently used data and instructions close by, so it waits less for RAM.
Number of cores62X can work on more instructions at the same time.

No single row settles it. Mini PC Y has the higher clock speed, so each of its cores works through instructions more quickly. Mini PC X has three times as many cores and a larger cache, so it can process more at once and spend less time waiting for RAM. Because the coding club's software can use several cores, X is likely to be the faster of the two overall. For software that only used one core, Y's higher clock speed would probably make it the faster machine.

A proper comparison weighs up all three characteristics together, then says which CPU is likely to be faster for the job it has to do.