Apple S1 Analysis

One of the biggest issues with the smartwatch trend that I’ve seen is that as a result of most companies entering the market with smartphone backgrounds, we tend to see a lot of OEMs trying to shove smartphone parts into a smartwatch form factor. There have been a lot of different Android Wear watches, but for the most part everything seems to use Qualcomm’s Snapdragon 400 without the modem. Even though A7 is relatively low power for a smartphone, it’s probably closer to the edge of what is acceptable in terms of TDP for a smartwatch. Given that pretty much every Android Wear watch has around a 400 mAh battery at a 3.8 or 3.85 volt chemistry to attempt to reach 1-2 days of battery life and a relatively large PCB, the end result is that these smartwatches are really just too big for a significant segment of the market. In order to make a smartwatch that can scale down to sizes small enough to cover most of the market, it’s necessary to make an SoC specifically targeted at the smartwatch form factor.


Capped Apple S1 SoC (Image Courtesy iFixit)

The real question here is what Apple has done. As alluded to in the introduction, it turns out the answer is quite a bit. However, this SoC is basically a complete mystery. There’s really not much in the way of proper benchmarking tools or anything that can be run on the Watch to dig deeper here. Based on teardowns, this SoC is fabricated on Samsung’s 28nm LP process, although it’s not clear which flavor of LP is used. It’s pretty easy to eliminate the high power processes, so it’s really just a toss-up between HKMG and poly SiON gate structure. For those that are unfamiliar with what these terms mean, the main difference that results from this choice is a difference in power efficiency, as an HKMG process has less leakage power. Given how little cost is involved in this difference in process compared to a move to 20/14nm processes, it’s probably a safe bet that Apple is using an HKMG process here especially when we look at how the move from 28LP to 28HPm at TSMC dramatically affected battery life in the case of SoCs like Snapdragon 600 and 800.


Decapped & Labeled S1 SoC (Image Courtesy ABI Research)

We also know that binaries compiled for the watch target ARMv7k. Unfortunately, this is effectively an undocumented ISA. We know that Watch OS is built on iOS/Darwin, so this means that a memory management unit (MMU) is necessary in order to make it possible to have memory protection and key abstractions like virtual memory. This rules out MCU ISAs like ARMv7m even if it's possible to add an MMU to such an architecture, so it’s likely that we’re looking at some derivative of ARMv7-A, possibly with some unnecessary instructions stripped out to try and improve power consumption.

The GPU isn’t nearly as much of a mystery here. Given that the PowerVR drivers present in the Apple Watch, it’s fairly conclusive that the S1 uses some kind of PowerVR Series 5 GPU. However which Series 5 GPU is up to debate. There are reasons to believe it may be a PowerVR SGX543MP1, however I suspect that it is in fact PowerVR's GX5300, a specialized wearables GPU from the same family as the SGX543 and would use a very similar driver. Most likely, dedicated competitive intelligence firms (e.g. Chipworks) know the answer, though it's admittedly also the kind of information we expect they would hold on to in order to sell it to clients as part of their day-to-day business activities.

In any case, given that native applications won’t arrive until WatchOS 2 is released I don’t think we’ll be able to really do much in the way of extensive digging on what’s going on here as I suspect that graphics benchmarks will be rare even with the launch of WatchOS 2.

Meanwhile, after a lot of work and even more research, we're finally able to start shining a light on the CPU architecture in this first iteration of Apple's latest device. One of the first things we can start to look at is the memory hierarchy, which is information crucial to applications that require optimization to ensure that code has enough spatial and/or temporal locality to ensure that code is performant.

As one can see, there’s a pretty dramatic fall-off that happens between 28 and 64KB of “DRAM”, as we exit the local maximum of L1 data cache, so we can safely bet that the L1 data cache size is 32KB given current shipping products tend to fall somewhere between 32 and 64KB of L1 data cache. Given the dramatic fall-off that begins to happen around 224KB, we can also safely bet that we’re looking at a 256KB L2 combined cache which is fairly small compared to the 1-2MB shared cache that we might be used to from today’s large smartphone CPUs, but compared to something like an A5 or A7 it’s about right.

If Apple had just implemented the Cortex A7 as their CPU of choice, the obvious question at this point is whether they’ve really made anything “original” here. To try and dive deeper here, we can start looking past the memory hierarchy and looking closer at the machine itself. One of the first things that is obvious is that we’re looking at a CPU with a maximum frequency of 520 MHz, which is telling of the kind of maximum power that Apple is targeting here.

Apple S1 CPU Latency and Throughput
Instruction Throughput (Cycles/Result) Latency (Cycles/Result)
Loads (ldr reg,[reg]) 1 N/A
Stores (str reg,[reg]) 1 N/A
Move (mov reg, reg) 1/2 -
Integer Add (add reg, reg, imm8) 1/2 -
Integer Add (add reg,reg,reg) 1 1
Integer Multiply (mul reg,reg,reg) 1 3
Bitwise Shift (lsl reg,reg) 1 2
Float Add (vadd.f32 reg,reg,reg) 1 4
Double Add (vadd.f64 reg,reg,reg) 1 4
Float Multiply (vmul.f32 reg,reg,reg) 1 4
Double Multiply (vmul.f64 reg,reg,reg) 4 7
Double Divide (vdiv.f64 reg,reg,reg) 29 32

