Por que os telefones Android têm mais núcleos do que computadores?


80

Os laptops geralmente têm no máximo quatro núcleos e os dualcores são provavelmente mais comuns. Recentemente, mudei de quadcore para dualcore e posso confirmar que há um número limitado de casos de uso para quadcore, mesmo com tarefas intensivas da CPU.

Por outro lado, em telefones celulares, quadcores, hexacores e octacores parecem ser comuns. Por quê? Que tarefas podem utilizá-los?

Entendo que big.LITTLE pode fazer parte da resposta. Ou seja, o principal benefício de tantos núcleos não é a capacidade de usá-los simultaneamente, mas o uso de um núcleo com consumo de energia apropriado para a carga de trabalho atual. No entanto, por exemplo, o Snapdragon 625 possui oito núcleos Cortex-A53, o que não parece ser o caso de big.LITTLE.

Talvez a arquitetura ARM tenha um ponto mais baixo de desempenho ideal por watt. Ou seja, ter um único núcleo ajustado para obter o desempenho ideal por watt resulta em um desempenho mais baixo no ARM do que na Intel. Portanto, mais núcleos são usados ​​para fornecer o desempenho. Esta é apenas uma hipótese.

Mas mesmo nesse caso, não vejo qual carga de trabalho pode usar com eficiência, digamos, oito núcleos em um telefone celular. Nos laptops, posso imaginar alguns como a compilação completa (não incremental) de um projeto. Mas em telefones?

  • Os jogos podem consumir desempenho, mas geralmente exigem desempenho da GPU em vez da CPU, não é?
  • Teoricamente, vários núcleos podem acelerar a compilação do Android Lollipop / Marshmallow AOT ao instalar ou ao atualizar (ou seja, a fase “Otimizando aplicativos 3/121”). No entanto, não tenho certeza se isso pode utilizar vários núcleos. Tanto quanto me lembro do código, apenas um aplicativo está sendo compilado por vez, mas talvez haja algum paralelismo no próprio processo de compilação.
  • Além disso, o Android 7+ pode utilizar vários núcleos ao compilar. Porém, como ele é compilado quando ocioso e carregando, o benefício parece ser bastante mínimo. Pelo menos quando alguém carrega o telefone da noite para o dia - eu realmente não me importo se leva 30 minutos ou duas horas nesse cenário.

Como apontei na minha resposta, lembre-se de que você parece estar olhando as coisas de cabeça para baixo. A execução de muitos núcleos / paralelos é a norma, não é o seu telefone que é uma anomalia por ter muitos núcleos, é a CPU do PC que é uma anomalia.
motoDrizzt

4
Sua pergunta é falha, os PCs podem ter mais núcleos do que telefones. intel.com/content/www/us/en/products/processors/core/x-series/… E isso nem chega às máquinas da classe servidor, que podem ter dezenas ou mesmo centenas de núcleos. (E alguns supercomputadores entrar na faixa de milhares-de-núcleos.)
JAB

3
@ JAB Claro, mas não estou falando sobre o número máximo de núcleos, mas sobre o número típico. Para laptops, mais do que quadcores são bastante incomuns, mas você pode encontrar alguma exceção, talvez com o Xeon. Para telefones celulares, até octacores parecem ser relativamente comuns.
v6ak

4
"Recentemente, mudei de quadcore para dualcore e posso confirmar que há um número limitado de casos de uso para quadcore, mesmo com tarefas intensivas da CPU". - Você pode expandir e elaborar como chegou a essa conclusão?
Abdul

@ Abdul Vem principalmente das minhas observações (vendo a carga do sistema usando htop ou uma ferramenta similar) e parcialmente das minhas conclusões. Mesmo alguns tópicos em que eu esperaria que a paralelização (por exemplo, renderização usando o OpenScad) sejam de núcleo único. O Firefox (ESR) geralmente consome no máximo um núcleo. Compilação incremental - não a medi, mas intuitivamente, não há muitas oportunidades para encontrar tarefas independentes. (Compilação completa é um caso diferente.)
v6ak

Respostas:


63

Como você já observou, a grande estratégia de combinação LITTLE (tecnicamente, HMP , clusters heterogêneos de multiprocessamento ) é a principal razão para muitos (e às vezes muitos) núcleos. Um dispositivo móvel geralmente é executado em vários cenários, incluindo os de carga pesada e de carga leve.

