Como são computados GHz em processadores multicore? [duplicado]

1

Eu estou debatendo entre dois sistemas (por simplicidade):

(1) Processador dual core de 2.9 GHz

(2) Processador quad core de 2,3 GHz

Agora, quando estou pensando nisso, tenho algumas perguntas específicas que gostaria de responder.

Primeiro, como os números (as freqüências) são realmente calculados e o que eles significam? Para o dual core de 2,9 GHz, isso significa que cada núcleo tem clock de cerca de 2,9 GHz ou isso significa que cada núcleo tem clock de 2,9 / 2 = 1,45 Ghz? Da mesma forma, o quad core dá uma velocidade de 2,3 GHz 'líquida' ou cada núcleo literalmente vai a 2,3 GHz?

Meu pressentimento de coisas que li on-line é que cada núcleo está realmente na velocidade especificada (eu sei que você não pode obter 12 GHz de um sistema quad core de 3 GHz a menos que seu código seja perfeitamente linear em paralelismo). p>

Minha outra pergunta é, suponha que você tenha código rodando em paralelo. Em que ponto um núcleo extra permite que o código seja mais rápido simplesmente porque há menos interferência do sistema operacional (e de outras tarefas em segundo plano)?

Por exemplo, se eu tivesse a opção de dual core de 2,6 GHz ou quad core de 2,5 GHz, mesmo para programas encadeados single , eu diria que o quad core 2.5 iria mais rápido porque o thread único será interrompido menos por outros programas (incluindo o SO).

    
por drjrm3 24.01.2013 / 02:19

1 resposta

3

For the 2.9 GHz dual core, does that mean that each core is clocked at around 2.9 GHz or does that mean that each core is clocked at 2.9/2 = 1.45 Ghz? In the same way, does the quad core give a 'net' 2.3 GHz speed or is each core literally going at 2.3 GHz?

Você nunca, nunca, sempre adiciona velocidades dessa maneira. Dois carros a cada 50 milhas por hora não fazem nada a 100 milhas por hora, ponto final. Se a CPU tiver uma velocidade de 2,9 GHz, isso significa que você pode fazer o clock de 2,9 GHz, ou seja, seu clock pode passar de 2,9 bilhões de vezes por segundo.

For example, if I had the choice of 2.6 GHz dual core or 2.5 GHz quad core, even for single threaded programs, I would assume that the 2.5 quad core would go faster because the single thread will be interrupted less by other programs (including the OS).

Essa é uma pergunta sem sentido. Você não pode comparar CPUs diferentes com base em suas velocidades de clock. É como dizer "você tem um veículo com um tanque de combustível de 10 galões e outro com um tanque de combustível de 12 galões, que pode ir mais longe em um tanque de gasolina?" Bem, depende de quanto eles pesam, quão grandes são seus motores e assim por diante.

Nunca compare os processadores com base nas velocidades de clock, a menos que sejam idênticos. E claramente um dual core e um quad core são muito diferentes.

Se você imaginar dois processadores que diferem apenas em um deles é um dual core de 2,6 GHz e um de 2,5 GHz, provavelmente não haverá diferença significativa na execução de um programa de encadeamento único, supondo que o sistema não esteja muito carregado por outros programas. É muito improvável que a sobrecarga do sistema operacional atinja o máximo de um núcleo e, em ambos os casos, você tem pelo menos um núcleo disponível para tarefas do sistema operacional, como E / S de disco e interrupções. Se o fator limitante é a largura de banda de memória, por exemplo, mais núcleos não ajudam.

Dito isto, mais núcleos são quase sempre melhores que menos núcleos, outras coisas sendo iguais. Para uma máquina desktop, não consigo ver nenhum ponto em um dual-core. E, olhando para o futuro, mais e mais softwares saberão como aproveitar mais núcleos.

    
por 24.01.2013 / 02:26