Obviously, talking about the cache hierarchy isn’t enough, so let’s get into the actual architecture. On the integer side of things, integer add latency is a single cycle, but integer multiplication latency is three cycles. However, due to pipelining integer multiplication throughput can produce a result every clock cycle. Similarly, bitshifts take two cycles to complete, but the throughput can be once per clock. Attempting to interleave multiplies and adds results in only achieving half the throughput. We can guess that this is because the integer add block and the integer multiply block are the same block, but that doesn’t really make sense because of just how different addition and multiplication are at the logic level.

Integers are just half of the equation when it comes to data types. We may have Booleans, characters, strings, and varying bit sizes of integers, but when we need to represent decimal values we have to use floating point to enable a whole host of applications. In the case of low power CPUs like this one, floating point will also often be far slower than integers because the rules involved in doing floating point math is complex. At any rate, a float (32-bit) can be added with a throughput of one result per cycle, and a latency of four cycles. The same is true of adding a double or multiplying a float. However, multiplying or dividing doubles is definitely not a good idea here because peak throughput of multiplying doubles is one result per four clock cycles, with a latency of 7 clock cycles. Dividing doubles has a peak throughput of a result every 29 clock cycles, with a latency of 32 clock cycles.

If you happen to have a webpage open with the latency and throughput timings for Cortex A7, you’d probably guess that this is a Cortex A7, and you’d probably be right as well. Attempting to do a load and a store together has a timing that indicates these are XOR operations which cannot be executed in a parallel manner. The same is true of multiplication and addition even though the two operations shouldn’t have any shared logic. Conveniently, the Cortex A7 has a two-wide pipeline that has similar limitations. Cortex A5 is purely single-issue, so despite some similarity it can't explain why addition with an immediate/constant value and a register can happen twice per clock.

Given the overwhelming amount of evidence at the timing level of all these instructions, it’s almost guaranteed that we’re looking at a single core Cortex A7 or a derivative of it at 520 MHz. Even if this is just a Cortex A7, targeting a far lower maximum clock speed means that logic design can prioritize power efficiency over performance. Standard cells can favor techniques and styles that would otherwise unacceptably compromise performance in a 2+ GHz chip could be easily used in a 520 MHz chip such as device stacking, sleepy stack layout, higher Vt selection with negative active body biasing, and other techniques that would allow for either lower voltage at the same frequency, or reduced capacitance in dynamic power and reduced static leakage. Given that Cortex A7 has generally been a winning design for perf/W metrics, I suspect that key points of differentiation will come from implementation rather than architecture for the near future. Although I was hoping to see Apple Watch on a more leading-edge process like 14LPP/16FF+, I suspect this will be deferred until Apple Watch 2 or 3.

Design WatchOS: Time and Notifications
Comments Locked

270 Comments

