Erklæringen om, at software, der er skrevet til kerne-CPU'en, "generelt" kører på en dobbelt-core CPU er
ikke helt nøjagtig . Her er en sammenbrud:
Softwarekompatibilitet:
* Software skrevet til en enkelt-core CPU vil generelt køre på en dobbelt-core CPU. Dette skyldes, at moderne operativsystemer og compilere er designet til at håndtere multi-core processorer. De vil automatisk distribuere opgaver mellem kernerne, hvis softwaren er designet til at drage fordel af flere kerner (dvs. multi-threaded).
* Software, der er * specifikt * designet til at køre på en enkelt-core-processor, kører ikke nødvendigvis * hurtigere * på en dobbelt-core CPU. Det vil sandsynligvis køre med en lignende hastighed, da det kun bruger en kerne.
multi-core ydelse:
* For software, der virkelig drager fordel af en dobbelt-core CPU, skal den være multi-threaded . Dette betyder, at softwaren er designet til at opdele opgaver i mindre, uafhængige tråde, der kan køre samtidigt på forskellige kerner.
* Hvis softwaren er en-threaded, vil den kun bruge en kerne ad gangen, selvom en dobbelt-core CPU er tilgængelig.
Kortfattet:
* Software skrevet til en enkelt-core CPU kører normalt på en dobbelt-core CPU, men er måske ikke nødvendigvis hurtigere.
* Software designet til at drage fordel af flere kerner kører markant hurtigere på en CPU-core.
Her er en analogi:
Tænk på en enkelt-core CPU som en enkelt arbejdstager, der udfører alle opgaver. En CPU-core er som at have to arbejdere. Hvis opgaven er enkel nok, er en arbejdstager tilstrækkelig. Men hvis opgaven er kompleks og kan opdeles i mindre opgaver, kan to arbejdstagere fuldføre den meget hurtigere.
Key Takeaway:
Mens de fleste software kører på en dobbelt-core CPU, for virkelig at drage fordel af den ekstra behandlingseffekt, skal softwaren skrives for at drage fordel af flere kerner.