Jeśli chcecie mnie wesprzeć to zapraszam do kupna mojego poradnika "Jakim jesteś Makiem?".

Apple A7 z iPhone’a 5S rozebrany

· Wojtek Pietrusiewicz · 7 komentarzy

Chipworks dobrało się do Apple A7 z najnowszego iPhone’a 5S przed paroma dniami. Nowy SoC ma dwukrotnie większą wydajność od poprzednika, A6 znanego z iPhone 5, pod względem zarówno CPU jak i GPU. Co ciekawe, jest taktowany taką samą częstotliwością, wynoszącą 1.3 GHz, ale oparto go o 64-bitową architekturę ARMv8 – więcej na jej temat znajdziecie tutaj.

Sam SoC wykonany jest w technologii 28 nm, ale zmniejszono odległości pomiędzy tranzystorami, która wynosi 114 nm zamiast 123 nm. Dzięki tym zabiegom, powierzchnia A7-ki jest o około 33% mniejsza niż byłaby przy technologii 32 nm od zajmowanej przez A6 i dzięki temu jest niewiele większa od A6.1

Apple A7 ChipworksKoprocesor M7, towarzyszący A7, to Cortex-M3 (NXP LPC18A1) taktowany częstotliwością 180 MHz (jeśli mnie pamięć nie myli). Odpowiedzialny jest za zbieranie i przetwarzanie danych z żyroskopu, akcelerometru i kompasu. To o tyle ważne, że M7 potrafi te czynności wykonywać, zużywając jedynie 1/6 energii, którą potrzebowałby A7. Wygląda na to, że te dane są zbierane niezależnie przez telefon, czy tego chcemy czy nie. Być może w późniejszych wersjach iOS 7 pojawi się możliwość wyłączenia tego, ale tymczasem, jak zauważyli przede wszystkim użytkownicy aplikacji Argus, 5S zbiera dane od momentu, w który zaczęliście go używać. Zakładam też, że są zerowane razem z resetem telefonu. Osobiście chciałbym móc to wyłączyć – na obecną chwilę tego kompletnie nie potrzebuję, a M7 w tej sytuacji niepotrzebnie pobiera dane. Jednocześnie nie mogę się doczekać tego co wymyśli Nike+ Move.

Znacznie bardziej interesujący jest fakt, że iPhone 5S to pierwsze urządzenie na świecie wspierające Multipath TCP.

5S korzysta z układu BCM4334 do obsługi BT i Wi-Fi. Wspierane jest 802.11 a/b/g/n, ale niestety nie najnowszy ac, obecne już w MacBookach Air i iMakach z 2013 roku. Nie robi to w praktyce na dzień dzisiejszy większej różnicy, ale znacznie bardziej interesujący jest fakt, że iPhone 5S to pierwsze urządzenie na świecie wspierające Multipath TCP. W przypadku klasycznego TCP, jeśli zostanie zerwane połączenie z internetem, musi zostać ponownie zestawione, a to stracony czas. MPTCP potrafi w takiej sytuacji dynamicznie przełączać się pomiędzy połączeniami, nawet wykorzystując to szybsze – dobrym przykładem tutaj jest połączenie telefonu ze światem jednocześnie za pomocą Wi-Fi i 3G lub 4G. Na obecną chwilę z MPTCP korzysta tylko i wyłącznie Siri – zakładam więc, że jest w fazie testów.

  1. Poprawiłem zdanie, bo rzeczywiście znaczyło co innego niż miało znaczyć.

Chcesz zwrócić mi na coś uwagę lub skomentować? Zapraszam na @morid1n lub na forum.

  • Szkoda, że M7 przechowuje te dane tylko do 7 dni wstecz. Jeśli raz na tydzień aplikacja ich nie pobierze, to niestety przepadają.

  • mef

    Wojtek, staraj się unikać wyrażenia ‚dzień dzisiejszy’ w swoich tekstach, bo jest ono w naszym języku średnio poprawne (a już całkowicie niepoprawne w takim, nieoficjalnym, tekście). Sformułowanie ‚na dziś’ niczego tekstowi nie ujmie, a będzie poprawne językowo.

  • Michal Mynarski

    ARMv8 to nie architectura a zestaw instrukcji (ISA), zaś sam procesor jest troszkę większy niż A6 (102 mm^2 vs 97 mm^2). Z tą dwukrotnie większą mocą to bym nie przesadzał :)

  • ARM się z Tobą nie zgadza. :)

    The ARMv8 architecture introduces 64-bit support to the ARM architecture with a focus on power-efficient implementation while maintaining compatibility with existing 32-bit software.

    Źródło: http://www.arm.com/products/processors/armv8-architecture.php

    A64 to zestaw instrukcji, albo dla precyzji: AArch64.

    Zobacz benchmarki i przeczytaj co do mocy:

    My casual benchmarking indicates that basic object creation and destruction takes about 380ns on a 5S running in 32-bit mode, while it’s only about 200ns when running in 64-bit mode. If any instance of the class has ever had a weak reference and an associated object set, the 32-bit time rises to about 480ns, while the 64-bit time remains around 200ns for any instances that were not themselves the target.

    http://www.mikeash.com/pyblog/friday-qa-2013-09-27-arm64-and-you.html

  • Michal Mynarski

    OK, zagalopowałem się, ale warto to dokładnie rozjaśnić, bo na tym poziomie jest masa przekłamań i nieścisłości.

    ARMv8, nazywana jest przez ARM architekturą (by logicznie pewne sobie nazewnictwo ułożyć). ARMv8 można również nazwać zbiorem standardów dla procesorów architektury ARM, wlicza się na to liczba rejestrów i określony set instrukcji itd. Podobnie jest w świecie Intela, gdzie architektura IA32 jest rozwinięciem modelu programowego (architektury) x86. To właśnie model programowy (Instruction Set Architecture, ISA) decyduje o tym, co programista dostaje do ręki. To ARMv8 wymusza liczbę rejestrów i listę instrukcji w procesorach, pomimo tego, że chipy spełniające te wymagania są, można by rzec, tej samej architektury ARM. Model programowy w języku polskim również jest nazywany architekturą (podobnie w angielskim) stąd przekłamania i nieścisłości :)

    Co do mocy – moim zdaniem krótko jednoznacznie określić, że SoC jest 2 krotnie szybszy. Niektóre benchmarki faktycznie to wskazują, niektóre wskazują wzrost o 75%. Dekompresja PNG jest szybsza o 35%, ale np. algorytm Dijkstry już wolniejszy o 25% (właśnie przez 64 bity). :)

  • A Ty nadal masz niepotwierdzony adres email w DISQUS i trafiasz do spamu. :)
    Czyli pi razy drzwi jest 2x szybszy, a dla 99% ludności nie ma to większego znaczenia. ;-)

  • Michal Mynarski

    Bo ja taki trochę cichociemny jestem i spamuję :D