By: Adrian (a.delete@this.acm.org), November 18, 2020 8:23 am
Room: Moderated Discussions
TJ (notanemail.delete@this.bla.com) on November 18, 2020 1:10 am wrote:
>
> At least older intel architectures used to gain 10-30% with SMT depending
> on load. But can a very high IPC design like A14/M1 really reach 30%?
> I think there is much less time available where SMT can be active in A14/M1. I think the efficiency
> cores gives a better multi-thread boost than SMT with not too much worse power efficiency.
> The efficiency cores requires a bit more transistors though compared to adding SMT in the
> big cores, but efficiency cores are still needed for power efficiency during low loads.
>
> My guess is that Apple never adds SMT due to complexity, security and diminishing return reasons.
>
While we do not know with certainty the micro-architectures of the Apple CPUs and how efficiently their various execution units are used in various typical applications, filling the execution units with reordered instructions taken from a single-thread or with instructions taken from independent concurrent threads are the 2 ways of achieving high-utilization for the execution units.
A CPU that is very successful at the first method is unlikely to gain much from also applying the second method.
So even if we do not really have the information required to know this for sure, I agree with TJ, that it is likely that the Apple CPUs would not gain much from SMT so it might not be worthwhile for them to add it.
Anyway, their engineers must have all the data, from execution traces, to estimate any possible benefits, so if there are any, some future CPU model will add it.
For now, a Ryzen 7 4700U, without SMT, is mostly below M1, while a Ryzen 7 4800U, with SMT, is mostly above M1, so it is helped by SMT.
>
> At least older intel architectures used to gain 10-30% with SMT depending
> on load. But can a very high IPC design like A14/M1 really reach 30%?
> I think there is much less time available where SMT can be active in A14/M1. I think the efficiency
> cores gives a better multi-thread boost than SMT with not too much worse power efficiency.
> The efficiency cores requires a bit more transistors though compared to adding SMT in the
> big cores, but efficiency cores are still needed for power efficiency during low loads.
>
> My guess is that Apple never adds SMT due to complexity, security and diminishing return reasons.
>
While we do not know with certainty the micro-architectures of the Apple CPUs and how efficiently their various execution units are used in various typical applications, filling the execution units with reordered instructions taken from a single-thread or with instructions taken from independent concurrent threads are the 2 ways of achieving high-utilization for the execution units.
A CPU that is very successful at the first method is unlikely to gain much from also applying the second method.
So even if we do not really have the information required to know this for sure, I agree with TJ, that it is likely that the Apple CPUs would not gain much from SMT so it might not be worthwhile for them to add it.
Anyway, their engineers must have all the data, from execution traces, to estimate any possible benefits, so if there are any, some future CPU model will add it.
For now, a Ryzen 7 4700U, without SMT, is mostly below M1, while a Ryzen 7 4800U, with SMT, is mostly above M1, so it is helped by SMT.