Se você já fez muita comparação para comprar uma nova CPU, pode ter notado que todos os núcleos parecem ter velocidade em vez de uma combinação de diferentes. Por que é que? A postagem de perguntas e respostas do SuperUser de hoje tem a resposta para a pergunta de um curioso leitor.
A sessão de Perguntas e Respostas vem para nós, cortesia da SuperUser - uma subdivisão do Stack Exchange, um agrupamento de sites de perguntas e respostas conduzido pela comunidade.
Em geral, se você está comprando um novo computador, você deve determinar qual processador comprar baseado na carga de trabalho esperada para o computador . O desempenho em videogames tende a ser determinado pela velocidade de núcleo único, enquanto aplicativos como edição de vídeo são determinados pelo número de núcleos. Em termos do que está disponível no mercado, todas as CPUs parecem ter aproximadamente a mesma velocidade, com as principais diferenças sendo mais segmentos ou mais núcleos.
Por exemplo:
Intel Core i5-7600K, freqüência base 3.80 GHz, 4 núcleos, 4 fios
- Intel Core i7-7700K, frequência base de 4,20 GHz, 4 núcleos, 8 fios
- AMD Ryzen 5 1600X, frequência base de 3,60 GHz, 6 núcleos, 12 fios
- AMD Ryzen 7 1800X, freqüência base 3.60 GHz, 8 núcleos, 16 threads
- Por que vemos esse padrão de núcleos crescentes, mas todos os núcleos têm a mesma velocidade de clock? Por que não há variantes com diferentes velocidades de clock? Por exemplo, dois “grandes” núcleos e muitos núcleos pequenos.
Em vez de, digamos, quatro núcleos a 4,0 GHz (ou seja, 4 × 4 GHz, máximo de 16 GHz), que tal uma CPU com dois núcleos funcionando a 4,0 GHz? e quatro núcleos funcionando a 2,0 GHz (ou seja, 2 × 4,0 GHz + 4 × 2,0 GHz, máximo de 16 GHz)? A segunda opção seria tão boa em cargas de trabalho de thread único, mas potencialmente melhor em cargas de trabalho multiencadeadas?
Eu pergunto isso como uma questão geral e não especificamente com relação às CPUs listadas acima ou sobre qualquer carga de trabalho específica. Estou curioso para saber por que o padrão é o que é.
Por que os núcleos de CPU têm a mesma velocidade em vez de diferentes?
O colaborador do SuperUser Answer
Isso é conhecido como multiprocessamento heterogêneo (HMP) e é amplamente adotado por dispositivos móveis. Em dispositivos baseados em ARM que implementam big.LITTLE, o processador contém núcleos com diferentes perfis de desempenho e potência, ou seja, alguns núcleos são executados rapidamente, mas consomem muita energia (arquitetura mais rápida e / ou relógios mais altos) enquanto outros são eficientes em termos de energia, mas lentos ( arquitetura mais lenta e / ou relógios mais baixos). Isso é útil porque o uso de energia tende a aumentar desproporcionalmente à medida que você aumenta o desempenho quando passa de um certo ponto. A idéia aqui é obter desempenho quando você precisa e bateria quando não o fizer.
Em plataformas de desktop, o consumo de energia é um problema muito menor, então isso não é realmente necessário. A maioria dos aplicativos espera que cada núcleo tenha características de desempenho semelhantes, e os processos de agendamento para sistemas HMP são muito mais complexos do que o agendamento de sistemas tradicionais de SMP (tecnicamente, o Windows 10 tem suporte para HMP, mas destina-se principalmente a dispositivos móveis Além disso, a maioria dos processadores para desktops e laptops atualmente não é termicamente ou eletricamente limitada ao ponto em que alguns núcleos precisam ser executados mais rapidamente do que outros, mesmo para rajadas curtas. Basicamente, atingimos a parede com a rapidez com que podemos fazer núcleos individuais, então substituir alguns núcleos por outros mais lentos não permitirá que os núcleos restantes sejam executados mais rapidamente.
Embora existam alguns processadores de desktop com um ou dois núcleos capazes de funcionando mais rápido do que os outros, esse recurso está atualmente limitado a certos processadores Intel de ponta (conhecidos como Turbo Boost Max Technology 3.0) e envolve apenas um leve ganho de desempenho para os núcleos que podem ser executados mais rapidamente.
certamente é possível projetar um processador x86 tradicional com núcleos grandes e rápidos e núcleos menores e mais lentos para otimizar cargas de trabalho altamente encadeadas, o que aumentaria bastante a complexidade do design do processador, e é improvável que os aplicativos o suportem adequadamente.
Considere um processador hipotético com dois núcleos rápidos de Kaby Lake (sétima geração) e oito núcleos lentos Goldmont (Atom). Você teria um total de 10 núcleos e cargas de trabalho altamente segmentadas otimizadas para esse tipo de processador podem obter um ganho de desempenho e eficiência em relação a um processador Kaby Lake quad-core normal. No entanto, os diferentes tipos de núcleos têm níveis de desempenho bastante diferentes, e os núcleos lentos nem mesmo suportam algumas das instruções que os núcleos rápidos suportam, como o AVX (o ARM evita esse problema exigindo que os núcleos grande e LITTLE suportem as mesmas instruções Mais uma vez, a maioria dos aplicativos multi-thread baseados no Windows pressupõem que cada núcleo tem o mesmo nível de desempenho ou quase o mesmo nível e pode executar as mesmas instruções, portanto, esse tipo de assimetria provavelmente resultará em menos do que desempenho ideal, talvez até falha se usar instruções não suportadas pelos núcleos mais lentos. Embora a Intel possa modificar os núcleos lentos para adicionar suporte de instruções avançado para que todos os núcleos possam executar todas as instruções, isso não resolveria os problemas com suporte de software para processadores heterogêneos.
Uma abordagem diferente ao design de aplicativos, mais próxima do que você está pensando na sua pergunta, usaria a GPU para aceleração de partes altamente paralelas de aplicativos. Isso pode ser feito usando APIs como OpenCL e CUDA. Quanto a uma solução de chip único, a AMD promove suporte de hardware para aceleração de GPU em suas APUs, que combina uma CPU tradicional e uma GPU integrada de alto desempenho no mesmo chip, como a arquitetura de sistemas heterogêneos, embora isso não tenha ocorrido muito de algumas aplicações especializadas.
Tem algo a acrescentar à explicação? Som desligado nos comentários. Quer ler mais respostas de outros usuários do Stack Exchange com experiência em tecnologia? Confira o tópico de discussão completo aqui
Crédito de imagem: Mirko Waltermann (Flickr)
Como usar o Spotlight do MacOS Like a Champ
Existem dois tipos de usuários de Mac: aqueles que usam o Spotlight constantemente e aqueles que o ignoram. Se você estiver no segunda categoria, isso é muito ruim: tudo sobre o uso de um Mac fica mais rápido com o Spotlight. Essa ferramenta de pesquisa funciona como uma alternativa Siri baseada em texto e, com apenas algumas teclas, é possível iniciar ou pesquisar qualquer coisa.
Solucionar problemas do seu Mac com essas opções de inicialização ocultas
A solução de problemas de um Mac é diferente de solucionar problemas em um PC, mas não em diferente. Veja como usar as opções de inicialização incorporadas do seu Mac para testar seu hardware, inicializar em modo de segurança, reinstalar o macOS e executar outras tarefas do sistema. Para acessar uma dessas ferramentas, primeiro é necessário desligar ou reiniciar seu Mac.