what physically determines the speed of a processor?

832 views

what physically determines the speed of a processor?

In: Technology

7 Answers

Anonymous 0 Comments

Good question 🙂

Processors are large collection of transistors coupled together by small metal (copper? gold? aluminium? magnesium?) paths in new and ingenious ways, as such we need to understand how their physical behaviour:

A transistor works by saturating a part of it with enough electrons or removing enough electrons from that part so that the other part of the transistor will start or stop conducting. This takes time, but the smaller the transistor the faster it goes. But the smaller the transistor is, the more weird quantum related issues show up.

The paths which connect everything are laying next to each other or crisscross over each other and the magnetic fields generated by these paths can interfere with the other paths. The smaller you make the distance between the paths, the more interference. So you need enough space there.

The clock signal on which the processor works needs to be everywhere more or less at the same time, otherwise it could be that your transistor logic is getting confused and 1 + 2 ends up as 4. The faster the clock signal, the less time you have to get it all in the right state, so overclocking is not guaranteed to be a working scenario.

The smaller the transistors are, the less they are able to deal with heat. For a faster clock speed, more heat is produced. The lower the working voltage, less heat is produced. But the lower the voltage, the less tolerant the transistors becomes to interference.

Anonymous 0 Comments

There are 2 components that determine CPU speed: the front side bus (FSB) which is a clock on the motherboard itself typically running at 100 MHz, and a “multiplier” which is on the CPU and sets how many CPU cycles to run per FSB tick. So for a 4 GHz CPU the multiplier would be 40.

Changing the CPU speed requires changing one of these two values. The multiplier is the easiest and generally safest to change, but only works in increments of 100 MHz and some CPUs are multiplier-locked preventing this.

Anonymous 0 Comments

Design engineers call it “timing closure”. When you design a microprocessor, you have to connect the transistors with metal traces which act as the wires that go between them. For nearby transistors those traces are short and simple, but for ones further away they can be relatively long and go up and down through different layers, kind of like a printed circuit board.

To change a transistor from on to off, you’ve got to get the voltage on a trace to a certain level. Traces have both resistance and capacitance, which makes the signals a bit slow to change. The longer the trace, generally the slower it is to change its voltage.

This is all important because most circuits are “synchronous”…they are supposed to change voltages by a certain time. If they are late (or sometimes, too early) it will cause an error. So the circuits require careful timing analysis to make sure that all of the signals will reach their destination on time, even over variations in voltage and temperature.

Usually this initially results in lots of lots of failures. So signals have to be rerouted, drive strengths changed, and various other changes to make sure the circuit will work. Then they have to be analyzed again, and you find that those changes cause new problems. It’s an iterative process that takes a lot of work.

Additionally, you can run into other problems that need to be dealt with, such as cross-talk between nearby traces, hot spots, etc.

Once you’ve dealt with all of these issues and the signal timings are all good, you’ve “closed timing”. It’s a major milestone in microprocessor design.

Anonymous 0 Comments

Quick background. A computer program is a list of instructions. When you compile your code you generate a list of machine code instructions which are fed to the processor. The entire purpose of the processor is to execute those instructions.

Processors run at a set clock speed. The clock is a signal which transitions between high and low at a constant rate. This is the speed you see advertised when you buy a CPU, e g 4 GHz.

Processors execute instructions at a speed proportional to that clock speed. A simple processor might execute 1 instruction per clock cycle. In reality processors rarely ever finish an instruction in a single cycle, but I’m going to ignore that for simplicity. So in a simple processor if you double the clock speed you’re doubling the total speed of the processor.

So why not just jack up the clock speed to get an insanely fast processor? If you set the clock speed too high then the circuitry in the processor won’t be able to keep up. It takes time for transistors to switch and for the result of each instruction to be resolved. Manufacturers are constantly seeking ways to make circuits faster but it’s not easy.

Anonymous 0 Comments

To add on to what others have said: the speed of the clock determines how frequently the transistors on the CPU will switch. Switching takes some power to do.

Also, a big limiting factor to how fast you can clock your CPU is actually not limited by the transistors. It’s the wires going from one place to another. A longer wire will be slower to carry electricity than a shorter wire. Transistors need some time to charge to turn on and off. More voltage will do this quicker, longer wires will slow this down.

The transistors themselves can actually switch WAYYYY faster than a few GHz like you see in your typical processor. For example, a smaller part of your processor, like a divider, multiplier, or a more complex function, may be clocking in the realm of 30-40 GHz. And that’s not all. A CMOS ring oscillator can have transistors switching at a rate of over 200 GHz!

When you combine these one after another, you will need to give some time for the signals to hop from one transistor to the next. And that’s where you start making larger and larger building blocks for your processor, and those building blocks will each need some time for the signal to come in, go through, and leave.

I could go on all day, but that’s a very rough explanation.

Anonymous 0 Comments

Processors do a lot of calculations really quickly by running electricity through them in specific ways. The physical limit to processing speed is how fast you can run electricity through it to get the answer to the calculations.

So a processor that conducts better would be faster than one that conducts worse, and a processor that can calculate with fewer steps works better than one that requires more steps.

Anonymous 0 Comments

Thanks all 🙂 your explanations are much appreciated!