Um exemplo extremo de classe de consumidor é o Helio X20 da MediaTek, que possui 2 núcleos A72 orientados para o desempenho, 4 núcleos A53 balanceados e mais 4 núcleos A35 com eficiência energética. Isso é muito flexível em diferentes casos de uso. No entanto, acho que 8 núcleos 2 clusters é geralmente suficiente.

Há também outro exemplo de desktop, o Snapdragon série 800 da Qualcomm (S 800, S 801 e S 805). Existem apenas 4 núcleos da mesma microarquitetura em cada SoC, sendo 2 com clock mais alto e 2 com clock mais baixo. A Qualcomm criou esses SoCs porque estava muito confiante em sua própria microarquitetura (Krait 400 e Krait 450).

Para jogos, mesmo que aparentemente exijam desempenho da GPU em vez da CPU, eles ainda exercem uma carga pesada sobre a CPU. Uma GPU não pode funcionar sozinha sem que outra coisa lhe forneça dados a serem processados, e esse é um dos principais trabalhos que a CPU está realizando enquanto você joga. Na maioria dos casos de jogos, a GPU renderiza apenas gráficos, enquanto todos os outros trabalhos, como carregar dados, recursos e ativos e calcular a mecânica do jogo, como sistema, ambiente e física, são feitos pela CPU. Você não observará uma taxa de quadros mais alta se atualizar sua GPU enquanto estiver usando uma CPU de baixo custo.

Um motivo secundário é como o Android utiliza os recursos da CPU . O Android cria seu próprio ambiente de aplicativos. Ele usa nada além de códigos (e APIs) do Java, mas possui sua própria máquina virtual chamada Dalvik, que mais tarde foi substituída pelo ART (Nível de API 21). Os APKs têm seus códigos executáveis ​​em um formato "neutro", como .classarquivos em Java. Antes de serem executados, os códigos são compilados mais uma vez nas instruções nativas da máquina [1] . O processo de compilação é multiencadeado e pode utilizar vários núcleos para aumentar o desempenho.
E quando um aplicativo está em execução, existem vários outros processos e mecânicos (como o Garbage Collector) que são executados ao lado ou paralelos ao aplicativo. Mais núcleos podem permitir que os processos de suporte sejam executados com mais eficiência, assim como o aplicativo principal.
1. Se você usar um identificador de tipo de arquivo, verá que os arquivos dex "otimizados" estão no formato ELF, enquanto os arquivos dex "neutros" estão apenas em um formato próprio.

Outro motivo menor é que os núcleos ARM não podem funcionar tão rápido quanto um chip Intel x86 . A microarquitetura Intel x86 pode ser datada de 1976, quando o chip Intel 8086 começou a ser projetado, o que significa que o x86 se desenvolveu há muito tempo. Um único núcleo moderno ARM Cortex-A73 de ponta é tão poderoso quanto um núcleo Intel Clarkdale, tomando o Core i5-660 como exemplo (GeekBench, núcleo único). Isso ocorre porque x86 é uma microarquitetura CISC enquanto o ARM é um RISCmicroarquitetura. Você certamente não quer um telefone que fique atrasado com apenas dois aplicativos ativos. Mais núcleos ajudarão a aliviar a pressão. É por isso que os SoCs de núcleo duplo são relativamente populares apenas em relógios inteligentes. Quem precisa de desempenho em um relógio inteligente?

Curiosamente, mais núcleos resultarão em menos energia que um único núcleo na mesma carga . A relação entre a frequência da CPU e o consumo de energia é mais do que linear; portanto, o dobro da frequência sempre exigirá mais do que o dobro, ou até 3x ou 4x mais energia, enquanto fornece menos que o dobro do desempenho (devido a outras limitações de recursos, como cache ) Assim, 4 núcleos podem facilmente vencer um único núcleo na mesma carga, proporcionando melhor desempenho e exigindo simultaneamente menos energia.

Leitura adicional:


1
Lembro-me de ler ou assistir em algum lugar que o kernel do Linux havia originalmente trabalhado em um bom suporte multinúcleo, com foco em supercomputadores, há muitos anos, e esses esforços se mostraram úteis "no futuro" (agora) para smartphones, como uma espécie de " acidente "
Marc.2377

3
Esta resposta não parece realmente responder à pergunta, apesar de ter sido aceita. Esta resposta parece estar respondendo "Por que eu quero núcleos extras no meu telefone?" o que não é a questão em questão. Não explica a diferença entre PC e telefone. Os pontos mencionados sobre por que um telefone pode querer mais núcleos também se aplicam aos computadores de mesa, especialmente os pontos sobre jogos.
Aaron

