Por que as CPUs não são maiores? [fechadas]

21

As CPUs são relativamente pequenas e os engenheiros estão constantemente tentando diminuí-las e obter mais transistores na mesma superfície.

Por que as CPUs não são maiores? Se uma matriz de aproximadamente 260 mm 2 puder conter 758 milhões de transistores (AMD Phenom II x4 955). Então um 520mm 2 deve ser capaz de reter o dobro da quantidade de transistores e tecnicamente dobrar a velocidade ou núcleos do clock. Por que isso não é feito?

Simon Verbeke
fonte
4
Não conheço todos os detalhes, mas basicamente quanto mais próximos os transistores etc. do chip, mais eficiente ele é. Portanto, quadruplicar a área tornaria o chip mais lento.
ChrisF
1
Além disso, especialmente considerando o estado atual dos aplicativos, as CPUs modernas gastam muito tempo sem fazer nada. Eles mexem o polegar enquanto nós, os usuários, descobrimos o que queremos fazer.
surfasb
1
@ChrisF Você confunde o impacto do encolhimento da matriz (ganho de velocidade como resultado de capacidades reduzidas) com números reduzidos de transistor. Pergunte a si mesmo: o núcleo individual de um núcleo duplo funcionará mais rápido que o de um núcleo quádruplo?
artistoex
2
Isso é feito - veja a nova plataforma LGA2011 da Intel.
Revelação
3
Não concordo com os votos fechados. Existem razões claras pelas quais fazer fichas maiores não faz sentido, como é mostrado pelas respostas principais. Portanto, não é uma pergunta opinativa (como "O Android é melhor que o iOS"). Eu também estava interessado nesta pergunta!
precisa

Respostas:

18

Geralmente, você está certo: a curto prazo, o aumento da paralelização não é apenas viável, mas o único caminho a percorrer. De fato, multi-núcleos, bem como caches, pipelining e hyper-threading são exatamente o que você propõe: ganho de velocidade através do aumento do uso da área de chip. Obviamente, as geometrias reduzidas não colidem com o aumento do uso da área da matriz. No entanto, o rendimento da matriz é um grande fator limitante.

O rendimento da matriz cresce em proporção inversa ao tamanho da matriz: matrizes grandes são simplesmente mais propensas a "capturar" erros de bolacha. Se um erro de bolacha atingir um dado, você pode jogá-lo fora. O rendimento da matriz obviamente afeta o custo da matriz. Portanto, existe um tamanho ideal de matriz em termos de custos versus lucros por matriz.

A única maneira de produzir matrizes significativamente maiores é integrar estruturas tolerantes a falhas e redundantes. É isso que a Intel tenta fazer no projeto Terra-Scale (UPDATE: e o que já é praticado nos produtos do dia a dia, como Dan aponta).

artistoex
fonte
8
Nos modernos e complexos CPU / GPUs, os defeitos de matriz geralmente apenas alimentam o binning. As GPUs de nível médio / superior geralmente têm uma peça de matriz completa e um ou dois com alguns subcomponentes desativados para obter mais pontos de preço / capacidade com menos designs de chips. O mesmo é feito com as CPUs. Os chips tricore da AMD são quads com uma matriz desativada e os chips LGA2011 são todos os 8 componentes principais. Os dados completos estão sendo usados ​​apenas como Xeons. Os 4/6 core i7-2011s são 8 matrizes com peças desabilitadas. Se os erros de matriz caírem nos locais certos, eles são colocados em caixas como peças mais baratas. Para taxas de erro de GPUs mais modulares, defina a bandeja baixa.
Dan Neely
@DanN Obrigado, eu adicionei este para a minha resposta
artistoex
23

Existem muitas preocupações técnicas (os comprimentos dos caminhos ficam muito longos e você perde eficiência, a interferência elétrica causa ruído), mas a principal razão é simplesmente que muitos transistores estariam quentes demais para resfriar adequadamente . Essa é toda a razão pela qual eles desejam reduzir o tamanho da matriz - permite aumentar o desempenho nos mesmos níveis térmicos.

Shinrai
fonte
Devo acrescentar que quero dizer no contexto de uma máquina de desktop / laptop padrão, é claro.
Shinrai
1
Os comprimentos do caminho não aumentam necessariamente, são uma coisa local: colocar dois núcleos em um chip não aumentará o comprimento do caminho dentro de um núcleo, não é? A dissipação de calor também será distribuída em uma área maior, o que também não é um problema tão grande.
Artistoex
1
Certo, há muitas nuances, mas não senti que se justificasse. (Eu também não significam necessariamente no contexto de mais núcleos, já que a questão não era assim tão explícita sobre isso.)
Shinrai
O ponto é: os processadores com vários núcleos são exatamente o que o OP propunha - ganho de velocidade através do aumento do uso da área de chip.
artistoex
3
Como você acha que o hiper-threading é "núcleos maiores e mais rápidos"? O hyperthreading é todo baseado em lógica e não tem nada a ver com tamanho ... ou seja, se houver excesso disponível no núcleo atual, ele será usado. IE: se sua unidade MMX e FPU estiverem em uso em um determinado núcleo, você ainda poderá realizar cálculos com base em números inteiros.
Supercereal 30/11
15

