Ir ao conteúdo
  • Cadastre-se

Alguem me explica o que é Core e Threads


oR Folkz

Posts recomendados

Alguêm pode me explicar a diferença de Cores e Threads em um processador

Eu estava olhando alguns produtos da Intel, e me deparei com isso

                             Core ( Threads) 

Core i7-8700K      6  (12)

Core i7-9700K      8  (08)

 

Por que um i7 mais avançado teria menos threads,

Qual a função do Thread, do Core, e dos dois juntos ?

 

Qual tipo de processador é melhor ?

Core > Threads

Core < Threads

Core = Threads

 

 

Link para o comentário
Compartilhar em outros sites

@FelipeArj @DaianS

Qual seria minha prioridade quando eu for comprar um processador, mais Core ou mais Threads ?

 

Como no exemplo anterior, temos dois i7, apesar de ser de gerações diferentes, se eles fossem totalmente iguais porém um com 8 (8) e outro com 6 (12), qual seria melhor ?

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
13 minutos atrás, oR Folkz disse:

@FelipeArj @DaianS

Qual seria minha prioridade quando eu for comprar um processador, mais Core ou mais Threads ?

 

Como no exemplo anterior, temos dois i7, apesar de ser de gerações diferentes, se eles fossem totalmente iguais porém um com 8 (8) e outro com 6 (12), qual seria melhor ?

 

 

Depende do seu uso e depende dos modelos.

Tem programas que se dão melhor com um núcleo muito forte, outros com vários, que, mesmo se não forem tão fracos individualmente, tem muito mais força juntos.

 

26 minutos atrás, FelipeArj disse:

@oR Folkz Core são núcleos físicos e threads são núcleos imaginários que auxiliam os núcleos reais.

 

A maioria dos processadores é Core < Threads. O inverso disso seria melhor.

 

23 minutos atrás, DaianS disse:

Core são os núcleos físicos do processador, já os threads são 1 núcleo simulado em 2 ''núcleos''.

Estão ''antigamente'' um i5 só era diferente de um i7 pela simulação de núcleos, de resto erá tudo igual.

 

Threads não são só os núcleos imaginários, senão o número seria diferente. ;)

 

--

32 minutos atrás, oR Folkz disse:

Alguêm pode me explicar a diferença de Cores e Threads em um processador

 

Sempre pesquise antes de perguntar. ;)

 

Link para o comentário
Compartilhar em outros sites

De uma forma bem simples de explicar, um núcleo (core) é a parte física da CPU.. Um Thread, na verdade, se refere a parte lógica de um processador e dos programas.. Thread é uma sequência de instruções lógicas, que o processador executa..

 

Processadores normais, executam uma linha de instruções por núcleo, por vez.. A parte que frisei em negrito é o Thread.. É o caso do Core i7 9700K e dos Core i5.. Nº de Cores = Nº de Threads

 

Alguns processadores, tem um mecanismo, digamos assim, que pode "dividir um núcleo em dois", fazendo com que os núcleos executem duas linhas de comando, por vez.. Caso do 8700K.. Nº de Threads = 2 x Nº de Cores

 

É uma forma simples de explicar..

 

 

14 minutos atrás, oR Folkz disse:

Como no exemplo anterior, temos dois i7, apesar de ser de gerações diferentes, se eles fossem totalmente iguais porém um com 8 (8) e outro com 6 (12), qual seria melhor ?

Isso depende do programa usado.. Jogos, por exemplo, invariavelmente, preferem clock maior, do que muitos cores/threads.. Programas de edição de vídeo, por exemplo, quanto mais núcleos e threads a CPU tiver, melhor..

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@oR Folkz

Então não existe muita diferença entre os que você postou i7 8700 e i7 9700k a diferença entre eles e que o i7 9700K não tem Hyper-threading que uma tecnologia onde cada núcleo do processador possa ser executado mais de uma vez. Por isso no i7 8700K ele tem 6/12 onde cada núcleo físico dele e executado por Hyper-threading duas vezes gerando 12 threads.

 

Porém o i7 9700k não tem essa tecnologia mas nem por isso ele fica para trás pelo fato dele ter 8 núcleos físicos e 8 threads ele se iguala ao i7 8700K.

Link para o comentário
Compartilhar em outros sites

Somente a informação de core/thread não dá pra dizer qual o melhor. A menos que você esteja tratando de processadores de mesmo fabricante e geração. Os i7 que você citou são de geração diferentes, logo esta comparação simplista não resulta em bom resultado, pois outros fatores também afetam o desempenho do processador.

 