8
A alegação de 1976 sobre CPUs x86 é um pouco enganadora. Os núcleos ARM podem ser datados do projeto Acorn RISC Machine em 1983, apenas 7 anos depois, e, de certa forma, ser mais recente é uma vantagem, a Acorn aprendeu várias coisas erradas no desenvolvimento de projetos de CPU x86 e similares e a incorporou BRAÇO.
user1937198

2
Além disso, RISC vs CISC não tem nada a ver com isso, os processadores Intel executam um núcleo RISCish internamente (uops). A diferença real está fora ou ordem vs na execução da ordem.
user1937198

5
A coisa x86 está completamente ... errada. São chips superescalares, implementações básicas não seriam tão boas quanto o pipeline RISC clássico usado na maioria dos chips ARM. Também vale a pena notar que vincular núcleos a projetos super escalares é MUITO difícil devido à execução fora de ordem e à hierarquia de cache. Ninguém sabia o que estava faltando, então não havia realmente demanda por isso. Se você notar que algumas das iterações mais recentes da Intels não estão nos chips de alta contagem de núcleos - elas estão em Broadwell, isso ocorre porque descartaram coisas de sincronização - sem espaço.
Alec Teal

15

A razão é tão simples quanto complicada.

A resposta curta é "porque o mercado de telefonia móvel nunca foi e não é impulsionado pela Intel".

A resposta longa é longa demais para retomar aqui, mas o conceito básico é que a Intel domina o mercado de PCs há anos com todos os meios possíveis, a ponto de pagar e corromper (e ser multado por isso) fazer com que seus CPUs sejam os primeira e única opção para fabricantes de PC.

Ter o controle total do mercado permitiu à Intel aumentar os preços da CPU, enquanto decide artificialmente quais recursos e quanto poder de processamento os usuários deveriam ter; e se você analisar um pouco da história da Intel, perceberá que sua principal força está basicamente na o aumento da frequência das CPUs, por isso nunca tentou fazer algo realmente inteligente ou inovador; e não precisava, porque pode dizer às pessoas "você não precisa de mais núcleos, mas eu tenho essas novas e suculentas CPUs que rodam 100 MHz mais rápido". Ao mesmo tempo, poderia vender CPUs multicore no mercado de servidores a preços absurdamente altos (porque os servidores sempre precisaramtoneladas de energia paralela, a ponto de haver uma tendência atual em tentar realizar servidores que usam ... adivinhem? Centenas de CPUs de seu telefone barato trabalhando em paralelo)

Isso, por sua vez, refletiu na comunidade de desenvolvedores que nunca alcançou a importância da programação paralela, de modo que muitos, se não a maioria deles, nunca se incomodaram em usar mais de um encadeamento ao mesmo tempo - ou, para expressá-lo de uma maneira diferente. técnica, ter seu software executando mais de uma tarefa ao mesmo tempo. O que, a propósito, faz sentido quando 99% da sua base de clientes tem dois núcleos no máximo. Infelizmente, isso levou à lenda de que algoritmos paralelos são realmente difíceis de implementar e se aplicam apenas a um pequeno subconjunto de problemas.

Em vez disso, finalmente, o mercado móvel nunca viu o sucesso da Intel; muito pelo contrário, na verdade, como acontece na maioria das vezes que a Intel tenta fazer algo diferente da arquitetura X86 usual. Portanto, na falta de influência e controle do mercado, os outros produtores de CPUs seguem a direção que tem sido a normalidade há muito tempo fora do mercado de PCs: a computação paralela.


12
Tem certeza de que está respondendo à pergunta certa ?
iBug

7
@iBug Esta resposta se aplica à pergunta do OP melhor que a resposta aceita. A resposta aceita é aquela que não está respondendo à pergunta certa.
Aaron

6
"inflar artificialmente os preços da CPU" -> Se a Intel estava inflando artificialmente os preços, por que a concorrência deles usa hardware com preço semelhante e por que os computadores equipados com ARM são tão difíceis quando comparados ao hardware da Intel? Esse ódio à inteligência é ridículo. Fazer CPU's é difícil . O que tornou o ARM tão popular entre os dispositivos móveis foi a grande idéia LITTLE, algo que eles criaram antes da Intel.
T. Sar - Restabelece Monica

6
A Intel não controla o mercado de chips para PC e não o faz há muitos anos. E a razão pela qual os designers de chips passaram de relógios mais rápidos para mais núcleos é que os relógios mais rápidos estavam atingindo algumas limitações físicas fundamentais. O número de núcleos era um problema muito mais difícil de resolver; portanto, eles adiavam até que fosse a maneira mais econômica de manter o desempenho crescente.
Kevin Krumwiede

