A Apple fala sobre os coprocessadores de movimento M7 e M8 para o pedômetro do iPhone e outras operações.
Minha pergunta é: Por que precisamos de um coprocessador de movimento? Certamente, este é apenas o processamento de sinal digital que o processador primário massivamente poderoso pode suportar?
iphone
health.app
motion-processor
Hawkeye
fonte
fonte
Existem algumas razões pelas quais ter um processador separado é apropriado para isso.
O processador é para tarefas que podem ser executadas o tempo todo, esteja você fazendo algo com seu dispositivo ou não.
As tarefas que estão sendo solicitadas são de prioridade crítica, mas provavelmente requerem muito pouco processamento real.
Usabilidade do dispositivo:
Dividir esse trabalho em um processador separado, significa que os desenvolvedores não precisam se preocupar com a quantidade de processador principal que está sendo usada. O processador principal pode não ser utilizado ou maximizado, e não terá impacto no processamento de tarefas que o coprocessador de movimento assume.
Com efeito, isso significa que o uso normal do dispositivo e o processamento do movimento em segundo plano nunca interferirão entre si.
Uso de energia:
Como essas tarefas estão sendo executadas continuamente, colocá-las em um processador de baixa energia separado também permite que o dispositivo use menos energia. Como a duração da bateria é uma preocupação muito grande para muitos usuários, a Apple considerou necessário considerar o uso de energia para as funções sempre ativadas.
Essas funções também podem ser implementadas de maneira muito mais otimizada em um processador que possui uma tarefa muito específica. Considere isso da mesma maneira que uma GPU é capaz de processar muito mais que uma CPU (na maioria dos casos) porque é direcionada para uma tarefa específica.
fonte
A primeira coisa que notei na primeira vez que abri o Nike + Move no meu iPhone 5s foi o fato de ele ter dados imediatamente nas duas semanas anteriores. Acredito que o coprocessador de movimento efetivamente rastreia e registra constantemente os dados do sensor de movimento e dá aos aplicativos acesso a esses dados. Isso permite que os aplicativos coletem esses dados mesmo quando não abertos, sem precisar executar constantemente em segundo plano. A diferença de processamento entre coletar apenas dados de movimento (e fazê-lo em um único local unificado para todos os aplicativos) e executar um aplicativo inteiro em segundo plano é enorme em termos de uso da bateria.
fonte