Ik “heb onlangs met een vriend gesproken over LaTeX-compilatie. LaTeX kan slechts één kern gebruiken om te compileren. Dus voor de snelheid van LaTeX-compilatie, de kloksnelheid van de CPU is het belangrijkst (zie Tips voor het kiezen van hardware voor de beste LaTeX-compileerprestaties )

Uit nieuwsgierigheid heb ik gezocht naar CPUs met de hoogste kloksnelheden. Ik denk dat het Intel Xeon X5698 met 4,4 GHz ( source ) was die de hoogste kloksnelheid had.

Maar deze vraag gaat niet over CPUs die worden verkocht. Ik zou graag willen weten hoe snel het kan zijn als de prijs u niets kan schelen.

Dus een vraag is: Is er een fysieke limiet aan CPU-snelheid? Hoe hoog is het?

En de andere vraag is: Wat is de hoogste CPU snelheid bereikt tot nu toe?

Ik “heb altijd gedacht dat de CPU-snelheid beperkt was vanwege koeling (dus heat ) wordt zo moeilijk. Maar mijn vriend betwijfelt of dit de reden is (wanneer je geen traditionele / goedkope koelsystemen hoeft te gebruiken, bijvoorbeeld in een wetenschappelijk experiment).

In [2] heb ik gelezen dat transmissievertragingen veroorzaken een andere beperking van de CPU-snelheid. Ze vermelden echter niet hoe snel het kan gaan.

Wat ik heb gevonden

Over mij

Ik ben een student computerwetenschappen. Ik weet iets over de CPU, maar niet te veel. En nog minder over de fysica die mogelijk belangrijk is voor deze vraag. Houd hier dus rekening mee voor uw antwoorden, als het mogelijk is.

Opmerkingen

  • Uw vraag is goed, verwacht een aantal zeer goede en goed opgeleide antwoorden. Mijn twee cent: de implicatie ” het loopt uit slechts één kern ” – > ” klok is het belangrijkst ” is niet waar.
  • Het huidige record voor een overgeklokte CPU is de AMD Bulldozer, draaiend op 8,4 GHz . Hij werd gekoeld met vloeibare stikstof.
  • Hoewel de titel van de vraag ” Wat beperkt de CPU-snelheid? ” er moet worden opgemerkt dat de instructie: ” LaTeX er maar één kan gebruiken core om te compileren. Dus voor de snelheid van LaTeX-compilatie is de kloksnelheid van de CPU het belangrijkst ” is niet noodzakelijk waar. CPU-cache kan ook een verschil maken. Vanwege hoe modern CPUs werkt, gecombineerd met het feit dat er verschillende CPUs zijn met identieke frequenties maar verschillende cache (s) grootte (s) en hoe de software is geschreven en wordt gebruikt, kan de CPU-cache een grotere invloed hebben op de uitvoeringssnelheid dan de CPU-frequentie.
  • De prestaties van één thread zijn niet recht evenredig met de kloksnelheid; de relatie is complexer. Dit kan gedeeltelijk worden gemaskeerd door de gelijkenis van recente Intel x86-microarchitecturen met microarchitectuurverbeteringen die een deel van de kosten van toenemende frequentie compenseren.
  • Ik stel voor om een 2GHz-processor uit 2004 te vergelijken met een 2GHz-processor uit 2014; je ‘ zal ontdekken dat ze ‘ niet in hetzelfde veld zitten, zelfs niet bij taken met één thread, en zelfs wanneer beide hetzelfde implementeren instructieset – de CISC-instructies die ze ‘ opnieuw hebben ingevoerd, zijn één ding, maar de microoperaties waarin ze worden opgesplitst zijn iets heel anders.

Answer

Wat de CPU-snelheid in de praktijk beperkt, is zowel de gegenereerde warmte als de gate-vertragingen, maar meestal wordt de hitte een veel groter probleem voordat de laatste begint .

Recente processors worden vervaardigd met behulp van CMOS-technologie. Elke keer dat er een klokcyclus is, wordt het vermogen gedissipeerd. Daarom betekent hogere processorsnelheden meer warmteafvoer.

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

Hier zijn enkele cijfers:

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 

voer hier een afbeeldingbeschrijving in

kan echt zien hoe het CPU-overgangsvermogen toeneemt (exponentieel!).

