OoO je určitě dražší a náročnější na implementaci a provoz než SMT, to bez debaty. Ale nenapadl tě důvod, proč zrovna ty mobilní zařízení co se musí vlézt do pouhých 2-5W TDP vůbec SMT nemají? Protože SMT má taky dost nevýhod:
1) Sice dokáže vyškrábout 20% výkonu navíc a tím zvýšit efektivitu, ale to za cenu polovičního IPC (správně polovina ze 120%, tedy 60%) což snižuje odezvu systému (IPC hlavního procesu). Respektive OS/CPU sníží frekvenci aby udrželo konstantní odezvu/výkon, a protože spotřeba se zvyšuje zhruba se 3.mocninou frekvence, takže o 40% nižší frekvence = 4,6x nižší spotřeba pro CPU bez SMT. A to je obrovská úspora energie, byť za cenu více tranzistorů a více fyzických jader.
2) SMT nijak nepomůže pro lehkou zátěž a idle. Na to jsou nejlepší Little jádra, která jsou speciálně optimalizovaná pro max výkon/Joule.
Ano pro Cinebench a podobné algoritmy je SMT super, ale pro většinu real-life SW je benefit ze SMT velmi diskutabilní až leckdy negativní. Všechno má své pro a proti.
Já osobně jsem velkým příznivcem SMT na extra-velkých CPU, třeba kdyby AMD Zen 5 byl 2x širší jádro jak Zen4, tedy 8x ALU + 2x Branch Unit a na tom by bylo SMT2, tak řeknu super. Nebo bestie jako 12xALU + 3x Branch se SMT3 ještě lepší. Podobnou fylozofii měla i Alpha EV8, která už v roce 2003 měla mít 8xALU s pomocí SMT4. Tedy jsem zastánce jak pomocí SMT udělat obří supervýkonná CPU jádra, která by jinak nemělo smysl dělat - tady SMT přinese zvýšení výkonu o 80-100%, což je benefit který už stojí za to.
Naopak se mi nelíbí dávat SMT na současné 4+1 Zen4 zdechliny.
16. 7. 2023, 09:08 editováno autorem komentáře