CPU Core, Multi-Core, Thread, Core versus Threads, Hyper-Threading

Wat is gelijktijdigheid of Single Core?

In besturingssystemen wordt gelijktijdigheid gedefinieerd als het vermogen van een systeem om twee of meer programma's in overlappende tijdsfasen uit te voeren.

Gelijktijdigheid of Single Core
Gelijktijdige uitvoering met time-slicing

Zoals u kunt zien, is er op elk moment slechts één proces in uitvoering. Daarom is gelijktijdigheid slechts een algemene benadering van echte parallelle uitvoering. Dit soort situaties kan worden aangetroffen in systemen met een single-coreprocessor.

Wat is parallelle uitvoering of (multi-core)?

Bij parallelle uitvoering worden de door een proces uit te voeren taken opgesplitst in subonderdelen, en meerdere CPU's (of meerdere kernen) verwerken elke subtaak precies tegelijkertijd.

Parallelle uitvoering
Parallelle uitvoering

Zoals u kunt zien, zijn alle processen op elk moment in uitvoering. In werkelijkheid zijn het de deeltaken van een proces die parallel worden uitgevoerd, maar voor een beter begrip kun je ze visualiseren als processen.

Daarom is parallellisme de echte manier waarop meerdere taken tegelijkertijd kunnen worden verwerkt. Dit soort situaties kan worden aangetroffen in systemen met multicore-processors, waaronder vrijwel alle moderne, commerciële processors.

BELANGRIJK VERSCHIL:

  • Kernen vergroten de hoeveelheid werk die tegelijkertijd wordt verricht, terwijl threads de doorvoer en rekensnelheid verbeteren.
  • Cores is een daadwerkelijke hardwarecomponent, terwijl thread een virtuele component is die de taken beheert.
  • Kernen gebruiken inhoudwisseling, terwijl threads meerdere CPU's gebruiken voor het uitvoeren van talloze processen.
  • Kernen vereisen slechts een signaalverwerkingseenheid, terwijl threads meerdere verwerkingseenheden vereisen.

Wat is draad?

Een thread is een uitvoeringseenheid bij gelijktijdig programmeren. Multithreading is een techniek waarmee een CPU veel taken van één proces tegelijkertijd kan uitvoeren. Deze threads kunnen afzonderlijk worden uitgevoerd terwijl hun bronnen worden gedeeld.

Wat is multithreading?

Multithreading verwijst naar de algemene taak waarbij meerdere uitvoeringsthreads binnen een besturingssysteem worden uitgevoerd. Het kan meerdere systeemprocessen omvatten.

Hoe multithreading werkt?

De meeste moderne CPU's ondersteunen bijvoorbeeld multithreading. Een eenvoudige app op uw smartphone kan u hiervan een live demo geven.

Wanneer u een app opent waarvoor bepaalde gegevens van internet moeten worden opgehaald, wordt het inhoudsgebied van de app vervangen door een spinner. Dit roteert totdat de gegevens worden opgehaald en weergegeven.

Op de achtergrond zijn er twee threads:

  • Eén die de gegevens van een netwerk ophaalt, en
  • Eén die de GUI weergeeft die de spinner weergeeft

Beide threads worden na elkaar uitgevoerd om de illusie van gelijktijdige uitvoering te wekken.

Wat is CPU-kern?

Een CPU-kern is het onderdeel van iets dat centraal staat in zijn bestaan ​​of karakter. Op dezelfde manier wordt in het computersysteem de CPU ook wel de kern genoemd.

Er zijn in principe twee soorten kernprocessors:

  1. Single-coreprocessor
  2. Multi-coreprocessor

Wat is het belangrijkste probleem met Single Core?

Er zijn hoofdzakelijk twee problemen met Single Core.

  • Om de taken sneller uit te voeren, moet u de kloktijd verhogen.
  • Het verhogen van de kloktijd verhoogt het energieverbruik en de warmteafvoer tot een extreem hoog niveau, waardoor de processor inefficiënt wordt.

