Apple A11 SoC

Discussion in 'Mobile Devices and SoCs' started by iMacmatician, Aug 18, 2017.

  1. wishiknew

    wishiknew Regular

    Question on the side. Is Anandtech still doing mobile reviews?
     
    Lodix and iMacmatician like this.
  2. Vitaly Vidmirov

    Vitaly Vidmirov Newcomer

    Thanks.

    But iPhone7 can't run 4 threads simultaneously.
    Two DispatchQueue jobs were just executed sequentially.

    I'll fix it tomorrow to use threads.
    Tried to keep things simple and it worked pretty well for my devices.

    Probably it is too small workload to launch big cores.
    It could be increased with little fix:
    Value in cpufreq.c line 10 (WORKLOAD_REPEAT) could be increased 5-10 times.

    No. Actual measurement loop is small and it will likely work correctly even if broken by a contextswitch.
     
    Last edited: Oct 13, 2017
    mfaisalkemal likes this.
  3. You WANT it to be broken by a context switch. That's the only way to ensure valid measurement on multiple threads on multiple CPUs.
     
  4. Pressure

    Pressure Veteran

    I’m not home until Wednesday so can’t test it before.

    Someone else may have an iPhone 8 :)

    Totally unrelated to A11 but the TrueTone display is really nice next to the iPhone 7.
     
  5. Pressure

    Pressure Veteran

    Increasing workload (5x) has no apparent effect on clock speeds.
     
  6. Vitaly Vidmirov

    Vitaly Vidmirov Newcomer

    I did some changes in the app. It uses threads now. I tried to set affinity, but it is not guaranteed in xnu.
    Result is shown after the Stop button is pressed.
    My results with 15 second processing time:

    model 1-core / 2-cores
    A7(Air)..1390/1390 (1400? expected - the only figure is from Anandtech article)
    A9.......1847/1800 (1850/1800 expected)
    A9X......2254/2160 (2260/2160 expected)


    So frequency detection is at least 99+% accurate for single thread and 100% accurate for dual thread.
     
    mfaisalkemal likes this.
  7. That should work perfectly! Thread affinity shouldn't matter too much, as long as threads are identical they shouldn't bounce around cores too much.

    Any A11 test subjects with 1/2/3/4 core results?
     
  8. Pressure

    Pressure Veteran

    Ok, compiled the new version.

    iPhone 8 (A11)
    Core 1: 2064 Mhz (2062 - 2304)
    Core 2: 2376 Mhz (1571 - 2376)
    Core 3: 2063 Mhz (2027 - 2304)
    Core 4: 2262 Mhz (1911 - 2304)
    Core 5: 2303 Mhz (2063 - 2304)
    Core 6: 2064 Mhz (1900 - 2304)

    iPhone 7 (A10)
    Core 1: 2242 Mhz (2238 - 2244)
    Core 2: 2240 Mhz (2238 - 2244)
     
  9. Ryan Smith

    Ryan Smith Regular

    Yes.
     
    mfaisalkemal likes this.
  10. Pressure

    Pressure Veteran

    iPhone 8 (run time around 30 secs).
    1st run / 2nd run / 3rd run
    1 thread
    Core 1: 2373 MHz (2373 - 2376) / 2373 MHz (2373 - 2376) / 2384 MHz (2372 - 2376)
    2 threads
    Core 1: 2304 MHz (2299 - 2304) / 2376 MHz (2302 - 2376) / 2304 MHz (2304 - 2304)
    Core 2: 2376 MHz (2302 - 2376) / 2301 MHz (2300 - 2304) / 2376 MHz (2292 - 2376)
    3 threads
    Core 1: 2304 MHz (2064 - 2304) / 2304 MHz (2304 - 2304) / 2304 MHz (2064 - 2304)
    Core 2: 2374 MHz (2303 - 2374) / 2304 MHz (2256 - 2304) / 2362 MHz (2064 - 2362)
    Core 3: 2304 MHz (2285 - 2304) / 2371 MHz (2213 - 2371) / 2304 MHz (2152 - 2304)
    4 threads
    Core 1: 2063 MHz (2004 - 2304) / 2304 MHz (2063 - 2304) / 2303 MHz (2064 - 2304)
    Core 2: 2064 MHz (2064 - 2304) / 2376 MHz (2200 - 2376) / 2213 MHz (2064 - 2304)
    Core 3: 2064 MHz (2064 - 2304) / 2250 MHz (2063 - 2304) / 2376 MHz (2062 - 2376)
    Core 4: 2064 MHz (2064 - 2304) / 2171 MHz (1571 - 2304) / 2304 MHz (2212 - 2304)
    5 threads
    Core 1: 2064 MHz (2063 - 2304)
    Core 2: 2063 MHz (1998 - 2304)
    Core 3: 2172 MHz (1571 - 2304)
    Core 4: 2064 MHz (2063 - 2304)
    Core 5: 2064 MHz (2063 - 2304)
    6 threads
    Core 1: 2063 MHz (2063 - 2304)
    Core 2: 2063 MHz (2063 - 2304)
    Core 3: 2303 MHz (1885 - 2304)
    Core 4: 2376 MHz (2063 - 2376)
    Core 5: 2064 MHz (2063 - 2304)
    Core 6: 2304 MHz (2063 - 2304)

    iPhone 7
    1 thread
    Core 1: 2337 MHz (2337 - 2340)
    2 threads
    Core 1: 2241 MHz (2241 - 2244)
    Core 2: 2244 MHz (2242 - 2244)

    So the iPhone 8 will always allow 1 core to hit 2376 MHz if the thermal limit permits it.

    Otherwise it will downclock from 2376 MHz to 2304 MHz and then 2064 MHz.
     
    Last edited: Oct 19, 2017
  11. Resetting the min/max statistics without stopping the threads should give better numbers on the actual frequency of the small cores, I'm not sure if 2064MHz is their frequency or if it's a DVFS state on the big cores.
     
    mfaisalkemal likes this.
  12. Vitaly Vidmirov

    Vitaly Vidmirov Newcomer

    I'm pretty certain 2064MHz is a frequency of low-power cores.
    In a period of 30 secs we see that single thread was relocated to fastest core (2063->2376), while the rest of threads are freely migrating between cores 2063 <-> 2304.
    The instantaneous frequency is broken - we have 2 cores @ 2304MHz, 3 cores @ 2064 and one @ 2376.
    I suspect it is a result of non-synchronized thread exit - like if thread1 finished first and thread6 was relocated to faster core. I need to fix warmup / shutdown process.

    iPhone 7 is matching 2.34GHz. Good.

    Yeah. Silly me. In a warmup / shutdown process threads are jumping between cores a lot.
    We need to record a timeline and filter the results.

    However we have 3 distinct frequencies. This looks pretty ok for now:
    2376 Monsoon "boost" core
    2304 Monsoon normal core
    2064 4xMistral
     
    mfaisalkemal likes this.
  13. If you run 3 threads and reset the statistics and keep getting these frequencies, then I agree on the analysis. In any case, Mistral cores aren't so little. Basically double to triple the performance of an A53.
     
  14. Lodix

    Lodix Newcomer

    So their "little" cores are as fast/faster than Cortex A73 ? Do you know how much power they use ?
     
  15. mfaisalkemal

    mfaisalkemal Newcomer

    a73 kirin 970 vs. iphone 7 plus little core(low power mode on)
    https://browser.geekbench.com/v4/cpu/compare/4537349?baseline=4523699
    i think the single core score benchmark not too far different 1904 vs. 1852

    a73 kirin 970 vs. iphone 8 plus little core(maybe with low power mode on too but i'm not sure because not scaling well at 4 core)
    https://browser.geekbench.com/v4/cpu/compare/4536145?baseline=4523699
    the different is big 1904 vs. 2959

    based on apple presentation little core a10 1/5 power of big core but no information for a11 only 75% better performance.

    for additional information a53 helio p25(single core score only 837)
    https://browser.geekbench.com/v4/cpu/4536517
     
    Last edited: Oct 20, 2017
  16. mfaisalkemal

    mfaisalkemal Newcomer

    Can you make some test iphone 7 plus on low power mode on? i believe when iphone 7 plus on that mode the little core will active but still need to prove it.
     
  17. Pressure

    Pressure Veteran

    iPhone 7 (low power mode)
    2 threads
    Core 1: 1053 MHz (1034 - 1056)
    Core 2: 1053 MHz (1036 - 1056)

    iPhone 8 (low power mode)
    4 threads
    Core 1: 1571 MHz (1571 - 1812)
    Core 2: 1567 MHz (1567 - 1812)
    Core 3: 1567 MHz (1565 - 1812)
    Core 4: 1566 MHz (1566 - 1812)
     
    BRiT and mfaisalkemal like this.
  18. Lodix

    Lodix Newcomer

    I don't think the low power mode tuns off the big cores.
     
  19. pcchen

    pcchen Moderator Moderator Veteran Subscriber

    If we assume that the little cores are not as wide as the big cores (which is a reasonable assumption) then maybe it's possible to distinct between the big cores and little cores by making the threads to run multiple streams of independent instructions.
     
  20. mfaisalkemal

    mfaisalkemal Newcomer

    based on techinsight1 A11:
    Die size: 87.66mm2
    CPU: takes about 15% ~ 13.15mm2
    GPU: takes about 20% ~ 17.53mm2

    what if A11 compared with snapdragon 835?

    i only found little information on techinsight2:
    Die size: 72.3mm2
    CPU: ?
    GPU: ?(25% area scale from adreno 530 to 540)
     
    Last edited: Oct 21, 2017
Loading...

Share This Page

Loading...