Sie sind vielleicht gespannt, wie neuere Prozessorgenerationen bei gleichen Taktraten wie ältere Prozessoren schneller sein können. Verändert es sich nur in der physischen Architektur oder ist es etwas mehr? Der heutige SuperUser Q & A-Beitrag enthält Antworten auf die Fragen eines neugierigen Lesers.
Die heutige Frage-Antwort-Sitzung wird uns mit freundlicher Genehmigung von SuperUser zur Verfügung gestellt - einer Unterteilung von Stack Exchange, einer Community-gesteuerten Gruppierung von Q & A-Websites.
Foto mit freundlicher Genehmigung von Rodrigo Senna (Flickr) .
Die Frage
SuperUser reader agz möchte wissen, warum neuere Prozessorgenerationen bei gleicher Taktrate schneller sind:
Warum wäre beispielsweise ein 2,66-GHz-Dual-Core-Core i5 schneller als ein 2,66-GHz-Core-2-Duo, der ebenfalls Dual-Core ist?
Liegt dies an neueren Anweisungen, die Informationen in weniger Taktzyklen verarbeiten können? Welche anderen architektonischen Veränderungen sind damit verbunden?
Warum sind neuere Prozessorgenerationen bei gleicher Taktrate schneller?
Die Antwort
Die SuperUser-Mitarbeiter David Schwartz und Breakthrough haben die Antwort für uns. Zuerst David Schwartz:
Normalerweise liegt es nicht an neueren Anweisungen. Dies liegt nur daran, dass der Prozessor weniger Befehlszyklen benötigt, um dieselben Befehle auszuführen. Dies kann eine Vielzahl von Gründen haben:
- Große Caches bedeuten weniger Zeitverschwendung beim Warten auf Speicher.
- Mehr Ausführungseinheiten bedeuten weniger Wartezeit, um mit der Ausführung einer Anweisung zu beginnen.
- Eine bessere Verzweigungsvorhersage bedeutet weniger Zeitverschwendung beim spekulativen Ausführen von Anweisungen, die eigentlich nie ausgeführt werden müssen.
- Verbesserungen der Ausführungseinheit bedeuten weniger Wartezeit auf die Ausführung von Anweisungen.
- Kürzere Pipelines bedeuten, dass sich Pipelines schneller füllen.
Und so weiter.
Gefolgt von der Antwort von Breakthrough:
Die absolute endgültige Referenz ist die Softwareentwicklerhandbücher für Intel 64- und IA-32-Architekturen . Sie beschreiben detailliert die Änderungen zwischen Architekturen und sind eine hervorragende Ressource, um die x86-Architektur zu verstehen.
Ich würde empfehlen, dass Sie die kombinierten Volumes 1 bis 3C herunterladen (erster Download-Link auf der oben verlinkten Seite). Band 1, Kapitel 2.2 enthält die gewünschten Informationen.
Einige allgemeine Unterschiede, die in diesem Kapitel aufgeführt sind und vom Kern zu den Nehalem / Sandy Bridge-Mikroarchitekturen reichen, sind:
- Verbesserte Verzweigungsvorhersage, schnellere Wiederherstellung nach falschen Vorhersagen
- HyperThreading-Technologie
- Integrierter Speichercontroller, neue Cache-Hierarchie
- Schnellere Behandlung von Gleitkomma-Ausnahmen (nur Sandy Bridge)
- Verbesserung der LEA-Bandbreite (nur Sandy Bridge)
- AVX-Befehlserweiterungen (nur Sandy Bridge)
Die vollständige Liste finden Sie unter dem oben angegebenen Link (Band 1, Kapitel 2.2).
Lesen Sie mehr über diese interessante Diskussion über den unten stehenden Link!
Haben Sie der Erklärung etwas hinzuzufügen? Ton aus in den Kommentaren. Möchten Sie weitere Antworten von anderen technisch versierten Stack Exchange-Benutzern lesen? Den vollständigen Diskussionsthread finden Sie hier .