If the speed of electrical charge hasn't changed, how have computers become faster?

Question Detail: 

Everyone knows computing speed has drastically increased since their invention, and it looks set to continue. But one thing is puzzling me: if you ran an electrical current through a material today, it would travel at the same speed as if you did it with the same material 50 years ago.

With that in mind, how is it computers have become faster? What main area of processor design is it that has given these incredible speed increases?

I thought maybe it could be one or more of the following:

  • Smaller processors (less distance for the current to travel, but it just seems to me like you'd only be able to make marginal gains here).
  • Better materials
Asked By : leylandski
Best Answer from StackOverflow

Question Source : http://cs.stackexchange.com/questions/47041

Answered By : Jacen

if you ran an electrical current through a material today, it would travel at the same speed as if you did it with the same material 50 years ago.

With that in mind, how is it computers have become faster? What main area of processor design is it that has given these incredible speed increases?

You get erroneous conclusions because your initial hypothesis is wrong: you think that CPU speed is equivalent to the speed of the electrons in the CPU.

In fact, the CPU is some synchronous digital logic. The limit for its speed is that the output of a logical equation shall be stable within one clock period. With the logic implemented with transistors, the limit is mainly linked to the time required to make transistors switch. By reducing their channel size, we are able to make them switch faster. This is the main reason for improvement in max frequency of CPUs for 50 years. Today, we also modify the shape of the transistors to increase their switching speed, but, as far as I know, only Intel, Global Foundries and TSMC are able to create FinFETs today.

Yet, there are some other ways to improve the maximum clock speed of a CPU: if you split your logical equation into several smaller ones, you can make each step faster, and have a higher clock speed. You also need more clock periods to perform the same action, but, using pipelining techniques, you can make the rate of instructions per second follow your clock rate.

Today, the speed of electrons has become a limit: at 10GHz, an electric signal can't be propagated on more than 3cm. This is roughly the size of current processors. To avoid this issue, you may have several independent synchronous domains in your chip, reducing the constraints on signal propagation. But this is only one limiting factor, amongst transistor switching speed, heat dissipation, EMC, and probably others (but I'm not in the silicon foundry industry).

No comments

Powered by Blogger.