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

Vad รคr Concurrency eller Single Core?

In OperaI system definieras samtidighet som ett systems fรถrmรฅga att kรถra tvรฅ eller flera program samtidigtping 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, OperaSystemkonkurrens definieras som ett systems fรถrmรฅga att kรถra tvรฅ eller flera program samtidigt.ping 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.

Sammanfatta detta inlรคgg med: