O que limita a velocidade da CPU?


102

Conversei recentemente com um amigo sobre a compilação do LaTeX. O LaTeX pode usar apenas um núcleo para compilar. Portanto, para a velocidade da compilação do LaTeX, a velocidade do clock da CPU é mais importante (consulte Dicas para escolher o hardware para obter o melhor desempenho de compilação do LaTeX )

Por curiosidade, procurei CPUs com as maiores velocidades de clock. Eu acho que foi o Intel Xeon X5698 com 4.4 GHz ( fonte ) que teve a maior velocidade de clock.

Mas essa pergunta não é sobre CPUs que são vendidas. Gostaria de saber o quão rápido pode chegar se você não se importa com o preço.

Então, uma pergunta é: existe um limite físico para a velocidade da CPU? Quão alto é?

E a outra pergunta é: Qual é a maior velocidade de CPU alcançada até agora?

Eu sempre pensei que a velocidade da CPU era limitada porque o resfriamento (tanto calor ) fica muito difícil. Mas meu amigo duvida que esse seja o motivo (quando você não precisa usar sistemas de refrigeração tradicionais / baratos, por exemplo, em um experimento científico).

Em [2], li que atrasos na transmissão causam outra limitação na velocidade da CPU. No entanto, eles não mencionam a rapidez com que pode chegar.

O que eu encontrei

Sobre mim

Eu sou um estudante de ciência da computação. Eu sei algo sobre a CPU, mas não muito. E menos ainda sobre a física que pode ser importante para esta questão. Portanto, lembre-se de suas respostas, se possível.


10
Sua pergunta é boa, espere respostas muito boas e educadas. Meus dois centavos: a implicação "ele funciona apenas em um núcleo" -> "o relógio é o mais importante" não é verdadeira.
21414 Vladimir Cravero

12
O recorde atual de uma CPU com overclock é o AMD Bulldozer, rodando a 8,4 GHz . Foi resfriado usando nitrogênio líquido.
tcrosley

2
Embora o título da pergunta seja "O que limita a velocidade da CPU?" deve-se observar que a declaração: "O LaTeX pode usar apenas um núcleo para compilar. Portanto, para a velocidade da compilação do LaTeX, a velocidade do clock da CPU é mais importante" não é necessariamente verdadeira. O cache da CPU também pode fazer a diferença. Devido ao modo como as CPUs modernas funcionam, combinado com o fato de existirem diferentes CPUs com frequências idênticas, mas com tamanhos diferentes de cache e como o software foi escrito e usado, o cache da CPU pode ter uma influência maior na velocidade de execução do que Frequência da CPU.
Shivan Dragão

2
O desempenho de thread único não é diretamente proporcional à velocidade do relógio; o relacionamento é mais complexo. Isso pode ser parcialmente mascarado pela semelhança das microarquiteturas Intel x86 recentes com as melhorias microarquiteturais que compensam alguns dos custos com o aumento da frequência.
Paul A. Clayton

9
Sugiro comparar um processador de 2GHz de 2004 com um processador de 2GHz de 2014; você descobrirá que eles não estão no mesmo estádio, mesmo em tarefas de thread único, e mesmo quando ambos implementam o mesmo conjunto de instruções - as instruções CISC que são alimentadas são uma coisa, mas as microoperações são discriminadas em são completamente outra.
22614 Charles Duffy

Respostas:


76

Praticamente, o que limita a velocidade da CPU é o calor gerado e o atraso da porta, mas geralmente o calor se torna um problema muito maior antes que o último entre em ação.

Os processadores recentes são fabricados usando a tecnologia CMOS. Toda vez que há um ciclo de relógio, a energia é dissipada. Portanto, velocidades mais altas do processador significam mais dissipação de calor.

http://en.wikipedia.org/wiki/CMOS

Aqui estão algumas figuras:

Core i7-860   (45 nm)        2.8 GHz     95 W
Core i7-965   (45 nm)        3.2 GHz    130 W
Core i7-3970X (32 nm)        3.5 GHz    150 W

insira a descrição da imagem aqui