Er zijn ook enkele kwantumeffecten die optreden als de grootte van transistors kleiner wordt. Op nanometerniveaus worden transistorpoorten in feite ” lek “.

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

Ik zal niet ingaan op hoe deze technologie hier werkt, maar ik weet zeker dat je Google kunt gebruiken om te zoeken deze onderwerpen.

Oké, nu, voor de transmissievertragingen.

Elke ” draad ” in de CPU werkt als een kleine condensator. Ook fungeren de basis van de transistor of de poort van de MOSFET als kleine condensatoren. Om de spanning op een verbinding te wijzigen, moet u de draad opladen of de lading verwijderen. Naarmate transistors kleiner worden, wordt het moeilijker om dat te doen. Dit is de reden waarom SRAM versterkingstransistors nodig heeft, omdat de werkelijke geheugenarray-transistors zo klein en zwak zijn.

In typische IC-ontwerpen, waar dichtheid erg belangrijk is, de bit-cellen hebben hele kleine transistors. Bovendien zijn ze typisch ingebouwd in grote arrays, die zeer grote bitlijncapaciteiten hebben. Dit resulteert in een zeer langzame (relatief) ontlading van de bitlijn door de bitcel.

Van: Hoe SRAM-detectieversterker te implementeren?

In wezen gaat het erom dat het voor kleine transistors moeilijker is om de verbindingen aan te sturen.

Er zijn ook gate vertragingen. Moderne CPUs hebben meer dan tien pijplijnfasen, misschien wel twintig.

Prestatieproblemen bij pipelining

Er zijn ook inductieve effecten. Bij microgolffrequenties worden ze behoorlijk significant. Je kunt overspraak en dat soort dingen opzoeken.

Nu, zelfs als het je lukt om een 3265810 THz-processor aan het werk te krijgen, is een andere praktische limiet hoe snel de rest van het systeem het kan ondersteunen. Je hebt ofwel RAM, opslag, lijmlogica en andere verbindingen nodig die net zo snel werken, of je hebt een enorme cache nodig.

Opmerkingen

  • U kunt een link naar deze discussie toevoegen voor leuke referenties over hoe kloksnelheid en stroomverbruik zich verhouden: physics.stackexchange.com/questions/34766/…
  • Er ‘ s ook de snelheid van elektriciteit waarmee rekening moet worden gehouden wanneer we het hebben over transmissievertragingen en.wikipedia.org/wiki/Speed_of_electricity
  • Wordt het werkelijk exponentieel of kwadratisch verhoogd? In feite zegt deze video dat Power = Frequency ^ 1.74.
  • Goed punt, echter een van de grootste problemen bij het ontwerp van de CPU zijn de onderlinge verbindingen. Een fysiek grote chip is misschien mogelijk, maar vergeet niet dat deze in het gigahertz-bereik werken. Je wilt de draden kort houden.
  • Aangezien de vraag theoretisch is, kan hieraan worden toegevoegd dat andere halfgeleiders, zoals galliumarsenide, hogere frequenties mogelijk maken.

Antwoord

Het hitteprobleem wordt goed gedekt door fuzzyhair . Om de transmissievertragingen samen te vatten, overweeg het volgende: de tijd die nodig is om een elektrisch signaal het moederbord te laten passeren is nu meer dan één klokcyclus van een moderne CPU. Dus het maken van snellere CPUs zal niet veel bereiken.

Een supersnelle processor is eigenlijk alleen nuttig bij massale rekenprocessen, en dan alleen als je code zorgvuldig is geoptimaliseerd om zijn werk aan te doen. chip. Als het vaak ergens anders heen moet voor gegevens, gaat al die extra snelheid verloren. In de systemen van vandaag kunnen de meeste taken parallel worden uitgevoerd en worden grote problemen over meerdere kernen verdeeld.

Het klinkt zoals je latex compileerproces zou worden verbeterd door:

  • Snellere IO. Probeer een RAMdisk.
  • Verschillende documenten op verschillende kernen draaien
  • Verwacht niet dat een beeldintensieve taak van 200 paginas zal worden gedaan in 2 seconden

Reacties

  • Jammer dat ik maar één upvote mag. Uw antwoord verdient meer omdat u erop wijst dat de kloksnelheid misschien niet de bottleneck is in het OP ‘ s probleem.

Antwoord

Er zijn drie fysieke limieten: warmte, poortvertraging en de snelheid van elektrische transmissie.

