Why is a processor’s speed not the only important factor in a computer’s performance?

977 views

Hello, everyone! I’ve been doing some research into computer hardware lately, and one thing that I keep coming across is this idea that the speed of a processor, while important, isn’t the only thing that affects a computer’s overall performance. I’m having a bit of a hard time wrapping my head around this because I always thought that a faster processor meant a faster computer. Can anyone explain why this isn’t necessarily the case? I’m really interested to learn more about this!

In: 97

45 Answers

Anonymous 0 Comments

A theoretical simple CPU will execute once instruction every clock cycle, so in that case, more cycles per second = more instructions per second. In reality, most instructions take more than one cycle to execute, simple instructions might take one or a few cycles per instruction while complex instructions might take a couple of dozen of cycles. These instructions take more CPU cycles but they also perform more sophisticated operations that would have taken more CPU cycles with a simpler set of instructions.

Modern CPUs also employ a technique call pipelining which will allows a CPU to start the execution of the next instruction in the next clock cycle, while the previous instruction is still executing. Obviously, if the next instruction depends on data that would be computed by the previous instruction, it has to wait for the result. To mitigate this issue, CPU designers came up with another technique called speculative execution which would try to “guess” the result of unfinished instructions and continue execution. These techniques improve performance but they seriously muddy the relationship between clock cycles and performance. At any given clock cycle, the CPU is executing a range of instructions because of the pipeline and some of that computation gets discarded because the CPU didn’t make the right guess on a speculative execution.

Anonymous 0 Comments

There can be lots of reasons, but a simple explanation is that the other components can slow down the processor. You’re essentially right that the processor is the most important part, but every moment it has to spend waiting for data retrieval is a moment in which that processor can’t run at full speed.

Anonymous 0 Comments

Think of it this way: you’re not going to turn a Toyota Camry into a supercar by just dropping in a Ferrari engine. There’s a bunch of components that need to work in harmony to deliver performance.

Anonymous 0 Comments

ELI5 answer:

You’re reading a book. Because the book is with you, you’re able to read it quickly.

You finish the book and want to read another. Unfortunately you’ve run out of books and have order one to be delivered the next day.

It’s the waiting that slows everything down.

So in a computer if the super fast CPU is waiting on something slow, like a disc, then that will impact the performance.

Anonymous 0 Comments

To perform multiple operations. If you only had a 1c1t cpu you could only do one thing at a time. You can sort of psuedo multitask by having the cpu go back and forth between doing small portion of operation a and a small portion of operation b. However this is not ideal, and not actually asynchronous, so instead we opt for more cores and threads to perform more operations.

Another is thermals. If an individual cpu core gets too hot then the operation can me moved over to another available core that isnt as hot.

Another is divying up the cores. To run something like a virtual machine you need to allocate it some cpu cores, so you need some for your host system then some for the machines youre virtualizing.

There are quite a few reasons why having more cores is a benefit. However, that doesnt automatically mean more = better. Some programs, usually older ones, benefit from higher clock speeds. It doesnt matter if you have 8, 16, 32, 256 cores, not all programs take advantage of all those cores, so if their clocks are slow, you can expect slow performance.