Mas, regra geral, quanto mais cores/threads o processador tiver, melhor (isto dentro da mesma geração).

 

A propósito, nunca vi um processador em que as threads fossem em menor número que os cores. Cada core resulta em uma (4/4, 8/8) ou mais (4/8, 6/12) threads.

Link para o comentário
Compartilhar em outros sites

Vou tentar dar uma noção um pouco diferente do que já foi falado, mas que vai ajudar a complementar:

 

Núcleos denotam o conjunto de registradores que efetivamente executam as operações. Nesse sentido, ter mais núcleos é vantajoso pela capacidade de paralelizar o processamento. Se você tem 2 núcleos, por exemplo, e liga o computador, o sistema operacional inicializa diversos processos em segundo planos e dividem suas execuções entre esses 2 núcleos. Em aplicações específicas, como jogos e renderizações, a maior parte dos programas tentam tirar proveitos de uma maior quantidade de núcleos (hoje a maior parte é otimizada para até 4), acelerando o processamento. O verbo "tentar" aqui é porque a programação paralela é algo avançado e não é qualquer tarefa que pode ser paralelizada de maneira fácil. 

 

As threads, por outro lado, entram como a linha de execução do núcleo. De maneira não perfeita, você pode pensar em thread como o canal de entrada do núcleo - a fila onde operações "chegam" para serem executadas. Logo, nesse momento você pode concluir que nunca existirá um processador com menos threads do que núcleos. O caso normal é ter uma relação de 1 para 1 entre threads e núcleos.

 

Se as threads podem ser pensadas como os canais de entrada dos núcleos, então porque há vantagem em ter processadores com mais de um canal de entrada?  Basicamente porque há instruções que dependem de outras ou de uma leitura no disco (operações que chamamos de IO) para serem concluídas. Quando se há mais de um canal de entrada o processador pode alternar para o segundo canal (em pouco tempo) enquanto o primeiro está "parado" esperando alguma coisa.

 

Até esse ponto já deve ter ficado claro que a thread NÃO dobra o desempenho do processador, certo? Pois é isso mesmo. Há comprovação matemática de que o ganho de desempenho máximo em hyper-threading (a técnica de ter mais de um canal de entrada por núcleo) é de até 30% [1] por núcleo - em aplicações reais esse número é bem menor. 

 

Assim, se a única diferença entre um i5 e um i7 - por exemplo - fosse apenas a ativação do hyper-threading -, eles teriam desempenhos não muito distantes, mas a intel geralmente acrescenta um aumento significativo de clock e de cache (muito importante) para esse último modelo.

 

Então quer dizer que eu poderia ter um processador com 2 núcleos e 10 threads? Sim. A questão é se esse ganho já é bem limitado com dois canais, ter 5 canais por núcleo só vai encarecer o produto e dar pouquíssima diferença.

 

E por que o meu sistema operacional detecta o dobro de processadores? É simples, os sistemas foram feitos para pensar em números de núcleos como o número de canais de entrada (threads) porque é o que faz sentido. Se meu processador tem o dobro de threads então tem o dobro de núcleos, ora! Apesar de engraçado - o SO ser enganado desse jeito - isso não é um problema. Afinal, ele vai enviar as instruções para cada uma das threads de forma independente.

 

Questão final para avaliar a compreensão:

 

Entre um processador de 6 núcleos e 6 threads (sem hyper-threading) e um com 4 núcleos e 8 threads, quem ganha? Considerando o mesmo clock e cache.

 

A resposta vai depender da aplicação, mas no geral eu diria que o primeiro.

Infelizmente essa comparação não pode ser feita entre modelos de sétima (i7 7700k) e oitava (i5 8600k) pois eles não operam no mesmo clock e nem possuem o mesmo cache (há 8mb no primeiro e 9mb no segundo), porém pela diferença de desempenho dá para ter uma ideia da resposta.  

 

Edit 1:

Entre o i7 9700k (8/8) e i7 8700k (6/12), ambos com o mesmo cache (mas clocks diferentes), o desempenho entre os dois vai depender muito das aplicações, mas daria leve vantagem para o primeiro. Como disse, o ganho do hyper-threading depende da aplicação enquanto que ter mais núcleos é mais consistente. E por que eu daria uma vantagem leve? Porque as aplicações já estão mais otimizadas para o hyperthreading e o ganho dessa tecnologia está mais presente do que nunca.

 

 

[1] https://en.wikipedia.org/wiki/Hyper-threading

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...