De oplossing van Multi-Core:

  • Het creëren van twee of meer kernen op dezelfde chip om de verwerkingskracht te vergroten en tegelijkertijd de kloksnelheid op een efficiënt niveau te houden.
  • Een processor met twee kernen die op een efficiënte snelheid draaien, kan instructies verwerken met een vergelijkbare snelheid als de single-coreprocessor. De kloksnelheid is twee keer zo hoog, maar het multicore-proces verbruikt minder energie.

Voordelen van multi-coreprocessor

Hier zijn enkele voordelen van de multicoreprocessor:

  • Meer transistors per keuze
  • Kortere verbindingen
  • Lagere capaciteit
  • Een klein circuit kan met hoge snelheid werken

Verschil tussen kern en threads

parameters Kern Discussies
Definitie CPU-kernen betekenen de daadwerkelijke hardwarecomponent. Threads verwijzen naar de virtuele component die de taken beheert.
Proces De CPU krijgt taken vanuit een thread. Daarom heeft het alleen toegang tot de tweede thread als de informatie die door de eerste thread wordt verzonden, niet betrouwbaar is. Er zijn veel verschillende variaties op de manier waarop de CPU met meerdere threads kan communiceren.
Implementatie Bereikt door interleaving-bewerking Uitgevoerd door meerdere CPU's aan te klagen
Voordeel Vergroot de hoeveelheid werk die in één keer wordt uitgevoerd. Verbeter de doorvoer en rekensnelheid.
Gebruikmaken van Core maakt gebruik van content-switching Gebruikt meerdere CPU's voor het uitvoeren van talrijke processen.
Verwerkingseenheden vereist Vereist alleen een signaalverwerkingseenheid. Vereist meerdere verwerkingseenheden.
Voorbeeld Meerdere applicaties tegelijkertijd uitvoeren. Webcrawler uitvoeren op een cluster.

Wat is hyperthreading?

Hyper-threading was Intel's eerste poging om parallelle berekeningen naar de pc's van eindgebruikers te brengen. Het werd voor het eerst gebruikt op desktop-CPU's met de Pentium 4 in 2002.

De Pentium 4's hadden destijds slechts één CPU-kern. Daarom voert het slechts één enkele taak uit en kan het geen enkele vorm van meerdere bewerkingen uitvoeren.

Eén enkele CPU met hyperthreading verschijnt als twee logische CPU's voor een besturingssysteem. In dit geval is de CPU één enkele, maar het besturingssysteem beschouwt twee CPU's voor elke kern, en CPU-hardware heeft één set uitvoeringsbronnen voor elke CPU-kern.

Daarom gaat de CPU ervan uit dat deze meerdere kernen heeft, en gaat het besturingssysteem uit van twee CPU's voor elke afzonderlijke CPU-kern.

Samengevat

  • Een thread is een uitvoeringseenheid bij gelijktijdig programmeren.
  • Multithreading verwijst naar de algemene taak waarbij meerdere uitvoeringsthreads binnen een besturingssysteem worden uitgevoerd
  • Tegenwoordig ondersteunen veel moderne CPU's multithreading
  • Hyper-threading was Intel's eerste poging om parallelle berekeningen naar de pc's van eindgebruikers te brengen.
  • Een CPU-kern is het onderdeel van iets dat centraal staat in zijn bestaan ​​of karakter
  • In wordt gelijktijdigheid van besturingssystemen gedefinieerd als het vermogen van een systeem om twee of meer programma's in overlappende tijdsfasen uit te voeren.
  • Bij parallelle uitvoering worden de door een proces uit te voeren taken opgesplitst in subonderdelen.
  • Het belangrijkste probleem van een single-coreprocessor is dat je, om de taken sneller uit te voeren, de kloktijd moet verhogen.
  • Multicore lost dit probleem op door twee of meer kernen op dezelfde chip te creëren om de verwerkingskracht te vergroten, en het houdt ook de kloksnelheid op een efficiënt niveau.
  • Het grootste voordeel van het multicore-systeem is dat het je helpt om meer transistors per keuze te creëren
  • De CPU-kernen betekenen de feitelijke hardwarecomponent, terwijl threads verwijzen naar de virtuele component die de taken beheert.