PentiumPro Vs. Pentium MMX
description
Transcript of PentiumPro Vs. Pentium MMX
PentiumPro
Vs.
Pentium MMX
Namik P. Ley
André El-Ama
Die Probanden:
System A: PentiumPro 200MHz 64MB RAM
System B: PentiumMMX 233MHz 64MB RAM
Verglichen werden soll nur die Prozessorperformance! Andere Leistungsunterschiede wie etwa unterschiede der Grafikkarte werden von uns weitest gehend ausgeglichen.
Das Ziel:
Der Ansatz zum Vergleich der beiden Prozessoren liegt in Ihrer Architektur. Es sollen hier also die Besonderheiten des Designs heraus gestellt werden, so daß etwa die um 33MHz geringere Taktfrequenz des PentiumPro nur sekundäre Relevanz hat. Insbesondere liegt unser Augenmerk auf den zwei primären Unterschieden. Der PentiumMMX hat durch die MMX-Erweiterung die Möglichkeit, Daten im SIMD Verfahren zu bearbeiten, während der PentiumPro einen im Prozessortakt arbeitenden L2 Cache besitzt.
Der PentiumPro:
dynamische Befehlsausführung
drei zwölfstufige Pipelines
On-Chip-FPU
getrennte L1-Befehls- und Daten-Caches mit Write-Back-Strategie
„Out of order“ Abschluß der Befehle
Register-Rennaming mit 40 Registern
Data Forwarding
dynamische Verzweigungsvorhersage
spekulative Ausführung von Befehlen
Multiprozessing mit bis zu vier PPro ohne zusätzliche Logik
auf 36-Bit erweiterter Adressbus für einen physikalischen
Adressraum von 64 GByte.
neue Funktionen CMOVcc für bedingte MOV-Operationen
im selben Gehäuse intergrierter L2-Cache, der über einen
dedizierten Bus mit vollem CPU-Takt angesprochen wird
Die Besonderheiten der MMX-Technologie
• SIMD Technologie• 24 entsprechend neue Befehle (mit allen Variation sind es
57)• 8 getarnte 64-Bit MMX Register• 4 neue Datentypen• 100% Abwärtskompatibel• Doppelte 1‘st Level Größe (16KB/16KB)• Wurde um eine Pipline-Stufe um höhere Taktfrequenzen
zu erzielen• Wurde um 1,2 Mio. Transistoren ergänzt
SIMD Technologoe
Mappen der MMX-Register auf die FP-Register
Neue Datentypen
FP und MMX in einer Applikation
FP_code :.......... /* FP-Stack leeren
MMX_code :.....EMMS
FP_code2 :.......... /* FP-Stack leeren
Bug im Pentium-MMX und PII
•Umschaltung von MMX nach FP per EMMS•MMX : ca. 1458 Taktzyklen•PII : ca. 5287 Taktzyklen
Normalerweise war vorgesehen, daß dieseUmschaltung drei Taktzyklen verbraucht
Pipeline der MMX CPU
Block-Diagramm des Pentium MMX Prozessors
Beispiel einer SIMD-Addition
Beispiel einer Vektor-Multiplikation
Addition ohne Überlaufschutz (Wrap-Arround)
Addition mit Überlaufschutz (saturation)
iComp Index 2.0
•CPUmark32•Norton SI-32•SPECint_base95•SPECfp_base95•Intel Media Benchmark
iComp Index 2.0
PPro-200 (256 KB) 220
P-MMX-233 203
P-MMX-200 182
Pentium 200 142
MPEG Benchmark•Quelle
AVI VideoLänge : 40sek (ca. 200MB)Auflösung : 352*288
•ZielMPEG Video (ca. 4MB)
•Benutzte SoftwareXing-Encoder 2.2 (MMX-optimiert)
•KonvertierungzeitMMX-233 : 155 SekMMX-200 : 180 Sek (umgerechnet)PPro-200 : 271 Sek
MP3 Benchmark•Quelle
WAV-SounddateiLänge : 16Min 12Sek (ca. 170MB)Auflösung : 16-Bit; Stereo; 44kHz
•ZielMP3-Datei (ca. 15MB)
•Benutzte SoftwareAudio Catalyst 2.0 (nicht MMX optimiert)
•KonvertierungzeitMMX-233 : 5Min 49SekMMX-200 : 6Min 46Sek(umgerechnet)PPro-200 : 4Min 30Sek
Spiele Benchmark
•Spiel•Hexen II (ohne 3D-Karten Unterstützung)•Nicht MMX optimiert
PPro-200 MMX-233
320*200 29,8 32,1
640*480 12,9 13,1
MMX-Befehle : Datentransfer
Befehl Typ Kommentar
MOV D,Q Laden oder Speichern der MMX-Register
MMX-Befehle : Packen
Befehl Typ Kommentar
PACKUS
WB Words zu Bytes, mit unsigned Saturation
PACKSS
WB,DW
Words zu Bytes, Words zu Dwords,Dwords zu Qwords, mit signed Saturation
MMX-Befehle : Entpacken
Befehl Typ Kommentar
PUNPCKH BW, WD, DQ
Byte zu Words, Words zu DWords, DWords zu QWords, High Order
PUNPCKL BW, WD, DQ
Byte zu Words, Words zu DWords, DWords zu QWords, Low Order
MMX-Befehle : Arithmetik
Befehl Typ Kommentar
PADD B,W,D Addieren mit Wrap-Around
PADDS B,W Addieren mit signed Saturation
PADDUS B,W Addieren mit unsigned Saturation
PSUB B,W,D Subtrahieren mit Wrap Around
PSUBS B,W Subtrahieren mit signed Saturation
PSUBUS B,W Subtrahieren mit unsigned Saturation
PMULH W Multiplizieren, Ergebnis = HighWord
PMULL W Multiplizieren, Ergebnis = LowWord
PMADD WD Multiplizieren und Addieren, Ergebnis = Dword
MMX-Befehle : Schieben
Befehl Typ Kommentar
PSLL W,D,Q Logisch nach links schieben
PSRL W,D,Q Logisch nach rechts schieben
PSRA W,D Arithmetisch nach rechts schieben
MMX-Befehle : Vergleichen
Befehl Typ Kommentar
PCMPEQ B,W,D Ergibt $FF bei gleich, sonst 0
PCMPGT B,W,D Ergibt $FF bei größer, sonst 0
MMX-Befehle : Logik
Befehl Typ Kommentar
PAND Bitweise logisches AND
PANDN Bitweise logisches NAND
POR Bitweise logisches OR
PXOR Bitweise logisches XOR
MMX-Befehle : Sonstiges
Befehl Typ Kommentar
EMMS Löscht den MMX-Zustand