Jag har nyligen pratat med en vän om LaTeX-sammanställning. LaTeX kan bara använda en kärna för att kompilera. Så för hastigheten för LaTeX-kompilering, klockhastigheten av CPU: n är viktigast (se Tips för att välja hårdvara för bästa LaTeX-kompileringsprestanda )

Av nyfikenhet har jag letat efter Processorer med de högsta klockhastigheterna. Jag tror att det var Intel Xeon X5698 med 4,4 GHz ( källa ) som hade den högsta klockhastigheten.

Men denna fråga handlar inte om processorer som säljs. Jag skulle vilja veta hur snabbt det kan bli om du inte bryr dig om priset.

Så en fråga är: Finns det en fysisk gräns för CPU-hastighet? Hur hög är den?

Och den andra frågan är: Vad är den högsta CPU hastighet uppnått hittills?

Jag har alltid trott att CPU-hastigheten var begränsad eftersom kylning (så värme ) blir så svårt. Men min vän tvivlar på att detta är orsaken (när du inte behöver använda traditionella / billiga kylsystem, t.ex. i ett vetenskapligt experiment).

I [2] har jag läst att överföringsfördröjningar orsakar ytterligare en begränsning i CPU-hastigheten. Men de nämner inte hur snabbt det kan bli.

Vad jag har hittat

Om mig

Jag är en datavetenskaplig student. Jag vet något om processorn, men inte för mycket. Och ännu mindre om fysiken som kan vara viktig för denna fråga. Så kom ihåg det för dina svar, om det är möjligt.

Kommentarer

  • Din fråga är trevlig, förvänta dig mycket bra och utbildade svar. Mina två cent: implikationen ” den rinner bara av en kärna ” – > ” klockan är viktigast ” är inte sant.
  • Den aktuella posten för en överklockad CPU är AMD Bulldozer, på 8,4 GHz . Den kyldes med flytande kväve.
  • Även om rubriken på frågan är ” Vad begränsar CPU-hastigheten? ” det bör noteras att uttalandet: ” LaTeX kan bara använda en kärna att kompilera. Så för hastigheten för LaTeX-kompilering är klockhastigheten för CPU viktigast ” är inte nödvändigtvis sant. CPU-cache kan också göra skillnad. På grund av hur modernt CPU: er fungerar, kombinerat med det faktum att det finns olika CPU: er som har identiska frekvenser men olika cache-storlek (er) och hur programvaran skrevs och används, kan CPU-cache ha större inflytande på exekveringshastigheten än CPU-frekvensen. li>
  • Prestanda med en tråd är inte direkt proportionell mot klockhastigheten. förhållandet är mer komplext. Detta kan delvis maskeras av likheten mellan de senaste Intel x86-mikroarkitekturerna och mikroarkitekturförbättringar som kompenserar för några av kostnaderna för att öka frekvensen.
  • Jag föreslår att man jämför en 2 GHz-processor från 2004 med en 2 GHz-processor från 2014 du ’ kommer att upptäcka att de ’ inte är i samma ballpark även vid engängade uppgifter, och även när båda implementerar samma instruktionsuppsättning – CISC-instruktionerna som de ’ matas är en sak, men de mikrooperationer som dessa är uppdelade i är helt andra.

Svar

Praktiskt taget, vad som begränsar CPU-hastigheten är både den värme som genereras och grinden fördröjs, men vanligtvis blir värmen en mycket större fråga innan den senare sparkar in .

Nya processorer tillverkas med CMOS-teknik. Varje gång det är en klockcykel försvinner kraften. Därför innebär högre processorhastigheter mer värmeavledning.

http://en.wikipedia.org/wiki/CMOS

Här är några siffror:

Core i7-860 (45 nm) 2.8 GHz 95 W Core i7-965 (45 nm) 3.2 GHz 130 W Core i7-3970X (32 nm) 3.5 GHz 150 W 

ange bildbeskrivning här

