de.phhsnews.com


de.phhsnews.com / Warum haben CPU-Kerne alle die gleiche Geschwindigkeit anstelle von verschiedenen?

Warum haben CPU-Kerne alle die gleiche Geschwindigkeit anstelle von verschiedenen?


Wenn Sie schon einmal viel Vergleich für eine neue CPU gemacht haben, haben Sie vielleicht bemerkt, dass alle Kerne die haben Geschwindigkeit statt einer Kombination von verschiedenen. Warum das? Der heutige SuperUser Q & A Post hat die Antwort auf die Frage eines neugierigen Lesers.

Die heutige Question & Answer Session kommt dank SuperUser - einer Unterteilung von Stack Exchange, einer Community-gesteuerten Gruppierung von Q & A-Websites -

The Question

SuperUser-Leser Jamie möchte wissen, warum die CPU-Kerne alle die gleiche Geschwindigkeit haben anstatt der anderen:

Wenn Sie einen neuen Computer kaufen, würden Sie im Allgemeinen feststellen, welcher Prozessor basierend auf der erwarteten Auslastung des Computers gekauft werden soll . Die Leistung in Videospielen wird in der Regel von der Geschwindigkeit eines einzelnen Kerns bestimmt, während Anwendungen wie die Videobearbeitung von der Anzahl der Kerne bestimmt werden. In Bezug auf das, was auf dem Markt verfügbar ist, scheinen alle CPUs in etwa die gleiche Geschwindigkeit zu haben, wobei die Hauptunterschiede mehr Threads oder mehr Kerne sind.

Zum Beispiel:

  • Intel Core i5-7600K, Grundfrequenz 3,80 GHz, 4 Kerne, 4 Threads
  • Intel Core i7-7700K, Grundfrequenz 4.20 GHz, 4 Kerne, 8 Threads
  • AMD Ryzen 5 1600X, Grundfrequenz 3.60 GHz, 6 Kerne, 12 Threads
  • AMD Ryzen 7 1800X, Basisfrequenz 3,60 GHz, 8 Kerne, 16 Threads

Warum sehen wir dieses Muster von steigenden Kernen, aber alle Kerne haben die gleiche Taktfrequenz? Warum gibt es keine Varianten mit unterschiedlichen Taktraten? Zum Beispiel zwei "große" Kerne und viele kleine Kerne.

Statt etwa vier Kerne bei 4,0 GHz (also 4 × 4 GHz, maximal 16 GHz), wie wäre es mit einer CPU mit zwei Kernen bei 4,0 GHz? und vier Kerne mit 2,0 GHz (dh 2 × 4,0 GHz + 4 × 2,0 GHz, maximal 16 GHz)? Wäre die zweite Option bei Single-Thread-Workloads gleich gut, bei Multi-Thread-Workloads jedoch möglicherweise besser?

Ich stelle dies als allgemeine Frage und nicht speziell in Bezug auf die oben aufgeführten CPUs oder eine bestimmte Workload. Ich bin nur neugierig, warum das Muster ist, was es ist.

Warum haben CPU-Kerne alle die gleiche Geschwindigkeit anstelle von verschiedenen?

Die Antwort

SuperUser Mitwirkende bwDraco hat die Antwort für uns:

Dies wird als heterogenes Multi-Processing (HMP) bezeichnet und wird häufig von mobilen Geräten übernommen. In ARM-basierten Geräten, die big.LITTLE implementieren, enthält der Prozessor Kerne mit unterschiedlichen Leistungs- und Leistungsprofilen, dh einige Kerne laufen schnell, zeichnen aber viel Leistung (schnellere Architektur und / oder höhere Taktung), während andere energieeffizient, aber langsam sind ( langsamere Architektur und / oder niedrigere Takte). Dies ist nützlich, da der Stromverbrauch überproportional ansteigt, wenn Sie die Leistung erhöhen, sobald Sie einen bestimmten Punkt überschritten haben. Die Idee hier ist, Leistung zu bekommen, wenn Sie es brauchen, und Akkulaufzeit, wenn Sie nicht.

Auf Desktop-Plattformen ist der Stromverbrauch viel weniger ein Problem, so dass dies nicht wirklich notwendig ist. Die meisten Anwendungen erwarten, dass jeder Kern über ähnliche Leistungsmerkmale verfügt, und Planungsprozesse für HMP-Systeme sind viel komplexer als die Planung für herkömmliche SMP-Systeme (Windows 10 unterstützt technisch HMP, ist jedoch hauptsächlich für mobile Anwendungen gedacht) Geräte, die ARM big.LITTLE verwenden.

