Apple mówi o koprocesorach ruchu M7 i M8 dla krokomierza iPhone'a i innych operacjach.
Moje pytanie brzmi: dlaczego potrzebujemy koprocesora ruchu? Z pewnością jest to tylko cyfrowe przetwarzanie sygnału, z którym może poradzić sobie potężny procesor główny?
iphone
health.app
motion-processor
Sokole Oko
źródło
źródło
Istnieje kilka powodów, dla których osobny procesor jest do tego odpowiedni.
Procesor jest przeznaczony do zadań, które można uruchamiać przez cały czas, niezależnie od tego, czy robisz coś z urządzeniem, czy nie.
Zadania, o które jest proszony, mają krytyczny priorytet, ale prawdopodobnie wymagają bardzo niewielkiego rzeczywistego przetwarzania.
Użyteczność urządzenia:
Podział tej pracy na osobny procesor oznacza, że programiści nie muszą się martwić o to, ile zużywa główny procesor. Procesor główny może być nieużywany lub maksymalnie wykorzystywany i nie będzie miał wpływu na przetwarzanie zadań podejmowanych przez koprocesor ruchu.
W efekcie oznacza to, że normalne użytkowanie urządzenia i przetwarzanie ruchu w tle nigdy nie będą ze sobą kolidować.
Zużycie energii:
Ponieważ zadania te są wykonywane w sposób ciągły, umieszczenie ich na osobnym procesorze o niskim poborze mocy pozwala również urządzeniu zużywać mniej energii. Ponieważ żywotność baterii jest bardzo dużym problemem dla wielu użytkowników, Apple uznał za konieczne rozważenie zużycia energii dla zawsze działających funkcji.
Funkcje te można również zaimplementować w znacznie bardziej optymalny sposób na procesorze, który ma bardzo specyficzne zadanie. Rozważ to podobnie do tego, w jaki sposób GPU może przetwarzać znacznie więcej niż procesor (w większości przypadków), ponieważ jest przeznaczony do określonego zadania.
źródło
Pierwszą rzeczą, jaką zauważyłem przy pierwszym otwarciu Nike + Move na moim iPhonie 5s, było to, że natychmiast miał dane z poprzednich dwóch tygodni. Wierzę, że koprocesor ruchu skutecznie stale śledzi i rejestruje dane czujnika ruchu i zapewnia aplikacjom dostęp do tych danych. Dzięki temu aplikacje mogą zbierać te dane, nawet gdy nie są otwarte, bez konieczności ciągłego działania w tle. Różnica w przetwarzaniu między tylko zbieraniem danych o ruchu (a robieniem tego w jednym zunifikowanym miejscu dla wszystkich aplikacji) a uruchomieniem całej aplikacji w tle jest ogromna pod względem zużycia baterii.
źródło