Was begrenzt die CPU-Geschwindigkeit?

102

Ich habe kürzlich mit einem Freund über die LaTeX-Kompilierung gesprochen. LaTeX kann nur einen Core zum Kompilieren verwenden. Für die Geschwindigkeit der LaTeX-Kompilierung ist daher die Taktrate der CPU am wichtigsten (siehe Tipps zur Auswahl der Hardware für die beste LaTeX-Kompilierungsleistung ).

Aus Neugier habe ich nach CPUs mit den höchsten Taktraten gesucht. Ich denke, es war Intel Xeon X5698 mit 4,4 GHz ( Quelle ), die die höchste Taktrate hatte.

Bei dieser Frage geht es jedoch nicht um CPUs, die verkauft werden. Ich würde gerne wissen, wie schnell es gehen kann, wenn Sie sich nicht für den Preis interessieren.

Eine Frage ist also: Gibt es eine physikalische Grenze für die CPU-Geschwindigkeit? Wie hoch ist es?

Und die andere Frage ist: Was ist die höchste CPU-Geschwindigkeit, die bisher erreicht wurde?

Ich habe immer gedacht, dass die CPU-Geschwindigkeit begrenzt ist, weil die Kühlung (also die Wärme ) so schwierig wird. Aber mein Freund bezweifelt, dass dies der Grund ist (wenn Sie keine herkömmlichen / billigen Kühlsysteme verwenden müssen, z. B. in einem wissenschaftlichen Experiment).

In [2] habe ich gelesen, dass Übertragungsverzögerungen eine weitere Einschränkung der CPU-Geschwindigkeit verursachen. Sie erwähnen jedoch nicht, wie schnell es werden kann.

Was ich gefunden habe

Über mich

Ich bin Informatikstudent. Ich weiß etwas über die CPU, aber nicht zu viel. Und noch weniger über die Physik, die für diese Frage wichtig sein könnte. Denken Sie also bitte bei Ihren Antworten daran, falls dies möglich ist.

Martin Thoma
quelle
10
Ihre Frage ist nett, erwarten Sie einige sehr gute und gebildete Antworten. Meine zwei Cent: Die Implikation "es läuft nur von einem Kern ab" -> "Uhr ist am wichtigsten" ist nicht wahr.
Vladimir Cravero
12
Der aktuelle Rekord für eine übertaktete CPU ist der AMD Bulldozer mit 8,4 GHz . Es wurde mit flüssigem Stickstoff gekühlt.
Tcrosley
2
Der Titel der Frage lautet jedoch "Was begrenzt die CPU-Geschwindigkeit?" Es sollte beachtet werden, dass die Aussage: "LaTeX kann nur einen Kern zum Kompilieren verwenden. Für die Geschwindigkeit der LaTeX-Kompilierung ist die Taktrate der CPU am wichtigsten" nicht unbedingt zutrifft. Der CPU-Cache kann ebenfalls einen Unterschied machen. Aufgrund der Funktionsweise moderner CPUs und der Tatsache, dass es unterschiedliche CPUs mit identischen Frequenzen, aber unterschiedlicher Cache-Größe (n) gibt und wie die Software geschrieben wurde und verwendet wird, hat der CPU-Cache möglicherweise einen größeren Einfluss auf die Ausführungsgeschwindigkeit als CPU-Frequenz.
Shivan Dragon
2
Die Leistung eines einzelnen Threads ist nicht direkt proportional zur Taktrate. Die Beziehung ist komplexer. Dies kann teilweise durch die Ähnlichkeit der jüngsten Intel x86-Mikroarchitekturen mit Verbesserungen der Mikroarchitektur verdeckt werden, die einen Teil der Kosten bei zunehmender Frequenz ausgleichen.
Paul A. Clayton
9
Ich schlage vor, einen 2-GHz-Prozessor von 2004 mit einem 2-GHz-Prozessor von 2014 zu vergleichen. Sie werden feststellen, dass sie sich auch bei Single-Thread-Aufgaben nicht im selben Ballpark befinden und auch wenn beide den gleichen Befehlssatz implementieren - die CISC-Befehle, denen sie zugeführt werden, sind eine Sache, aber die Mikrooperationen, die diese führen, sind defekt in sind ganz andere.
Charles Duffy