Het wereldrecord op de hoogste kloksnelheid tot nu toe is (volgens deze link) 8722,78 MHz

De snelheid van elektrische transmissie (ongeveer hetzelfde als de snelheid van het licht) is de absolute fysieke limiet, aangezien geen gegevens sneller kunnen worden verzonden dan het medium. Tegelijkertijd is deze limiet erg hoog, dus het is meestal geen beperkende factor.

CPUs bestaan uit enorme hoeveelheden poorten, waarvan er nogal wat serieel (de een na de ander) zijn verbonden. Een omschakeling van de hoge status (bijvoorbeeld 1) naar de lage status (bijvoorbeeld 0) of vice versa duurt even. Dit is de poortvertraging. Dus als je 100 poorten serieel hebt aangesloten en je hebt 1 ns nodig om over te schakelen, dan zul je minstens 100 ns moeten wachten tot het hele ding je een geldige output geeft.

Deze schakelaars zijn het ding dat neemt het meeste vermogen van een CPU. Dit betekent dat als u de kloksnelheid verhoogt, u meer schakelaars krijgt en dus meer stroom verbruikt en dus de warmteafgifte verhoogt.

Overspanning (= > levert meer vermogen) vermindert de poortvertraging een beetje, maar verhoogt opnieuw de warmteafgifte.

Ergens rond de 3 GHz het stroomverbruik voor de kloksnelheid neemt extreem toe. Dit is de reden waarom 1,5 GHz CPUs op een smartphone kunnen draaien, terwijl de meeste 3-4 GHz CPUs “zelfs niet op een laptop kunnen worden uitgevoerd.

Maar kloksnelheid is niet het enige dat een CPU, ook optimalisaties aan de pijplijn of de microcode-architectuur kunnen voor een aanzienlijke versnelling zorgen. Dit is de reden waarom een 3 GHz Intel i5 (Dualcore) meerdere keren zo snel is als een 3 GHz Intel Pentium D (Dualcore).

Opmerkingen

  • Gewoon overklokken verhoogt het CPU-stroomverbruik lineair. Dus dubbele kloksnelheid betekent dubbel stroomverbruik. Maar bij hogere kloksnelheden worden de poorten te traag om met die kloksnelheid te werken en krijg je rekenfouten – > willekeurige crashes. Je moet dus de spanning verhogen om de poorten te versnellen. Het stroomverbruik wordt vierkant vergeleken met de spanning. Dus een dubbele spanning betekent vier keer het stroomverbruik. Voeg dat toe om de klok te verdubbelen en je krijgt acht keer het stroomverbruik. Ook de benodigde spanning neemt exponentieel toe met de kloksnelheid. en.wikipedia.org/wiki/CPU_power_dissipation
  • Het andere probleem hier is dat overspanning je CPU gewoon kan doen frituren en er is niets dat kan daar tegen worden gedaan. Als uw CPU is gespecificeerd voor bijv. 3.3V zou je in staat kunnen zijn om naar 3.7 of misschien zelfs 4V te gaan, maar als je te hoog gaat, zal het gewoon de chip vernietigen. Nog een link die het lezen waard is: en.wikipedia.org/wiki/CPU_core_voltage
  • Overdrachtssnelheid is een probleem: bij 3Ghz krijg je maar 10 cm / cyclus. Aangezien een typische processor-chip momenteel 300 m ² heeft, denk ik dat men na 10 Ghz het processorontwerp opnieuw zou moeten overwegen, aangezien waarschijnlijk niet alle delen van de chip in één cyclus kunnen worden bereikt.
  • @MartinSchr ö der: Dat is niet zon groot probleem, aangezien (a) de CPU doodgaat door hitte en poortvertraging voordat de 10 GHz wordt bereikt en (b) processors worden kleiner met elke generatie. Een 6-core i7 met hyperthreading heeft bijvoorbeeld ongeveer dezelfde grootte als een singlecore Pentium 4. Maar de i7 heeft 6 volledige cores en 6 extra ” halve kernen ” voor de hyperthreading. Ook is er de cache. Ook deze kernen zijn opgesplitst in pijplijnfasen. Alleen de onderdelen van de CPU in één kern- en één pijplijnfase (en misschien de L1-cache) moeten in één cyclus worden bereikt.
  • @ com.prehensible Het bericht dat je hebt gelinkt, gaat specifiek over het feit , dat deze 500GHz-transistor ” alleen ” een analoge transistor is die wordt gebruikt voor analoge RF-verwerking. Het is geenszins een computerprocessor.

