Intel lucrează în fundal la o tehnologie interesantă, care a fost brevetată recent. Se numește Software Defined Supercore, și la prima vedere pare să fie opusul lui Hyper-Threading, nu împare nuclee, ci le îmbină. SDC este conceput pentru a crește performanța unui singur fir de execuție prin "fuzionarea" a mai multor nuclee fizice prin metode software.
Avantajul unui "supernucleu" virtual este că poate "repartiza" sarcinile pe o combinație dinamică de nuclee, păstrând aceeași ordine de execuție, rezultatul fiind o viteză de execuție mult mai mare.
Procesul include recunoașterea sarcinii, alocarea nucleelor, și împărțirea în blocuri a datelor de procesat, care se vor atribui la anumite nuclee, având grijă ca procesul să fie sincronizat. Metoda are avantajul că elimină necesitatea de a construi nuclee de procesare largi, cu cantități extrem de mari de tranzistoare, care pe moment sunt la limita miniaturizării și a limitelor termice, precum și eliminarea necesității de frecvențe extreme. Rezultatul final are un efect dramatic pe IPC.
Tipic, procesoarele x86 pot să decodifice 4-6 operații, și apoi să le proceseze în 8-9 microoperații per ciclu de ceas, metoda cea mai eficientă pentru un IPC mare. Procesoarele mai moderne îmbunătățesc acest proces în mai multe feluri. SoC-urile Apple din seria M4 pot decoda până la 8 instrucțiuni pe ciclu de ceas, și pot executa până la 10 sau mai multe operații pe ciclu de ceas, fiind excelente pentru scopuri de procesare a sarcinilor de lucru.
Deși este posibil să se egaleze performanța în cazul procesoarelor x86, acest lucru nu este ideal, în parte din cauza arhitecturii și a consumului de energie mai mare, dar și ecosistemului software care a evoluat diferit. Pentru aceste procesoare sarcina este tipic de 2 și 4 operații favorizând nuclee mai multe, decât mai puține, dar mari.
Pentru a putea folosi tehnologia SDC, nucleele trebuie să fie compatibile, adică au nevoie de un mecanism de sincronizare dedicată, o soluție pur software impunând latențe mult prea mari.
Partea software se rezumă doar la alocarea nucleelor în funcție de proces, adică la împărțirea șarjei în în blocuri și apoi pentru a atribui aceste blocuri nucleelor de procesare individuale în ordinea corectă. Acest proces presupune o sarcină minimă, dar în schimb se poate obține o performanță mai bună, deși acest lucru necesită suport la nivelul sistemului de operare.
Din păcate nu sunt informații despre cât de bine ar funcționa un sistem de genul în viața de zi cu zi, dar teoria indică că aplicațiile care preferă mai puține nuclee ar putea beneficia major, iar jocurile în special sunt extrem de dependente de IPC.