O Android Central tem uma coluna semanal, Ask Jerry, onde você pode enviar suas perguntas para obter uma resposta (espero) fácil de entender. Eu adoro isso porque gosto de transformar conversas malucas sobre tecnologia em algo que qualquer um possa entender. Às vezes, porém, recebo uma pergunta que vai além do escopo de um simples conselho técnico porque não há uma resposta fácil.
Comprei um desses recentemente e alguém estava perguntando sobre a velocidade de um chip de telefone versus quantos núcleos ele possui e o que é mais importante. Vou tentar simplificá-lo aqui e ajudar todos a entenderem que não existe uma resposta real sobre o que é melhor e por quê.
Sistema no chip
O processador dentro do seu telefone não é apenas um processador – é um pacote completo que oferece múltiplas funções conhecidas como SoC (System on Chip).
Um SoC é um tipo de circuito integrado que contém maioria dos componentes que alimentam o cérebro de um dispositivo. Em um telefone ou tablet típico, o SoC possui o processador e núcleos de GPU do dispositivo, outros processadores para coisas como aceleração de IA, espaço reservado para dados em cache e memória necessária ao sistema, Processadores de Sinal Digital (DSP) para coisas como captura de câmera e áudio , interfaces externas para vários protocolos de comunicação e modems sem fio para conectividade.
Existem também dispositivos como temporizadores, reguladores de tensão ou CIs de gerenciamento de energia que realmente não afetam o desempenho. Também é importante notar que alguns modems sem fio e módulos de memória de dispositivos podem estar no SoC ou externos, dependendo do dispositivo.
Resumindo, há muita coisa acontecendo dentro de um pequeno chip que precisa de muita energia e funciona incrivelmente quente.
Algumas empresas constroem SoCs personalizados para uma experiência única, enquanto outras fabricam SoCs projetados para funcionar bem em vários dispositivos. Existem prós e contras em cada abordagem, mas é provável que seus dispositivos tenham o último estilo de SoC de uma empresa como a Qualcomm. Essas empresas trabalham duro para fabricar chips que funcionem bem quando usados conforme projetado; um chip projetado para um smartwatch não é ideal para um telefone e vice-versa. Todos eles usam o mesmo conceito básico – construir um pacote de hardware onde cada componente complementa os outros e o resultado também complementa o hardware com o qual o usuário interage.
Há velocidade nos números
Quando você se concentra na parte do “processador” do SoC, as coisas ficam um pouco confusas. Você verá especificações que listam vários núcleos diferentes com freqüências diferentes, e a Internet está cheia de pessoas discutindo os méritos de todos eles. Ignore esses argumentos por um momento.
Você precisa de equilíbrio mais do que qualquer outra coisa pelo desempenho que você espera de um dispositivo como um telefone. Seria melhor ter alguns núcleos que não fossem extremamente rápidos, alguns que o fossem, e software projetado para distribuir a carga de uma forma que oferecesse a combinação certa de velocidade e duração da bateria. E isso é difícil de fazer em todos os níveis.
O núcleo de uma CPU (Unidade Central de Processamento, onde a maioria das tarefas de computação é realizada) só pode fazer uma coisa por vez. Todo o processamento do computador é matemático, e o núcleo dentro de uma CPU não consegue realmente pensar no futuro ou olhar para trás; ele apenas aborda o problema que tem pela frente antes de passar para o próximo.
Velocidade do clock – os números de GHz que você vê na folha de especificações determinam a rapidez com que cada coisa pode ser feita. Tudo é feito de forma incrivelmente rápida (milhões de operações por segundo) e quanto maior a velocidade, mais rápida é a execução de cada operação.
Os núcleos determinam quantas coisas podem ser feitas ao mesmo tempo. Se um núcleo pode fazer 100.000 coisas por segundo (nenhum núcleo da CPU é tão lento, mas é um número fácil), então cinco núcleos podem fazer 500.000 coisas por segundo. Quanto mais núcleos uma CPU tiver, mais tarefas poderão ser executadas simultaneamente.
Um thread é um conjunto de instruções para o núcleo da CPU. Eles compartilham os mesmos recursos do processo que os criou, mas podem ser trocados tão rapidamente que parece que o núcleo da CPU está fazendo mais de uma coisa ao mesmo tempo.
Se você tiver uma CPU com vários núcleos rápidos, os threads trabalham para fazer com que várias coisas aconteçam tão rápido que parece que acontecem ao mesmo tempo, porque nossos cérebros não são tão rápidos quanto um núcleo de CPU.
Você precisa de desempenho rápido de cálculo de processamento em ordem em um único núcleo, desempenho rápido de cálculo fora de ordem (usando threads) em um único núcleo e desempenho de cálculo ultrarrápido dentro e fora de ordem em vários núcleos para um bom desempenho. experiência do usuário. É aí que o software entra em jogo.
De modo geral, um núcleo de CPU rápido significa que um aplicativo será executado rapidamente em um computador como o seu telefone. Vários núcleos rápidos significam que mais coisas podem ser feitas em segundo plano, incluindo vários aplicativos em execução ao mesmo tempo. É por isso que o desempenho de núcleo único e multinúcleo é importante.
Alguns softwares, como um jogo ou um programa de edição de vídeo, podem ser escritos de forma a se beneficiar de vários núcleos de CPU, espalhando processos e threads entre núcleos em um único aplicativo.
A melhor analogia que já ouvi para descrever isso, e gostaria de lembrar onde li para dar crédito à pessoa sábia que o disse pela primeira vez:
Uma rodovia tem múltiplas faixas e um limite de velocidade.
Na Rodovia 10 você tem limite de velocidade de 50 e oito faixas.
Na Rodovia 11 você tem limite de velocidade de 100 e uma faixa.
Se você tem um carro rápido, é melhor usar a Rodovia 11. Se você tem oito caminhões mais lentos, é melhor usar a Rodovia 10. Alguns softwares são carros rápidos e outros são uma frota de caminhões mais lentos. A melhor coisa a fazer seria colocar a Rodovia 10 ao lado da Rodovia 11 e usar ambas.
Normalmente, estamos fazendo várias coisas ao mesmo tempo, mas queremos que tudo o que nossos olhos estão olhando funcione bem. Não há problema em deixar as tarefas em segundo plano serem um pouco mais lentas. O software que alimenta o seu telefone precisa garantir que as tarefas executadas nele sejam priorizadas dessa forma.
A velocidade do clock do núcleo é mais importante que o número de núcleos? Sim, não. Às vezes. Talvez.
Não há resposta para isso porque a combinação certa do número de núcleos, sua velocidade e o software que os utiliza é o que realmente importa.