2011-08-30 15:24:34 +0000 2011-08-30 15:24:34 +0000
27
27

Wat zijn threads, en wat doen ze in de processor?

Ik bekeek de statistieken van de Intel Pentium e5700 CPU.

Het heeft twee kernen en twee draden. Wat doen de threads voor de processor? Is er een verband tussen het aantal cores en het aantal threads? Welk doel dienen threads voor het systeem als geheel?

Antwoorden (3)

21
21
21
2011-08-30 15:34:16 +0000

Het aantal kernen is het fysieke aantal kernen op de CPU-matrijs zelf, terwijl het aantal threads het aantal afzonderlijke applicatie-threads is dat gelijktijdig op de CPU zelf kan worden uitgevoerd. Zonder extra of speciale hardware is dit gelijk aan het aantal kernen. Sommige processoren zullen echter meer threads hebben dan kernen. Sommige Intel CPU’s hebben een functie die hyperthreading wordt genoemd, waardoor een besturingssysteem het dubbele aantal logische kernen per fysieke kern kan zien. Hierdoor kan het besturingssysteem het dubbele aantal threads tegelijk plannen en uitvoeren, dus in het geval van de CPU waar ik hierboven naar linkte, zijn er vier fysieke cores, maar acht logische (zodat je acht threads tegelijk kunt uitvoeren).

Elke individuele applicatie die in het besturingssysteem draait is ofwel single-threaded of multi-threaded (denk aan elke thread als een “subapplicatie”). Single-threaded toepassingen hebben slechts één thread nodig om op de CPU te draaien, terwijl multi-threaded toepassingen vele sub-threads tegelijk hebben draaien. Extra cores, of hyper-threading, zorgen ervoor dat meer applicatie-threads tegelijk kunnen draaien.

Hierdoor kunnen multi-threaded (niet single-threaded) toepassingen veel sneller lopen, omdat er meer dan één thread tegelijk op de CPU kan lopen.

  • *

Nog een laatste opmerking, hyperthreading verbetert de prestaties van sommige multithreaded toepassingen die er speciaal voor zijn geoptimaliseerd (omdat er nog steeds maar de helft van het aantal fysieke kernen is als er logische zijn). In sommige gevallen kunnen toepassingen sneller draaien met hyperthreading uitgeschakeld (hoewel veel toepassingen er wel baat bij hebben). Ongeacht hyperthreading, zal een toename van het aantal fysieke cores altijd multithreaded applicaties ten goede komen.

9
9
9
2011-08-30 15:45:22 +0000

Een “core” is een feitelijke fysieke subset van een processor die op zichzelf verwerking kan afhandelen, terwijl een “thread” aangeeft hoeveel feitelijke processen de processor tegelijk kan afhandelen. Intel heeft een technologie ontwikkeld die zij “hyper-threading” noemen. Deze techniek maakt het mogelijk dat één fysieke core (die normaal slechts één thread tegelijk kan verwerken) nu twee threads tegelijk kan verwerken.

Een thread is een taak die de processor moet afhandelen, voor een simpele uitleg, je kunt ervan uitgaan dat elke applicatie die je opent (zoals paint, notepad, media player) zijn eigen thread heeft… nu betekent dit niet dat je maar 2 applicaties tegelijk kunt openen, simpelweg omdat de processor en het OS zo snel werken bij het ‘wisselen van threads’ om aan de behoeften van elke applicatie die je open hebt te voldoen. Je zult gewoon betere prestaties ervaren met meer kernen, omdat je nu al het werk kunt uitdelen aan meer kernprocessoren.

Bijvoorbeeld, mijn werk computer heeft een i7 erin. De i7 heeft 4 fysieke cores, maar elke core kan aan ‘hyper-threading’ doen, waardoor deze processor 8 threads tegelijk aan kan. Dus als ik het taakbeheer open, zie ik 8 vakjes voor de prestatieschaal van de processor.

Een algemene vuistregel is dat meer fysieke cores beter zijn dan meer threads. Dus als je een processor vergelijkt die 4 cores en 4 threads heeft, zou dat beter zijn dan 2 cores 4 threads. Maar hoe meer threads uw processor aankan, hoe beter hij presteert tijdens multitasking en voor sommige zeer intensieve toepassingen (videobewerking, CAD, CAM, compressie, encryptie, enz.) zal hij op zich al meer dan één core tegelijk gebruiken.

-1
-1
-1
2019-07-18 22:54:39 +0000

klikken op links in een artikel in IE of chrome, elke keer dat je klikt maak je een thread. hoe meer je op links klikt hoe meer threads. heb je een 4 core CPU heb je tot 8 threads kun je 8 links openen voordat je een probleem krijgt. ongeacht je internetverbinding. dus elke core is goed voor twee van die links (threads) die je open hebt staan. dat is het idee IMO. als dit zinvol is voor iemand.