Simultánní multithreading

Procesor Intel Pentium 4 byl prvním moderním procesorem pro stolní počítače, který implementoval simultánní multithreading, počínaje modelem s frekvencí 3,06 GHz vydaným v roce 2002, a od té doby jej zavedl do řady svých procesorů. Společnost Intel tuto funkci nazývá Hyper-Threading Technology a poskytuje základní dvouvláknový SMT engine. Společnost Intel uvádí až 30% zvýšení rychlosti ve srovnání s jinak identickým modelem Pentium 4 bez SMT. Pozorované zvýšení výkonu je velmi závislé na aplikaci, nicméně při spuštění dvou programů, které vyžadují plnou pozornost procesoru, se skutečně může zdát, že se jeden nebo oba programy při zapnutém Hyper-threadingu mírně zpomalí. Je to způsobeno tím, že systém přehrávání procesoru Pentium 4 svazuje cenné prostředky pro provádění, zvyšuje nároky na zdroje, jako je šířka pásma, mezipaměť, TLB, položky vyrovnávací paměti re-order, vyrovnává prostředky procesoru mezi oběma programy, což přidává různou dobu provádění. Jádro Pentium 4 Prescott získalo frontu pro přehrávání, která zkracuje dobu provádění potřebnou pro systém přehrávání. To stačí k úplnému překonání tohoto zásahu do výkonu.

Nejnovější návrhy architektury MIPS společnosti Imagination Technologies obsahují systém SMT známý jako „MIPS MT“. MIPS MT poskytuje jak těžké virtuální výpočetní prvky, tak lehčí hardwarová mikrovlákna. RMI, startup z Cupertina, je prvním výrobcem MIPS, který nabízí procesor SOC založený na osmi jádrech, z nichž na každém běží čtyři vlákna. Vlákna mohou být spuštěna v režimu fine-grain, kdy může být každý cyklus spuštěno jiné vlákno. Vláknům lze rovněž přiřadit priority. Procesory MIPS společnosti Imagination Technologies mají dvě vlákna SMT na jádro.

Procesor Blue Gene/Q společnosti IBM má čtyřvláknový SMT.

Power5 společnosti IBM, ohlášený v květnu 2004, se dodává buď jako dvoujádrový dvoučipový modul (DCM), nebo čtyřjádrový či osmijádrový vícečipový modul (MCM), přičemž každé jádro obsahuje dvouvláknový SMT engine. Implementace IBM je sofistikovanější než předchozí, protože dokáže jednotlivým vláknům přiřadit různou prioritu, je jemnější a SMT engine lze dynamicky zapínat a vypínat, aby bylo možné lépe vykonávat ty pracovní úlohy, kde by SMT procesor nezvýšil výkon. Jedná se o druhou implementaci obecně dostupného hardwarového multithreadingu společnosti IBM. V roce 2010 uvedla společnost IBM na trh systémy založené na procesoru POWER7 s osmi jádry, z nichž každé má čtyři Simultaneous Intelligent Threads. Ta přepíná režim zpracování vláken mezi jedním vláknem, dvěma vlákny nebo čtyřmi vlákny v závislosti na počtu vláken procesu, která jsou v daném okamžiku naplánována. Tím se optimalizuje využití jádra pro minimální dobu odezvy nebo maximální propustnost. IBM POWER8 má 8 inteligentních simultánních vláken na jádro (SMT8).

IBM z13 má dvě vlákna na jádro (SMT-2).

Ačkoli mnoho lidí uvádělo, že UltraSPARC T1 společnosti Sun Microsystems (do svého vydání 14. listopadu 2005 známý jako „Niagara“) a dnes již neexistující procesor s kódovým označením „Rock“ (původně ohlášený v roce 2005, ale po mnoha odkladech zrušený v roce 2010) jsou implementace SPARC zaměřené téměř výhradně na využití technik SMT a CMP, Niagara ve skutečnosti SMT nepoužívá. Sun tyto kombinované přístupy označuje jako „CMT“ a celkový koncept jako „Throughput Computing“. Niagara má osm jader, ale každé jádro má pouze jednu pipeline, takže vlastně využívá jemně zrnitý multithreading. Na rozdíl od SMT, kde instrukce z více vláken sdílejí každý cyklus vydávací okno, procesor používá politiku „round robin“, kdy každý cyklus vydává instrukce z dalšího aktivního vlákna. Tím se více podobá soudkovitému procesoru. Procesor Rock společnosti Sun Microsystems je jiný, má složitější jádra, která mají více než jednu pipeline.

Procesor Oracle Corporation SPARC T3 má osm jemných vláken na jádro, SPARC T4, SPARC T5, SPARC M5, M6 a M7 mají osm jemných vláken na jádro, z nichž dvě mohou být vykonávána současně.

Fujitsu SPARC64 VI má hrubozrnný vertikální multithreading (VMT) SPARC VII a novější mají dvoucestný SMT.

Intel Itanium Montecito používal hrubozrnný multithreading a Tukwila a novější používají dvoucestný SMT (s dual-domain multithreading).

Intel Xeon Phi má 4-cestný SMT (s časově vícedimenzionálním multithreadingem) s hardwarovými vlákny, která nelze na rozdíl od běžného Hyperthreadingu zakázat. Intel Atom, uvedený na trh v roce 2008, je prvním produktem společnosti Intel s 2-way SMT (prodávaným jako Hyper-Threading) bez podpory změny pořadí instrukcí, spekulativního provádění nebo přejmenování registrů. Společnost Intel znovu zavedla technologii Hyper-Threading s mikroarchitekturou Nehalem poté, co se neobjevila u mikroarchitektury Core.

Mikroarchitektura AMD Bulldozer FlexFPU a sdílená cache L2 jsou vícevláknové, ale celočíselná jádra v modulu jsou jednovláknová, takže se jedná pouze o částečnou implementaci SMT.

Mikroarchitektura AMD Zen má dvoucestnou SMT.

Architektura VISC používá virtuální softwarovou vrstvu (překladovou vrstvu) k odesílání jednoho vlákna instrukcí do globálního front endu, který rozděluje instrukce do virtuálních hardwarových vláken, která jsou pak odesílána do samostatných virtuálních jader. Tato virtuální jádra je pak mohou posílat dostupným prostředkům na některém z fyzických jader. Více virtuálních jader může posílat threadlety do vyrovnávací paměti reorderu jednoho fyzického jádra, které může rozdělovat dílčí instrukce a data z více threadletů přes prováděcí porty najednou. Každé virtuální jádro sleduje pozici relativního výstupu. Tato forma multithreadingu může zvýšit výkon jednoho vlákna tím, že umožňuje jedinému vláknu využívat všechny prostředky procesoru. přidělování prostředků je dynamické na úrovni latence blízké jednomu cyklu (1-4 cykly v závislosti na změně přidělení v závislosti na individuálních potřebách aplikace. Pokud tedy dvě virtuální jádra soupeří o zdroje, jsou k dispozici příslušné algoritmy, které určují, které zdroje mají být přiděleny kam.

.