Een computer bestaat uit allerlei onderdelen. Het meest essentiële interne onderdeel is zonder twijfel de CPU. CPU staat voor Central Processing Unit en is als het ware het brein van de computer. Hij bestaat uit miljarden kleine transistors die fungeren als elektronische schakelaars en de stroomstroom door complexe circuits aansturen.
Naast het uitvoeren van programmataken coördineren CPUs ook de andere onderdelen van een computer, waaronder RAM (random access memory), HDD (harde schijf) en SSD (solid-state drive).
Er zijn veel factoren die de prestaties en efficiëntie van een processor bepalen, maar een van de meest besproken onderwerpen is kernen versus threads. Over het algemeen denken mensen dat meer cores gelijk staat aan meer prestaties. Dat is echter niet altijd zo eenvoudig.
Begrijpen wat cores en threads doen is belangrijk om de juiste keuzes te maken bij het kopen of configureren van een computer. Je wilt het vermogen idealiter zo goed mogelijk benutten zonder te veel uit te geven. Afhankelijk van de taken die je wilt uitvoeren, kan het optimale aantal cores en threads sterk variëren.
Kies je voor een draagbaar apparaat zoals een laptop, dan is energiezuinigheid iets wat je niet kunt negeren. Het laatste wat je wilt als je onderweg bent, is dat je batterij leeg is midden in een taak. Een CPU met een geschikt verbruik kiezen kan dat soort problemen voorkomen.
In dit artikel leg ik alles uit wat je moet weten over cores en threads in computerprocessors, de verschillen daartussen en andere factoren die de prestaties van een processor beïnvloeden.
Wat is een CPU-core?
Een core is een fysieke verwerkingseenheid binnen een CPU die taken zelfstandig uitvoert. Zie je CPU als een fabriek, dan is elke core een 'medewerker' die taken afhandelt. Meer medewerkers betekent over het algemeen dat er meer taken in kortere tijd kunnen worden uitgevoerd.
Traditioneel was een CPU-core ontworpen om taken één voor één uit te voeren. De eerste computers konden daardoor niet multitasken. Dat veranderde ingrijpend door de ontwikkeling van multithreading-technologieën, waar ik later in dit artikel op inga.
Single-core vs. multi-core processors
De vroegste computers hadden single-core CPUs die slechts één taak tegelijk konden uitvoeren. Om meerdere programma's tegelijk te draaien, probeerden computeringenieurs het moederbord uit te breiden door meerdere CPU-eenheden samen te voegen. Meerdere onafhankelijk werkende CPUs zorgden echter voor veel latentie en bleken onpraktisch.
Om dit op te lossen ontwierpen ingenieurs multi-core processors. Elke core werkt onafhankelijk en kan zijn eigen instructies verwerken zonder andere cores te beïnvloeden. Hoe meer cores een processor heeft, hoe meer taken hij gelijktijdig kan uitvoeren.
Een single-core CPU verbruikt aanzienlijk minder stroom en kan voldoende zijn voor dagelijkse taken zoals surfen op het web. Maar door de beperkte prestaties raken ze steeds meer uit de gratie. Hoewel je ze nog in sommige oudere systemen kunt aantreffen, zijn single-core CPUs grotendeels verouderd op de huidige markt.
Gewone computers komen doorgaans met twee, vier, acht of 16 CPU-cores. Het maximale aantal cores in consumentenprocessors is momenteel 64. Processors voor datacenters en enterprise-servers kunnen nog meer cores bevatten. De AMD EPYC 9654-processor heeft bijvoorbeeld maar liefst 96 cores.
Wat is een verwerkingsthread?
In computerverwerking verwijst een thread (of uitvoeringsthread) naar een individuele taak die de CPU verwerkt. Elke thread is de kleinste reeks geprogrammeerde instructies die je besturingssysteem zelfstandig kan beheren. Dat kan van alles zijn, van het opstarten van een programma tot het opslaan van een bestand.
Je CPU-cores zijn verantwoordelijk voor het verwerken van deze threads. In elke CPU kan elke core minimaal één thread tegelijk uitvoeren. Meer cores zorgen voor betere multitasking-mogelijkheden, maar meer threads tegelijk kunnen verwerken heeft hetzelfde effect.
Inzicht in de verschillen tussen threads en cores, en begrip van hun rol in je CPU, helpt je de beste keuze te maken voor jouw situatie.
Wat is multithreading?
Het spreekt voor zich dat het één voor één sturen van threads naar de processorchip erg tijdrovend is. Daarom ontwikkelden computeringenieurs verschillende methoden en strategieën om meer threads in minder tijd te verwerken.
De meest directe oplossing is een thread opdelen in kleinere afzonderlijke threads en deze door een CPU parallel te laten uitvoeren. Dit wordt 'Multithreading' genoemd (niet te verwarren met Simultaneous of Temporal Multithreading). Afhankelijk van de ontwikkeling kan een programma licht of zwaar gebruik maken van threading.
Ideeën over het combineren van verschillende multithreading-strategieën gaan terug tot de jaren 50. Maar pas in de late jaren 90 gebruikte Intel een technologie genaamd Simultaneous Multithreading (SMT) om een hardware-gebaseerde multithreading-techniek voor desktopcomputers te ontwikkelen. Intel noemde deze functionaliteit Hyper-Threading-technologie en introduceerde het in 2002 in de Intel Pentium 4 desktopprocessor.
Met Intel's Hyper-Threading kunnen twee threads de resources van één CPU-core delen om taken te voltooien. Praktisch gezien heb je daarmee toegang tot het dubbele aantal 'medewerkers' voor je opdrachten. Elke twee medewerkers delen echter wel dezelfde resources.
Hyper-Threading: voor- en nadelen
Het grootste voordeel van Hyper-Threading is dat het de systeemprestaties merkbaar verbetert door meer van de beschikbare verwerkingscapaciteit te benutten. In sommige gevallen verdient single-threading echter nog steeds de voorkeur.
In de meeste situaties, zeker bij alledaags multitasken, draait de CPU van je computer niet op volle kracht. Er is dus ruimte over voor extra verwerking. Hyper-Threading benut die ongebruikte verwerkingscapaciteit in een CPU-kern om andere threads uit te voeren, waardoor je meer uit het maximale potentieel van een CPU haalt.
Hyper-Threading heeft ook duidelijke nadelen. Het voornaamste is het hogere stroomverbruik. Vergeleken met ARM-chips staan Intel-processors erom bekend veel energie te verbruiken in laptops, en Hyper-Threading is daar een van de oorzaken van.
Door het hogere stroomverbruik van de processor leidt Hyper-Threading tot hogere temperaturen en thermische beperking, waarbij de CPU zichzelf vertraagt om oververhitting te voorkomen. Bovendien vereisen draagbare apparaten met dergelijke Intel CPUs zwaardere koelsystemen, wat het gewicht en de afmetingen van het apparaat aanzienlijk kan vergroten.
Tot slot ligt het, omdat de prestatieverbetering sterk afhangt van de applicatie, uiteindelijk in handen van ontwikkelaars om programma's te schrijven die Hyper-Threading goed benutten. Dat maakt het ontwikkelen van efficiënte software er niet eenvoudiger op. Bovendien kunnen programma's zonder Hyper-Threading-ondersteuning haperen onder processorintensieve omstandigheden.
Meer cores vs. threads: wat werkt beter?
Omdat het sterk afhankelijk is van de programma's die je wilt gebruiken, is het lastig om in alle gevallen te zeggen wat belangrijker is. Meer cores betekent doorgaans meer beschikbare verwerkingscapaciteit. Meer threads kan anderzijds zorgen voor betere multitasking, maar dat is niet altijd het geval.
Voor zwaar gethreade programma's leidt meer threads per CPU-kern vaak tot betere en snellere uitvoering. Programma's die geoptimaliseerd zijn voor single-threaded CPU-kernarchitecturen kunnen echter prestatievermindering vertonen wanneer Hyper-Threading op een CPU is ingeschakeld.
Desondanks hebben sommige gebruikers gemerkt dat meerdere games, zowel oud als nieuw, beduidend beter draaien met Hyper-Threading uitgeschakeld. Een gebruiker op Reddit beweert bijvoorbeeld een fps-verbetering van 30% in de meeste games te hebben gezien nadat hij Hyper-Threading uitschakelde op zijn Intel Core i9 CPU.
Jarenlang domineerde Intel de CPU-markt voor laptops en desktops met chips die dankzij Hyper-Threading twee keer zoveel threads als cores boden. Inmiddels werken enkele concurrenten aan andere CPU-architecturen die aanzienlijk efficiënter blijken te zijn, maar wel met single-threaded CPU-cores.
Apple Silicon is bijvoorbeeld een ARM-gebaseerde chipserie die in Apple's recente computers beduidend zuiniger bleek dan modellen op Intel-basis. Ook zijn verschillende nieuwe Windows-laptops, waaronder de Microsoft Surface Pro 11, overgestapt op ARM-processors voor een langere batterijduur en betere prestaties bij dagelijks gebruik. Al deze ARM-chips werken met single-threaded cores.
Al met al betekent meer threads niet automatisch betere CPU-prestaties. Meer cores is echter een directere bepalende factor voor het vermogen van een processor om complexere en resource-intensieve opdrachten aan te kunnen.
Welke andere factoren bepalen de prestaties van een CPU?
We hebben de verschillen tussen processor-cores en threads besproken. Maar dat zijn niet de enige factoren die de uiteindelijke prestaties van je CPU bepalen.
Kloksnelheid (ook wel "klokfrequentie" of kortweg "frequentie") is een van de belangrijkste onderscheidende factoren bij computerprocessors. Kort gezegd meet de kloksnelheid hoeveel cycli een CPU per seconde kan voltooien. Een processor met een kloksnelheid van 3,2 GHz voert bijvoorbeeld 3,2 miljard cycli per seconde uit.
Een andere parameter om rekening mee te houden is het cachegeheugen van een CPU. De CPU-cache is snel geheugen dat veelgebruikte data opslaat. Grotere en snellere caches versnellen de uitvoering van taken waarbij frequente datatoegang nodig is.
Computerprocessors worden geproduceerd met behulp van nanometer (nm) fabricageprocessen, zoals 7nm of 5nm. Kleinere nodes betekenen dat er meer transistors op de chip passen, wat resulteert in een hogere energie-efficiëntie en betere prestaties, doordat signalen kortere afstanden afleggen en daardoor minder tijd en energie vereisen.
Andere factoren zoals IPC (Instructions Per Cycle), bussnelheid en thermisch ontwerpvermogen spelen ook een rol in hoeveel prestaties je uit een CPU kunt halen.
Voordat we afsluiten, wil ik je graag kennis laten maken met onze high-performance Cloud VPS bij Cloudzy. We bieden krachtige CPUs op 3,2 en 4,2 GHz, NVMe-opslag, hoge bandbreedte en verbindingen tot 10Gbps. Op zoek naar een betrouwbare virtuele machine? Bekijk dan zeker onze VPS-plannen voor onverslaanbare betrouwbaarheid en snelheid!
Wil je een krachtige Cloud VPS? Start vandaag nog en betaal alleen voor wat je gebruikt met Cloudzy!
Begin hierConclusie: thread vs. core
Als het om computerprestaties gaat, is de CPU de primaire component die verantwoordelijk is voor het uitvoeren van programma's. Een CPU-kern is een fysieke verwerkingseenheid in een CPU. CPUs hebben doorgaans meerdere cores, die elk ten minste één thread verwerken.
Een thread verwijst doorgaans naar de kleinste reeks instructies die naar een CPU-kern wordt gestuurd om te worden verwerkt. Elke CPU-kern kan ten minste één thread tegelijk verwerken. In processors met Hyper-Threading loopt dat op tot twee, wat betekent dat twee threads tegelijkertijd de resources van een kern kunnen gebruiken om verschillende taken uit te voeren.
Hoewel cores met SMT-ondersteuning in theorie meer dan één thread tegelijk aankunnen en betere multitasking bieden, leidt dat niet altijd tot een directe toename van de verwerkingsoutput.
Veelgestelde vragen
Is het beter om meer cores dan threads te hebben?
Dat hangt af van de programma's die je wilt gebruiken. Zwaar gethreade applicaties draaien doorgaans beter met meer threads, terwijl sommige programma's beter presteren op single-threaded cores. Meer cores leidt echter tot een directere verbetering van de CPU-prestaties.
Hoeveel threads heeft een core?
Bij de meeste huidige Intel CPUs kan elke kern dankzij Hyper-Threading twee threads tegelijk verwerken. Dat geldt echter niet voor alle processors. ARM-gebaseerde CPUs hebben bijvoorbeeld slechts één thread per kern.
Wat is het verschil tussen een core en een processor?
Een core is een fysieke verwerkingseenheid binnen een computerprocessor (CPU). Een processor kan meerdere cores bevatten, die elk afzonderlijk instructies kunnen uitvoeren.