6
Isso é mais um discurso retórico sobre a corporação malvada da Intel, que a IMO não é bem merecida, já que a ARM retira fabricantes de chips independentes com licenças também.
Dmitry Grigoryev

9

Existem dois fatores, um muito prático e o outro histórico.

O motivo prático é o uso de arquiteturas mistas em telefones. O consumo de energia é crítico, pois os telefones passam muito tempo nos modos em que exigem muito pouco desempenho. Faz sentido ter alguns núcleos otimizados para um consumo mínimo de energia quando é necessário pouco desempenho, enquanto alguns núcleos são otimizados para fornecer o máximo desempenho quando necessário.

A outra razão é amplamente histórica. Até 2005, aproximadamente, as CPUs de desktop eram todas de núcleos únicos. Melhorar o desempenho da CPU da área de trabalho consistia quase exclusivamente em criar um núcleo capaz de executar o maior número possível de instruções por segundo. Ainda hoje, tantos softwares de desktop não podem tirar proveito de múltiplos núcleos que muitos preferem uma CPU com 4 núcleos a uma CPU de 8 núcleos com núcleos 20% mais lentos.

Obter o máximo desempenho possível de um único núcleo requer enormes quantidades de espaço na CPU. Trata-se de imóveis que, de outra forma, poderiam ser usados ​​para fornecer mais núcleos. É por isso que os novos CPUs Kaby Lake da Intel atingem o máximo de quatro núcleos e as pessoas os compram porque cada núcleo é mais rápido que os núcleos de seus antecessores. Para muitos, eles são uma atualização mesmo de CPUs com uma contagem de núcleos mais alta.

Com o tempo, espere ver muito mais software de desktop totalmente otimizado para suportar mais núcleos. Quando isso acontecer, as trocas de engenharia começarão a favorecer mais núcleos do que núcleos mais rápidos nos desktops. Embora os núcleos quase certamente ainda fiquem mais rápidos, você começará a ver pessoas preferindo uma CPU de 8 núcleos a uma de 4 núcleos, mesmo que cada núcleo seja 20% mais lento. Os projetistas de chips seguirão o mercado.


5

É crucial que um telefone seja capaz de fornecer energia computacional em rajadas curtas (precisamos que certos aplicativos sejam rápidos), mas também evite superaquecimento (a dissipação de calor é muito mais difícil para telefones do que para laptops ou PCs). Para conseguir isso, os arquitetos projetam telefones para usar um único núcleo quando a carga de trabalho é leve e fornecem núcleos extras para aumentar o desempenho quando necessário. Se os telefones usassem menos núcleos grandes, o superaquecimento se tornaria um problema mesmo quando a carga de trabalho fosse bastante leve.

Fonte: Um curso de arquitetura de computadores em nível de pós-graduação.


Verdade seja dita, a capacidade de fornecer energia computacional (se é isso que você quer dizer com energia ) em rajadas curtas também é crucial para a área de trabalho. É por isso que eles têm TurboBoost em chips Intel.
Dmitry Grigoryev

Sim, poder computacional é o que eu quis dizer. É verdade que todos os dispositivos que esperam ter uma carga de trabalho explosiva em algum momento (incluindo telefones e desktops) precisam ser capazes de lidar com isso. A principal diferença é a dissipação de calor.
Tara Eicher

Eu concordo com o que você disse, só queria salientar que a carga de trabalho estourada não é específica para telefones.
Dmitry Grigoryev

2

Primeiro, a máquina virtual Java pode se beneficiar historicamente do software de desktop com vários núcleos, mais do que o típico. Mesmo se você escrever um aplicativo de thread único em Java, ele será executado mais rapidamente em vários núcleos, porque a maior parte do código do coletor de lixo será executada ao lado do aplicativo.

Segundo, muitas coisas estão acontecendo em segundo plano no seu telefone: atualizações automáticas, downloads de anúncios, software antivírus, gerenciamento de módulo GSM, etc. Em um laptop, todas essas tarefas dificilmente manteriam um núcleo ocupado, mas os núcleos ARM são muito menos poderoso, portanto, convém ter pelo menos alguns deles dedicados a tarefas em segundo plano, se desejar um sistema responsivo.

Finalmente, há marketing. Poucos usuários são capazes de avaliar se se beneficiariam de 8 núcleos, mas um smartphone de 8 núcleos certamente parece mais caro do que 2 ou 4 núcleos.