Você pode realmente ver como o poder de transição da CPU aumenta (exponencialmente!).

Além disso, existem alguns efeitos quânticos que ocorrem quando o tamanho dos transistores diminui. Em níveis nanométricos, as portas dos transistores tornam-se "vazadas".

http://computer.howstuffworks.com/small-cpu2.htm

Não vou falar sobre como essa tecnologia funciona aqui, mas tenho certeza de que você pode usar o Google para pesquisar esses tópicos.

Ok, agora, pelos atrasos na transmissão.

Cada "fio" dentro da CPU atua como um pequeno capacitor. Além disso, a base do transistor ou a porta do MOSFET atuam como pequenos capacitores. Para alterar a tensão em uma conexão, você deve carregar o fio ou remover a carga. À medida que os transistores encolhem, fica mais difícil fazer isso. É por isso que a SRAM precisa de transistores de amplificação, porque os transistores de matriz de memória são realmente pequenos e fracos.

Em projetos típicos de CI, onde a densidade é muito importante, as células-bit possuem transistores muito pequenos. Além disso, eles geralmente são construídos em matrizes grandes, que possuem capacitâncias de linha de bits muito grandes. Isso resulta em uma descarga muito lenta (relativamente) da linha de bits pela célula de bit.

De: Como implementar o amplificador de sentido SRAM?

Basicamente, o ponto é que é mais difícil para pequenos transistores terem que acionar as interconexões.

Além disso, há atrasos no portão. As CPUs modernas têm mais de dez estágios de pipeline, talvez até vinte.

Problemas de desempenho no pipelining

Existem também efeitos indutivos. Nas frequências de microondas, elas se tornam bastante significativas. Você pode procurar diafonia e esse tipo de coisa.

Agora, mesmo que você consiga colocar um processador 3265810 THz em funcionamento, outro limite prático é a rapidez com que o resto do sistema pode suportá-lo. Você deve ter RAM, armazenamento, lógica de colagem e outras interconexões que executam com a mesma rapidez ou precisa de um cache imenso.

Espero que isto ajude.


1
Você pode querer incluir um link para esta discussão para agradáveis referências sobre como velocidade de clock e consumo de energia relacionam: physics.stackexchange.com/questions/34766/...
Emiswelt

2
Há também a velocidade da eletricidade a considerar quando se fala sobre a transmissão atrasa en.wikipedia.org/wiki/Speed_of_electricity
ryantm

Na verdade, aumenta exponencialmente ou apenas quadraticamente? De fato, este vídeo diz isso Power = Frequency ^ 1.74.
Paul Manta

2
Bom ponto, no entanto, uma das maiores dificuldades no design da CPU são as interconexões. Um chip fisicamente grande pode ser possível, mas lembre-se de que eles estão funcionando na faixa de gigahertz. Você quer manter os fios curtos.
fuzzyhair2

2
Como a questão é teórica, pode-se acrescentar que outros semicondutores, como o arseneto de gálio, permitem frequências mais altas.
Iacopo

32

A questão do calor está bem coberta por fuzzyhair. Para resumir os atrasos na transmissão, considere o seguinte: O tempo necessário para um sinal elétrico atravessar a placa-mãe agora é mais do que um ciclo de clock de uma CPU moderna. Portanto, fazer CPUs mais rápidas não vai conseguir muito.

Um processador super-rápido é realmente benéfico apenas em processos massivos de processamento de números, e somente se o seu código for cuidadosamente otimizado para fazer o trabalho no chip. Se, com freqüência, for necessário procurar outros dados, toda essa velocidade extra será desperdiçada. Nos sistemas atuais, a maioria das tarefas pode ser executada em paralelo e grandes problemas são divididos em vários núcleos.

Parece que seu processo de compilação de látex seria aprimorado por:

  • IO mais rápido. Tente um disco RAM.
  • executando diferentes documentos em diferentes núcleos
  • não esperando que um trabalho intensivo de imagem de 200 páginas seja realizado em 2 segundos

2
Pena que eu sou permitido apenas um voto positivo. Sua resposta merece mais por apontar que a taxa de clock pode não ser o gargalo no problema do OP.
Solomon Slow

