Es gibt zwei Dinge, die die Leistung unter den CPUs einschränken können: die internen und die externen Faktoren.
Grundsätzlich sind die internen Faktoren die interne Kernarchitektur der CPU. Zu beachten ist zunächst die Anzahl der Zyklen pro Anweisung, die Ihre CPU benötigt. Bei Fließkommaoperationen zum Beispiel waren es von über 50 oder 60 Zyklen auf den alten CPUs jetzt etwa 3 oder 4. Dies gilt auch ohne Berücksichtigung neuer Befehle, die beispielsweise 4 Multiplikationen gleichzeitig auf einem Kern ausführen können.
Der zweite große Unterschied zwischen vielen Architekturen ist das Pipelining. Da eine Anweisung Zeit benötigt, versuchen moderne Architekturen, mehr als eine Anweisung gleichzeitig auszuführen, wenn sie unabhängig sind und verschiedene Teile der CPU verwenden. Intelligentere CPUs können den Speicherzugriff auch vorab anfordern und das Stalling reduzieren. Das Atom ist von Entwurf und außerhalb der letzten Entwürfe ziemlich schlecht, da eine komplexe Pipeline viel Energie verbraucht. Sie erinnern sich vielleicht an die Netburst-Architektur als ein schreckliches Beispiel dafür, was passiert, wenn Sie versuchen, eine sehr große Pipeline zu erstellen.
Bei den äußeren Faktoren beeinflussen die Größe und Architektur des Arbeitsspeichers und der Caches je nach Code die Leistung stark. Wenn ich davon ausgehe, dass mein Benchmark-Testcode in den Cache des i7 passt, aber nicht in den Atom, können Sie davon ausgehen, dass der Atom dadurch viel verliert. Der Atom verwendet kleinere Caches und hat insgesamt eine höhere Latenz, wenn ein Speicherzugriff erforderlich ist. Deshalb wird es im Vergleich zu einem i7 ziemlich schlecht laufen, wenn es viele Speicherzugriffe gibt: Die CPUs müssen die ganze Zeit aus dem Hauptspeicher holen, und das ist langsam.