
Possível duplicata:
Qual é a velocidade de cada núcleo em um processador dual-core?
Estou debatendo entre dois sistemas (para simplificar):
(1)Processador dual-core de 2,9 GHz
(2)Processador quad-core de 2,3 GHz
Agora, quando estou considerando isso, tenho algumas perguntas específicas que gostaria de responder.
Primeiro, como são realmente calculados os “números” (as frequências) e o que significam? Para o dual core de 2,9 GHz, isso significa que cada núcleo tem uma freqüência de cerca de 2,9 GHz ou isso significa que cada núcleo tem uma freqüência de 2,9/2 = 1,45 Ghz? Da mesma forma, o quad core fornece uma velocidade 'líquida' de 2,3 GHz ou cada núcleoliteralmenteindo a 2,3 GHz?
Meu palpite com base nas 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 na paralelização).
Minha outra pergunta é: suponha que você tenha um código rodando puramente 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 pudesse escolher entre dual core de 2,6 GHz ou quad core de 2,5 GHz, mesmo parasolteiroprogramas encadeados, eu presumiria que o quad core 2,5 seria mais rápido porque o encadeamento único seria menos interrompido por outros programas (incluindo o sistema operacional).
Responder1
Para o dual core de 2,9 GHz, isso significa que cada núcleo tem uma freqüência de cerca de 2,9 GHz ou isso significa que cada núcleo tem uma freqüência de 2,9/2 = 1,45 Ghz? Da mesma forma, o quad core oferece uma velocidade 'líquida' de 2,3 GHz ou cada núcleo está literalmente indo a 2,3 GHz?
Você nunca, nunca,sempreadicione velocidades dessa forma. Dois carros indo cada um a 80 quilômetros por hora não fazem nada andar a 160 quilômetros por hora, ponto final. Se a CPU tiver uma velocidade de núcleo de 2,9 GHz, isso significa que você pode ter uma freqüência de 2,9 GHz, ou seja, seu clock pode circular 2,9 bilhões de vezes por segundo.
Por exemplo, se eu pudesse escolher entre dual core de 2,6 GHz ou quad core de 2,5 GHz, mesmo para programas de thread único, presumiria que o quad core de 2,5 seria mais rápido porque o thread único seria menos interrompido por outros programas (incluindo o SO).
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 tanque de combustível de 10 galões e outro com tanque de combustível de 12 galões, que pode ir mais longe com um tanque de gasolina?" Bem, depende de quanto eles pesam, do tamanho de seus motores e assim por diante.
Nunca compare CPUs com base nas velocidades de clock, a menos que sejam idênticas. E claramente um dual core e um quad core são muito diferentes.
Se você imaginar duas CPUs que diferem apenas por uma ser dual core de 2,6 GHz e outra quad core de 2,5 GHz, provavelmente não haverá diferença significativa na execução de um programa de thread único, assumindo que o sistema não esteja muito carregado por outros programas . É muito improvável que a sobrecarga do sistema operacional atinja o limite 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 for a largura de banda da memória, por exemplo, mais núcleos não ajudam.
Dito isto, mais núcleos são quase sempre melhores do que menos núcleos, mantendo-se outras coisas iguais. Para uma máquina desktop, não vejo sentido em um dual-core. E, olhando para o futuro, cada vez mais software saberá aproveitar mais núcleos.