M7 Motion Coprocessor

In addition to the A7 SoC, the iPhone 5s ships with a discrete “motion coprocessor” called the M7. The M7 acts as a sensor hub, accepting inputs from the accelerometer, gyroscope and compass. The M7 also continuously monitors motion data and can interface with iOS 7’s CoreMotion API. The combination of those two things is designed to enable a completely new class of health and fitness applications.

Fundamentally the role of the M7 was previously serviced by the A6 SoC. Apple broke out its functionality into a separate chip, allegedly to reduce power consumption. With the M7 servicing motion and sensor requests, the A7 SoC can presumably remain asleep for longer. Any application level interaction will obviously require that the A7 wake up, but the M7 is supposed to enable a lot of background monitoring of sensor and motion data at very low power levels.

In the earliest implementation of CoreMotion and the M7, the iPhone 5s in combination with iOS maps will automatically switch between driving and walking directions when it detects that you’ve transitioned from automobile to pedestrian travel. The M7 can also signal iOS that you’re driving, and prevent the OS from popping up requests to join WiFi networks it finds along the way. Hardware enabled situational awareness is a big step for modern smartphones, and the combination of hardware (M7) and software (CoreMotion API) both make a lot of sense. I’ve seen demos in the past of companies looking to parse sensor data (along with other contextual data from your device) to determine when you’re at work, or the gym or when you’re otherwise occupied and can’t immediately respond to a message. Your phone understanding your current state in addition to your location is an extremely important step towards making smartphones even more personal.

The role of the M7 makes a lot of sense - its location physically outside of the A7 SoC is what’s unusual. Apple could’ve just as easily integrated its functionality on die and just power gated the rest of the SoC when idle. The M7’s existence outside of the main A7 die can imply a number of things.

The best theory I have is that we’ll see some deployments of A7 without the associated M7 part. Along those lines, a very smart man theorized that perhaps M7 is built on a different manufacturing process than A7. We’ll have to wait for someone to delayer the M7 to truly find out, but that will tell us a lot about Apple’s motivations here.

Touch ID

I’ve somehow managed to escape most fingerprint sensors on computing devices. I owned a couple of laptops that had the old optical style sensors, but it was always quicker for me to type in a password than it was for me to deal with the sensor. I also wrote a piece on Motorola’s Atrix a few years back, which had a fingerprint sensor built into the power/clock button. The experience back then wasn’t all that great either. If I got into a groove I’d be able to unlock the Atrix by sliding my finger over the sensor every time, but I’d run into problems more often than not. The unpredictable nature of the Atrix’s sensor is what ultimately made it more frustrating than useful. The concept, however, was sound.

No one likes typing in a passcode. Four digit ones aren’t really all that secure unless you have some sort of phone wipe on x-number-of-retries setting. Longer passcodes are more secure but also a pain to type in regularly.

Security is obviously extremely important on modern day smartphones. Personal messages, emails, access to all of your social networking, banking, airline reservations, everything is accessible once you get past that initial passcode on a phone. We also check our devices frequently enough that you want some sort of grace period between requiring another passcode. It’s bad practice, but it’s a great example of convenience trumping security.

When I first heard the rumors of Apple integrating a fingerprint scanner into the iPhone 5s’ home button I was beyond skeptical. I for sure thought that Apple had run out of ideas. Even listening to the feature introduced live, I couldn’t bring myself to care. Having lived with the iPhone 5s for the past week however, I can say that Touch ID is not only extremely well executed, but a feature I miss when I’m not using the 5s.

The hardware is pretty simple to understand. Touch ID is a capacitive fingerprint sensor embedded behind a sapphire crystal cover. The sensor works by forming a capacitor with your finger/thumb. The sensor applies a voltage to one plate of a capacitor, using your finger as the other plate. The resulting electric field between your dermis (layer right below your outward facing skin) and the Touch ID sensor maps out the ridges and valleys of your fingerprint. Because the data that’s being stored is somewhat sub-epidermal, dirt and superficial damage to your finger shouldn’t render Touch ID inoperable (although admittedly I didn’t try cutting any of my fingers to test this theory). The map is recorded (and not an image of your finger) and stored in some secure memory on the A7 SoC itself. The data is stored in an encrypted form and is never uploaded to iCloud or stored anywhere other than on your A7 SoC.