17

Existem três limites físicos: calor, atraso no portão e velocidade da transmissão elétrica.

O recorde mundial na maior velocidade de clock até agora é (de acordo com este link) 8722,78 MHz

A velocidade da transmissão elétrica (aproximadamente a mesma da velocidade da luz) é o limite físico absoluto, pois nenhum dado pode ser transmitido mais rapidamente do que o médio. Ao mesmo tempo, esse limite é muito alto, portanto, geralmente não é um fator limitante.

As CPUs consistem em enormes quantidades de portas, das quais algumas são conectadas em série (uma após a outra). Uma mudança do estado alto (por exemplo, 1) para o estado baixo (por exemplo, 0) ou vice-versa demora um pouco. Este é o atraso do portão. Portanto, se você tiver 100 portas conectadas serialmente e se precisar de 1 ns para alternar, terá que aguardar pelo menos 100 ns para que tudo dê uma saída válida.

Essas opções são as que consomem mais energia em uma CPU. Isso significa que, se você aumentar a velocidade do relógio, obterá mais interruptores, consumirá mais energia e aumentará a produção de calor.

Sobrecarregar (=> fornecer mais energia) diminui um pouco o atraso do gate, mas aumenta novamente a produção de calor.

Em algum lugar em torno de 3 GHz, o consumo de energia para a velocidade do relógio aumenta extremamente. É por isso que as CPUs de 1,5 GHz podem ser executadas em um smartphone, enquanto a maioria das CPUs de 3-4 GHz nem pode ser executada em um laptop.

Mas Clock Speed ​​não é a única coisa que pode acelerar uma CPU, também otimizações no pipeline ou na arquitetura de microcódigo podem causar uma aceleração significativa. É por isso que um Intel i5 de 3 GHz (Dualcore) é várias vezes mais rápido que um Intel Pentium D (Dualcore) de 3 GHz.


1
Apenas o overclock aumenta o consumo de energia da CPU linearmente. Então o dobro da velocidade do relógio significa o dobro do uso de energia. Mas em velocidades mais altas, os portões ficam muito lentos para trabalhar com essa velocidade e você começa a obter erros de cálculo -> falhas aleatórias. Então você precisa aumentar a tensão para acelerar os portões. As escalas de uso de energia são diretamente comparadas à tensão. Portanto, dobrar a tensão significa quatro vezes o consumo de energia. Adicione isso para dobrar o relógio e você terá oito vezes o uso de energia. Além disso, a tensão necessária aumenta exponencialmente com a velocidade do relógio. en.wikipedia.org/wiki/CPU_power_dissipation
Dakkaron

1
O outro problema aqui é que o excesso de tensão pode fritar sua CPU e não há nada que possa ser feito contra isso. Se sua CPU for especificada para, por exemplo, 3,3V, você poderá subir para 3,7 ou até 4V, mas se você for alto, isso destruirá o chip. Outro link que vale a pena ler: en.wikipedia.org/wiki/CPU_core_voltage
Dakkaron

3
A velocidade de transmissão é um problema: em 3Ghz você recebe apenas 10cm / ciclo. Como uma matriz de processador típica atualmente possui 300m², acredito que após 10 Ghz seria necessário repensar o design do processador, pois provavelmente nem todas as partes do chip podem ser alcançadas em um ciclo.
Martin Schröder

1
@ MartinSchröder: Isso não é um grande problema, já que (a) a CPU morre devido ao atraso de calor e de porta antes que os 10 GHz sejam atingidos e (b) os processadores se tornam menores a cada geração. Por exemplo, um i7 de 6 núcleos com hyperthreading tem aproximadamente o mesmo tamanho que um Pentium 4. de singlecore. Mas o i7 tem 6 núcleos completos e mais 6 "semi-núcleos" para o hyperthreading. Também há o cache. Além disso, esses núcleos são divididos em fases de pipeline. Somente as partes da CPU em uma fase de núcleo e uma de pipeline (e talvez o cache L1) precisam ser alcançadas em um ciclo.
Dakkaron