Du kan verkligen se hur CPU-övergångseffekten ökar (exponentiellt!).

Dessutom finns det några kvanteffekter som sparkar in när storleken på transistorerna krymper. På nanometernivåer blir transistorgrindarna faktiskt ” läckande ”.

http://computer.howstuffworks.com/small-cpu2.htm

Jag kommer inte att ta reda på hur den här tekniken fungerar här, men jag är säker på att du kan använda Google för att slå upp dessa ämnen.

Okej nu för överföringsförseningar.

Varje ” kabel ” inuti CPU fungerar som en liten kondensator. Transistorns bas eller MOSFET-porten fungerar också som små kondensatorer. För att ändra spänningen på en anslutning måste du antingen ladda kabeln eller ta bort laddningen. När transistorer krymper blir det svårare att göra det. Detta är anledningen till att SRAM behöver förstärktransistorer, eftersom de faktiska minnesuppsättningstransistorerna är så små och svaga. bitcellerna har mycket små transistorer. Dessutom är de vanligtvis inbyggda i stora matriser, som har mycket stora bitlinjekapacitanser. Detta resulterar i en mycket långsam (relativt) urladdning av bitraden av bitcellen.

Från: Hur man implementerar SRAM sense-förstärkare?

I grund och botten är poängen att det är svårare för små transistorer att driva sammanlänkningarna.

Det finns också gate förseningar. Moderna processorer har mer än tio rörledningssteg, kanske upp till tjugo.

Prestandafrågor i rörledning

Det finns även induktiva effekter. Vid mikrovågsfrekvenser blir de ganska betydande. Du kan slå upp överhörning och den typen av saker.

Nu, även om du lyckas få en 3265810 THz-processor att fungera, är en annan praktisk gräns hur snabbt resten av systemet kan stödja den. Du måste antingen ha RAM, lagring, limlogik och andra sammankopplingar som fungerar lika snabbt, eller så behöver du en enorm cache.

Kommentarer

  • Du kanske vill inkludera en länk till den här diskussionen för fina referenser om hur klockhastighet och strömförbrukning relaterar: physics.stackexchange.com/questions/34766/…
  • Det finns ’ också elhastigheten att tänka på när man talar om överföringsfördröjningar sv.wikipedia.org/wiki/Speed_of_electricity
  • Ökar det faktiskt exponentiellt eller bara kvadratiskt? Faktum är att denna video säger att Power = Frequency ^ 1.74.
  • Bra poäng, dock en av de stora svårigheterna med CPU-design är sammankopplingarna. Ett fysiskt stort chip kan vara möjligt, men kom ihåg att dessa fungerar i gigahertz-området. Du vill hålla ledningarna korta.
  • Eftersom frågan är teoretisk kan det läggas till att andra halvledare, som Galliumarsenid, möjliggör högre frekvenser.

Svar

Värmeproblemet täcks väl av fuzzyhair . För att sammanfatta överföringsfördröjningarna, överväg detta: Tiden som behövs för att en elektrisk signal ska korsa moderkortet är nu mer än en klockcykel för en modern CPU. Att göra snabbare processorer kommer inte att åstadkomma mycket.

En supersnabb processor är egentligen bara fördelaktig i massiva antal-knäppprocesser, och då bara om din kod är noggrant optimerad för att göra sitt arbete Om det ofta måste gå någon annanstans för data går all den extra hastigheten till spillo. I dagens system kan majoriteten av uppgifterna köras parallellt och stora problem delas över flera kärnor.

Det låter som om din kompilationsprocess för latex skulle förbättras med:

  • Snabbare IO. Prova en RAMdisk.
  • Köra olika dokument på olika kärnor
  • Förväntar dig inte att ett 200-sidigt bildintensivt jobb ska göras i 2 sekunder

Kommentarer

  • Synd att jag bara får en uppröstning. Ditt svar förtjänar mer för att påpeka att klockfrekvensen kanske inte är flaskhalsen i OP ’ problem.

Svar

