Opět úmyslně odbíháš od tématu když jsem ti vyvrátil ten nesmysl se zasekáváním 2xALU OoO. Protože fakt je ten, že OoO je dnes tak vymakané, že s pouhýma 2xALU jsou prakticky na 100% vytížené. Jinak by dnešní moderní CPU neuměla zpracovávat průměrně 7 instrukcí/takt, že jo.
Takže zatímco 2x ALU in-order CPU se pořád zasekává, třeba kvůli instrukci DIV která trvá třeba 10 taktů a druhá ALU musí čekat nevyužitá a kam OoO jádro klidně pošle spekulativní instrukce a tak vytíží a zvýší IPC ikdyž má stejný počet ALU. Stejný efekt dosáhne SMT, když tu nevyužitou ALU vytíží druhým vláknem. Nevím co je na tom nepochopitelného, že SMT pomáhá vytížit výpočetní jednotky úplně stejně jako OoO.
Když má CPU dobré OoO, tak benefit ze SMT je mizerný, k tomu penalta z Ahmdalova zákona, a navíc poloviční IPC na vlákno.
Tudíž SMT se hodí zejména pro in-order CPU a OoO co trpí nízkým vytížením ALUs (proto SMT dostalo jako první P4, protože trpělo nízkým vytížením ALU kvůli problémům s dlouhou pipeline a špatnými předikcemi, nebo proto SMT dostal in-order Atom a Larabee, nebo proto SMT mají GPU shadery což jsou in-order výpočetní jádra).