1.1 The characteristics of contemporary processors, input, output and storage devices
1.2 Software and Software Development
1.3 Exchanging Data
1.4 Data Structures & Types
1.5 Legal, Moral, Cultural, and Ethical Issues
2.1 Elements of Computational Thinking
2.2 Programming Techniques & Methods
2.3 Algorithms
The Programming Project (NEA)

Factors Affecting CPU Performance

There are three major factors that affect CPU performance. You may have noticed that in previous sections we have referred to the processor and not the CPU – it is important to be aware that these two things are different.

Components of the CPU

A CPU, or Central Processing Unit can be made up of one or more processors working together or performing separate tasks. When they are combined into one unit, they are referred to as core of the CPU.

Clock Speed

The speed of a processor is measured in how many FDE Cycles it can perform per second. We refer to this as being measured in Hertz (Hz) – you may have come across Hz being used in physics or electronics to measure other waves, and the term Hertz simply refers to the a number of ‘things’ per second.

Knowing this, we can calculate that a processor of 1Hz will be able to process a single F-D-E cycle per second… which is rubbish! Instead, modern CPUs will be measured in GigaHertz.

  • 1 Hz (Hertz) = 1 cycle per second
  • 1 MHz (MegaHertz) = 1 million cycles per second
  • 1 GHz (GigaHertz) = 1 billion cycles per second

Number of Cores

Now we know how fast each of the processors could be, what is the benefit of having more than one in a CPU? Imagine that you have a task to do and you are limited on how fast you can do it, if you had another person to help with that task you could potentially complete it quicker. The same is true for processors.

Exam Tip

Beware of the exam trap! Whilst it is possible for a CPU with 2 cores to be faster than one with a single core, it is unlikely that it will be twice as fast. This is because some tasks are linear, meaning that the instructions must be carried out one after the other.

Size of Cache

​Cache has been mentioned before when we looked at main memory and the Fetch Decode Execute Cycle. Remember that this small, but very fast piece of main memory acts like a buffer for the CPU allowing it to access instructions quickly. This means that if the CPU can drain the cache quicker than it can refill, the whole process will slow down.​

So the cache must be big enough for the processor to fetch instructions and data at its optimum speed, otherwise time will be lost in refilling the cache ready for the next cycle.

Multicore & Parallel Systems

Simply having more cores in a CPU isn’t enough to make processing faster. There are a number of ways in which we can use multiple processors to speed up the executing of instructions and often this is based upon the type of data that they are processing.

chip

An Array Processor is more complex type of processor which includes multiple arithmetic logic units (ALU) which allow the same instruction to be applied to multiple elements within an array. A useful example of this might be where all elements in an array need to be doubled, so instead of applying the same calculation in a linear fashion to each item in the array the potential of having eight arithmetic logic units means that the same instruction can be applied to eight pieces of data at once.

Another way of identifying an array processor is to describe it as a Single Instruction Multiple Data processor.

You’ll learn more about Parallel Systems in the next topic.

Activity

The Factors Affecting CPU Performance Scribbl.it Notes provide a structured way for you to revise topic areas in a visual way. You don’t have to be an artist as it’s all been drawn out for you (or you can use this as inspiration to create your own!). Print the notes, then colour in areas of importance, add doodles and colour, then add more detail to the notes page being as creative as possible.