Det finns tre fysiska gränser: Värme, grindfördröjning och hastigheten för elektrisk överföring.

Världsrekordet med den högsta klockhastigheten hittills är (enligt denna länk) 8722,78 MHz

Elektrisk överföringshastighet (ungefär samma som ljusets hastighet) är den absoluta fysiska gräns, eftersom inga data kan överföras snabbare än dess medium. Samtidigt är denna gräns mycket hög, så det är vanligtvis inte en begränsande faktor.

CPU: er består av stora mängder portar, varav en hel del är anslutna seriellt (den ena efter den andra). En omkoppling från high state (t.ex. 1) till low state (t.ex. 0) eller vice versa tar en stund. Detta är portförseningen. Så om du har 100 portar anslutna seriellt och en tar 1 ns att byta, måste du vänta på minst 100 ns för att hela saken ska ge dig en giltig utgång.

Dessa växlar är det som tar mest kraft på en CPU. Detta innebär att om du ökar klockhastigheten får du fler strömbrytare och därmed använder mer kraft vilket ökar värmeeffekten.

Överspänning (= > ger mer effekt) minskar portfördröjningen lite men ökar åter värmeeffekten.

Någonstans runt 3 GHz strömförbrukningen till klockhastighet ökar extremt. Det är därför 1,5 GHz-processorer kan köras på en smart telefon medan de flesta 3-4 GHz-processorer inte ens kan köras på en bärbar dator.

Men klockhastighet är inte det enda som kan påskynda en CPU, även optimeringar vid rörledningen eller mikrokodarkitekturen kan orsaka en betydande hastighet. Det är därför en 3 GHz Intel i5 (Dualcore) är flera gånger så snabb som en 3 GHz Intel Pentium D (Dualcore).

Kommentarer

  • Bara överklockning ökar CPU-strömförbrukningen linjärt. Så dubbel klockhastighet betyder dubbelt strömförbrukning. Men vid högre klockhastigheter blir grindarna för långsamma för att arbeta med den klockhastigheten och du börjar få beräkningsfel – > slumpmässiga kraschar. Så du måste öka spänningen för att påskynda grindarna. Effektanvändningen skalas helt jämfört med spänningen. Så dubbla spänningen betyder fyra gånger strömförbrukningen. Lägg till det för att dubbla klockan så får du åtta gånger strömförbrukningen. Även den nödvändiga spänningen ökar exponentiellt med klockhastigheten. sv.wikipedia.org/wiki/CPU_power_dissipation
  • Det andra problemet här är att överspänning bara kan steka din processor och det finns inget som kan göras mot det. Om din CPU är specificerad för t.ex. 3.3V kan du kanske gå upp till 3.7 eller kanske till och med 4V men om du går till högt kommer det bara att förstöra chipet. En annan länk värt att läsa: en.wikipedia.org/wiki/CPU_core_voltage
  • Överföringshastighet är ett problem: vid 3Ghz får du bara 10 cm / cykel. Eftersom ett typiskt processormunstycke för närvarande har 300m ², tror jag att man efter 10 GHz måste tänka om processordesign eftersom det förmodligen inte alla delar av chipet kan nås i en cykel. / li>
  • @MartinSchr ö der: Det är inte så mycket av ett problem, eftersom (a) CPU dör på grund av värme- och grindfördröjning innan 10 GHz uppnås och (b) processorer blir mindre för varje generation. Till exempel har en 6-kärnig i7 med hypertråd ungefär samma storlek som en enda Pentium 4. Men i7 har 6 fulla kärnor och ytterligare 6 ” halvkärnor ” för hypertrådning. Det finns också cachen. Dessa kärnor är också uppdelade i rörledningsfaser. Endast delarna av CPU: n i en kärna och en pipeline-fas (och kanske L1-cache) behöver nås i en cykel.
  • @ com.prehensible Inlägget du länkade talar faktiskt specifikt om faktum , att denna 500 GHz-transistor är ” endast ” en analog transistor som används för analog RF-undertryckning. Det är inte på något sätt en datorprocessor.

