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

Vad är Concurrency eller Single Core?

In OperaTing Systems, definieras samtidighet som förmågan hos ett system att köra två eller flera program i överlappande tidsfaser.

Samtidighet eller Single Core
Samtidigt utförande med tidsdelning

Som du kan se, vid varje given tidpunkt, är det bara en process som körs. Därför är samtidighet endast en generaliserad approximation av verkligt parallellt exekvering. Denna typ av situation kan hittas i system som har en enkärnig processor.

Vad är Parallell Execution eller (Multi-Core)?

Vid parallell exekvering bryts de uppgifter som ska utföras av en process upp i underdelar, och flera CPU:er (eller flera kärnor) bearbetar varje deluppgift på exakt samma gång.

Parallell utförande
Parallell utförande

Som du kan se, vid varje given tidpunkt, är alla processer i exekvering. I verkligheten är det deluppgifterna i en process som körs parallellt, men för bättre förståelse kan du visualisera dem som processer.

Därför är parallellism det verkliga sättet på vilket flera uppgifter kan bearbetas samtidigt. Denna typ av situation kan hittas i system som har flerkärniga processorer, vilket inkluderar nästan alla moderna kommersiella processorer.

NYCKELSKILL

  • Kärnor ökar mängden arbete som utförs åt gången, medan trådar förbättrar genomströmningen och beräkningshastigheten.
  • Kärnor är en faktisk hårdvarukomponent medan tråd är en virtuell komponent som hanterar uppgifterna.
  • Kärnor använder innehållsväxling medan trådar använder flera processorer för att driva många processer.
  • Kärnor kräver endast en signalprocessenhet medan trådar kräver flera behandlingsenheter.

Vad är tråd?

En tråd är en enhet för exekvering vid samtidig programmering. Multithreading är en teknik som gör att en CPU kan utföra många uppgifter i en process samtidigt. Dessa trådar kan köras individuellt samtidigt som de delar sina resurser.

Vad är multithreading?

Multithreading hänvisar till den gemensamma uppgiften som kör flera exekveringstrådar inom ett operativsystem. Det kan inkludera flera systemprocesser.

Hur fungerar multithreading?

Till exempel stöder de flesta moderna processorer multithreading. En enkel app på din smartphone kan ge dig en livedemo av densamma.

När du öppnar en app som kräver att viss data hämtas från internet ersätts innehållsområdet i appen av en spinner. Detta kommer att rotera tills data hämtas och visas.

I bakgrunden finns två trådar:

  • Man hämtar data från ett nätverk, och
  • En som återger det grafiska användargränssnittet som visar spinnern

Båda dessa trådar körs efter varandra för att ge en illusion av samtidig exekvering.

Vad är CPU Core?

En CPU-kärna är den del av något som är centralt för dess existens eller karaktär. På samma sätt i datorsystemet kallas CPU också för kärnan.

Det finns i princip två typer av kärnprocessor:

  1. Enkärnig processor
  2. Flerkärnig processor

Vad är huvudproblemet med Single Core?

Det finns huvudsakligen två problem med Single Core.

  • För att utföra uppgifterna snabbare måste du öka klocktiden.
  • Ökad klocktid ökar strömförbrukningen och värmeavledningen till en extremt hög nivå, vilket gör processorn ineffektiv.

Lösningen som tillhandahålls av Multi-Core:

  • Att skapa två kärnor eller fler på samma tärning för att öka processorkraften samtidigt som det håller klockhastigheten på en effektiv nivå.
  • En processor med två kärnor som kör en effektiv hastighet kan bearbeta instruktioner med liknande hastighet som en enkärnig processor. Dess klockhastighet är två gånger, men multicore-processen förbrukar mindre energi.

Fördelar med flerkärnig processor

Här är några fördelar med multicore-processorn:

  • Fler transistorer per val
  • Kortare anslutningar
  • Lägre kapacitans
  • En liten krets kan arbeta med hög hastighet

Skillnaden mellan kärna och trådar

Driftparametrar Kärna Ämnen
Definition CPU-kärnor betyder den faktiska hårdvarukomponenten. Trådar hänvisar till den virtuella komponenten som hanterar uppgifterna.
Behandla CPU:n matas uppgifter från en tråd. Därför kommer den bara åt den andra tråden när informationen som skickas av den första tråden inte är tillförlitlig. Det finns många olika varianter av hur CPU kan interagera med flera trådar.
Genomförande Uppnås genom interfolieringsoperation Utförs genom att stämma flera processorer
Fördel Öka mängden arbete som utförs åt gången. Förbättra genomströmning, beräkningshastighet.
Använda Core använder innehållsbyte Använder flera processorer för att driva många processer.
Bearbetningsenheter krävs Kräver endast signalbehandlingsenhet. Kräver flera bearbetningsenheter.
Exempelvis Kör flera applikationer samtidigt. Köra sökrobot på ett kluster.

Vad är Hyper-Threading?

Hyper-threading var Intels första försök att få parallell beräkning till slutanvändarens datorer. Den användes först på stationära processorer med Pentium 4 2002.

Pentium 4:s på den tiden innehöll bara en enda CPU-kärna. Därför utför den bara en enda uppgift och misslyckas med att utföra någon typ av flera operationer.

En enda CPU med hyper-threading visas som två logiska CPU:er för ett operativsystem. I det här fallet är processorn singel, men operativsystemet överväger två processorer för varje kärna, och CPU-hårdvaran har en enda uppsättning exekveringsresurser för varje processorkärna.

Därför antar CPU att den har flera kärnor än vad den gör, och operativsystemet antar två CPU:er för varje enskild CPU-kärna.

Sammanfattning

  • En tråd är en enhet för exekvering vid samtidig programmering.
  • Multithreading hänvisar till den gemensamma uppgiften som kör flera exekveringstrådar inom ett operativsystem
  • Idag stöder många moderna processorer multithreading
  • Hyper-threading var Intels första försök att få parallell beräkning till slutanvändarens datorer.
  • En CPU-kärna är den del av något som är centralt för dess existens eller karaktär
  • I, Operating Systemkonkurrency definieras som förmågan hos ett system att köra två eller flera program i överlappande tidsfaser.
  • Vid parallellkörning bryts de uppgifter som ska utföras av en process upp i underdelar.
  • Huvudfrågan med enkärnig processor är att för att utföra uppgifterna snabbare måste du öka klocktiden.
  • Multicore löser detta problem genom att skapa två eller fler kärnor på samma tärning för att öka processorkraften, och det håller också klockhastigheten på en effektiv nivå.
  • Den största fördelen med multicore-systemet är att det hjälper dig att skapa fler transistorer per val
  • CPU-kärnorna betyder den faktiska hårdvarukomponenten medan trådar hänvisar till den virtuella komponenten som hanterar uppgifterna.