PentiumPro Vs. Pentium MMX Namik P. Ley André El-Ama.

Post on 05-Apr-2015

113 views 0 download

Transcript of PentiumPro Vs. Pentium MMX Namik P. Ley André El-Ama.

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