Außerdem sind die meisten Desktop- und Laptop-Prozessoren heute nicht thermisch oder elektrisch so begrenzt, dass einige Kerne schneller laufen müssen als andere, selbst bei kurzen Bursts. Wir haben im Grunde eine Mauer darüber geschlagen, wie schnell wir einzelne Kerne bauen können, so dass das Ersetzen einiger Kerne durch langsamere die verbleibenden Kerne nicht schneller laufen lässt.

Es gibt zwar ein paar Desktop-Prozessoren, die einen oder zwei Kerne haben Da diese Technologie schneller läuft als die anderen, ist sie derzeit auf bestimmte High-End-Prozessoren von Intel beschränkt (bekannt als Turbo Boost Max Technology 3.0) und bringt nur einen geringen Leistungsgewinn für die Kerne mit sich, die schneller laufen können.

Natürlich ist es möglich, einen herkömmlichen x86-Prozessor mit großen, schnellen Kernen und kleineren, langsameren Kernen für die Optimierung von Workloads mit hohem Threading zu entwickeln. Dies würde das Prozessordesign erheblich komplizierter machen, und Anwendungen werden es wahrscheinlich nicht richtig unterstützen.

Nehmen Sie einen hypothetischen Prozessor mit zwei schnellen KA-Kernen (7. Generation) und acht langsamen Kernen von Goldmont (Atom). Sie hätten insgesamt 10 Kerne, und Workloads mit hohem Threading, die für diese Art von Prozessor optimiert sind, können einen Leistungsgewinn und eine höhere Effizienz gegenüber einem normalen Quad-Core-Kaby-Lake-Prozessor erzielen. Die verschiedenen Typen von Kernen weisen jedoch völlig unterschiedliche Leistungsstufen auf, und die langsamen Kerne unterstützen nicht einmal einige der von den schnellen Kernen unterstützten Befehle, wie AVX (ARM vermeidet dieses Problem, da sowohl die großen als auch die KLEINEN Kerne die gleichen Anweisungen unterstützen ).

Auch hier gehen die meisten Windows-basierten Multi-Threaded-Anwendungen davon aus, dass jeder Kern die gleiche oder fast die gleiche Leistung hat und dieselben Anweisungen ausführen kann. Diese Asymmetrie führt wahrscheinlich zu weniger als ideale Leistung, stürzt vielleicht sogar ab, wenn es Befehle verwendet, die von den langsameren Kernen nicht unterstützt werden. Während Intel die langsamen Kerne modifizieren könnte, um erweiterte Instruktionsunterstützung hinzuzufügen, so dass alle Kerne alle Anweisungen ausführen können, würde dies Probleme mit der Softwareunterstützung für heterogene Prozessoren nicht lösen.

Ein anderer Ansatz zum Anwendungsdesign, näher an dem, was Sie wahrscheinlich denken in Ihrer Frage, würde die GPU für die Beschleunigung von hochparallelen Teilen von Anwendungen verwenden. Dies kann mit APIs wie OpenCL und CUDA geschehen. Wie für eine Single-Chip-Lösung, fördert AMD Hardware-Unterstützung für GPU-Beschleunigung in seinen APUs, die eine traditionelle CPU und eine leistungsstarke integrierte GPU auf dem gleichen Chip, wie heterogene Systemarchitektur, kombiniert, obwohl dies nicht viel Industrie außerhalb aufgenommen hat von einigen speziellen Anwendungen.


Haben Sie etwas zur Erklärung hinzuzufügen? Ton in den Kommentaren ab. Möchten Sie mehr Antworten von anderen technisch versierten Stack Exchange Benutzern lesen? Sehen Sie sich den vollständigen Diskussionsfaden hier an.

Bildquelle: Mirko Waltermann (Flickr)


Keine Balken? Hier ist alles, was Ihre zelluläre Signalstärke beeinflussen kann

Keine Balken? Hier ist alles, was Ihre zelluläre Signalstärke beeinflussen kann

Zelle Signal ist seltsam. In einem Moment könnten Sie fünf Bars haben, aber gehen Sie ein paar Fuß und es fällt auf zwei. In meinem Haus ist das Signal unten schrecklich, aber es ist perfekt im Obergeschoss. Es ist viel los mit dem Empfang von Zellen, also schauen wir uns einige der wichtigsten Faktoren an, die das beeinflussen.

(how-top)

Wie Sie Ihren Sling-TV-Service optimal nutzen können

Wie Sie Ihren Sling-TV-Service optimal nutzen können

Sling-TV war ein riesiger Katalysator, der es den Nutzern ermöglichte, traditionelle Kabelunternehmen loszulassen und mit einem All-Streaming-All-in-One-Verfahren fortzufahren. Das Zeitmodell. Wenn Sie zu den Millionen gehören, die den Wechsel vorgenommen haben - oder zu den Millionen gehören, die erwägen, den Switch zu verwenden - dann sollten Sie Ihren neuen Streaming-Service optimal nutzen.

(how-top)