The Samsung Galaxy S20+, S20 Ultra Exynos & Snapdragon Review: Megalomania Devicesby Andrei Frumusanu on April 3, 2020 9:30 AM EST
The Exynos 990 SoC: Last of Custom CPUs
While we've received a lot of information on the Snapdragon 865 over the last few months due to Qualcomm’s openness and willingness to share details with the public, until now we’ve known almost nothing about the new Exynos 990. Samsung LSI’s newest flagship processors was announced way back in October, but we had to be patient and await commercial devices before we could get any concrete details on the chip’s makings. What we do know is that the new chip employs a new generation M5 CPU microarchitecture, upgrades the mid-cores to Cortex-A76 designs, and employs a new Mali-G77 GPU, all manufactured on a 7nm 7LPP process that uses EUV lithography.
An Exynos 9820 Retrospective
Before we get into the Exynos 990 itself, I want to do a quick retrospective on last's year's flagship Samsung SoC, the Exynos 9820, both to catch up on things we've learned since the Galaxy S10 launch, and to illustrate how the Exynos 990 has changed things.
The first thing to note on the Exynos 9820 is that Samsung’s custom CPU cores reside in a completely different cluster than Arm’s cores – both being interconnected and being cache coherent only via Samsung’s Coherent Interconnect. My more recently written core-to-core latency test demonstrates this topology difference as the latencies between CPUs on the different cores is significantly higher than what we see on the cores within the Arm cluster, and higher than what we saw on the Snapdragon 865 on the previous page.
The second correction is that the M4 cores didn’t just have 512KB L2 caches, but rather 1MB. This wasn’t very visible in the latency tests due to issues with the microarchitecture which we’ll revisit in a later page as well.
The weird cache behavior that we originally reported on in the bandwidth figures of the A75 cores last year ended up being a side-effect of a 2MB last-level cache on the SoC. This SLC acts the same as the 3MB SLC on the Snapdragon 865 and allows for efficient caching of various memory accesses of the SoC IP blocks, saving power for the system.
Enter the Exynos 990
Where the Exynos 990 differs from the Exynos 9820 is in a few areas. First off, let’s focus on the Arm cluster. Here Samsung has finally donned the small A55 cores with private, 64KB L2 caches. This was notoriously missing from both the Exynos 9810 and Exynos 9820’s A55 cores, which lead them to be less performant and seemingly less efficient than their counterparts on the Snapdragon SoCs. The 64KB L2 caches here are still only half of the 128KB that we find on the Snapdragon 865, so Samsung continues to be extremely conservative in the cache configuration of the Arm CPUs. The new small cores see a slight clock frequency upgrade, going up to 2GHz this time around.
The middle cores see an upgrade from Arm Cortex-A75s to Cortex-A76s, while also getting a frequency lift from 2.3GHz up to 2.5GHz. This is actually a massive performance boost of 38% to 50% depending on the workload, and essentially serve as the Exynos 990’s workhorses for the vast majority of tasks. The L2 caches are still configured at 256KB per core, and the shared L3 of the Arm cluster remains at a more conservative 1MB.
On the big core side, we see the evolution of the microarchitecture from the M4 cores, codenamed Cheetah, to the newer M5 cores, codenamed Lion. Whilst Samsung has kept the maximum clock frequencies unchanged at 2.73GHz, they did promise a 20% uplift, which should mostly come from IPC improvements.
The biggest externally observable change is the fact that these new cores no longer have private L2 caches for themselves, but rather now come with a shared L2 of 2MB. That’s actually quite the huge microarchitectural design change in an era where we’re used designs actually introducing private L2 caches. The topology change can be evidenced by the drastic reduction in the core-to-core latencies between the two M5 cores compared to the M4 counterparts in the previous generation, as the coherency now happens at a lower cache level that's closer to the CPUs.
The Exynos 990 is manufactured on Samsung’s 7LPP node, which uses EUV lithography. It’s actually not the first chip on the process, as that title goes to the Exynos 9825 found in the Note10 series last year. However if TechInsight’s reporting is accurate, it seems that the that the Exynos 990 is the first chip to be actually designed with the full 7LPP PDK rather than being just a relaxed conversion of the design to another process (The 9825 is functionally identical to the 9820, and it seems this also applies to its lithography implementation).
Samsung describes the 7LPP process as having 7% higher performance than its 8LPP node, which should also manifest itself as a power reduction of a design at otherwise equal frequency. Comparing the voltage curves of one of our S20 Exynos 990 units to the S10 unit last year, we see that there are some differences, but these are somewhat lackluster in the end. First of all it’s to be noted that the bins of our Exynos 990 units are seemingly bad this year, and I’ve seen that most units out there are in the same classification or even worse, pointing to the possibility of bad yields for the chip.
The A55 cores do clock slightly higher this generation, but at the peak frequencies the voltages still remain very high. At more medium frequencies we do however see improvements of up to around -43mV. The A76 cores can’t really be compared to the A75 cores of the previous generation due to their different microarchitectures, but also here we see the voltage curves being lower than on the 9820 even though the binning of our 990 units here are quite worse.
Finally, the M5’s core voltages are extremely disappointing. Not only are there no improvements at equal frequency to the M4 cores on 8nm, but there’s actually a degradation in the frequency scaling: the new Lion cores require higher voltages to reach the same frequencies. Peak voltages at 2.73GHz have gone up from 1068mV to 1118mV in our review sample units between the M4 and M5, meaning the new microarchitecture just scales worse in frequency. This all doesn’t bode all to well for power efficiency of the new design.
Samsung’s own scheduler and CPU characterization is very clear on the power and efficiency curves: throughout its performance scaling, the M5 cores are notably less efficient than the Cortex-A76 cores on the same SoC. We also note that the A55 data this year seemingly looks more realistic than what we’ve encountered on the Exynos 9820’s drivers last year.
The most striking differences in the power data from Samsung is the static leakage characteristics of the A76 and M5 cores. At an equal 1050mV voltage (2.5GHz on the A76, 2.6GHz on the M5), the Arm cores are characterized as leaking 78mW statically while the M5 cores use up 297mW. Static leakage is roughly corresponding to die area of the block – last year’s M4 cores were 3.72x larger than the A75 cores, and the static leakage difference here on the Exynos 990 is 3.8x, and I wouldn’t be surprised if this also ends up being the difference in area between the two CPU types.
One odd mechanism that Samsung had introduced in the Exynos 9820 was a more complex scheduler that differentiated power models based on the running ISA of the application. It tracked 32 and 64-bit apps separately and made scheduler decisions based on the microarchitectural performance and power characteristics of the different CPUs on the different execution modes.
This is said to help power efficiency, mostly by scheduling things more often onto the Arm middle cores which seemingly have a better 32-bit execution efficiency.
I was curious and I tried this out on the Exynos 990, comparing the relative differences in performance and efficiency between the M5 cores and the A76 cores. In the aggregate figures of SPECint2006, I unfortunately didn’t see any big difference at all in the execution modes. However individual subtests such as 456.hmmer, which are mostly execution bound, saw large advantages on the A76 cores, actually outperforming the M5 cores with a score of 13.53 vs 12.83 while using only half the energy. So in that regard, Samsung’s scheduling methodology makes a lot of sense. 400.perbench was another case of the A76 cores outperforming the M5 cores in 32-bit mode, using less than half the power. However, any more memory intensive workloads heavily favored the M5 cores, probably due to the stark differences in cache sizes. While I’m sure Samsung’s ISA based scheduling model reduces power, I do have to wonder what the absolute performance impact is in terms of using this mechanism.
Also unrelated to the whole ISA scheduling mechanism, I think this is the first time we’ve ever published benchmark numbers on the differences between AArch32 and AArch64 execution modes. The AArch64 performs significantly better due to it having more architectural registers available and being able to execute out-of-order code more efficiently, along with some ISA instruction improvements. Whilst there’s a power increase in this mode, we’re seeing much better efficiency as the performance improvements are greater. It’s also a good reason as to why the wider ecosystem is shifting to deprecate 32-bit on Arm.
It’s also to be noted that the M5 Lion core will be Samsung’s last commercial custom CPU design, as the design team had been disbanded back in October, and most employees by now have found new homes at different companies. I’ll be coming back to this decision in the context of the wider competitive landscape after we dissect the M5’s performance and efficiency.
Post Your CommentPlease log in or sign up to comment.
View All Comments
toyeboy89 - Friday, April 3, 2020 - linkI'm really amazed in the fact that the iPhone XR is still beating snapdragon 865 in GFXBench in both peak and sustained performance. I am hoping the OnePlus 8 has better sustained performance.
TMCThomas - Friday, April 3, 2020 - linkAmazing review! Always wait for this one before getting a new samsung. And I won't be getting any of the s20 phones. For me the kind of feel like "beta" phones. The 120hz which is not quite ready for 1440p yet, the underutilized 108mp camera, the space zoom which is blurry, the camera hole still being there the big camera bump and so on. I think all these features and more could be way more refined with the next galaxy s which I'll be waiting for. Also the poor exynos 990 performance especially the GPU part is just unacceptable to me. Especially with it probably being a lot better next year, so I'll skip this year
wheeliebin - Friday, April 3, 2020 - linkThanks Andrei, really good review!
I have read many users complain about extra crazy post-processing on the S10/S20 series when there is a face detected in the frame. i.e. the phone will apply an aggressive 'smooth skin' filter that you can't disable unless you shoot RAW. I was hoping that your review might touch on this however there were no people in your example shots so perhaps you didn't get a chance to experience the problem. I wonder if you have heard of this issue and can replicate it yourself with the S20 range?
anonomouse - Friday, April 3, 2020 - linkHi Andrei, did you also run the bandwidth and MLP sweeps from previous reviews? Last year you noted the Snapdragon 855/A76 had peculiar behavior in the L1, and it would be also interesting to see if there are any MLP changes in both the SD865 and the Exynos.
anonomouse - Friday, April 3, 2020 - linkAlso, any idea why the new scores for these in 403.gcc seems to be worse than their previous generation products? In particular the score for the SD865 in these S20s is substantially worse than the SD865 score from the QRD preview article.
Andrei Frumusanu - Saturday, April 4, 2020 - linkYes I know. I don't know why that happens. I also got a V60 now and the scores there are higher, I'm wondering if there's something with Samsungs shared libraries.
anonomouse - Sunday, April 5, 2020 - linkWhat type of compile flags are used for these binaries? Are they the same for all of the tested binaries (or even same binary on each given platform)? Are LTO or PGO used (and if not why not)?
I'm also not convinced of this statement from the article:
"I had mentioned that the 7LPP process is quite a wildcard in the comparisons here. Luckily, I’ve been able to get my hands on a Snapdragon 765G, another SoC that’s manufactured on Samsung’s EUV process. It’s also quite a nice comparison as we’re able to compare that chip’s performance A76 cores at 2.4GHz to the middle A76 cores of the Exynos 990 which run at 2.5GHz. Performance and power between the two chips here pretty much match each other, and a clearly worse than other TSMC A76-based SoCs, especially the Kirin 990’s. The only conclusion here is that Samsung’s 7LPP node is quite behind TSMC’s N7/N7P/N7+ nodes when it comes to power efficiency – anywhere from 20 to 30%."
Both the energy consumed and the performance scores for both of these A76's seem to also very closely track the "mid" 2.43Ghz A76's on the TSMC-fabbed SD855 - all of which have similar L2's and similar frequencies, but possibly differ significantly (to the point of being suboptimal on latency) on the memory hierarchy and SoC beyond that - which greatly affects many of the SPEC workloads. All of these may also have implementation targets. Given this, is it really conclusive that the Samsung process is truly 20-30% worse in energy efficiency? Granted, things will probably not look pretty next year when TSMC is on a true 5nm and Samsung is not.
Andrei Frumusanu - Monday, April 6, 2020 - linkThe test is just -Ofast without any other addition. LTO wasn't/isn't in a good state on the Android NDK - it's something to look into in maybe a new binary revision.
As for the 855 figures, well, that's also on an earlier 7nm. HiSilicon did a lot better in terms of they physical implementation. If not against N7, 7LPP clearly has a disadvantage against N7P/N7+.
Andrei Frumusanu - Saturday, April 4, 2020 - linkI'll add them in, that test takes a whole day and I needed the phones doing battery tests and other stuff.
dad_at - Saturday, April 4, 2020 - linkAgain, your S10+ Exynos results in pc mark are false as of 2020. In performance mode I easily get 9500 work 2.0 overall, about 9600 in browser bench, 21K in photo editing. PC mark in general is inconsistent, irrelevant benchmark, not representative of actual performance in daily usage. The same about these ancient SPEC synthetics. No one uses these for performance evaluation now.