Jeg har for nylig talt med en ven om LaTeX-kompilering. LaTeX kan kun bruge en kerne til at kompilere. Så for hastigheden af LaTeX-kompilering er urets hastighed af CPUen er vigtigst (se Tips til valg af hardware til den bedste LaTeX-kompilering ydeevne )
Af nysgerrighed har jeg ledt efter CPUer med de højeste urhastigheder. Jeg tror, det var Intel Xeon X5698 med 4,4 GHz ( kilde ), der havde den højeste klokkehastighed.
Men dette spørgsmål handler ikke om CPUer der bliver solgt. Jeg vil gerne vide, hvor hurtigt det kan blive, hvis du ikke er ligeglad med prisen.
Så et spørgsmål er: Er der en fysisk grænse for CPU-hastighed? Hvor høj er den?
Og det andet spørgsmål er: Hvad er den højeste CPU hastighed nået indtil nu?
Jeg har altid troet, at CPU-hastigheden var begrænset, fordi afkøling (så varme ) bliver så vanskelig. Men min ven tvivler på, at dette er grunden (når du ikke behøver at bruge traditionelle / billige kølesystemer, f.eks. I et videnskabeligt eksperiment).
I [2] har jeg læst, at transmissionsforsinkelser forårsager en anden begrænsning i CPU-hastigheden. Dog nævner de ikke, hvor hurtigt det kan komme.
Hvad jeg har fundet
- [1] Forskere finder grundlæggende maksimumsgrænse for processorhastigheder : Ser ud til kun at være om kvantecomputere, men dette spørgsmål handler om “traditionelle” CPUer.
- [2] Hvorfor er der grænser for CPU-hastighed?
Om mig
Jeg er studerende på datalogi. Jeg ved noget om CPUen, men ikke for meget. Og endnu mindre om den fysik, der kan være vigtig for dette spørgsmål. Så husk det på dine svar, hvis det er muligt.
Kommentarer
- Dit spørgsmål er godt, forvent nogle meget gode og veluddannede svar. Mine to cent: implikationen ” den løber kun af en kerne ” – > ” uret er vigtigst ” er ikke sandt.
- Den aktuelle post for en overclocked CPU er AMD Bulldozer kører ved 8,4 GHz . Den blev afkølet med flydende nitrogen.
- Selvom titlen på spørgsmålet er ” Hvad begrænser CPU-hastighed? ” det skal bemærkes, at udsagnet: ” LaTeX kun kan bruge en kerne at kompilere. Så for hastigheden af LaTeX-kompilering er CPU-urets hastighed vigtigst ” er ikke nødvendigvis sandt. CPU-cache kan også gøre en forskel. På grund af hvor moderne CPUer fungerer kombineret med det faktum, at der er forskellige CPUer, der har identiske frekvenser, men forskellige (r) cache-størrelse (r) og hvordan softwaren blev skrevet og bruges, kan CPU-cache muligvis have en større indflydelse på eksekveringshastighed end CPU-frekvens. li>
- Ydelse med en enkelt tråd er ikke direkte proportional med urets hastighed; forholdet er mere komplekst. Dette kan delvis maskeres af ligheden mellem nylige Intel x86 mikroarkitekturer og mikroarkitektoniske forbedringer, der kompenserer for nogle af omkostningerne ved stigende frekvens.
- Jeg foreslår at sammenligne en 2004 2 GHz processor med en 2014 2 GHz processor; du ‘ finder ud af, at de ‘ ikke er i den samme ballpark, selv ved enkelt-trådede opgaver, og selv når begge implementerer det samme instruktionssæt – CISC-instruktionerne, de ‘ er fodret, er en ting, men de mikrooperationer, som disse er opdelt i, er en helt anden.
Svar
Det, der begrænser CPU-hastigheden, er praktisk taget både den genererede varme og porten forsinkes, men normalt bliver varmen et langt større problem, før sidstnævnte sparker ind .
Nyere processorer fremstilles ved hjælp af CMOS-teknologi. Hver gang der er en urcyklus, forsvinder strømmen. Derfor betyder højere processorhastigheder mere varmeafledning.
http://en.wikipedia.org/wiki/CMOS
Her er nogle tal:
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
Dig kan virkelig se, hvordan CPU-overgangseffekten øges (eksponentielt!).
Der er også nogle kvanteeffekter, som sparker ind, når størrelsen på transistorer krymper. På nanometerniveauer bliver transistorporte faktisk ” utæt “.
http://computer.howstuffworks.com/small-cpu2.htm
Jeg kommer ikke ind på, hvordan denne teknologi fungerer her, men jeg er sikker på, at du kan bruge Google til at slå op disse emner.
Okay, nu for transmission forsinkelser.
Hver ” ledning ” inde i CPUen fungerer som en lille kondensator. Også basen af transistoren eller porten til MOSFET fungerer som små kondensatorer. For at ændre spændingen på en forbindelse skal du enten oplade ledningen eller fjerne opladningen. Når transistorer krymper, bliver det sværere at gøre det. Dette er grunden til, at SRAM har brug for forstærkningstransistorer, fordi de faktisk hukommelses-array-transistorer er så små og svage.
I typiske IC-design, hvor tæthed er meget vigtigt bitcellerne har meget små transistorer. Derudover er de typisk indbygget i store arrays, som har meget store bit-line kapaciteter. Dette resulterer i en meget langsom (relativt) afladning af bitlinjen af bitcellen.
Fra: Hvordan implementeres SRAM sense-forstærker?
Grundlæggende er pointen, at det er sværere for små transistorer at drive forbindelserne.
Der er også gate forsinkelser. Moderne CPUer har mere end ti pipelinetrin, måske op til tyve.
Der er også induktive virkninger. Ved mikrobølgefrekvenser bliver de ret betydelige. Du kan slå op på krydstale og den slags ting.
Nu, selvom det lykkes dig at få en 3265810 THz-processor til at fungere, er en anden praktisk grænse, hvor hurtigt resten af systemet kan understøtte det. Du skal enten have RAM, opbevaring, limlogik og andre sammenkoblinger, der fungerer lige så hurtigt, ellers har du brug for en enorm cache.
Kommentarer
- Du vil måske medtage et link til denne diskussion for at få gode referencer til, hvordan urets hastighed og strømforbrug relaterer sig til: physics.stackexchange.com/questions/34766/…
- Der ‘ er også hastigheden på elektricitet, der skal overvejes, når vi taler om transmissionforsinkelser da.wikipedia.org/wiki/Speed_of_electricity
- Stiger det faktisk eksponentielt eller bare kvadratisk? Faktisk siger denne video , at
Power = Frequency ^ 1.74
. - Godt punkt dog en af de største vanskeligheder i CPU-design er forbindelserne. En fysisk stor chip kan være mulig, men husk at disse fungerer i gigahertz-området. Du vil holde ledningerne korte.
- Da spørgsmålet er teoretisk, kan det tilføjes, at andre halvledere, såsom Galliumarsenid, giver mulighed for højere frekvenser.
Svar
Varmeproblemet er godt dækket af fuzzyhair . For at opsummere transmissionsforsinkelserne skal du overveje dette: Den tid, der kræves for et elektrisk signal til at krydse bundkortet, er nu mere end en urcyklus for en moderne CPU. At lave hurtigere CPUer vil ikke opnå meget.
En superhurtig processor er virkelig kun gavnlig i massive antal-knasende processer, og så kun hvis din kode er nøje optimeret til at udføre sit arbejde på- Hvis det ofte skal gå andre steder for data, spildes den ekstra hastighed. I dagens systemer kan størstedelen af opgaverne køres parallelt, og store problemer opdeles over flere kerner.
Det lyder ligesom din latex-kompileringsproces ville blive forbedret ved:
- Hurtigere IO. Prøv en RAMdisk.
- Kørsel af forskellige dokumenter på forskellige kerner
- Forventer ikke, at der udføres et 200-siders billedintensivt job i 2 sekunder
Kommentarer
- Alt for dårlig, jeg har kun tilladelse til en opstemning. Dit svar fortjener mere for at påpege, at clock-rate muligvis ikke er flaskehalsen i OP ‘ s problem.
Svar
Der er tre fysiske grænser: Varme, portforsinkelse og el-transmissionens hastighed.
Verdensrekorden med den hidtil højeste urhastighed er (ifølge dette link) 8722,78 MHz
Elektrisk transmissionens hastighed (omtrent det samme som lysets hastighed) er den absolutte fysiske grænse, da ingen data kan overføres hurtigere end dens medium. Samtidig er denne grænse meget høj, så det er normalt ikke en begrænsende faktor.
CPUer består af enorme mængder porte, hvoraf en hel del er forbundet serielt (den ene efter den anden). En switch fra høj tilstand (f.eks. 1) til lav tilstand (f.eks. 0) eller omvendt tager et stykke tid. Dette er portforsinkelsen. Så hvis du har tilsluttet 100 porte serielt, og en tager 1 ns at skifte, bliver du nødt til at vente på mindst 100 ns for, at det hele giver dig et gyldigt output.
Disse switche er det, som tager mest strøm på en CPU. Det betyder, at hvis du øger klokkehastigheden, får du flere kontakter, og brug mere strøm og øg dermed varmeeffekten.
Overspænding (= > giver mere strøm) mindsker portforsinkelsen en smule, men øger igen varmeydelsen.
Et eller andet sted omkring 3 GHz strømforbruget til urets hastighed stiger ekstremt. Dette er grunden til, at 1,5 GHz-CPUer kan køre på en smartphone, mens de fleste 3-4 GHz-CPUer ikke engang kan køres på en bærbar computer.
Men urets hastighed er ikke det eneste, der kan fremskynde en CPU, også optimeringer ved rørledningen eller mikrokodearkitekturen kan forårsage en betydelig hastighed. Dette er grunden til, at en 3 GHz Intel i5 (Dualcore) er flere gange så hurtig som en 3 GHz Intel Pentium D (Dualcore).
Kommentarer
- Bare overclocking øger CPU-strømforbruget lineært. Så dobbelt hastighed betyder dobbelt strømforbrug. Men ved højere urhastigheder bliver portene for langsomme til at arbejde med den urhastighed, og du begynder at få beregningsfejl – > tilfældige nedbrud. Så du er nødt til at øge spændingen for at fremskynde portene. Strømforbrug skaleres helt i forhold til spændingen. Så dobbelt spænding betyder fire gange strømforbruget. Tilføj det for at fordoble uret, og du får otte gange strømforbruget. Også den nødvendige spænding stiger eksponentielt med urets hastighed. da.wikipedia.org/wiki/CPU_power_dissipation
- Det andet problem her er, at overspænding bare kan stege din CPU, og der er ikke noget, der kan gøres imod det. Hvis din CPU er specificeret til f.eks. 3.3V kan du muligvis gå op til 3.7 eller måske endda 4V, men hvis du går for højt, ødelægger det bare chippen. Et andet link, der er værd at læse: da.wikipedia.org/wiki/CPU_core_voltage
- Transmissionshastighed er et problem: ved 3Ghz får du kun 10 cm / cyklus. Da en typisk processorform i øjeblikket har 300m ², tror jeg, at man efter 10 Ghz bliver nødt til at genoverveje processordesign, da sandsynligvis ikke alle dele af chippen kan nås i en cyklus. / li>
- @MartinSchr ö der: Det er ikke så meget af et problem, da (a) CPUen dør på grund af varme- og gateforsinkelse inden 10 GHz nås og (b) processorer bliver mindre for hver generation. For eksempel har en 6-kerne i7 med hypertråd omtrent samme størrelse som en enkelt Pentium 4. Men i7 har 6 fulde kerner og 6 mere ” halvkerner ” til hypertrådning. Der er også cachen. Disse kerner er også opdelt i rørledningsfaser. Kun delene af CPUen i en kerne og en pipeline-fase (og måske L1-cachen) skal nås i en cyklus.
- @ com.prehensible Det indlæg, du linkede, taler faktisk specifikt om det faktum , at denne 500 GHz-transistor kun er ” ” en analog transistor, der anvendes til analog RF-undertrykkelse. Det er på ingen måde en computerprocessor.
Svar
Svarene på dine spørgsmål er: Ja , der er en fysisk grænse for CPU-hastighed. Den højeste teoretiske grænse vil blive indstillet af hvor hurtigt en “switch” kan skifte tilstand. Hvis vi bruger elektronen som basis for kontakten, bruger vi Bohr-radius $$ r = 5.291 \ gange 10 ^ {- 11} $$ og den hurtigst mulige hastighed $$ c = 3 \ gange 10 ^ 8, $$ for at beregne frekvensen $$ F = \ frac {1} {t} = \ frac {c} {2} \ pi r = 9,03 \ gange 10 ^ {17} \ tekst {Hz} $$ Ved nuværende teknologitilstand, den faktiske grænse er ca. $$ 8 \ gange 10 ^ 9 \ text {Hz} $$
Kommentarer
- Jeg lavede et par redigeringer af din LaTeX. Kan du venligst kontrollere, om redigering af hyppighed var korrekt?
- Hvordan kom du på den nuværende teknologistatusgrænse?
- Du ville også bygge den hurtigst mulige computer på Schwarzschild radius af et sort hul for maksimal effekt. Bohr-radiusen er meget stor at arbejde med i høje hastigheder. 🙂
Svar
Så et spørgsmål er: Er der en fysisk grænse for CPU-hastighed?
Det afhænger meget af selve CPUen. Produktionstolerancer resulterer i, at den fysiske grænse er lidt anderledes for hver chip, selv fra den samme wafer.
transmissionforsinkelser forårsager en anden begrænsning i CPU-hastigheden. De nævner dog ikke, hvor hurtigt det kan komme.
Det skyldes, at transmission delay
eller speed path length
er et valg, som designeren af chippen skal foretage. Kort sagt er det, hvor meget arbejde logikken udfører i en enkelt urcyklus. Mere kompleks logik resulterer i langsommere maksimale urhastigheder, men bruger også mindre strøm.
Dette er grunden til, at du vil bruge et benchmark til at sammenligne CPUer. Arbejdet pr. Cyklusnumre er meget forskellige, så sammenligning af rå MHz kan give dig en forkert idé.
Svar
Praktisk er det bestemt den termiske effekt, som er omtrent proportional med kvadratet af spændingen: http://en.wikipedia.org/wiki/Thermal_design_power#Overview . Hvert materiale har sin specifikke varmekapacitet, som begrænser køleeffektiviteten.
Når man ikke overvejer de tekniske problemer med køle- og transmissionsforsinkelse, finder du lysets hastighed, der begrænser den afstand et signal kan køre inden for vores CPU pr. Sekund . Derfor skal CPUen blive mindre, jo hurtigere den fungerer.
Endelig kan CPUen ud over en bestemt frekvens blive gennemsigtig for de elektroniske bølgefunktioner (elektroner modelleret som bølgefunktioner efter Schrödingers ligning).
I 2007 beregnede nogle fysikere en grundlæggende grænse for driftshastigheder: http://journals.aps.org/prl/abstract/10.1103/PhysRevLett.99.110502
Svar
Ud over alle de andre svar er der også et par andre overvejelser, som muligvis ikke påvirker CPU-hastigheden direkte, men gør bygningen noget omkring det CPU ganske vanskeligt;
Kort sagt, over DC bliver radiofrekvensen et problem. Jo hurtigere du går, jo mere tilbøjelig er alt til at fungere som en kæmpe radio. Dette betyder, at PCB-spor lider af krydstale, effekterne af deres iboende kapacitans / induktans med tilstødende spor / jordplan, støj osv. osv. osv.
Jo hurtigere du går, jo værre bliver alt dette – komponentben kan introducere unacce ptabelinduktans for eksempel.
Hvis du ser på retningslinjerne for udlægning af “grundlæggende” PCBer af den slags niveau af en Raspberry Pi med noget DDR RAM, alle sporene til databussen osv. skal være af samme længde, have korrekt opsigelse osv. og det kører langt under 1 GHz.