Antworten:

76

Was die CPU-Geschwindigkeit praktisch einschränkt, ist sowohl die erzeugte Wärme als auch die Verzögerung des Gates. In der Regel wird die Wärme jedoch ein weitaus größeres Problem, bevor letztere einsetzt.

Neuere Prozessoren werden mit CMOS-Technologie hergestellt. Jedes Mal, wenn es einen Taktzyklus gibt, wird die Leistung abgeführt. Höhere Prozessorgeschwindigkeiten bedeuten daher eine höhere Wärmeableitung.

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

Hier einige Zahlen:

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

Bildbeschreibung hier eingeben

Sie können wirklich sehen, wie sich die CPU-Übergangsleistung erhöht (exponentiell!).

Außerdem treten einige Quanteneffekte auf, wenn die Größe der Transistoren abnimmt. Im Nanometerbereich werden Transistor-Gates tatsächlich "undicht".

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

Ich werde hier nicht näher darauf eingehen, wie diese Technologie funktioniert, aber ich bin sicher, dass Sie Google zum Nachschlagen dieser Themen verwenden können.

Okay, jetzt für die Übertragungsverzögerungen.

Jeder "Draht" in der CPU fungiert als kleiner Kondensator. Auch die Basis des Transistors oder das Gate des MOSFET wirken als kleine Kondensatoren. Um die Spannung an einer Verbindung zu ändern, müssen Sie entweder die Leitung aufladen oder die Ladung entfernen. Wenn Transistoren schrumpfen, wird es schwieriger, dies zu tun. Dies ist der Grund, warum SRAM Verstärkungstransistoren benötigt, weil die tatsächlichen Speicherarray-Transistoren so klein und schwach sind.

Bei typischen IC-Designs, bei denen die Dichte sehr wichtig ist, weisen die Bitzellen sehr kleine Transistoren auf. Außerdem werden sie typischerweise in große Arrays eingebaut, die sehr große Bitleitungskapazitäten aufweisen. Dies führt zu einer sehr langsamen (relativ) Entladung der Bitleitung durch die Bitzelle.

From: Wie implementiere ich einen SRAM-Leseverstärker?

Grundsätzlich ist der Punkt, dass es für kleine Transistoren schwieriger ist, die Zwischenverbindungen anzusteuern.

Es gibt auch Gate-Verzögerungen. Moderne CPUs haben mehr als zehn Pipeline-Stufen, vielleicht bis zu zwanzig.

Leistungsprobleme beim Pipelining

Es gibt auch induktive Effekte. Bei Mikrowellenfrequenzen werden sie ziemlich bedeutend. Sie können Übersprechen und dergleichen nachschlagen.

Nun, auch wenn Sie es schaffen, einen 3265810 THz-Prozessor zum Laufen zu bringen, besteht eine weitere praktische Grenze darin, wie schnell der Rest des Systems dies unterstützen kann. Sie müssen entweder über RAM, Speicher, Klebelogik und andere Verbindungen verfügen, die genauso schnell arbeiten, oder Sie benötigen einen immensen Cache.

Hoffe das hilft.