Behind the Touch ID sensor is a similar feeling mechanical switch to what you’d find on the iPhone 5 or 5c. You still get the same click and same resistance. The only physical differences are a lack of the home square printed on the button, and the presence of a steel ring around the button. The steel ring acts as a conductive sensor for your finger. Make contact with the steel ring and Touch ID wakes up (presumably when your phone is in a state where Touch ID interactions are expected). Without making contact with the ring, Touch ID won’t work (I confirmed this by trying to unlock the 5s with my pinky and never touching the ring).

Having a passcode is a mandatory Touch ID requirement. You can’t choose to only use Touch ID to unlock your device. In the event that your fingerprint isn’t recognized, you can always manually type in your passcode.

Your fingerprint data isn’t accessible by third party apps at this point, and even has limited exposure under iOS 7. At present, you can only use Touch ID to unlock your phone or to authorize an iTunes purchase. If you’ve restarted your phone, you need to manually type in your passcode once before you can use Touch ID. If you haven’t unlocked your phone in 48 hours, you’ll need to supply your passcode before Touch ID is an option. Repeated failed attempts (5) to access your 5s via Touch ID will force you to enter a passcode as well.

Other first party services like Game Center logins are also not Touch ID enabled. Even using Touch ID for iTunes purchases requires an opt in step in the Settings menu, it’s not on by default.

Apple has done its best to make the Touch ID configuration and subsequent recognition process as seamless as possible. There’s an initial training period for any finger you want stored by the device. At present you can store up to five unique fingers. At first that sounded like a lot, but I ended up using four of those slots right away. The idea is to store any finger you’d possibly want to use to unlock the device, to avoid Touch ID becoming a limit on how you hold your phone. For me that amounted to both thumbs and both index fingers. The thumbs were an obvious choice since I don’t always hold my phone in the same hand. I added my index fingers for the phone-on-table use case. That left me with a fifth slot that I could use for myself or anyone else I wanted to give access to my phone.

The training process is pretty simple. Just pick up and place your finger on the Touch ID sensor a few times while it maps out your fingerprint. After you complete that step, do it again but focus on the edges of your finger instead. The surface area of the Touch ID sensor is pretty small by comparison to most fingers, so the more data you can give the sensor the better. Don’t worry about giving Touch ID a perfect map of your fingers on the first try. Touch ID is designed to adapt over time. Whenever an unlock attempt fails and is followed by a successful attempt, the 5s will compare the print map from the failed attempt and if it determines that both attempts were made with the same finger it will expand the match database for that finger. Indeed I tested and verified this was working. I deliberately picked a weird angle and part of my thumb to unlock the 5s, which was immediately rejected. I then followed it up with a known good placement and was successful. I then repeated the weird attempt from before and had it immediately succeed. That could’ve been dumb luck or the system working as intended. There’s no end user exposure to what’s going on inside.

With fingers added to Touch ID, everything else works quite smoothly. The easiest way to unlock the iPhone 5s with Touch ID enabled is to press and release the home button and just leave your finger/thumb there. The button press wakes the device, and leaving your digit there after the fact gives the Touch ID sensor time to read your print and unlock the device. In practice, I found it quicker than manually typing in a four digit passcode. Although the process is faster than typing in a passcode, I feel like it could go even quicker. I’m sure Apple is erring on the side of accuracy rather than speed, but I do feel like there’s some room for improvement still.

Touch ID accuracy didn’t seem impacted by oily skin but it quickly turns non-functional if you’ve got a wet finger. The same goes for extremely dirty fingers.