2
Eu continuo vendo declarações ao longo da linha "Núcleos do ARM são muito menos poderosos" - o que isso significa exatamente? Eles têm menos velocidade de relógio?
Abdul

2
@Abdul menos operações por segundo. Os chips x86 podem executar várias operações ao mesmo tempo, superando o ARM mesmo na mesma velocidade de clock. Confira esta comparação : o chip ARM superior (GT-I9100) é cerca de 10 vezes mais lento que o chip x86 superior (i7-2920XM).
Dmitry Grigoryev

"Operações por segundo" é sinônimo de FLOPS?
Abdul

@ Abdul Não necessariamente. De fato, além de jogos e simulações de física, o ponto flutuante não é muito usado. Além disso, muitos chips ARM alcançam FLOPS decentes prejudicando a precisão, portanto também não é a única medida verdadeira.
Dmitry Grigoryev

Os aplicativos Android não são executados na máquina virtual Java. Eles são executados no Dalvik VM
phuclv 13/06/17

1

As respostas até agora explicam algumas facetas do problema que levam a esse número esmagadoramente grande de núcleos de CPU em telefones Android. Leia isso de novo; Telefones Android. O iPhone conseguiu manter apenas alguns núcleos por muito tempo e ainda tem um desempenho muito mais suave do que qualquer carro-chefe do Android.

Os designers do Android fizeram uma grande aposta ao decidir escolher a programação Java e, como conseqüência, a JVM como o tempo de execução dos aplicativos. O Java, devido a seus princípios de design, resolve o problema de precisar compilar e criar código para cada arquitetura de CPU antes que ela possa ser executada sacrificando o desempenho. Java introduz uma máquina virtual pesada e volumosa, geralmente chamada de JVM. A JVM realmente emula uma CPU no nível do software para evitar a necessidade de compilar o código separadamente para cada dispositivo. Pense na JVM como uma CPU virtual que possui as mesmas propriedades, independentemente do dispositivo que está executando, portanto, o código precisa ser compilado apenas uma vez para a JVM e, em seguida, pode ser executado em todos os dispositivos. Isso permite que os fabricantes joguem qualquer hardware que desejarem antes de se preocupar com a compatibilidade de aplicativos.

A própria JVM é apenas uma especificação e as pessoas são livres para desenvolver sua própria JVM, desde que cumpra essa especificação. A JVM original do Android chamava-se Dalvik. Atualmente, o Google substituiu isso por ART.

Agora, qual é o problema com a JVM? É um software pesado que consome muitos recursos de computação. Adicione a isso algumas outras propriedades da linguagem Java, como Garbage Collection e o consumo de recursos da JVM, simplesmente se torna demais para um dispositivo com poder de hardware modesto. Cada serviço de aplicativo e sistema aberto no seu dispositivo é uma instância da ART JVM e agora você pode concluir que o gerenciamento de todos eles exige algum hardware realmente capaz. As coisas ficarão ainda piores quando houver a necessidade de desenhar interfaces de usuário.

Cada aplicativo é executado em vários segmentos. Cada núcleo da CPU pode executar apenas um encadeamento por vez. Cada aplicativo tem um segmento principal no qual faz as coisas relacionadas à interface do usuário. Pode haver muito mais threads por aplicativo para acessar arquivos, rede, etc. Geralmente, existem mais aplicativos (e serviços de sistema) abertos do que núcleos de CPU e, como resultado, geralmente há muito mais threads do que núcleos de CPU. Portanto, cada núcleo precisa alternar entre o processamento de diferentes segmentos constantemente, fazendo um pouco de cada um e indo para o próximo. Essa alternância leva muito tempo para a CPU e, no caso de os aplicativos serem essencialmente JVMs, essa tarefa se torna ainda mais completa.

Com base nesta explicação, pode-se deduzir que o Android precisa de um hardware poderoso para funcionar sem problemas. As primeiras gerações de dispositivos Android eram famosas por atrasos, falhas e muitas outras coisas infelizes. Mas, ao longo dos anos, esses problemas foram resolvidos principalmente por meio de hardware poderoso.

Por outro lado, o aplicativo iOS é compilado no código da máquina nativa e, portanto, não precisa da virtualização. O idioma usado e o sistema operacional também são mais eficientes e, portanto, permitem que esses dispositivos permaneçam tranqüilos sem a necessidade de algum chipset de exagero.


Essa é uma boa explicação por que os telefones celulares são muito mais poderosos que os computadores de mesa. Ou não são?
maaartinus