fuzzyhair2
quelle
1
Unter Umständen möchten Sie einen Link zu dieser Diskussion einfügen, um
nützliche
2
Es gibt auch die Geschwindigkeit der Elektrizität zu berücksichtigen , wenn über Übertragung sprechen verzögert en.wikipedia.org/wiki/Speed_of_electricity
ryantm
Steigt es tatsächlich exponentiell oder nur quadratisch? Tatsächlich sagt dieses Video das Power = Frequency ^ 1.74.
Paul Manta
2
Ein guter Punkt ist jedoch, dass eine der Hauptschwierigkeiten beim CPU-Design die Verbindungen sind. Ein physikalisch großer Chip mag möglich sein, aber denken Sie daran, dass diese im Gigahertz-Bereich funktionieren. Sie möchten die Drähte kurz halten.
Fuzzyhair2
2
Da die Frage theoretisch ist, kann hinzugefügt werden, dass andere Halbleiter wie Galliumarsenid höhere Frequenzen zulassen.
Iacopo
32

Das Wärmeproblem wird durch Fuzzyhair gut abgedeckt. Um die Übertragungsverzögerungen zusammenzufassen, beachten Sie Folgendes: Die Zeit, die ein elektrisches Signal benötigt, um das Motherboard zu durchqueren, beträgt jetzt mehr als einen Taktzyklus einer modernen CPU. Die Herstellung schnellerer CPUs wird also nicht viel bewirken.

Ein superschneller Prozessor ist wirklich nur dann von Vorteil, wenn es sich um einen Prozess handelt, bei dem es um eine massive Zahlenverarbeitung geht. Wenn häufig Daten an einem anderen Ort abgerufen werden müssen, wird diese zusätzliche Geschwindigkeit verschwendet. In heutigen Systemen können die meisten Aufgaben parallel ausgeführt werden und große Probleme werden auf mehrere Kerne verteilt.

Es hört sich so an, als würde sich Ihr Latex-Kompilierungsprozess verbessern durch:

  • schnelleres IO. Versuchen Sie es mit einer RAMdisk.
  • Ausführen verschiedener Dokumente auf verschiedenen Kernen
  • Erwarten Sie nicht, dass ein 200-Seiten-Job mit hoher Bildintensität in 2 Sekunden ausgeführt wird
paul
quelle
2
Schade, dass ich nur eine Gegenstimme haben darf. Ihre Antwort verdient mehr, um darauf hinzuweisen, dass die Taktrate möglicherweise nicht der Engpass im OP-Problem ist.
Solomon Slow
17

Es gibt drei physikalische Grenzen: Hitze, Gate-Verzögerung und Geschwindigkeit der elektrischen Übertragung.

Der Weltrekord bei der bisher höchsten Taktrate liegt (laut diesem Link) bei 8722,78 MHz

Die Geschwindigkeit der elektrischen Übertragung (ungefähr die gleiche wie die Lichtgeschwindigkeit) ist die absolute physikalische Grenze, da keine Daten schneller als auf mittlerem Niveau übertragen werden können. Gleichzeitig ist diese Grenze sehr hoch und daher normalerweise kein begrenzender Faktor.

CPUs bestehen aus einer Vielzahl von Gattern, von denen einige (nacheinander) in Reihe geschaltet sind. Ein Wechsel vom High-Zustand (zB 1) in den Low-Zustand (zB 0) oder umgekehrt dauert eine Weile. Dies ist die Gate-Verzögerung. Wenn also 100 Gates seriell verbunden sind und ein Switch 1 ns benötigt, müssen Sie mindestens 100 ns warten, bis das Ganze eine gültige Ausgabe liefert.

Diese Schalter verbrauchen die meiste Energie in einer CPU. Das bedeutet, wenn Sie die Taktrate erhöhen, erhalten Sie mehr Schalter, verbrauchen mehr Strom und erhöhen so die Heizleistung.

Überspannungen (=> mehr Leistung) verringern die Gate-Verzögerung ein wenig, erhöhen aber erneut die Heizleistung.

Irgendwo um 3 GHz steigt der Stromverbrauch für die Taktrate extrem an. Aus diesem Grund können 1,5-GHz-CPUs auf einem Smartphone ausgeführt werden, während die meisten 3-4-GHz-CPUs nicht einmal auf einem Laptop ausgeführt werden können.