View All Comments

  • relentlessfocus - Monday, July 20, 2015 - link

    I bought my AppleWatch out of curiosity though I was dubious about functionality, unenthusiastic about the physical design and unsure if I'd find it comfortable to wear as I hadn't worn a watch in decades and since getting a smartphone I saw no particular need to wear a device for telling time. I bought a space grey sport and bought a green plastic band.

    Almost immediately I liked wearing the watch as a fashion item. YMMV but once I was wearing it I liked how it looked. As I work out a lot on a rowing machine I hoped the heart rate monitor could replace my Polar HRM. To an extent it has. When comparing the read outs from both in a steady state situation my readings are within 1-2 bpm. The watch does take 15 seconds or so to get a reading while the Polar Band seems instantaneous. The band of the AppleWatch has to be worn tighter than normal to get a good reading. Occasionally the AppleWatch gives a totally false reading for awhile then jumps back to accurate readings. Calorie burn comes out almost identical to Concept2 readings plugged into their calorie counter.

    ApplePay has just come to the UK and I'm eager to try that out when my bank joins at the end of the month. Some of the inbuilt functionality does minimise friction of my use of my iPhone reducing the number of times I have to pull my phone out of my pocket. Agree that's a first world problem but I do live a first world hectic lifestyle.

    Despite the rant of JJJ below I like my watch and I'm happy I bought it. I don't think it's a must buy for most people, it's a convenience at the moment not a necessity. I do think that wearables have a strong future. Biometric sensors are bound to become more sophisticated, GPS receivers smaller, and a range of use cases unimagined today likely to arise.
  • mrdude - Monday, July 20, 2015 - link

    "Although we don't have an objective battery life test, the Apple Watch never failed to last a full day, and charge time is acceptable although nowhere as fast as something with wired fast charging. This sounds like a relatively short comment, and it's because I sincerely never worried about battery life. Range anxiety just isn't a problem like it is on smartphones."

    That's precisely why this is a very poor watch -- and even smart watch, for that matter. Battery life should be roughly a week and not a single day.

    Up until a year ago, I never wore a watch. Now I can't go without it. I left the house without it on once and felt like I wasn't wearing any underpants. The only reason I began wearing one was due to work, and more succinctly because I couldn't pull out my cell phone whenever I felt like (hospital setting). A smart watch would be perfect for me, as I could potentially use it as a regular watch, and also access/read messages beaming from my phone... except 'dat battery. The apple watch turns off the display *way* too quickly and still suffers from very poor battery life. Further, as an independent device it's practically useless.

    I really dislike this review. It's not so much that the technical aspects aren't discussed, and done so well, it's just that the practicality is practically ignored. And that ultimately is why this is a pointless device. My use case isn't a corner case either but rather the epitome of a perfect scenario for this device: a phone-away-from-phone that could offer a "smart" device while still maintaining the practicality of a watch. This isn't it. It does neither. And for other use cases, one can make the argument of why not just use your phone in the first place?
  • Kjella - Monday, July 20, 2015 - link

    With no offense, I find your expectations unrealistic. If you want a smartphone strapped to your wrist - particularly one lasting a week as few phones do - it's going to have the weight and volume too. I actually expected it to be more like a smartphone wrist accessory like a bluetooth headset, not less. If they want this to work better, they should do more to make the smartphone the "cell tower" and the watch the "cell phone" part of the relationship as another 50g in my pocket would be fine if I need to drag it out less. Maybe have less ambition about performance and concentrate on simple 2D graphics for notifications at a lower cost. But in the end, their primary customers are those who are saying "Watch? WTF do I need a watch for, that's so 20th century." Because it's going to be a sucky "normal" watch even if they do all that and more.
  • mrdude - Monday, July 20, 2015 - link

    I don't want a smartphone strapped to my wrist. It's a watch first, and should therefore handle being a watch first and foremost with no troubles. The additional functionality should come without compromising the fact that this is a watch. The Apple Watch doesn't do that, and I fear it's going to be more than a single generation to get there.

    Kjella, this is a separate device from your phone. It should add functionality while still being a watch. This doesn't do 'watch' well at all. In fact, it's a horrendous watch. It's stylish, and it can fetch messages from your phone, sure. But it lacks the ease of use and the battery life is horrendous. It doesn't need to last a month, but roughly a week and shouldn't require a dumb hand motion or click of a button to do its main job. Remember: it's a watch.
  • PeteoBos - Monday, July 20, 2015 - link

    Rember is a SMART watch. If I wanted just a watch i could buy a $2 watch. I get filtered notifications on my wrist. I want to seen when the next bus is coming before heading to the bus stop. I want to see where I am on a topo map while kayaking or hiking with my phone in a safe place. I want track my workouts, my heart rate, how many calories i'm burning. I want to be able to quickly reply to a Txt I actually see on my watch and not miss it because i never feel my phone vibrate in my pocket. I want to be-able to pick up a phone call from my wife when I am in my house and do not have the phone next to be because I'm paying attention to my daughter instead of staring at a Dam phone screen all day.
  • mrdude - Monday, July 20, 2015 - link

    Just don't expect to do that throughout the day and then also tell the time on the way home, because it'll be dead. And during your daily routine, the "watch" will tell you the time provided you only need to look at it for a fraction of a second.

    See the problem? Watch first, then the rest. Instead, Apple did a smartphone accessory under the guise of being a watch.
  • ingwe - Monday, July 20, 2015 - link

    Kind of agree. The thing is that there are a lot of tradeoffs to make when designing something this small. The less "smart" it is, the less you can charge for it. The more "smart" it is, the harder it is to achieve any kind of reasonable battery life. I think they picked a point on the smart vs battery life curve that I am not interested in, but I that doesn't mean it is a wrong choice. It just isn't what I want. Especially not at that price tag, but that is kind of a separate issue to me.

    I should probably note that I am including screen capabilities in my definition of smart.
  • liuping - Monday, July 20, 2015 - link

    A Fraction of the second? have you actually used the watch?

    When looking you tilt the watch to check the time, the screen stays on for 7 seconds before the screen turns off. 7 seconds is long enough for me to read the time, check my next appointment and see if any notifications have arrived. If I need more time I can touch the screen.

    Also, I use my Apple watch all day and have not had any issue with the battery. It's has always over 40% at the end of the day when I place it in the charger.
  • PeteoBos - Monday, July 20, 2015 - link

    do you own one? I think not. I do those all the time and it easily lasts a day. An ifs a GREAT Watch. its fine if you dont "like" it or think its practical, but i get allot of real world use out of it and love it. just like the anand reviewer.
  • Daniel Egger - Monday, July 20, 2015 - link

    Sounds like you should get a Pebble Steel.

Log in

Don't have an account? Sign up now