-2

I've bought a samsung galaxy s21 ultra about a year ago. Today i was looking at the specs again and i noticed that the Samsung Exynos 2100 processor consists out of 1 single CPU core of 2.9 GHz, three cores of 2.8 Ghz and 4 cores of 2.2 ghz. On the Samsung Exynos 2100 info page I read that the 2.8GHz Triple-core (Cortex®-A78) is added to improve the performance of programs that make use of AI and ML.

So some of these cores seem to specialize in processing specific tasks. But i do wonder why they don't all have the same clock speed. Wouldn't that make multithreading more efficient, for instance when all 8 cores are used to process a complex computer task? Because now you have some cores that will take longer to finish a chunk of the computer task than the other cores.

5
  • 4
    I’m voting to close this question because it is related to hardware architectures more than software engineering
    – Christophe
    Commented Feb 6, 2022 at 21:53
  • @Christophe then why wasn't this question about CPU's and RAM memory closed as well then? Or this question about multiple parallel tasks
    – Maurice
    Commented Feb 6, 2022 at 21:54
  • 1
    I see your point. I honestly would have voted to close one of them too. I understand however that one could more easily perceive them as being related to OS and embedded system development. I see your question more related to hardware design. But don’t worry: it’s a vote, and if I’m the only one, the question will stay open.
    – Christophe
    Commented Feb 7, 2022 at 8:49
  • 1
    @Maurice There's a bit of false equivalence here, between performance (P) and efficiency (E) cores. You can't trade them 1 for 1, so you're not choosing between "8 P cores" vs "4 P cores + 4 shitty E cores"). It might be more like "6 P cores" vs "4 P cores + 4 E cores", where the choice is much less obvious. Take a look at the die photos of Intel Alderlake CPUs as an example, and you'll see just how big of a size difference there is between their P and E cores.
    – Alexander
    Commented Feb 7, 2022 at 13:29
  • Increasing clock frequency typically involves tradeoffs, usually resulting in a larger core, more cache, and higher power consumption. For a highly parallel tasks it is usually more power efficient to have many small cores with a slower clock.
    – JonasH
    Commented Feb 7, 2022 at 15:15

1 Answer 1

6

You mix power eating high performance cores with power saving low performance cores. That way you have minimal power consumption most of the time, and high performance when you need it. Eight high performance cores instead of 4+4 would empty your battery in half the time, and make the device so hot that the clock rate needs to be slowed down quickly. And eight high performance cores are bloody expensive.

BTW. I tested this on an old iPhone XR (2 + 4 cores). Using six threads, it finished all threads at practically exactly the same time. The operating system is easily capable of moving threads between cores, so they all make the same progress. The people creating iOS are not stupid, and I suppose the people creating Android aren't stupid either.

PS. It's much more than just clock speed. On Apple devices, the low power cores have much less L1 and L2 cache, fewer execution units (3 instead of 9), much fewer out of order execution capabilities. That's why their performance is nowhere near the performance cores, but neither is their power consumption. Interestingly, some widely used benchmark hasn't figured out that there are two different numbers for L2 cache (much bigger for performance cores than for low power cores), and they display the much smaller number.

1
  • Do not reject edits or introduce new edits that roll back changes or add meta commentary because you disagree with people improving the content and inclusivity of your posts. By posting here, you are giving the whole community the ability to edit your content to fit. If you have any problems, feel free to make a post on Meta to discuss in more detail.
    – Thomas Owens
    Commented Feb 7, 2022 at 23:12

Not the answer you're looking for? Browse other questions tagged or ask your own question.