Die Taktfrequenz ist jedoch nicht das Einzige, was eine CPU beschleunigen kann. Auch Optimierungen an der Pipeline oder der Mikrocode-Architektur können zu einer erheblichen Beschleunigung führen. Aus diesem Grund ist ein 3-GHz-Intel i5 (Dualcore) um ein Vielfaches schneller als ein 3-GHz-Intel Pentium D (Dualcore).

Dakkaron
quelle
1
Durch einfaches Übertakten wird der CPU-Stromverbrauch linear erhöht. Doppelte Taktrate bedeutet also doppelten Stromverbrauch. Bei höheren Taktraten werden die Tore jedoch zu langsam, um mit dieser Taktrate zu arbeiten, und es treten Berechnungsfehler auf -> zufällige Abstürze. Sie müssen also die Spannung erhöhen, um die Tore zu beschleunigen. Der Stromverbrauch skaliert genau im Vergleich zur Spannung. Die doppelte Spannung bedeutet also den vierfachen Stromverbrauch. Fügen Sie das hinzu, um die Uhr zu verdoppeln, und Sie erhalten acht Mal den Stromverbrauch. Auch die notwendige Spannung steigt exponentiell mit der Taktgeschwindigkeit an. en.wikipedia.org/wiki/CPU_power_dissipation
Dakkaron
1
Das andere Problem hierbei ist, dass Überspannungen nur Ihre CPU braten können und nichts dagegen unternommen werden kann. Wenn Ihre CPU für zB 3,3 V spezifiziert ist, können Sie vielleicht bis zu 3,7 oder sogar 4 V erreichen, aber wenn Sie zu hoch gehen, wird der Chip einfach zerstört. Ein weiterer lesenswerter Link: en.wikipedia.org/wiki/CPU_core_voltage
Dakkaron
3
Übertragungsgeschwindigkeit ist ein Problem: Bei 3 GHz erhalten Sie nur 10 cm / Zyklus. Da ein typischer Prozessorchip derzeit 300 m² groß ist, muss man nach 10 GHz meines Erachtens das Prozessordesign überdenken, da wahrscheinlich nicht alle Teile des Chips in einem Zyklus erreicht werden können.
Martin Schröder
1
@ MartinSchröder: Das ist kein so großes Problem, da (a) die CPU aufgrund von Hitze und Gate-Verzögerung vor Erreichen der 10 GHz ausfällt und (b) Prozessoren mit jeder Generation kleiner werden. Beispielsweise hat ein 6-Core-i7 mit Hyperthreading ungefähr die gleiche Größe wie ein Singlecore-Pentium 4. Der i7 verfügt jedoch über 6 Vollkerne und 6 weitere "Halbkerne" für das Hyperthreading. Auch da ist der Cache. Auch diese Kerne sind in Pipeline-Phasen aufgeteilt. In einem Zyklus müssen nur die Teile der CPU in einer Kern- und einer Pipeline-Phase (und möglicherweise der L1-Cache) erreicht werden.
Dakkaron
1
@ com.prehensible Der Beitrag, den Sie verlinkt haben, spricht tatsächlich speziell von der Tatsache, dass dieser 500-GHz-Transistor "nur" ein analoger Transistor ist, der für die analoge HF-Verarbeitung verwendet wird. Es ist keineswegs ein Computerprozessor.
Dakkaron
5

r=5.291×1011
c=3×108,
F=1t=c2πr=9.03×1017Hz
8×109Hz
Guill
quelle
Ich habe ein paar Änderungen an Ihrem LaTeX vorgenommen. Könnten Sie bitte überprüfen, ob die Änderung der Frequenz korrekt war?
Martin Thoma
Wie sind Sie auf den Stand der Technik gekommen?
Martin Thoma
Sie schreiben, dass die Strombegrenzung "8x 10 ^ 9 Hz" ist. Was ist x Wollten Sie irgendwann einen Multiplikationspunkt schreiben?
Martin Thoma
1
Sie würden auch den schnellstmöglichen Computer auf dem Schwarzschild-Radius eines Schwarzen Lochs bauen, um maximale Wirkung zu erzielen. Der Bohr-Radius ist viel zu groß, um mit hohen Geschwindigkeiten arbeiten zu können. :)
Goswin von Brederlow
3