Svar

Svaren på dina frågor är: Ja , det finns en fysisk gräns till CPU-hastighet. Den högsta teoretiska gränsen kommer att ställas in av hur snabbt en ”switch” kan växla mellan tillstånd. Om vi använder elektronen som grund för omkopplaren använder vi Bohr-radien $$ r = 5.291 \ gånger 10 ^ {- 11} $$ och den snabbaste möjliga hastigheten $$ c = 3 \ gånger 10 ^ 8, $$ för att beräkna frekvensen $$ F = \ frac {1} {t} = \ frac {c} {2} \ pi r = 9.03 \ gånger 10 ^ {17} \ text {Hz} $$ Vid nuvarande teknikens tillstånd, den faktiska gränsen är ca $$ 8 \ gånger 10 ^ 9 \ text {Hz} $$

Kommentarer

  • Jag gjorde några ändringar i din LaTeX. Kan du kontrollera om ändringen av frekvensen var korrekt?
  • Hur kom du fram till det nuvarande teknikgränsen?
  • Du skulle också bygga den snabbast möjliga datorn på Schwarzschild radie av ett svart hål för maximal effekt. Bohr-radien är mycket stor att arbeta med i höga hastigheter. 🙂

Svar

Så en fråga är: Finns det en fysisk gräns för CPU-hastigheten?

Det beror mycket på själva CPU: n. Tillverkningstoleranser resulterar i att den fysiska gränsen är lite annorlunda för varje chip även från samma skiva.

överföringsfördröjningar orsakar ytterligare en begränsning i CPU-hastigheten. Men de nämner inte hur snabbt det kan bli.

Det beror på att transmission delay eller speed path length är ett val för chipets designer att göra. I ett nötskal är det hur mycket arbete logiken gör i en enda klockcykel . Mer komplex logik resulterar i långsammare maximala klockfrekvenser, men använder också mindre ström.

Det är därför du vill använda ett riktmärke för att jämföra processorer. Arbetet per cykelnummer är väldigt olika, så att jämföra rå MHz kan ge dig en felaktig uppfattning.

Svar

Det är praktiskt taget definitivt den termiska effekten, som är ungefär proportionell mot spänningens kvadrat: http://en.wikipedia.org/wiki/Thermal_design_power#Overview . Varje material har sin specifika värmekapacitet som begränsar kylningseffektiviteten.

Med tanke på de tekniska problemen med kylnings- och överföringsfördröjning, hittar du ljusets hastighet som begränsar avståndet som en signal kan resa inom vår CPU per sekund . Därför måste CPU: n bli mindre ju snabbare den fungerar.

Slutligen, utöver en viss frekvens kan CPU bli transparent för de elektroniska vågfunktionerna (elektroner modellerade som vågfunktioner efter Schrödingers ekvation).

2007 beräknade vissa fysiker en grundläggande gräns för drifthastigheter: http://journals.aps.org/prl/abstract/10.1103/PhysRevLett.99.110502

Svar

Förutom alla andra svar finns det också några andra överväganden som kanske inte påverkar CPU-hastigheten direkt men gör att man bygger något kring det CPU ganska svårt;

Kort sagt, ovanför DC blir radiofrekvensen ett problem. Ju snabbare du går, desto mer benägna är allt att fungera som en gigantisk radio. Detta innebär att PCB-spår lider av överhörning, effekterna av deras inneboende kapacitet / induktans med intilliggande spår / markplan, buller etc. etc. etc.

Ju snabbare du går, desto värre blir allt detta – komponentben kan introducera unacce ptable induktans till exempel.

Om du tittar på riktlinjerna för att lägga ut ”grundläggande” kretskort av typen av en Raspberry Pi med lite DDR RAM, alla spår för databussen etc. måste ha samma längd, ha korrekt avslutning etc. och att det går långt under 1 GHz.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *