Antalet processer som en CPU kan * verkligen * körs samtidigt är
begränsat av antalet fysiska kärnor det har.
Här är en uppdelning:
* Fysiska kärnor: En fysisk kärna är en komplett behandlingsenhet inom CPU. Om du har en CPU med fyra fysiska kärnor kan den verkligen utföra 4 olika instruktioner (eller delar av fyra olika processer) *på exakt samma tid *.
* trådar (logiska kärnor): Modern CPU:er använder ofta en teknik som heter samtidig multithreading (SMT) , med Intels implementering som heter hyper-threading . Detta gör att en enda fysisk kärna kan visas som två logiska kärnor (trådar) till operativsystemet. Även om det inte * fördubblas * prestanda, tillåter det kärnan att använda lediga delar av sig själv mer effektivt. Tänk på det som att ha en enda kock (fysisk kärna) som kan arbeta med flera rätter (trådar) samtidigt genom att växla mellan dem när en uppgift väntar (t.ex. väntar på att vatten ska koka). En 4-kärnor CPU med hypertrådning kommer att visas som 8 logiska kärnor.
* Operativsystem och processer: Operativsystemet hanterar alla processer och trådar som körs på datorn. Det växlar snabbt mellan dem, vilket ger var och en en liten skiva CPU-tid (detta kallas tidsdelning eller multitasking). Detta skapar * illusionen * av att köra många processer samtidigt, även om CPU bara aktivt arbetar med ett begränsat antal vid ett givet ögonblick.
Sammanfattningsvis:
* En CPU kan verkligen köra ett antal processer som är lika med antalet * fysiska kärnor * samtidigt.
* Hyper-Threading (eller SMT) * förbättrar * förmågan hos varje fysisk kärna att hantera mer arbete genom att köra flera * trådar * samtidigt.
* Operativsystemet hanterar ett mycket större antal processer och trådar än CPU har kärnor, vilket skapar utseendet på verklig samtidighet genom snabb sammanhangsomkoppling.
Exempel:
En CPU med 8 fysiska kärnor och hypertrådning (16 logiska kärnor) kan:
* * Verkligen * kör 8 olika instruktioner på exakt samma tid (en på varje fysisk kärna).
* * Hanterar effektivt upp till 16 trådar samtidigt och utnyttjar varje kärns resurser bättre.
* * Verkar * köra hundratals eller tusentals processer samtidigt eftersom operativsystemet snabbt växlar mellan dem.
Viktiga överväganden:
* flaskhalsar: Andra faktorer, såsom RAM, disk I/O och nätverkshastighet, kan också begränsa det totala prestanda för ett system, även om CPU är kraftfull.
* Arbetsbelastning: Vissa processer är mer CPU-intensiva än andra. Ett system kanske kan "hantera" många lätta processer samtidigt, men kämpar med några få mycket krävande.
Därför är svaret tekniskt antalet *fysiska kärnor *, men det är viktigt att förstå trådens och operativsystemets roll för att skapa uppfattningen av att köra många processer samtidigt.