É possível estimar o número ideal de núcleos da CPU para telefones Android? -- ultitasking campo com cpu camp android Relacionado O problema

Is it possible to estimate the ideal number of CPU cores for Android phones?


0
vote

problema

português

Estou pensando que com a maneira como normalmente usamos telefones Android, executamos um único aplicativo de cada vez, menos núcleos de CPU mais rápidos são melhores do que muitos núcleos menores (mais lentos).

O Android realmente se beneficia muito a partir dos telefones octas atuais? Quanto tempo antes de vermos os telefones Android de 16 núcleos, e isso realmente será útil em um telefone?

Eu continuo pensando que 4 núcleos rápidos, ou 2 núcleos muito rápidos, parecem ideais para o tipo de coisas que fazemos com os telefones Android. É possível determinar algum número ideal de núcleos, ou em que ponto ela simplesmente não faz sentido adicionar mais núcleos?

english

I'm thinking that with the way we typically use Android phones, run a single app at a time, fewer faster CPU cores are better than many smaller (slower) cores.

Does Android really benefit that much from the current octa-core phones? How long before we see 16-core Android phones, and will that actually be useful in a phone?

I keep thinking that 4 fast cores, or 2 very fast cores, seem ideal for the kind of things we do with Android phones. Is it possible to determine some ideal number of cores, or at what point it simply does not make sense to add more cores?

     

Lista de respostas

1
 
vote

Mesmo que você acha que você está apenas executando um único aplicativo de cada vez, isso não significa que apenas um único thread esteja funcionando. Obtendo a interface do usuário desse aplicativo na tela é realmente feito por um segundo processo, chamado flinger de superfície . Mesmo dentro daquele aplicativo que você está usando, provavelmente há vários tópicos: um desenhando a interface do usuário e respondendo à sua entrada, outra comunicação com um servidor e talvez outra faça qualquer cálculo lento que o aplicativo precise fazer. Ter vários segmentos permite que a interface do usuário permaneça responsiva ao executar essas tarefas lentas. Além disso, outros aplicativos são executados em segundo plano, por vezes: o Whatsapp está ouvindo novas mensagens, o Gmail está verificando novos e-mails, o Google agora está verificando os preços de ações atualizados, o Google Play está baixando uma atualização de aplicativo, etc.

Todos em todos, não há um único número ideal de núcleos de CPU que se adapte a todas as situações. Muito da unidade para o número crescente de núcleos em telefones é marketing, assim como as guerras de velocidade do relógio em PCs há 10 anos. Mas há um fator extra que vale a pena ter esses enormes números de núcleos: silício escuro.

A área de silício no sistema de telefone no chip do telefone que é retomado por um único núcleo de CPU ficou menor e menor ao longo dos anos. A maior parte do espaço é retomada pela RAM, e até mesmo a GPU é várias vezes maior que toda a CPU. Não custa muito apenas colocar mais núcleos da CPU no silício. Na maioria das vezes, se o seu telefone não estiver indo muito, esses núcleos extras podem ser desligados para economizar energia. Mas quando você deseja jogar um jogo móvel, ou execute um filtro snapchat, ou qualquer coisa cometida em computação que quer executar vários tópicos, esses núcleos extras podem ser ligados para uma explosão de velocidade.

Então, realmente, o número ideal de núcleos é lotes. Mesmo que algumas pessoas nunca executem o tipo de carga de trabalho que se beneficia de muitos núcleos, há quase zero custo para ter núcleos não utilizados, e há um grande benefício para algumas cargas de trabalho.

 

Even though you think you're only running a single app at a time, that doesn't mean only a single thread is running. Getting the UI from that app onto the screen is actually done by a second process, called Surface Flinger. Even within that one app you're using, there are probably multiple threads: one drawing the UI and responding to your input, another communicating with a server, and perhaps another doing whatever slow computation the app needs to do. Having multiple threads allows the UI to remain responsive while performing these slow tasks. On top of that, other apps run in the background sometimes: WhatsApp is listening for new messages, Gmail is checking for new mail, Google Now is checking updated stock prices, Google Play is downloading an app update, etc.

All in all, there's no single ideal number of CPU cores that suits every situation. A lot of the drive towards increasing number of cores on phones is marketing, just like the clock speed wars on PCs 10 years ago. But there's an extra factor that makes it worthwhile having these huge numbers of cores: dark silicon.

The silicon area on the phone's system-on-chip that's taken up by a single CPU core has got smaller and smaller over the years. Most of the space is taken up by RAM, and even the GPU is several times larger than the whole CPU. It doesn't cost much to just put more CPU cores in the silicon. Most of the time, if your phone isn't doing very much, those extra cores can be turned off to save power. But then when you want to play a mobile game, or run a Snapchat filter, or anything compute-intensive that wants to run several threads, those extra cores can be powered up for a burst of speed.

