Hätte jetzt eher gedacht das Intel SMT als Technik als solche für sich patentiert hat oder so. ^^
Intel kann sich natürlich Teile einer gewissen Implementierung patentieren lassen, aber nicht allgemeine Ideen und Konzepte.
IBM verwendet SMT (Power), Oracle ebenso (Sparc).
Sogar AMD benützt es mit Bulldozer stellenweise selber.
Die FPU arbeitet auch 2 Threads ab.
Wo liegt der genaue Unterschied zwischen SMT und CMT?
Hat CMT was mit den Modulen zu tun (also 4M -> 8T z.B.)?
SMT und CMT sind relativ grobe Begriffe für eine gewisse Idee.
Ich würde es vorziehen da lieber direkte Vergleiche zu nehmen.
Intel hat SMT in der Form implementiert, dass ein CPU Kern zwei Threads auf einmal berechnen kann. ( In Zukunft vielleicht 4?)
IBMs Power 8 kann sogar 8 Threads pro Kern berechnen.
Die Idee ist "einfach", man hat einen dicken Kern mit vielen Ausführungsressourcen und entsprechend viel Luft, also wirft man da einfach mehr Threads hinein und fertig.
In der Praxis ist das natürlich wesentlich komplizierter, man muss sehr aufpassen, was den Sheduler angeht, wie die Execution-Ports aufgebaut sind etc.
AMD hat dagegen bei CMT mehr feste Routinen eingebaut, es werden die Integer-Cluster überhaupt nicht geshared, dort hat jeder Thread zugewiesene Ressourcen.
Das ist die Sache mit den Modulen.
1 Modul = 2 Integer-Cores (2 Threads), eine gesharde FPU (welche SMT verwendet).
Hat alles Vor- und Nachteile und vor allem kann man nicht pauschal sagen SMT ist besser/schlechter als CMT.
Der wichtigste Punkt ist immer die konkrete Umsetzung davon.