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

  • ddriver - Wednesday, September 18, 2013 - link

    My basis for this conclusion is how the article is structured, the carefully picking of benchmarks and selective comparisons. This is clearly visible and has nothing to do with the actual chip specifications. It has nothing to do with execution mode specific details. So no, I don't have problem with facts, unlike you.

    Furthermore, that 30% number you were focused on is hardly impressive and proportional to the claims this article is making. In a workload that would take an hour, 30% is a noticeable improvement, but for typical phone applications this is not the case.
  • Dooderoo - Wednesday, September 18, 2013 - link

    The structure of the article and the benchmarks are mostly the same as they use in most reviews, excluding some Android specific benchmarks. Where exactly do you see "carefully picking of benchmarks and selective comparisons". Put differently: what benchmarks should they include to convince you there is no "cunning deceit" at work?

    What claims in the article are not proportional with the 30% (actually more) performance gain?

    I won't even comment on the "not a noticeable improvement" bit.
  • andrewaggb - Wednesday, September 18, 2013 - link

    My issue with all the benchmarks is that they are mostly synthetic. The most meaningful benchmarks are the applications you plan to use and the usage patterns you are targeting. Synthetics are fascinating, but I think it's generally a mistake to buy anything based on them.
  • notddriver - Thursday, September 19, 2013 - link

    Um, so if a 30% improvement is hardly impressive and irrelevant to phones, then isn't the entire concept of reviewing phones on the basis of hardware performance also irrelevant? Which would make your complaints about the biased-yet-insignificant-review as vital as a debate over whether Harry Potter or Spiderman would be better at defending Metropolis.

    Incidentally, my iPhone 5 is powerful enough that I never notice any issues—as I'm sure the last generation of Android phones would be. But if your going to go to town over a dozen or more comments about a topic, at least pretend that it matters a tiny bit. Just good form.
  • oRdchaos - Wednesday, September 18, 2013 - link

    I've seen people all over the web get very worked up about people's phrasing with regard to 64-bit. Would you prefer the title of the section were "Performance gains from a 64-bit architecture and the new ARMv8 instruction set"? People keep arguing that 64-bit in a vacuum doesn't give much performance gain. But there is no vacuum.

    I think the article is very clear to point out where gains are from additional instructions, versus a doubling of the register bit width, versus improved memory subsystem/cache. I'm sure when they get chances to write more of their own tests, they'll be able to pinpoint things further.
  • sfaerew - Wednesday, September 18, 2013 - link

    engadget is multi-thread geekbench performance. tegra4 4cores vs A7 2cores
  • Spoony - Wednesday, September 18, 2013 - link

    - You are correct, there are no native cross-platform benches used. Which ones do you suggest Anandtech use? We all know Geekbench is essentially meaningless across platforms.

    - If you are talking about this engadget review: http://www.engadget.com/2013/09/17/iphone-5s-revie... It appears that Nvidia SHIELD (Tegra 4) led in only one benchmark out of six. This makes your statement incorrect. LG G2 is more competitive. Need we repeat how inaccurate Geekbench is cross-platform. It is as apples-to-oranges as the JS tests.

    - I believe what Anandtech was attempting to show with the encryption was the difference ARMv8 ISA makes. In fact the title of that somewhat sensational chart is "AArch64 vs. AArch32 Performance Comparison". So while you are right, the encryption tests are handled in a fundamentally different way, that way is part of the ISA and is an advantage of AArch64, and thus is valid in the chart.

    - It will be curious to see whether Qualcomm can deliver A7 like performance using ARMv7 with extended features. My position is no, which is the whole point of that entire page of the review. ARMv8 is actually enabling some additional performance due to ISA efficiency and more features.

    - I think noticeable memory footprint bloat of a 64-bit executable is completely ridiculous. But to see if I was right, I did some testing. It's getting a bit hard to find fat binaries to take apart these days, most things are x86_64 only. But I found a few. I computed for three separate applications, took the average, and it looks like about a 9% increase in executable size. Considering that executables themselves are a tiny part of any application's assets, I think it is completely insubstantial. If you calculate the increase in executable size versus the size of the whole application package, it averages to a less than 1% increase.

    I too am a bit sad that Apple didn't increase the RAM, and also equally sad that connectivity was left out this rev. I continue to be sad that there is not a more serious storage controller inside the phone. You make some valid points, but I think you also make some erroneous ones. The question with phone SoCs is: Is this a well balanced platform along the axes of performance (GPU and CPU), power consumption (thus heat), and features. I believe that the A7 is well calibrated. Obviously Qualcomm is also doing great work, and perhaps their SoCs are equally as well calibrated.
  • ddriver - Wednesday, September 18, 2013 - link

    - This is entirely his decision, considering writing those reviews is his job, not mine. He can either use actual native benchmarks which reflect the performance of the actual hardware, or call it JS VM performance instead of CPU performance, because different JS implementations across platforms are entirely meaningless.

    - there is only one geekbench test at engadged. That is what I said "geekbench" - I did not imply it was faster in all tests in the engadged review, I don't know why you insinuate I did so. IIRC snapdragon 800 is actually a little slower in the CPU department than tegra 4, and only faster in the graphics department.

    - the boost in encryption is completely disproportional to other improvements and is due to hardware implementations, not 64bit execution mode. So, if anything, it should be a graph or chart on its own, instead of using it to bulk up the chart that is supposed to be indicative of integer performance improvements in 64bit mode.

    - maybe v7 chips with 128 bit SIMD units will not deliver quite the performance of A7, because there is more to the subject than the width of the registers (the number of registers doesn't really matter that much), like supported instructions. At any rate, v7 chips are still quad core, which means 4x128bit SIMD units compared to the 2 on A7, albeit with a few extra supported instructions. Until any native benchmark that guarantees saturation of SIMD units pops out, it will be a foolish thing to make a concrete statement on the subject. But boosting v7 SIMD units to 128bit width will at least make it competitive in number crunching scenarios, which use SIMD 99% of the time.

    - this is very relative, you can store the same data in three different containers and get a completely different footprint - a vector will only use a single pointer, since it is continuous in memory, a forward list will use a pointer for every data element, a linked list will use two. Depending on the requirements, you may need faster arbitrary inserts and deletions, which will require a linked list, and in the case of a single byte datatype, a 32bit single element will be 12 bytes because of padding and alignment, while in 64bit mode the size will grow to 24 bytes, which is exactly double. Granted, this is the other extremity of the "less than 1%" you came up with, truth is results will vary in between depending on the workload.

    As I said in the first post, the wise thing would be to reserve judgement until mass availability, mostly because I know corporate practices involving exclusive reviews prior to availability, which are a pronounced determining factor to the initial rate of sales. In short, apple is in the position to be greatly rewarded for imposing some cheating requirements on early exclusive reviewers. And at least in this aspect I think everyone will disagree, apple is not the kind of company to let such an opportunity go to waste.
  • ddriver - Wednesday, September 18, 2013 - link

    *no one will disagree
  • Dug - Wednesday, September 18, 2013 - link

    I will.
    "As I said in the first post, the wise thing would be to reserve judgement until mass availability, mostly because I know corporate practices involving exclusive reviews prior to availability, which are a pronounced determining factor to the initial rate of sales. In short, apple is in the position to be greatly rewarded for imposing some cheating requirements on early exclusive reviewers. And at least in this aspect I think everyone will disagree, apple is not the kind of company to let such an opportunity go to waste."

    Prove it and stop making assumptions.

Log in

Don't have an account? Sign up now