So really, the ideal number of cores is lots. Even if some people never run the kind of workload that benefits from lots of cores, there's almost zero cost to having unused cores, and there's a huge benefit for some workloads.

 
 
 
 
0
 
vote

Eu realmente não vejo isso vindo para a frente e por um tempo eu não acho que veremos smartphones high-end com mais de 8 núcleos. Lembre-se também que apenas 4 deles são usados ​​na situação, dependendo de quão pesada é a tarefa. Você não pode realmente determinar quantos núcleos precisarão em um horário específico. Tudo depende de como o aplicativo é escrito. Faz algumas tarefas simultâneas ao mesmo tempo? O design que podemos ver atualmente no mundo do smartphone permite que você execute vários aplicativos, o mesmo tempo sem perder muito desempenho.

 

I do not really see this coming forward and for a little while I do not think we will see high-end smartphones with more than 8 cores. Remember also that only 4 of them are used in the situation depending how heavy the task is. You cannot really determine how many cores you will need at a specific time. It all depends how the application is written. Does it do few concurrent tasks in the same time? The design that we can see currently in the smartphone world allows you to run multiple applications i the same time without loosing much performance.

 
 
 
 

Perguntas relacionadas

2  CPU-Z mostra 8 núcleos, mas 4 deles são parados  ( Cpu z shows 8 cores but 4 of them are stopped ) 
Eu estou usando a CPU-Z para testar coisas básicas sobre o J7. Ele relata um exynos octa 7580, 8 núcleos, 8x braço córtex-A53 @ 1.5GHz, R0P3, 28 Nm. Em todo...

34  Qual porcentagem de dispositivos Android é executado na arquitetura x86?  ( What percentage of android devices runs on x86 architecture ) 
Esta questão pode ser redundante ou uma possível duplicada, mas estou usando uma biblioteca NDK que é executada apenas em dispositivos de braço. Existe uma ma...

1  Como definir a frequência da CPU o mais cedo possível?  ( How to set cpu frequency as early as possible ) 
O que quero dizer com esta questão é a sequência de execução de scripts no momento da inicialização. Suponha que eu tenha esta linha de script: echo 3070...

0  É possível estimar o número ideal de núcleos da CPU para telefones Android?  ( Is it possible to estimate the ideal number of cpu cores for android phones ) 
Estou pensando que com a maneira como normalmente usamos telefones Android, executamos um único aplicativo de cada vez, menos núcleos de CPU mais rápidos são ...

0  Menor temperatura que os sensores podem medir  ( Lowest temperature that sensors can measure ) 
Então eu estou fazendo algum trabalho e telefone não estava no bolso, mas no quarto onde a temperatura era baixa (digamos que cerca de 3 ° C) era curiosidades...

0  Todos os núcleos da CPU têm uso idêntico  ( All cpu cores have identical usage ) 
Eu tenho Xiaomi Mi A2 Lite, que foi originalmente executando Android 9 por fabricante, não Miui e outros utilitários. Agora está executando o Android 10 após ...

3  Restringir a frequência da CPU de ir muito alto  ( Restrict cpu frequency from going too high ) 
Eu tenho um oneplus 6 correndo no Snapdragon 845. A CPU pode acertar até 2.8GHZ, que é muito consumidor de bateria. Eu quero limitar a freqüência do relógio d...

4  Uso da CPU por app no ​​Android 8  ( Cpu usage by app on android 8 ) 
Meu Samsung S7 é seriamente superaquecido. A bateria está sendo consumida super rapidamente. Eu preciso ver uma simples lista de aplicativos com a porcentagem...

0  Como desativar os núcleos da CPU no Samsung Galaxy A8?  ( How to turn off cpu cores on samsung galaxy a8 ) 
Eu preciso desativar os núcleos da CPU para fazer medições de energia de conjuntos de núcleos de CPU isoladamente (o que significa que eu quero executar um ap...

0  Uso da CPU do Android: O que as barras vermelhas, verdes e roxas e os números significam?  ( Android cpu usage what do the red green and purple bars and the numbers mean ) 
A Internet como um caminhão de mitos sobre isso. Hoje, é hora de enfrentar os mitos. Quando as barras de uso da CPU que podem ser ativadas nas opções do des...




© 2022 pergunte.org All Rights Reserved. Casa de perguntas e respostas todos os direitos reservados


Licensed under cc by-sa 3.0 with attribution required.