Am 20.05.2018 um 10:28 schrieb Louis Noser:
> Grüss Euch
>
> Weil der i5 1.6 GHz ein paar Jahre mehr Entwicklungszeit als der Pentium
> 2.1 GHz auf dem Buckel hat, dürfte Ersterer wohl deutlich schneller
> sein, richtig?
Ein Core i5-2467M (Sandy Bridge) und ein Pentium (Dual Core) T4300 (Penryn)?
https://www.cpubenchmark.net/compare/Intel-i5-2467M-vs-Intel-Pentium-T4300/802vs1400
Der i5 ist im Passmark fast doppelt so schnell, primär wegen "Hyperthreading"
(2 physical, 4 logical Cores). Single Threaded ist der i5 nur 16% schneller.
> Wie erklärt sich der Geschwindigkeitvorteil aber,
Die Architekturen sind unterschiedlich (neuerer Sandy Bridge vs Penryn).
> wenn doch die Abarbeitung eines Maschinensprache-Befehls beim Pentium schneller
> vonstatten geht als beim I5?
So einfach ist das nicht.
Die meisten Befehle werden in mehrere Schritte (µOps) zerlegt und diese dann
in anderer Reihenfolge Stück für Stück abgearbeitet. Es können über 100 µOps
gleichzeitig in Bearbeitung sein. Davon warten viele auf Abhängigkeiten, z.B.
Ergebnisse laufender Berechnungen oder Daten aus dem RAM, oder auch nur, dass
die Einheit, die einen bestimmen Befehl ausführen kann, endlich frei wird.
Die Logik runterherum sorget dafür, dass hinterher alles so aussieht, als wäre
ein Befehl nach dem anderen hintereinander ausgeführt worden.
Penryn und Sandy Bridge haben 6 solcher Einheiten.
Dieser "Warteraum" ist so groß, damit trotz vieler blockierter µOps immer
möglichst viele Einheiten je Takt ausgelastet sind.
Sandy Bridge hat viele Detailverbesserungen ggü. Penryn:
- es können mehr µOps gleichzeitig verwaltet werden
- Die Einheit sind flexibler (können mehr verschiedene µOp-Arten ausführen)
- Manche µOps können schneller ausgeführt werden (weniger Takte für die selbe µOp).
- Es gibt bessere Vorhersagen, z.B. welche Daten aus dem RAM bald gebraucht werden könnten.
Weil das Besorgen der Daten sehr lauge dauert, hilft es, wenn sie schon "vorbestellt"
werden.
Hendrik vdH