Várias das respostas dadas aqui são boas respostas. Existem problemas técnicos no aumento do tamanho da CPU e isso vai levar a muito mais calor. No entanto, todos eles são superáveis ​​com incentivos fortes o suficiente.

Gostaria de acrescentar o que acredito ser uma questão central: economia . As CPUs são fabricadas em bolachas como essa , com um grande número de CPUs por bolacha. O custo real de fabricação é por wafer; portanto, se você dobrar a área de uma CPU, poderá caber apenas metade do mesmo em uma wafer, portanto o preço por CPU dobrará. Além disso, nem toda a bolacha sai sempre perfeita, pode haver erros. Portanto, dobrar a área duplica a chance de um defeito em qualquer CPU específica.

Portanto, do ponto de vista econômico, a razão pela qual eles estão sempre diminuindo as coisas é obter um melhor desempenho / mm ^ 2, que é o fator determinante no preço / desempenho.

TL; DR: Além dos outros motivos mencionados, dobrar a área de uma CPU mais que dobra o custo.

Mr Alpha
fonte
Esta é a principal razão. O capítulo 1 do livro de arquitetura de computadores de Hennessy e Pattersons descreve o processo de fabricação e as considerações que levam à condução de CPU morrem para serem o menor possível.
Steve Blackwell
3

Adicionar mais transistores a um processador não o torna mais rápido automaticamente.

Comprimento do caminho aumentado == taxa de clock mais lenta.
Adicionar mais transistores aumentará o comprimento do caminho. Qualquer aumento deve ser usado valiosamente ou causará um aumento no custo, calor, energia, mas uma diminuição no desempenho.

É claro que você sempre pode adicionar mais núcleos. Por que eles não fazem isso? Bem, eles fazem.

user606723
fonte
Eu realmente não considero esse assunto fora de tópico aqui (embora ele também fosse sobre tópico).
Shinrai
Sim, eu concordo. Eu só acho que seria melhor responder lá. Eu removi a linha.
user606723
2

Sua suposição geral está errada. Uma CPU com uma matriz de tamanho duplo não significa que pode operar com velocidade dupla. Isso adicionaria mais espaço para adicionar mais núcleos (veja alguns chips Intel manycore com 32 ou 64 núcleos) ou caches maiores. Mas a maioria do software atual não pode usar mais de 2 núcleos.

Portanto, o aumento do tamanho da matriz aumenta o preço maciçamente sem um ganho da mesma altura. Esta é uma das razões (simplificadas) pelas quais as CPUs são como são.

Robert
fonte
Isso não é verdade - com mais transistores, você pode diminuir a profundidade de propagação, para que as instruções demorem menos ciclos de clock para serem concluídas. Você está certo de que não tem nada a ver com a velocidade do relógio .
BlueRaja - Danny Pflughoeft
1

Em eletrônica, MENOR = 3GHz MAIS RÁPIDO precisa ser muito menor que 20 MHz. Quanto maiores as interconexões, maior a ESR e menor a velocidade.

Dobrar a quantidade de transistores não duplica a velocidade do relógio.

Fiasco Labs
fonte
Aumentar a velocidade do relógio é apenas uma abordagem para o ganho de velocidade. A duplicação de transistores é outra. Além disso, o encolhimento das interconexões não entra em conflito com o aumento da área da matriz.
Artistoex
3
@artistoex, mas simplesmente dobrar os transistores também não o torna mais rápido. Ele precisa ser projetado de maneira a tirar proveito desses transistores. Mais transistores (com o mesmo mm) significa normalmente um relógio mais baixo.
user606723
1

O custo de produção das bolachas cruas é um fator. O silício monocristalino não é gratuito e o processo de refino é um pouco caro. Portanto, usar mais de sua matéria-prima aumenta o custo.

a vapor
fonte
0

Grandes seres vivos, artificiais ou não, como os dinossauros, são perdedores. A relação área / volume não é justa para sua sobrevivência: muitas restrições sobre energia - de todas as formas - entrando e saindo.

Massimo
fonte
0

Pense em uma CPU como uma rede de nós conectados (transistores). Para fornecer mais recursos, o número de nós e os caminhos entre eles aumentam em um grau, mas esse aumento é linear. Portanto, uma geração de uma CPU pode ter um milhão de nós, a próxima pode ter 1,5 milhões. Com a miniaturização do circuito, o número de nós e caminhos é condensado em uma área menor. Os processos atuais de fabricação são reduzidos a 30 nanômetros.

Digamos que você precise de cinco unidades por nó e cinco unidades de distância entre dois nós. De ponta a ponta, em uma linha reta, você pode criar um barramento de 22222 nós em 1 CM de espaço. Você pode criar uma matriz de 493 milhões de nós em um CM quadrado. O design do circuito é o que contém a lógica da CPU. Dobrar o espaço não é o que aumenta a velocidade, apenas permitiria que o circuito tivesse operadores mais lógicos. Ou no caso de CPUs multi-core para permitir que o circuito lide com mais trabalho em paralelo. Aumentar a pegada na verdade diminuiria a velocidade do relógio porque os elétrons precisariam percorrer distâncias maiores através do circuito.

Michael Brown
fonte