- Vad är Concurrency eller Single Core?
- Vad är parallell exekvering eller (flerkärnig)?
- NÖJLIGA SKILLEN
- Vad är tråd?
- Vad är multitrådning?
- Hur fungerar multitrådning?
- Vad är en CPU-kärna?
- Vad är det huvudsakliga problemet med enkelkärnig?
- Lösningen med flerkärniga processorer:
- Fördelar med flerkärnig processor
- Skillnaden mellan kärnor vs. Trådar
- Vad är Hyper-Threading?
- Sammanfattning:
Vad är Concurrency eller Single Core?
I operativsystem definieras concurrency som ett systems förmåga att köra två eller flera program i överlappande tidsfaser.
Som du kan se finns det vid varje given tidpunkt bara en process i utförande. Därför är samtidighet endast en generaliserad approximation av verklig parallell exekvering. Denna typ av situation kan hittas i system som har en processor med en enda kärna.
I denna handledning om Concurrency får du lära dig
- Vad är Concurrency eller Single Core?
- Vad är parallell exekvering eller (flerkärnig)?
- Vad är tråd?
- Vad är Multithreading?
- Hur fungerar multitrådning?
- Vad är CPU Core?
- Vad är det viktigaste problemet med single core?
- Lösningen som tillhandahålls av Multi-Core:
- Fördelar med processorer med flera kärnor
- Skillnaden mellan Core vs. Threads
- Vad är Hyper-Threading?
Vad är parallell exekvering eller (flerkärnig)?
I parallell exekvering delas de uppgifter som ska utföras av en process upp i underdelar, och flera CPU:er (eller flera kärnor) behandlar varje underuppgift exakt samtidigt.
Som du kan se är alla processer vid varje given tidpunkt i exekvering. I verkligheten är det deluppgifterna i en process som utförs parallellt, men för en bättre förståelse kan du visualisera dem som processer.
Parallellism är därför det verkliga sättet på vilket flera uppgifter kan behandlas samtidigt. Denna typ av situation finns i system som har flerkärniga processorer, vilket inkluderar nästan alla moderna, kommersiella processorer.
NÖJLIGA SKILLEN
- Kärnor ökar mängden arbete som utförs samtidigt, medan trådar förbättrar genomströmningen, beräkningshastigheten.
- Kärnor är en faktisk hårdvarukomponent medan trådar är en virtuell komponent som hanterar uppgifterna.
- Kärnor använder innehållsväxling medan trådar använder flera CPU:er för att driva många processer.
- Kärnor kräver endast en signalprocessenhet medan trådar kräver flera processorer.
Vad är tråd?
En tråd är en enhet för utförande vid samtidig programmering. Multithreading är en teknik som gör det möjligt för en CPU att utföra många uppgifter i en process samtidigt. Dessa trådar kan exekvera individuellt samtidigt som de delar sina resurser.
Vad är multitrådning?
Multitrådning hänvisar till den gemensamma uppgift som kör flera exekveringstrådar i ett operativsystem. Det kan innefatta flera systemprocesser.
Hur fungerar multitrådning?
De flesta moderna processorer har till exempel stöd för multitrådning. En enkel app på din smartphone kan ge dig en levande demonstration av samma sak.
När du öppnar en app som kräver att vissa data hämtas från internet ersätts appens innehållsområde av en spinner. Denna roterar tills data hämtas och visas.
I bakgrunden finns det två trådar:
- En som hämtar data från ett nätverk och
- En som renderar GUI:n som visar spinnaren
Båda dessa trådar körs efter varandra för att ge en illusion av samtidig körning.
Vad är en CPU-kärna?
En CPU-kärna är den del av något som är central för dess existens eller karaktär. På samma sätt i datorsystemet kallas CPU:n också för kärnan.
Det finns i princip två typer av processorkärnor:
- Enkärnig processor
- Multikärnig processor
Vad är det huvudsakliga problemet med enkelkärnig?
Det finns huvudsakligen två problem med enkelkärnig.
- För att utföra uppgifterna snabbare måste man öka klocktiden.
- Om man ökar klocktiden ökar strömförbrukningen och värmeavgivningen till en extremt hög nivå, vilket gör processorn ineffektiv.
Lösningen med flerkärniga processorer:
- Skapa två kärnor eller fler på samma die för att öka processorkraften samtidigt som klockfrekvensen hålls på en effektiv nivå.
- En processor med två kärnor som körs med en effektiv hastighet kan bearbeta instruktioner med liknande hastighet som processorn med en enda kärna. Dess klockfrekvens är dubbelt så hög, men ändå förbrukar den flerkärniga processen mindre energi.
Fördelar med flerkärnig processor
Här är några fördelar med en flerkärnig processor:
- Mer transistorer per val
- Kortare anslutningar
- Lägre kapacitans
- En liten krets kan arbeta med hög hastighet
Skillnaden mellan kärnor vs. Trådar
Parametrar | Kärna | Trådar |
Definition | CPU-kärnor betyder den faktiska hårdvarukomponenten. | Threads avser den virtuella komponent som hanterar uppgifterna. |
Process | Utomatiseringen matas med uppgifter från en tråd. Därför får den endast tillgång till den andra tråden när den information som skickas från den första tråden inte är tillförlitlig. | Det finns många olika varianter av hur CPU kan interagera med flera trådar. |
Uppsättning | Förverkligas genom interleaving operation | Förverkligas genom att suga flera CPU:er |
Fördel | Förbättra mängden arbete som utförs åt gången. | Förbättra genomströmning och beräkningshastighet. |
Använda | Kärnan använder content switching | Använder flera CPU:er för att driva många processer. |
Processenheter krävs | Kräver endast signalprocessenhet. | Kräver flera processorer. |
Exempel | Körning av flera program samtidigt. | Körning av en webcrawler i ett kluster. |
Vad är Hyper-Threading?
Hyper-threading var Intels första försök att få parallella beräkningar till slutanvändarnas datorer. Den användes för första gången på stationära processorer med Pentium 4 år 2002.
Pentium 4:orna hade på den tiden 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 multipla operationer.
En enda CPU med hyper-threading framstår som två logiska CPU:er för ett operativsystem. I det här fallet är CPU:n enkel, men operativsystemet anser att det finns två CPU:er för varje kärna, och CPU-hårdvaran har en enda uppsättning exekveringsresurser för varje CPU-kärna.
Därmed antar CPU:n att den har flera kärnor än vad den har, och operativsystemet antar två CPU:er för varje enskild CPU-kärna.
Sammanfattning:
- En tråd är en exekveringsenhet vid samtidig programmering
- Multithreading avser den gemensamma uppgift som kör flera exekveringstrådar inom ett operativsystem
- I dagsläget har många moderna CPU:er stöd för multithreading
- Hyperthreading var Intels första försök att föra in parallella beräkningar till slutanvändarnas PC:er.
- En CPU-kärna är den del av något som är central för dess existens eller karaktär
- I, Operativsystem definieras samtidighet som ett systems förmåga att köra två eller flera program i överlappande tidsfaser.
- I parallell exekvering delas de uppgifter som ska utföras av en process upp i underdelar.
- Det största problemet med enkärniga processorer är att för att kunna utföra uppgifterna snabbare måste man öka klockfrekvensen.
- Multicore löser detta problem genom att skapa två kärnor eller fler på samma matris för att öka processorkraften, och det håller också klockfrekvensen på en effektiv nivå.
- Den största fördelen med multicore-systemet är att det hjälper dig att skapa fler transistorer per val
- CTP-kärnorna betyder den faktiska hårdvarukomponenten medan trådar hänvisar till den virtuella komponenten som hanterar uppgifterna.