At tilføje flere kerner til en enkelt processor giver betydelige fordele takket være multitasking-karakteren af moderne operativsystemer. Til nogle formål er der dog en øvre praktisk grænse for, hvor mange kerner, der giver forbedringer i forhold til omkostningerne ved at tilføje dem.
Multi-Core teknologiske fremskridt
Multiple-core processorer har været tilgængelige i personlige computere siden begyndelsen af 2000'erne. Multi-core designs adresserede problemet med processorer, der rammer loftet over deres fysiske begrænsninger med hensyn til deres clockhastigheder og hvor effektivt de kunne køles og stadig bevare nøjagtigheden. Ved at flytte til ekstra kerner på en enkelt processorchip undgik producenterne problemer med clockhastighederne ved effektivt at multiplicere mængden af data, der kunne håndteres af CPU'en.
Da de oprindeligt blev udgivet, tilbød producenterne kun to kerner i en enkelt CPU, men nu er der muligheder for fire, seks og endda 10 eller flere. Ud over at tilføje kerner kan samtidige multithreading-teknologier - såsom Intels Hyper-Threading - fordoble de virtuelle kerner, som operativsystemet ser.
Processer og tråde
En proces er en specifik opgave, ligesom et program, der kører på en computer. En proces består af en eller flere tråde.
En tråd er simpelthen en enkelt strøm af data fra et program, der passerer gennem processoren på computeren. Hver applikation genererer sine egne en-eller-mange tråde afhængigt af, hvordan den kører. Uden multitasking kan en enkeltkerneprocessor kun håndtere en enkelt tråd ad gangen, så systemet skifter hurtigt mellem trådene for at behandle dataene på en tilsyneladende samtidig måde.
Fordelen ved at have flere kerner er, at systemet kan håndtere mere end én tråd samtidigt. Hver kerne kan håndtere en separat strøm af data. Denne arkitektur øger i høj grad ydeevnen af et system, der kører samtidige applikationer. Da servere har en tendens til at køre mange samtidige applikationer på et givet tidspunkt, blev teknologien oprindeligt udviklet til virksomhedskunden - men efterhånden som personlige computere blev mere komplekse og øget multitasking, fik de også fordel af at have ekstra kerner.
Hver proces er imidlertid styret af en primær tråd, der kun kan optage en enkelt kerne. Således er den relative hastighed af et program som et spil eller en videorenderer hårdt begrænset til kapaciteten af den kerne, som den primære tråd forbruger. Den primære tråd kan absolut uddelegere sekundære tråde til andre kerner - men et spil bliver ikke dobbelt så hurtigt, når du fordobler kernerne. Det er således ikke usædvanligt, at et spil fuldt ud maxer én kerne (den primære tråd), men kun ser delvis udnyttelse af andre kerner til sekundære tråde. Ingen mængde af core-dobling kommer uden om det faktum, at den primære kerne er en hastighedsbegrænser for din applikation, og apps, der er følsomme over for denne arkitektur, vil yde bedre end apps, der ikke er det.
Softwareafhængighed
Mens konceptet med multiple-core processorer lyder tiltalende, er der en væsentlig advarsel til denne teknologi. For at de sande fordele ved de flere processorer kan nydes, skal softwaren, der kører på computeren, være skrevet til at understøtte multithreading. Uden softwaren, der understøtter en sådan funktion, vil tråde primært blive kørt gennem en enkelt kerne, hvilket forringer computerens samlede effektivitet. Når alt kommer til alt, hvis det kun kan køre på en enkelt kerne i en quad-core processor, kan det faktisk være hurtigere at køre det på en dual-core processor med højere basisklokhastigheder.
Alle de store nuværende operativsystemer understøtter multithreading-funktion. Men multithreading skal også skrives ind i applikationssoftwaren. Understøttelsen af multithreading i forbrugersoftware er blevet forbedret gennem årene, men for mange simple programmer er multithreading-understøttelse stadig ikke implementeret på grund af kompleksiteten af softwareopbygningen. For eksempel vil et e-mailprogram eller en webbrowser sandsynligvis ikke se de store fordele ved multithreading så meget som et grafik- eller videoredigeringsprogram ville se, hvor computeren behandler komplekse beregninger.
Et godt eksempel til at forklare denne tendens er at se på et typisk computerspil. De fleste spil kræver en form for gengivelsesmotor for at vise, hvad der sker i spillet. Derudover styrer en form for kunstig intelligens begivenheder og karakterer i spillet. Med en enkeltkerne udføres begge opgaver ved at skifte mellem dem. Denne tilgang er ikke effektiv. Hvis systemet indeholdt flere processorer, kunne gengivelsen og AI hver især køre på en separat kerne - en ideel situation for en multi-core processor.
Is 8 > 4 > 2?
At gå ud over to kerner giver blandede fordele, da svaret for enhver given computerkøber afhænger af den software, han eller hun typisk bruger. For eksempel tilbyder mange klassiske spil stadig en lille ydelsesforskel mellem to og fire kerner. Selv moderne spil - hvoraf nogle angiveligt kræver eller understøtter otte kerner - yder muligvis ikke bedre end en maskine med seks kerner med en højere basisklokhastighed, da effektiviteten af den primære tråd styrer effektiviteten af multithreaded ydeevne.
På den anden side vil et videokodningsprogram, der omkoder video, sandsynligvis se enorme fordele, da individuel frame-gengivelse kan overføres til forskellige kerner og derefter samles i en enkelt strøm af softwaren. At have otte kerner vil således være endnu mere fordelagtigt end at have fire. I det væsentlige behøver den primære tråd ikke forholdsvis rige ressourcer; i stedet kan den drive det hårde arbejde ud til dattertråde, der maksimerer processorens kerner.
Clock Speeds
Samlet set vil en højere clockhastighed betyde en hurtigere processor. Urhastigheder bliver mere tågelige, når du overvejer hastigheder i forhold til flere kerner, fordi processorer knuser flere datatråde takket være de ekstra kerner, men hver af disse kerner vil køre ved lavere hastigheder på grund af de termiske begrænsninger.
F.eks. understøtter en dual-core-processor muligvis basisklokhastigheder på 3,5 GHz for hver processor, mens en quad-core-processor kun kan køre ved 3,0 GHz. Bare man ser på en enkelt kerne på hver af dem, er dual-core processoren 14 procent hurtigere end på quad-core. Så hvis du har et program, der kun er enkelt-trådet, er dual-core processoren faktisk mere effektiv. Så igen, hvis din software kan bruge alle fire processorer, så vil quad-core processoren faktisk være omkring 70 procent hurtigere end den dual-core processor.
Konklusioner
For det meste er det generelt bedre at have en højere core count processor, hvis din software og typiske use cases understøtter det. For det meste vil en dual-core eller quad-core processor være mere end nok strøm til en almindelig computerbruger. De fleste forbrugere vil ikke se nogen håndgribelige fordele ved at gå ud over fire processorkerner, fordi så lidt ikke-specialiseret software udnytter det. Den bedste anvendelse af processorer med højt antal kerner vedrører maskiner, der udfører komplekse opgaver såsom desktop videoredigering, nogle former for avanceret spil eller komplicerede naturvidenskabelige og matematikprogrammer.
Tjek vores tanker om, hvor hurtig en pc har jeg brug for? for at få en bedre idé om, hvilken type processor der bedst matcher dine computerbehov.