Eine Frage ist also: Gibt es eine physikalische Grenze für die CPU-Geschwindigkeit?

Das hängt stark von der CPU selbst ab. Herstellungstoleranzen führen dazu, dass die physikalische Grenze für jeden Chip ein bisschen anders ist als für denselben Wafer.

Übertragungsverzögerungen verursachen eine weitere Einschränkung der CPU-Geschwindigkeit. Sie erwähnen jedoch nicht, wie schnell es werden kann.

Das liegt daran, dass der Designer des Chips die Wahl hat transmission delayoder speed path lengthtrifft. Kurz gesagt, es ist, wie viel Arbeit die Logik in einem einzigen Taktzyklus erledigt . Eine komplexere Logik führt zu langsameren maximalen Taktraten, verbraucht aber auch weniger Strom.

Aus diesem Grund möchten Sie einen Benchmark zum Vergleichen von CPUs verwenden. Die Anzahl der Arbeitstakte pro Zyklus ist sehr unterschiedlich, sodass ein Vergleich der rohen MHz möglicherweise eine falsche Vorstellung ergibt.

Turbo J
quelle
2

Praktisch ist es definitiv die Wärmeleistung, die ungefähr proportional zum Quadrat der Spannung ist: http://en.wikipedia.org/wiki/Thermal_design_power#Overview Jedes Material hat seine spezifische Wärmekapazität, die die Kühleffizienz begrenzt.
Unter Berücksichtigung der technischen Probleme bei der Kühlung und der Übertragungsverzögerung wird die Lichtgeschwindigkeit angezeigt, die die Entfernung begrenzt, die ein Signal innerhalb unserer CPU pro Sekunde zurücklegen kann. Daher muss die CPU umso schneller sein, je schneller sie arbeitet. Wenn die CPU ab einer bestimmten Frequenz arbeitet, kann sie für die elektronischen Wellenfunktionen (Elektronen, die nach der Schrödinger-Gleichung als Wellenfunktionen modelliert wurden) transparent werden.
Im Jahr 2007 haben einige Physiker eine grundlegende Grenze für die Betriebsgeschwindigkeit berechnet:http://journals.aps.org/prl/abstract/10.1103/PhysRevLett.99.110502

Lars Hadidi
quelle
0

Neben all den anderen Antworten gibt es noch ein paar andere Überlegungen, die sich möglicherweise nicht direkt auf die CPU-Geschwindigkeit auswirken, die Erstellung von Informationen rund um diese CPU jedoch recht schwierig machen.

Kurz gesagt, über Gleichstrom wird die Funkfrequenz zu einem Problem. Je schneller du gehst, desto eher ist alles geneigt, als Riesenradio zu agieren. Dies bedeutet, dass Leiterplatten-Leiterbahnen unter Übersprechen, den Auswirkungen ihrer inhärenten Kapazität / Induktivität auf benachbarte Leiterbahnen / Masseflächen, Rauschen usw. usw. leiden.

Je schneller Sie fahren, desto schlimmer wird das alles - Komponentenschenkel können zum Beispiel eine unzulässige Induktivität verursachen.

Wenn Sie sich die Richtlinien für das Layout "grundlegender" Leiterplatten ansehen, die dem Niveau eines Himbeer-Pi mit etwas DDR-RAM entsprechen, müssen alle Leiterbahnen für den Datenbus usw. gleich lang sein, korrekt terminiert sein usw. und das ist es läuft deutlich unter 1 GHz.

John U.
quelle