1
@ com.prehensible A postagem que você vinculou fala especificamente sobre o fato de que esse transistor de 500 GHz é "apenas" um transistor analógico usado para processamento analógico de RF. Não é de forma alguma um processador de computador.
Dakkaron

5

As respostas para suas perguntas são: Sim , há um limite físico para a velocidade da CPU. O limite teórico mais alto será definido pela rapidez com que um "comutador" pode mudar de estado. Se usarmos o elétron como base do comutador, usaremos o raio de Bohr e a velocidade mais rápida possível para calcular a frequência No estado atual da tecnologia, o limite real é de cerca de c = 3 × 10 8 , F = 1

r=5.291×1011
c=3×108,
8×109Hz
F=1t=c2πr=9.03×1017Hz
8×109Hz

Fiz algumas edições no seu LaTeX. Você poderia verificar se a edição da frequência estava correta?
Martin Thoma

Como você chegou ao estado atual do limite de tecnologia?
Martin Thoma

Você escreve que o limite atual é "8x 10 ^ 9 Hz". O que é x? Você finalmente quis escrever um ponto de multiplicação?
Martin Thoma

1
Você também construiria o computador mais rápido possível no raio de Schwarzschild de um buraco negro para obter o máximo efeito. O raio Bohr é muito grande para trabalhar em altas velocidades. :)
Goswin von Brederlow

3

Então, uma pergunta é: existe um limite físico para a velocidade da CPU?

Isso depende muito da própria CPU. As tolerâncias de fabricação resultam no fato de que o limite físico é um pouco diferente para cada chip, mesmo da mesma bolacha.

atrasos na transmissão causam outra limitação na velocidade da CPU. No entanto, eles não mencionam a rapidez com que pode chegar.

Isso porque transmission delayou speed path lengthé uma escolha para o designer do chip para fazer. Em poucas palavras, é quanto trabalho a lógica faz em um único ciclo de clock . A lógica mais complexa resulta em taxas de clock máximas mais lentas, mas também consome menos energia.

É por isso que você deseja usar uma referência para comparar CPUs. Os números de trabalho por ciclo são muito diferentes, portanto, comparar MHz brutos pode lhe dar uma idéia errada.


2

Na prática, é definitivamente definida a energia térmica aproximadamente proporcional ao quadrado da tensão: http://en.wikipedia.org/wiki/Thermal_design_power#Overview Todo material possui sua capacidade térmica específica que limita a eficiência do resfriamento.
Sem considerar os problemas técnicos do atraso de resfriamento e transmissão, você encontrará a velocidade da luz que limita a distância que um sinal pode percorrer em nosso processador por segundo. Portanto, a CPU deve ficar ainda mais rápida quanto mais ela operar. Finalmente, se estiver operando além de uma certa frequência, a CPU poderá se tornar transparente para as funções de onda eletrônica (elétrons modelados como funções de onda seguindo a equação de Schroedinger).
Em 2007, alguns físicos calcularam um limite fundamental para as velocidades operacionais:http://journals.aps.org/prl/abstract/10.1103/PhysRevLett.99.110502


0

Além de todas as outras respostas, também existem algumas outras considerações que podem não afetar diretamente a velocidade da CPU, mas dificultam bastante a construção de algo em torno dessa CPU;

Em resumo, acima da CC, a frequência de rádio se torna um problema. Quanto mais rápido você for, mais inclinado é tudo para atuar como um rádio gigante. Isso significa que os traços de PCB sofrem diafonia, os efeitos de sua capacitância / indutância inerente aos trilhos / plano de terra adjacentes, ruído, etc. etc. etc.

Quanto mais rápido você avança, pior fica tudo - as pernas componentes podem introduzir indutância inaceitável, por exemplo.

Se você observar as diretrizes para o estabelecimento de PCBs "básicas", do tipo de nível de um Raspberry Pi com alguma RAM DDR, todos os rastreamentos do barramento de dados etc. devem ter o mesmo comprimento, terminação correta etc. funcionando bem abaixo de 1GHz.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.