“Isso permite que os fabricantes joguem qualquer hardware que desejarem antes de se preocupar com a compatibilidade de aplicativos.” - ponto positivo, mas não tenho certeza se essa era a intenção de um sistema destinado (originalmente) a câmeras.
v6ak

“Pode haver muito mais encadeamentos por aplicativo para acessar arquivos, rede, etc.” - esses são bastante vinculados à E / S, não consumindo muita CPU. Às vezes, a E / S é tratada apenas por um thread, porque a CPU é muito mais rápida que os dispositivos de E / S.
v6ak

“As primeiras gerações de dispositivos Android eram famosas por atrasos, falhas e muitas outras coisas infelizes” - lembro de rodar o Marshmallow nesse telefone (Xperia Mini Pro) e acho que existem muitas outras razões para ser lento que a CPU. Eles rodam com pouca RAM e possuem dispositivos flash mais lentos como o MTD (muito mais lento que os cartões microSD para algumas operações), os Androids mais antigos tinham uma "JVM" menos eficiente (que não é tecnicamente uma JVM). Claro, melhor CPU também ajuda, mas eu estaria longe de tal conclusão.
v6ak

Além disso, o estilo de programação, como executar E / S (ou outras operações longas) no encadeamento da interface do usuário, pode tornar os aplicativos atrasados, independentemente do desempenho da CPU. AFAIK, esse estilo é bastante comum nos primeiros aplicativos para Android. Esses aplicativos podem ficar atrasados, mesmo com telefones modernos. Eles provavelmente serão menos demorados, mas isso se deve mais às memórias flash mais rápidas que às CPUs mais rápidas ou mais núcleos.
v6ak

0

Resumindo tudo acima, posso dizer que os casos de uso de PC e telefone são bem diferentes. PC na maioria das vezes usado em um ou dois aplicativos (é claro que o navegador com várias guias requer muitos núcleos da CPU, pode ficar até no topo do i-3), telefones usados ​​para multitarefa. Pelo menos conexão de rede, desenho da interface do usuário, gatilhos do sistema, notificações. Se você abrir o gerenciador de tarefas no PC, também existem muitos processos, mas eles usam menos de poucos% da energia da CPU, mesmo na antiga Core 2 duo. 4 núcleos é muito barato (o MTK 65x2 custou US $ 1 no início para o OEM) Também é RISK vs CISC quando foi a última falta de desempenho por núcleo. Energia eficiente! = Poderosa, como podemos ver aqui . O núcleo múltiplo é perfeito para dispositivos móveis, porque não há uma carga pesada pesada e uma tarefa específica para várias tarefas (mas podemos ver que os iPhones precisam de menos núcleos e RAM devido ao bom softwarecomo neste vídeo ou em outros )


Muitas delas também são realizadas no laptop também. E a multitarefa não precisa exigir CPU. A diferença nos custos de fabricação pode causar algumas diferenças e pode ser uma razão para menos núcleos de CPUs de baixo custo, mas duvido que os custos de fabricação sejam a única razão pela qual nem todos os i7s têm pelo menos quatro núcleos. Acredito que os custos de fabricação são apenas uma pequena fração do preço desses processadores.
v6ak

@ v6ak, o problema é que os núcleos x86 são maiores e mais complicados, as CPUs da intell (ou amd) não são boas o suficiente para serem o melhor modelo. De fato, a maioria deles é bloqueada em algumas partes e se torna júnior i7 ou Pentiums. Os núcleos do ARM parecem menos complicados, por isso não são tantos os modelos que chegam a cada ano. O octa core ainda era verdadeiro: o Samsung Exynos Octa 7xxx , o MTK Helio X10 , o mais recente (X30) até propõe pouco (4). Médio (4). faz coisa.
Flippy

-1

Eu acho que um dos principais fatores que impulsionam além de 4 ou 8 (para grandes: pequenas configurações) é apenas o marketing no momento.

Um grande problema da alta contagem de núcleos é quando você considera o tamanho da memória. Normalmente, em aplicativos de desktop, quando você deseja melhorar a utilização de vários núcleos, é necessário duplicar estruturas e usar muito mais memória do que em um único aplicativo encadeado.

Isso não acontece porque a RAM é muito cara (especialmente na situação de crise da RAM 2017/2018). O marketing quer números altos, mas o controle quer reduzir os preços dos componentes. Se você encontrar um saldo inferior a 1 Gigabyte de RAM por núcleo, verá um comprometimento com falha.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.