Touch ID ended up being much better than I thought it would be, and it’s honestly the first fingerprint scanner system that I would use on a regular basis. It’s a much better way of unlocking your phone. I’ve been transitioning between the 5s the 5c and the iPhone 5 for the past week, and whenever I’d go to the latter two I’d immediately miss the Touch ID sensor. The feature alone isn’t enough to sell me on the 5s, but it’s definitely a nice addition. My only real wish is that Touch ID would be acceptable as an authentication method in more places, although I understand the hesitation Apple must have in opening the floodgates.

 

GPU Architecture & Performance Battery Life
Comments Locked

464 Comments

View All Comments

  • BrooksT - Wednesday, September 18, 2013 - link

    Nobody will disagree because you've completely destroyed your credibility by insulting the credibility, integrity, and competence of the reviewer, the site, and Apple because the evidence doesn't conform to your speculations and bias. You are not to be taken seriously, and at this point I think everyone sees that.

    Post evidence of this conspiracy or STFU.
  • ddriver - Thursday, September 19, 2013 - link

    How a whiff of reality for you - my credibility is and has not been on the line on this one. You don't know who I am, you don't know my credentials. This is not the case for Anand, even if I am right he is not in the position to admit to compiling the review in a manner that creates an unrealistically good presentation of a product, because unlike for me, that would be a huge credibility calamity for him. If anything, his responses are very "political" carefully dancing around the pivot points of my concerns. While his response did partially bring light to a few of my concerns, my key points remain valid - the article continues to not compare A7 with ARMv7 head to head in the sole native CPU benchmark present in the article, "CPU performance" was not renamed to JS performance or moved to browser performance or something like that. See, just because he didn't agree with my points and admit to being biased does not mean I am wrong and that is not the case, considering he is not in the position to do that. I didn't really expect anything more or less than the same "carefully dancing" answer as the article itself, my main motivation was to show him that not all AT readers are incapable of reading between the lines, for the sake of future articles, I did not expect that he would make any revision to the article at hand. Honesty is for those who have nothing to lose, and while his credibility is no the line, my isn't, make the conclusions, if you can ;)
  • CyberAngel - Thursday, September 19, 2013 - link

    Don't worry! I believe you...conditionally!
    I put it this way: I greatly doubt that the tests would reveal any points that are less than favorable the Apple. ANY company would do the same: promote the best parts and highlight the strength of the product.
  • akdj - Thursday, September 19, 2013 - link

    "You don't know who I am, you don't know my credentials."
    I'm not sure anyone here is interested---you've already made clear you're a conspiracy theorist, that you believe Apple is paying off reviewers, that you disrespect folks MUCH more intelligent than yourself when it comes to chip architecture...and that your "main motivation was (Is) to show him that not all AT readers are incapable of reading between the lines". You've shown NO one ANYthing substantiated. You continue to argue baseless facts and accuse respected individuals and groups/teams of intelligent members of being bias towards Apple. Nothing in this review supports your claims---NOTHING! And, as I pointed out earlier---even the biggest anti-apple sites are applauding Apple's efforts with this SoC effort.
    You're in the minority---and to be so vain that we would care about who you are and what your credentials are is silly. It sounds to me like you're a 17 year old with a decent vocabulary and not enough paper in the pocket to pick up an iPhone 5s for yourself. But...what do I know. I don't know you, your credentials...or how you lean politically, nor do I care.
    IMO---you're an insult to the entire Anand crew. I'm not sure why I continue to read your responses, they're all the same, just worded differently. Again...you're in the (extreme) minority. You're certainly not an engineer, chip designer, app developer or technological guru---if you were, you would understand the feat Apple has achieved with this SoC architecture.
    J
  • Nurenthapa - Friday, September 20, 2013 - link

    I've been enjoying reading this in China, but you, sir, are really annoying me with your sniveling drivel. You have an axe to grind and simply won't shut up. Hope you disappear from this forum. BTW, I use a HTC One and iPad 2, and occasionally my old original 2007 iPhone. I love IOS and iPhones, but won't be buying one until they come out with a somewhat bigger screen.
  • oryades - Wednesday, September 18, 2013 - link

    Intel, now Apple, the same featured reviews.
  • edward kuebler - Wednesday, September 18, 2013 - link

    We are talking about 64 bits too much. The story is new instruction set in ARMv8. Instead complicating the hardware for backwards compatibility (e.g. look at x86 still supporting 16bit code) they wrote a new instruction set faster and less energy demanding. There is still ARMv7 compatibility, but the 64bit mode is independent. And the thing is, once you redesign your architecture, why not go 64bit? what´s the point of staying 32 bit? Moving more data is both slower and faster. More and wider registers help compiler optimizations and media decoding. I didn't get all this “cunning deceitful conspiracy” feeling you talk about. Staying in 32 bit land, *that* would keep me guessing.
  • Anand Lal Shimpi - Wednesday, September 18, 2013 - link

    Our browser based suite (stressing js/HTML5 and other browser based workloads) remains unchanged from all of the other mobile SoC reviews we've done. There's no way of getting around the software differences on these mobile devices as you buy hardware+software together. Unfortunately it's still our best option for non-GPU cross platform comparisons, there just aren't many good cross platform CPU tests.

    I called out the inclusion of hardware accelerated AES/SHA when referencing those tests, there were no attempts to hide that fact. The fact remains that those algorithms will see a speedup on ARMv8 hardware because of those instructions. Note this is no different than when we run the TrueCrypt benchmarks on AES-NI enabled processors vs. those that don't have it (e.g. http://images.anandtech.com/graphs/graph5626/44765...

    Apple provided absolutely zero guidelines on how the review was to be conducted. The only stipulations were around making sure we didn't disclose the fact that we had devices. In fact, most manufacturers don't - at least not with us. Whenever there are any stipulations presented, we always disclose them on the site (e.g. see our early look at Trinity desktop performance).

    Krait implements ARMv7, so that's 64-bit wide registers for its NEON units. It expanded the width of the execution units, but the registers themselves have to adhere to the ARMv7 ISA.

    I think we explained why 64-bit makes sense (doing so at the last minute doesn't make sense, immediate SIMD/Crypto perf increases today, and helps build up the ecosystem), and even highlighted cases where a performance degradation does happen (see: Dijkstra tests). Keep in mind that iOS has always erred on the side of being more thrifty with RAM to begin with. I would like to see more but I don't know how necessary it is today.

    Take care,
    Anand
  • ddriver - Wednesday, September 18, 2013 - link

    Anand, maybe you should hire a developer to write native cross platform benchmark tools. This is the only way to avoid all caveats like sponsored exclusive optimizations, different implementations, eliminate unrealistic low footprint synthetics, "selective compilers" (*cough Intel*) and whatnot. Considering the amount of reviews you are doing and the fact that C/C++ compilers have caught up with ARM for a long time, this is nothing hard and something that entirely makes sense, especially relative to using different JS engine implementations to measure CPU performance. JS should go in the "browser" department, not CPU performance.

    According to wikipedia, Krait implements 128bit SIMD, so maybe that is a mistake on wikipedia's behalf?

    I still think encryption results belong in their own chart, and have no place in a chart that is supposed to be indicative of the integer performance delta between 32 and 64bit execution modes. Even with the clarification you made, it creates an unrealistic impression, not to mention some people skimp over the text and only look at the numbers. Encryption is encryption, integer performance is integer performance. Why mix the two (except for the reason I already mentioned and you deny)?

    I wish you'd reflected a bit on the marketing aspect of the transition to 64, considering how much apple is riding it this time around. No one argues 64bit is good and more performance is good, but this brings up the issue of the particular implementation, e.g. a fast chip with only a single gigabyte of ram, and how will that play out with an actual performance demanding real world application.

    Thanks for addressing my concerns.
  • Wilco1 - Wednesday, September 18, 2013 - link

    ARMv7 has 32 64-bit SIMD registers but they can also be used as 16 128-bit SIMD registers. Modern CPUs like Cortex-A15 and Krait support many 128-bit SIMD operations in a single cycle, but not all operations are supported (such as double precision FP). ARMv8 has 32 128-bit SIMD registers and supports SIMD of 2 64-bit doubles.

Log in

Don't have an account? Sign up now