Als je wilt weten wat een CPU-thread is en hoe het werkt, gaan we je een gedetailleerde gids over dit onderwerp geven.
Vroeger was het kiezen van een processor eenvoudig, want kijken naar de snelheid was voldoende. Met de vooruitgang van de technologie integreren CPU’s in desktopcomputers en mobiele apparaten echter kloksnelheden, kernen en threads.
Wat is een CPU-thread?
Een thread binnen een processor is gerelateerd aan hoe elk van de CPU-kernen informatie ontvangt en verwerkt. Elke kern kan slechts één taak tegelijk uitvoeren en zelfs als een processor met bijvoorbeeld acht kernen 16 threads heeft, blijft dit gedrag hetzelfde. Draden veranderen het gedrag van de machine niet, aangezien ze niet op een andere manier zijn gebouwd.
Threads spelen echter een fundamentele rol bij de manier waarop dezelfde informatie wordt verwerkt. Deze technologie is geïmplementeerd in alle huidige desktop-CPU’s. In Intel heet het Hyper-Threading, en in AMD heet het Simultaneous MultiThreading (SMT), wat niets meer is dan de implementatie van een extra virtuele thread bovenop elk van de threads die hun individuele kernen binnen deze componenten voeden.
Hoe werkt een CPU-thread?
Nu sturen deze componenten eenvoudigweg instructies naar de CPU op een cyclische manier bij elk van zijn klokomwentelingen. Elke processor zal de instructies die via deze kanalen worden ontvangen, moeten oplossen en ten slotte zullen ze worden opgelost onder de prioriteit die er programmatisch aan is toegewezen.
U kunt draden begrijpen als de manier waarop u eet. Op een processor zonder multithreading is het alsof je met één hand eet. U kunt niet meer dan één ding tegelijk eten omdat u niet meer dan één mond heeft; maar als je je andere hand erbij betrekt, kun je sneller eten omdat je het bevoorradingswerk met twee handen kunt splitsen in plaats van met één. Kloksnelheden, evenals het aantal cores in moderne CPU’s, zijn voldoende om instructies zeer snel te verwerken, dus threads kunnen vaak een beperking vormen voor de prestaties die ze kunnen leveren ondanks zeer hoge kloksnelheden.
Wat zijn virtuele threads?
Virtuele threads zijn softwarehulpmiddelen waarmee threads informatie veel efficiënter naar elk van de kernen kunnen verplaatsen, waar ze op een cyclische en gespreide manier worden beheerd, maar met een veel meer optimale snelheid op basis van hun frequentiemogelijkheden. Dat is de reden waarom, in het geval van Intel, zijn werk in single-core veel relevanter is dan in multi-core, omdat zijn stroomwerk, met betrekking tot de centrale eenheid, beperkter is dan dat van AMD, dat zich heeft gericht op gebruikmakend van zijn transistordichtheid (momenteel op 7 nm) om ook het aantal instructies te vergemakkelijken dat het door zijn threads kan sturen, zonder zowel de kloksnelheid als het spanningsverbruik te hoeven verhogen, zoals in de nieuwe Ryzen 5000-serie.
Het toevoegen van meer cores aan een CPU is de gemakkelijkste manier om de prestatiekloof altijd op te lossen, maar dit brengt ook veel hogere kosten met zich mee. Het is duidelijk dat de duurdere, zoals de Ryzen 9 en Core i9, de meeste kernen hebben, en de goedkopere, zoals de Core i3 en Ryzen 3, de minste.
De kloof kan echter een beetje worden gedicht door de toevoeging van virtuele threads. Dus zelfs als ze niet een groter aantal kernen hebben, zullen ze een beetje dichter bij de prestaties kunnen komen bij taken die niet zo veeleisend zijn, wat over het algemeen de taken zijn die door een gemiddelde gebruiker worden uitgevoerd. Ze stellen ontwikkelaars ook in staat om hun software afspeelbaar te maken op meer systemen, ondanks het feit dat ze een zwaardere belasting op multi-core werk concentreren.