CPU Core, Multi-Core, Thread, Core versus Threads, Hyper-Threading
Wat is gelijktijdigheid of Single Core?
In OperaBij systemen wordt gelijktijdigheid gedefinieerd als het vermogen van een systeem om twee of meer programma's in overlappende tijdsfasen uit te voeren.
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.
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.
- Cores maken gebruik van content switching, terwijl threads meerdere CPU's gebruiken om meerdere processen uit te voeren.
- 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 die meerdere uitvoeringsthreads binnen een besturingssysteem uitvoert. 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 gegevens van internet moeten worden opgehaald, wordt het inhoudsgebied van de app vervangen door een spinner. Deze draait totdat de gegevens zijn 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:
- Single-coreprocessor
- 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 | Maakt gebruik van 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 maar één CPU-kern. Daarom voert hij maar één taak uit en kan hij geen enkel type van meervoudige bewerkingen uitvoeren.
Eén CPU met hyperthreading verschijnt als twee logische CPU's voor een besturingssysteem. In dit geval is de CPU enkelvoudig, 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, terwijl het besturingssysteem ervan uitgaat dat er twee CPU's zijn voor elke afzonderlijke CPU-kern.
Samenvatting
- 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
- Afdrukken, OperaSysteemgelijktijdigheid wordt 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.