Apple A11 SoC

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

  1. wishiknew

    Regular

    Joined:
    May 19, 2004
    Messages:
    332
    Likes Received:
    6
    Question on the side. Is Anandtech still doing mobile reviews?
     
    Lodix and iMacmatician like this.
  2. Vitaly Vidmirov

    Newcomer

    Joined:
    Jul 9, 2007
    Messages:
    108
    Likes Received:
    10
    Location:
    Russia
    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.
     
    #122 Vitaly Vidmirov, Oct 13, 2017
    Last edited: Oct 13, 2017
    mfaisalkemal likes this.
  3. Nebuchadnezzar

    Legend

    Joined:
    Feb 10, 2002
    Messages:
    972
    Likes Received:
    138
    Location:
    Luxembourg
    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

    Veteran Regular

    Joined:
    Mar 30, 2004
    Messages:
    1,329
    Likes Received:
    261
    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

    Veteran Regular

    Joined:
    Mar 30, 2004
    Messages:
    1,329
    Likes Received:
    261
    Increasing workload (5x) has no apparent effect on clock speeds.
     
  6. Vitaly Vidmirov

    Newcomer

    Joined:
    Jul 9, 2007
    Messages:
    108
    Likes Received:
    10
    Location:
    Russia
    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. Nebuchadnezzar

    Legend

    Joined:
    Feb 10, 2002
    Messages:
    972
    Likes Received:
    138
    Location:
    Luxembourg
    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

    Veteran Regular

    Joined:
    Mar 30, 2004
    Messages:
    1,329
    Likes Received:
    261
    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

    Regular

    Joined:
    Mar 26, 2010
    Messages:
    609
    Likes Received:
    1,036
    Location:
    PCIe x16_1
    Yes.
     
    mfaisalkemal likes this.
  10. Pressure

    Veteran Regular

    Joined:
    Mar 30, 2004
    Messages:
    1,329
    Likes Received:
    261
    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.
     
    #130 Pressure, Oct 19, 2017
    Last edited: Oct 19, 2017
  11. Nebuchadnezzar

    Legend

    Joined:
    Feb 10, 2002
    Messages:
    972
    Likes Received:
    138
    Location:
    Luxembourg
    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

    Newcomer

    Joined:
    Jul 9, 2007
    Messages:
    108
    Likes Received:
    10
    Location:
    Russia
    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. Nebuchadnezzar

    Legend

    Joined:
    Feb 10, 2002
    Messages:
    972
    Likes Received:
    138
    Location:
    Luxembourg
    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

    Newcomer

    Joined:
    Sep 8, 2014
    Messages:
    57
    Likes Received:
    3
    So their "little" cores are as fast/faster than Cortex A73 ? Do you know how much power they use ?
     
  15. mfaisalkemal

    Newcomer

    Joined:
    May 26, 2017
    Messages:
    48
    Likes Received:
    24
    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
     
    #135 mfaisalkemal, Oct 20, 2017
    Last edited: Oct 20, 2017
  16. mfaisalkemal

    Newcomer

    Joined:
    May 26, 2017
    Messages:
    48
    Likes Received:
    24
    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

    Veteran Regular

    Joined:
    Mar 30, 2004
    Messages:
    1,329
    Likes Received:
    261
    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

    Newcomer

    Joined:
    Sep 8, 2014
    Messages:
    57
    Likes Received:
    3
    I don't think the low power mode tuns off the big cores.
     
  19. pcchen

    pcchen Moderator
    Moderator Veteran Subscriber

    Joined:
    Feb 6, 2002
    Messages:
    2,741
    Likes Received:
    105
    Location:
    Taiwan
    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

    Newcomer

    Joined:
    May 26, 2017
    Messages:
    48
    Likes Received:
    24
    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)
     
    #140 mfaisalkemal, Oct 21, 2017
    Last edited: Oct 21, 2017
Loading...

Share This Page

  • About Us

    Beyond3D has been around for over a decade and prides itself on being the best place on the web for in-depth, technically-driven discussion and analysis of 3D graphics hardware. If you love pixels and transistors, you've come to the right place!

    Beyond3D is proudly published by GPU Tools Ltd.
Loading...