The performance of a computer system is affected by four main factors:
Cache Memory: Size & Levels
What is cache memory?
Cache memory is temporary storage for frequently accessed data.
Cache memory is very quick to access because it is closer to the CPU than other types of memory like RAM.
What are the 3 levels of cache memory?
Level 1 cache is the smallest level (less than a megabyte) but it is also the fastest.
Level 2 cache is larger than level 1 (up to 8 megabytes) but slightly slower.
Level 3 cache is located outside of the CPU core which makes it slower than the first two levels but it is much larger (up to 50 megabytes).
How does cache memory work?
When the CPU searches for data, it looks first in level 1 cache, then level 2 and then level 3. If the data has been found, this is called a 'cache hit'. If the data is not found then the CPU searches in RAM instead which takes more time - this is called a 'cache miss'.
How does cache memory improve performance?
Cache memory is closer to the CPU than RAM, meaning that it can provide data and instructions to the CPU at a faster rate.
A computer with more cache memory (e.g. 8MB instead of 4MB) should have a higher performance because repeatedly used instructions can be stored and accessed faster.
Larger level 1 and level 2 cache sizes will improve a computer's performance as data can be accessed extremely quickly.
What is the limitation of cache memory?
Cache memory is costly, so most computers only have a small amount.
Multiple cache misses will result in data latency (delay) as information is accessed from RAM which is further away from the CPU.
What is clock speed?
Clock speed is the measure of how quickly a CPU can process instructions.
Clock speed is measured in Gigahertz (GHz). A typical desktop computer might have a clock speed of 3.5 GHz.
This means it can perform 3.5 billion cycles a second.
How does clock speed improve performance?
The faster the clock speed, the faster the computer can perform the FDE cycle resulting in better performance because more instructions can be processed each second.
How does overclocking and underclocking affect performance?
Typical clock speed:
Overclocking is when the computer's clock speed is increased higher than the recommended rate.
This will make the computer perform faster, but it can lead to overheating and could damage the machine.
Underclocking is when the computer's clock speed is decreased lower than the recommended rate.
This will make the computer perform slower but will increase the lifespan of the machine.
Number of Cores
What is a core?
A core is a complete set of CPU components (control unit, ALU and registers). Each core is able to perform its own FDE cycle.
A multi-core CPU has more than one set of components within the same CPU.
How does the number of cores improve performance?
In theory, a single-core processor can execute one instruction at a time, a dual-core processor can execute two instructions, and a quad-core can execute four instructions simultaneously.
Therefore, a computer with more cores will have a higher performance because it can process more instructions at once.
What are the limitations of having more cores?
If one core is waiting for another core to finish processing, performance may not increase at all.
Some software is not written to make use of multiple cores, so it will not run any quicker on a multi-core computer.
What is pipelining?
Pipelining efficiently uses multiple cores or processors to perform different stages of the FDE cycle at the same time.
Pipelining overlaps the processing of instructions to improve performance by increasing the amount of instructions that can be fetched, decoded and executed each second.
The first image to the right shows a processor not using pipelining whereby one instruction can only be fetched once the previous instruction has been fetched, decoded and executed.
The second image shows how pipelining can be used to process multiple instructions during the same clock cycle. For example, in clock cycle 3 instruction X can be executed while instruction Y is decoded and instruction Z fetched.
A simplified example of a processor not using pipelining.
A simplified example of a processor using pipelining.
What is the limitation of pipelining?
Certain instructions may not be able to be executed until other instructions have been fetched and decoded. This wait for other instructions may impact performance.
1.1b - Performance:
Cache Size & Levels
1a. What is cache memory? 
1b. Describe the three levels of cache memory, including the storage size and relative speed of each level. 
1c. Describe what is meant by a 'cache hit' and a 'cache miss'. 
1d. Describe two ways that more cache memory will mean performance is higher. 
1e. Explain why most computers only have a small amount of cache memory. 
2a. What is clock speed? What is it measured in? 
2b. Explain how a higher clock speed improves performance. 
2c. Explain the terms 'overclocking' and 'underclocking' and explain the effects of both on the performance of a computer. 
Number of Cores
3a. What is a core? 
3b. Explain why a quad-core processor should have a higher performance than a dual-core processor. 
3c. Explain two reasons why having more cores doesn't necessarily mean the performance will be better. 
4a. What is pipelining? How does pipelining affect performance?