Antwoord

De antwoorden op uw vragen zijn: Ja , er is een fysiek limiet voor CPU-snelheid. De hoogste theoretische limiet wordt bepaald door hoe snel een “schakelaar” van toestand kan wisselen. Als we het elektron als basis van de schakelaar gebruiken, gebruiken we de Bohr-straal $$ r = 5.291 \ maal 10 ^ {- 11} $$ en de hoogst mogelijke snelheid $$ c = 3 \ maal 10 ^ 8, $$ om de frequentie te berekenen $$ F = \ frac {1} {t} = \ frac {c} {2} \ pi r = 9.03 \ maal 10 ^ {17} \ text {Hz} $$ Bij de huidige technologische staat, de werkelijke limiet is ongeveer $$ 8 \ times 10 ^ 9 \ text {Hz} $$

Opmerkingen

  • Ik heb een paar wijzigingen aangebracht in je LaTeX. Kunt u alstublieft controleren of het bewerken van de frequentie correct was?
  • Hoe kwam u tot de huidige technologische limiet?
  • U zou ook die snelst mogelijke computer bouwen op de Schwarzschild straal van een zwart gat voor maximaal effect. De Bohr-straal is veel te groot om met hoge snelheden mee te werken. 🙂

Antwoord

Dus een vraag is: Is er een fysieke limiet voor de CPU-snelheid?

Dat hangt sterk af van de CPU zelf. Fabricagetoleranties resulteren in het feit dat de fysieke limiet voor elke chip een beetje anders is, zelfs van dezelfde wafer.

transmissievertragingen veroorzaken een andere beperking van de CPU-snelheid. Ze vermelden echter niet hoe snel het kan worden.

Dat is omdat transmission delay of speed path length is een keuze die de ontwerper van de chip moet maken. In een notendop: het is hoeveel werk de logica doet in een enkele klokcyclus . Complexere logica resulteert in langzamere maximale kloksnelheden, maar verbruikt ook minder stroom.

Daarom wil je een benchmark gebruiken om CPUs te vergelijken. De aantallen werk per cyclus zijn enorm verschillend, dus het vergelijken van ruwe MHz kan u een verkeerd idee geven.

Antwoord

Praktisch gezien is het zeker het thermische vermogen, dat ongeveer evenredig is met het kwadraat van de spanning: http://en.wikipedia.org/wiki/Thermal_design_power#Overview . Elk materiaal heeft zijn specifieke warmtecapaciteit die de koelefficiëntie beperkt.

Als we de technische problemen op het gebied van koeling en transmissievertraging buiten beschouwing laten, zal de lichtsnelheid de afstand beperken die een signaal per seconde binnen onze CPU kan afleggen. . Daarom moet de CPU kleiner worden naarmate hij sneller werkt.

Ten slotte kan de CPU boven een bepaalde frequentie transparant worden voor de elektronische golffuncties (elektronen gemodelleerd als golffuncties volgens de Schrödinger-vergelijking).

In 2007 berekenden sommige natuurkundigen een fundamentele limiet voor werksnelheden: http://journals.aps.org/prl/abstract/10.1103/PhysRevLett.99.110502

Answer

Naast alle andere antwoorden zijn er ook een paar andere overwegingen die de CPU-snelheid mogelijk niet rechtstreeks beïnvloeden, maar er iets omheen moeten bouwen CPU behoorlijk moeilijk;

Kortom, boven DC wordt radiofrequentie een probleem. Hoe sneller je gaat, hoe meer geneigd is om als een gigantische radio te fungeren. Dit betekent dat PCB-sporen last hebben van overspraak, de effecten van hun inherente capaciteit / inductie met aangrenzende sporen / grondvlak, ruis, enz. enz. enz.

Hoe sneller je gaat, hoe slechter dit alles wordt – componentpoten kunnen onacce ptable inductantie bijvoorbeeld.

Als je kijkt naar de richtlijnen voor het opmaken van “basis” PCBs van het soort niveau van een Raspberry Pi met wat DDR RAM, alle sporen voor de databus etc. moeten even lang zijn, de juiste afsluiting hebben enz. en dat loopt ruim onder de 1 GHz.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *