Hvordan beregner du prosessorhastighet på flerkjernede prosessorer?

Nov 1, 2024
Maskinvare

Fremkomsten av økonomiske prosessorer med flere kjerner, som reiser forbruker, reiser spørsmålet for mange brukere: hvordan beregner du effektivt den virkelige hastigheten til et flerkjernesystem? Er et 4-kjerners 3Ghz-system virkelig 12Ghz? Les videre når vi undersøker.

Dagens spørsmål og svar-økt kommer til oss med tillatelse fra SuperUser - en underavdeling av Stack Exchange, en grupperingsgruppering av spørsmål og svar-nettsteder.

Spørsmålet

SuperUser-leser NReilingh var nysgjerrig på hvordan prosessorhastigheten for et flerkjernesystem faktisk beregnes:

Er det riktig å si for eksempel at en prosessor med fire kjerner hver som kjører på 3GHz faktisk er en prosessor som kjører på 12 GHz?

Jeg kom en gang inn i et "Mac vs. PC" -argument (som forresten IKKE er fokus for dette emnet ... som var tilbake på ungdomsskolen) med en bekjent som insisterte på at Mac-maskiner bare ble annonsert som 1 GHz-maskiner fordi de var doble -prosessor G4s som hver kjører på 500 MHz.

På det tidspunktet visste jeg at dette var hogwash av grunner som jeg tror er tydelig for folk flest, men jeg så nettopp en kommentar på dette nettstedet til effekten av "6 kjerner x 0,2 GHz = 1,2 GHz" og det fikk meg til å tenke igjen det er et reelt svar på dette.

Så dette er et mer eller mindre filosofisk / dypt teknisk spørsmål om semantikken til klokkehastighetsberegning. Jeg ser to muligheter:

  1. Hver kjerne gjør faktisk x beregninger per sekund, og dermed er totalt antall beregninger x (kjerner).
  2. Klokkehastighet er snarere en telling av antall sykluser prosessoren går gjennom i løpet av et sekund, så så lenge alle kjerner kjører med samme hastighet, forblir hastigheten til hver klokkesyklus den samme uansett hvor mange kjerner som eksisterer . Med andre ord, Hz = (core1Hz + core2Hz + ...) / kjerner.

Så hva er den riktige måten å betegne den totale klokkehastigheten, og enda viktigere, er det til og med mulig å bruke enkjerners hastighetsnomenklatur på et flerkjernesystem?

Svaret

SuperUser-bidragsytere Mokubai hjelper med å rydde opp i ting. Han skriver:

Hovedårsaken til at en firekjerners 3GHz-prosessor aldri er så rask som en 12 GHz enkeltkjerne, er å gjøre med hvordan oppgaven som kjører på den prosessoren fungerer, dvs. enkelttrådet eller flertrådet. Amdahls lov er viktig når du vurderer hvilke typer oppgaver du kjører.

Hvis du har en oppgave som iboende er lineær og må gjøres nøyaktig trinnvis, for eksempel (et grovt enkelt program)

10: a = a + 1
20: Hver 10.

Da avhenger oppgaven sterkt av resultatet av forrige pass, og kan ikke kjøre flere kopier av seg selv uten å ødelegge verdien av 'en' som hvert eksemplar ville få verdien av 'en' til forskjellige tider og skrive det tilbake annerledes. Dette begrenser oppgaven til en enkelt tråd, og dermed kan oppgaven bare kjøre på en enkelt kjerne til enhver tid, hvis den skulle kjøres på flere kjerner, ville synkroniseringskorrupsjonen skje. Dette begrenser den til 1/2 av CPU-effekten til et dual core system, eller 1/4 i et quad core system.

Ta nå en oppgave som:

10: a = a + 1
20: b = b + 1
30: c = c + 1
40: d = d + 1
50: Hver 10.

Alle disse linjene er uavhengige og kan deles i fire separate programmer som den første og kjøres samtidig, hver i stand til å utnytte den fulle kraften til en av kjernene effektivt uten synkroniseringsproblemer, det er her Amdahls lov kommer inn i det.

Så hvis du har en enkelt gjenget applikasjon som gjør brute force-beregninger, vil den ene 12 GHz-prosessoren vinne hendene, hvis du på en eller annen måte kan gjøre oppgaven delt i separate deler og flertrådet, kan de 4 kjernene komme nær, men ikke helt rekkevidde, samme forestilling, som i henhold til Amdahls lov.

Det viktigste som et multi-CPU-system gir deg, er respons. På en enkeltkjernemaskin som jobber hardt, kan systemet virke tregt, ettersom det meste av tiden kan brukes av en oppgave, og de andre oppgavene bare kjører i korte brister mellom den større oppgaven, noe som resulterer i et system som virker tregt eller dømmende . På et flerkjernesystem får den tunge oppgaven en kjerne, og alle de andre oppgavene spiller på de andre kjernene, og gjør jobbene sine raskt og effektivt.

Argumentet "6 kjerner x 0,2 GHz = 1,2 GHz" er søppel i alle situasjoner, bortsett fra der oppgavene er helt parallelle og uavhengige. Det er et stort antall oppgaver som er svært parallelle, men de krever fortsatt en eller annen form for synkronisering. Håndbrekk er en videokonverterer som er veldig flink til å bruke alle tilgjengelige CPUer, men det krever en kjerneprosess for å holde de andre trådene fylt med data og samle inn dataene de er ferdig med.

  1. Hver kjerne gjør faktisk x beregninger per sekund, og dermed er totalt antall beregninger x (kjerner).

Hver kjerne er i stand til å gjøre x beregninger per sekund, forutsatt at arbeidsmengden er egnet parallell, på et lineært program er alt du har en kjerne.

  1. Klokkehastighet er snarere en telling av antall sykluser prosessoren går gjennom i løpet av et sekund, så så lenge alle kjerner kjører med samme hastighet, forblir hastigheten til hver klokkesyklus den samme uansett hvor mange kjerner som eksisterer . Med andre ord, Hz = (core1Hz + core2Hz + ...) / kjerner.

Jeg tror det er en feilslutning å tenke at 4 x 3GHz = 12 GHz, gitt at matematikken fungerer, men du sammenligner epler med appelsiner, og summene er bare ikke riktige, GHz kan ikke bare legges sammen for enhver situasjon. Jeg vil endre det til 4 x 3GHz = 4 x 3GHz.

Har du noe å legge til forklaringen? Hør av i kommentarene. Vil du lese flere svar fra andre teknologikyndige Stack Exchange-brukere? Sjekk ut hele diskusjonstråden her .

.post-innhold .inngangs-bunntekst

TopSolid Cam 7 And Multi-core Processors

Does CPU Clock Speed Actually Matter?

Windows 7 | How To Increase Your Processor's Speed

How To Check CPU Or Processor Speed & Type On Your PC

CPU Core Count Vs Clock Speed: What Matters More?


Maskinvare - Mest populære artikler

Hva er en XLR-mikrofon, og hvorfor vil jeg ha en?

Maskinvare Mar 14, 2025

Cameron Summerson Nylig kunngjorde mikrofonprodusenten Blue en profesjonell studiomikrofon på $ 100, The Menneskelig . Så spørsmålet oppsto..


Hva er et lokalt nettverk (LAN)?

Maskinvare Jul 12, 2025

Enkelt sagt er et LAN (Local Area Network) en gruppe datamaskiner og andre enheter som er koblet sammen over et nettverk og som alle er på samme sted - vanligvis i en enkelt bygnin..


Alt du trenger å vite om å komme i gang med Raspberry Pi

Maskinvare Oct 30, 2025

Nå over fire år gammel har Raspberry Pi, en billig datamaskin med kredittkortstørrelse, tatt databehandlingen og gjør-det-selv-verdenen med storm. Les videre når vi veileder de..


Slik styrer du Sonos med Apple Watch

Maskinvare Apr 29, 2025

UCACHED INNHOLD Mens vi liker Sonos-spilleren for sin utmerkede funksjonalitet og brukervennlighet på tvers av en rekke enheter, mangler den dessverre en offisiell Apple Watch-ap..


Advarsel: Alle kan gjenopprette slettede filer fra USB-stasjoner og eksterne SSD-er

Maskinvare Jun 8, 2025

Det er vanlig visdom at slettede filer ikke kan gjenopprettes fra solid state media, bare fra tradisjonelle mekaniske harddisker. Men dette gjelder bare interne stasjoner - USB-minn..


How-To Geek's Holiday Gift Guide 2013: The Best Gadgets and Gear

Maskinvare Sep 10, 2025

UCACHED INNHOLD Thanksgiving er bak oss, og de fleste lager listene sine og sjekker dem to ganger som forberedelse til den kommende ferien. Hvilke dingser skal du snappe etter ven..


HTG vurderer Doxie Go: Enkel datamaskinløs skanning

Maskinvare Jan 9, 2025

Bærbare skannere er ikke helt splitter ny teknologi, så hva gjør Doxie Go bærbar skanner spesiell? Les videre når vi tar en til en prøvekjøring, viser deg hvordan du setter d..


Tiny DIY vanntette LED-lys perfekt for sommerfester

Maskinvare Apr 19, 2025

UCACHED INNHOLD Hvis du leter etter en ny måte å belyse et uteområde på, er disse små, vanntette og praktisk talt uforgjengelige LED-lampene perfekte for å drysse rundt i hagen di..


Kategorier