Intel P III-S vs. P4 Architecture & Benchmarking



Ähnliche Dokumente
Benchmarking Intel Pentium III-S vs. Intel Pentium 4

CMS.R. Bedienungsanleitung. Modul Cron. Copyright CMS.R Revision 1

Nutzung von GiS BasePac 8 im Netzwerk

Dokumentation IBIS Monitor

Hinweise zur Datensicherung für die - Prüfmittelverwaltung - Inhalt

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

Installation kitako. Wir nehmen uns gerne Zeit für Sie! Systemanforderungen. Demoversion. Kontakt

Installation OMNIKEY 3121 USB

Installationsanleitung für Update SC-Line

BELIEBIG GROßE TAPETEN

Inhaltserzeichnis. Datenübernahme

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

GITS Steckbriefe Tutorial

Installationshinweise für OpenOffice Portable auf einem Wechseldatenträger Stand: 27. März 2003 LS Stuttgart, Kaufmännische ZPG

Anleitung zum Prüfen von WebDAV

ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg Weiterstadt

Installationsanleitung Sander und Doll Mobilaufmaß. Stand

4D Server v12 64-bit Version BETA VERSION

Installation von Druckern auf dem ZOVAS-Notebook. 1. Der Drucker ist direkt mit dem Notebook verbunden

Ihr IT-Administrator oder unser Support wird Ihnen im Zweifelsfall gerne weiterhelfen.

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

AutoCAD Dienstprogramm zur Lizenzübertragung

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Zwischenablage (Bilder, Texte,...)

Tipps und Tricks zu den Updates

Enigmail Konfiguration

FRILO-Aktuell Ausgabe 2/2013

OP-LOG

Programme im Griff Was bringt Ihnen dieses Kapitel?

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

Datensicherung. Beschreibung der Datensicherung

GEZIELT MEHR SICHERHEIT MIT 4I ACCESS SERVER & 4I CONNECT CLIENT

Step by Step Softwareverteilung unter Novell. von Christian Bartl

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

INSTALLATION DES MICROSOFT SUS-SERVERS AUF WINDOWS XP PROFESSIONAL

Word 2010 Schnellbausteine

Gruppenrichtlinien und Softwareverteilung

Installationsanleitung. Ab Version

Stepperfocuser 2.0 mit Bootloader

Wo möchten Sie die MIZ-Dokumente (aufbereitete Medikamentenlisten) einsehen?

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook ( ) Zentrum für Datenverarbeitung der Universität Tübingen

KeePass Anleitung. 1.0Allgemeine Informationen zu Keepass. KeePass unter Windows7

QTTabBar Einrichtung, ein Tutorial

SOFiSTiK AG Installationsanleitung

Erweiterung AE WWS Lite Win: AES Security Verschlüsselung

V-DOK 2.0 ClientUpdate und Scannen mit ScandAllPro Scannen unter V-DOK 2.0 ist nicht mehr im Standard verfügbar.

Massenversand Dorfstrasse 143 CH Kilchberg Telefon 01 / Telefax 01 / info@hp-engineering.com

Workshop: Eigenes Image ohne VMware-Programme erstellen

Nikon Message Center

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Anleitung über den Umgang mit Schildern

A. Ersetzung einer veralteten Govello-ID ( Absenderadresse )

Bkvadmin2000 Peter Kirischitz

> Soft.ZIV. Maple Mathematisches Software System

Prodanet ProductManager WinEdition

Internet online Update (Mozilla Firefox)

Urheberrecht in der Schule Was Lehrer, Eltern, Schüler, Medienzentren und Schulbehörden vom Urheberrecht wissen sollten

INSTALLATION STHENO/PRO V1.2. Installation

Installation LehrerConsole (für Version 6.2)

Dieses UPGRADE konvertiert Ihr HOBA-Finanzmanagement 6.2 in die neue Version 6.3. Ein UPGRADE einer DEMO-Version ist nicht möglich.

Konfiguration IKMZ / Universitätsrechenzentrum des Cisco VPN-Clients v3.6 Netze und Datenkommunikation

Anleitung zur Nutzung des SharePort Utility

HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG

Lizenzierung von SharePoint Server 2013

Bedienungsanleitung: Onlineverifizierung von qualifiziert signierten PDF-Dateien

Seminar Seminarname SS 2003

Fragen und Antworten. Kabel Internet

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

EasyProfil unter Windows 7 64-Bit Home Premium (Die Installation der VirtualBox und EasyProfil)

Abbildung 8.1: Problem mit dem Zertifikat. 2. Melden Sie sich am imanager als admin an. Die Anmeldung erfolgt ohne Eingabe des Kontextes: 8-2

Kennen, können, beherrschen lernen was gebraucht wird

Webalizer HOWTO. Stand:

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Systemvoraussetzungen:

Wie halte ich Ordnung auf meiner Festplatte?

Benutzerhandbuch DesignMaster II

Windows 10 > Fragen über Fragen

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Windows Server 2008 (R2): Anwendungsplattform

1 Aufgaben zu Wie funktioniert ein Computer?

Handbuch. TMBackup R3

Zurücksetzen von "Internetprotokoll (TCP/IP)" in Windows XP

Informationen zum neuen Studmail häufige Fragen

Installation und Inbetriebnahme von SolidWorks

Bitte unbedingt lesen! Update-Dokumentation

Elexis-BlueEvidence-Connector

Integrated Services Realtime Remote Network

Handbuch. timecard Connector Version: REINER SCT Kartengeräte GmbH & Co. KG Goethestr Furtwangen

- Zweimal Wöchentlich - Windows Update ausführen - Live Update im Norton Antivirusprogramm ausführen

SANDBOXIE konfigurieren

E-Finance Java de PF

GEVITAS Farben-Reaktionstest

AutoTexte und AutoKorrektur unter Outlook verwenden

Flyer, Sharepics usw. mit LibreOffice oder OpenOffice erstellen

Transkript:

Architecture & Benchmarking Labor zur Lehrveranstaltung Rechnerstrukturen (RST) Prof. Dr. Thomas Risse Hochschule Bremen University of Applied Sciences André Ceselski (100520) Raphael Rosendahl (95437) 13. Februar 2007

Zusammenfassung In dieser Ausarbeitung werden die Intel Prozessorarchitekturen P6 und NetBurst betrachtet und ihre Unterschiede vorgestellt. Im Laborteil dieses Dokuments wurde je ein Prozessor der beiden Architekturen mit verschiedenen Benchmarkprogrammen auf seine Leistung getestet, wobei für die P6-Architektur der Pentium III-S Tualatin 1,133 GHz und für die NetBurst-Architektur der Pentium 4 Northwood 2,0 GHz verwendet wurde. Die Tests wurden auf den Betriebssystemen Windows 2003 Standard Server und Ubuntu Linux 6.10 durchgeführt. Der Pentium 4 ist nicht nur aufgrund seiner Taktfrequenz schneller, sondern auch aufgrund der Hyper Pipelined Technology, verbesserten Branch Prediction und seiner Rapid Execution Unit. Die Befehlssatzerweiterung SSE2 läÿt bei den Benchmarks einen deutlichen Geschwindigkeitszuwachs erkennen. Bei den Rendering Benchmarks schate der P4 eine Leistungssteigerung von bis zu 47%, jedoch das damalige Verkaufsargument "Doppelte Geschwindigkeit durch doppelten CPU-Takt"konnte nicht bestätigt werden. Der PIII ist bei kürzeren Berechnungen gelegentlich sogar schneller. Anteil an der Performance des P4 hat auch der Dual Data Rate-RAM (DDR-RAM). Unterschiede in den Ergebnissen der beiden Betriebssysteme zeigen, dass auch Optimierungen an Compiler, Software und Betriebssystemen eine Rolle spielen.

Inhaltsverzeichnis 1 Ziel 5 2 Architekturen 5 2.1 P6............................. 5 2.2 NetBurst......................... 10 2.3 Neuerungen........................ 13 3 Prozessoren 15 3.1 Intel Pentium III-S.................... 15 3.2 Intel Pentium 4...................... 15 4 Erwartung 16 5 Testsysteme 16 6 Benchmarks 17 6.1 Super Pi.......................... 17 6.2 CineBench 2003...................... 19 6.3 BOINC.......................... 21 6.4 Pov-Ray.......................... 23 6.4.1 Version 3.6.................... 23 6.4.2 Version 3.7.................... 25 7 Auswertung 26 A Anhang 28 A.1 P4 Leistungszugewinn.................. 28 A.2 Benchmarkergebnisse PIII-S............... 28 A.3 Benchmarkergebnisse P4................. 28 3

Abbildungsverzeichnis 1 Intel P6 Architektur [4]................. 6 2 Intel P6 Dynamic Execution [8]............. 7 3 Fetch/Decode Unit [8].................. 8 4 Dispatch/Execute Unit [8]................ 8 5 Retire Unit [8]...................... 9 6 NetBurst Architektur................... 10 7 NetBurst Architektur (detailliert)............ 11 8 Pipeline Vergleich..................... 13 9 Register Allokation.................... 14 10 ScreenShot SuperPi (Windows Version)........ 18 11 Ergebnisse SuperPi 1................... 18 12 Ergebnisse SuperPi 2................... 19 13 ScreenShot CineBench 2003............... 20 14 Ergebnisse CineBench 2003............... 20 15 ScreenShot BOINC (Windows Version)......... 22 16 Ergebnisse BOINC.................... 22 17 POV-Ray 3.6 Rendering Szene............. 23 18 Ergebnisse POV-Ray 3.6................. 24 19 POV-Ray 3.7 Rendering Szene............. 25 20 Ergebnisse POV-Ray 3.7................. 26 4

1 Ziel Aufbau der Intel P6- und NetBurst-Archtitektur sollen in der Ausarbeitung betrachtet und Unterschiede vorgestellt werden. Im Laborteil werden je ein Prozessor der beiden Architekturen mit verschiedenen Benchmarkprogrammen und Betriebssystemen auf ihre CPU-Leistung getestet, wobei PIII-S Tualatin 1,133 GHz (P6) und Pentium 4 Northwood 2,0 GHz (NetBurst)verwendet und verglichen werden. 2 Architekturen 2.1 P6 Die P6 Architektur ist, wie der Name schon sagt, die 6. Generation der Pentium Familie. Sie erschien im November 1995 und wird in folgenden Prozessoren-Reihen verwendet. Das Blockschaltbild dieser Architektur nden sie in Abbildung 1. Intel Pentium II Intel Pentium II XEON Intel Pentium Celeron Intel Pentium Celeron A Intel Pentium III Intel Pentium III XEON Das Hauptaugenmerk der P6 Architektur ist die Dynamic Execution Architecture, die auf den folgenden Seiten erläutert wird. Die P6 Architektur arbeitet mit einem 64 bit breiten Daten- sowie einem 36 bit breiten Adressbus. Die P6 Architektur besitzt eine superskalare Rechnerstruktur. Eine weitere Neuerung gegenüber der Vorgänger Architektur ist der Dual Independent Bus (DIB). Der DIB ist ein Bus, welcher den L2-Cache mit der CPU direkt verbindet. So muss der Datenstrom nicht mehr über den eventuell ausgelasteten Systembus ieÿen, sondern kann die Daten schnell an die CPU liefern. [7] 5

Abbildung 1: Intel P6 Architektur [4] Dynamic Execution Architektur Die Dynamic Execution Archtiketur besitzt unter anderem die Data Flow Analysis. Mit deren Hilfe ist es möglich, dass die Daten analysiert werden. So kann durch outof-order Execution der Instruktionen eine non-blocking Architektur ermöglicht werden, die processor stalls während Cache-, Hauptspeicherund I/O-Zugrien vorbeugt. Die ergegnisunabhängigen Instruktionen werden out-of-order ausgeführt, während die ergebnisabhängigen Instruktionen in Programmreihenfolge ausgeführt werden, sobald ihre Operanden bereit stehen. Ein weiterer Punkt ist die Spekulative Ausführung und die Sprungvorhersagen. Hier werden Ausführungen spekulativ ausgeführt, sodass sie im evtuell späteren Verlauf schon berechnet vorliegen. Da die P6 Architektur nur acht general purpose Register zur Verfügung stellt, werden durch Register Renaming nicht benötigte der 40 physikalischen Register umbenannt und genutzt. Das Blockschaltbild, welches die drei Haupteinheiten (Fetch/Decode-, Dispatch/Execute-, Retire Units) zeigt, bendet sich in Abbildung 2. 6

Abbildung 2: Intel P6 Dynamic Execution [8] Fetch/Decode Einheit Die Fetch Decode Einheit fungiert als inorder Pipeline. Im ICache liegen Instruktionen, so dass die CPU bei Bedarf schnell darauf zugreifen kann. Die Instruktionen werden von der Bus Interface Unit (BIU) angeliefert. Die Next_IP Einheit wird vom BTB gesteuert und zeigt so auf die vorhergesagte Instruktion. Der 512 Einträge groÿe Branch Target Buer (BTB) benutzt für die Sprungvorhersage eine Erweiterung des Yeh Algorithmus, um eine Sprungvorhersagegenauigkeit von über 90% zu gewährleisten. [8] Der ICache lädt die Cachezeile anhand des Next_IP Zeigers, und übergibt diese an die drei parallel arbeiteten Decoder. Die meisten Instruktionen werden direkt in eine µ-op decodiert. Die komplexen Instruktionen werden in der Microcode Instruction Sequencer Einheit(MIS) als gespeicherte µ-ops Sequenzen decodiert. Anschliessend werden die µ-ops an die RAT (Register Alias Table) geschickt, wo sie dann in die P6 konformen Register umgewandelt werden. Verdeutlicht wird dies im Blockschaltbild in der Abbildung 3.[8] 7

Abbildung 3: Fetch/Decode Unit [8] Dispatch/Execute Einheit Die Dispatch Unit selektiert die µ- ops aus dem Instruktions-Pool entsprechend ihres Status. Wenn für die µ-op alle Operanden vorhanden sind und die Execution Unit frei ist, so wird die Instruktion an die entsprechende Execution Unit gesendet und abgearbeitet. Das Ergebnis dieser Instruktion wird im Instruction Pool gespeichert. Verdeutlicht wird dies im Blockschaltbild in der Abbildung 4.[8] Abbildung 4: Dispatch/Execute Unit [8] 8

Retirement Einheit Die Retirement Unit überprüft den Status der Instuktionen im Instruktions-Pool und sucht die bereits ausgeführten µ-ops. Die Retirement Einheit muss aber auch die richtige Reihenfolge der Befehle wiederherstellen. Die Retirement Unit sucht im Instruction Pool nach der richigen Reihenfolge. Das Ergebnis wird einerseits zurück in den Instruction Pool sowie in das Register Retirement File (RRF) geschrieben. Die Retirement Einheit kann 3 µ-ops / clock aussetzen. Veranschaulicht wird dies im Blockschaltbild in der Abbildung 5.[8] Abbildung 5: Retire Unit [8] 9

2.2 NetBurst Die NetBurst-Architektur ist der Nachfolger der P6-Architektur und wurde von Intel erstmals Ende 2000 mit dem Pentium 4 (Willamette Kern) veröentlicht. Prinzipiell besteht sie aus vier Teilen, dem Memory Subsystem, dem In-Order Front End, der Out-of-Order Engine und den Integer- and FP Execution Units. [10] Abbildung 6: NetBurst Architektur Abbildung 7 zeigt die NetBurst-Architektur detaillierter. Der Übersicht halber sind die vier Komponenten der Architektur aus Abbildung 6 farbig markiert. 10

Abbildung 7: NetBurst Architektur (detailliert) Memory Subsystem Farblich nicht markiert ist das Memory Subsystem (rechts in der Abbildung) mit dem Front Side Bus QDR (Quad Data Rate). Es beinhaltet den L2 Cache, die Bus Interface Unit (BIU) und den Systembus. Im L2 Cache werden Instruktionen und Daten gespeichert, die nicht mehr im L1 Trace Cache und L1 Daten Cache passen und von der BIU angeliefert werden. Der Systembus wird verwendet, um im Falle eines L2 Cache-Miss auf den Hauptspreicher zuzugreifen und auf die System I/O-Resourcen. [10] In-Order Front End Das blaue Kästchen zeigt das In-Order Front End. Es holt und decodiert die Befehle, unter Berücksichtigung der Sprungvorhersage-Logik, und speichert die µops im L1 Trace Cache. Die neue Sprungvorhersage-Logik ist zweigeteilt und besteht aus dem Front-End BTB (Branch Target Buer) und dem Trace Cache BTB. Der Front-End BTB trit die Vorhersage für die nächsten IA-32-Instruktionen, die vom Prefetcher geholt und vom Instruction Decoder in Microinstruktionen übersetzt werden und anschlieÿend im Trace Cache gespeichert werden. Der Trace Cache BTB trit die Vorhersagen für die Microinstruktionen im L1 Trace Cache. Nur wenn eine Microinstruktion nicht im Trace Cache vorhanden ist, wird sie vom Prefetcher aus dem L2 Cache geladen. Da die bereits decodierten Microinstruktionen im Trace Cache 11

vorliegen, ist es meist nicht erforderlich die Instruktionen erneut vom Instruction Decoder decodieren zu lassen (z.b. in Schleifen). Durch diesen Bypass des Decoders wird die Performance gesteigert. Das Microcode ROM wird gebraucht bei Fehler- und Interrupt handling, sowie komplexen IA-32 Instruktionen (> 4µOps), beispielsweise string move-befehl. [10] Out-of-Order Engine Darunter, in gelb gerahmt, ist die Out-of- Order Engine. Sie bereitet die Instruktionen zur Ausführung in der 20-stugen Pipeline vor. Dies beinhaltet das Weiterreichen von Ergebnisunabhängigen Instruktionen an die Execution Units, sowie das Wiederherstellen der Reihenfolge der Instruktionen aus dem Programm. Sie sorgt für eine möglichst hohe Auslastung der Execution Units und gibt Rückmeldung an die Sprungvorhersage-Logik in Form von einem Sprungvorhersage History Update. Die Execution Units werden mit einem möglichst hohen Strom von Instruktionen (126 µops zur Zeit) versorgt. Dabei gibt die execution logic Instruktionen out-of-order weiter oder sortiert die Microinstruktionen in ihrer ursprünglichen Programmreihenfolge und gibt diese zur Verarbeitung weiter, sobald ihre Operanden bereit stehen. Beim Register Renaming werden die acht IA-32 Register auf die 128 physikalischen Register der CPU übertragen. So können mehrere Instanzen eines Registers (z.b. EAX) existieren, wobei jedes Register und welches den aktuellen Wert enthält in der Register Alias Table (RAT) gespeichert ist. Mehrere Scheduler bestimmen, ob eine Microinstruktion bereit zur Ausführung ist, indem die Scheduler die Eingabeoperanden verfolgen. Sind die Operanden bereit, werden die Instruktionen wieder in die Programmreihenfolge gebracht, Operanden unabhängige Instruktionen werden sofort an die Execution Units weitergeleitet. Ein Branch History Update wird von der Retirement-Unit, die auch für das re-ordering zuständig ist, an das Front End gemeldet, um die Anzahl der Sprungfehlvorhersagen zu reduzieren. [10] Integer and FP Execution Units Hier werden die Instruktion ausgeführt. Register Files, die Integer und Floating-Point Operanden zur Ausführung speichern, L1 Daten Cache, Adress Generation Units (AGUs), sowie Integer- (ALUs) und Floating-Point Execution Units (FPUs) sind hier untergebracht. ALUs für die Ausführung einfacher Interger-Operationen arbeiten mit doppeltem CPU-Takt. [10] 12

2.3 Neuerungen Hyper Pipelined Technology Die Misprediction-Pipeline wurde von Intel für den Pentium 4 auf 20 Stufen aufgestockt [10] (in späteren P4 nochmals erweitert). Die Pipelines der Architekturen sind in Abbildung 8 gezeigt. Abbildung 8: Pipeline Vergleich Durch verkürzte Pipelinestufen und weniger Arbeit während der Stufen kann die Taktrate viel höher verglichen zur P6-Architektur sein (fewer gates of logic). Allerings ergeben sich bei einer längeren Pipeline gröÿere Strafzeiten bei einer falschen Sprungvorhersage, was eine Verbesserung der Misprediction erforderte. [10] Branch Prediction Um die Strafzeiten bei Fehlvorhersagen gering zu halten, hat Intel bei der NetBurst-Architektur einen neuen Algorithmus eingesetzt, der die Sprungvorhersagegenauigkeit im Vergleich zur P6-Architektur um 1 3 verbessert. Er wird von beiden Teilen der Branch Prediction genutzt: zum Einen von dem Front End BTB, der die Vorhersage für die IA-32 Instruktionen trit, zum Anderen vom Trace Cache BTB für die Vorhersage der nächsten µops im L1 Trache Cache. [10] L1 Trache Cache Im L1 Trace Cache werden 12KµOps gehalten, also bereits decodierte Instruktionen, die von der Out-of-Order Engine an die Execution Units weitergegeben werden. Dies bringt eine Performanceerhöhung, da Instruktionen nur geholt und decodiert werden müssen, wenn die benötigte Microinstruktion nicht im Trace Cache vorrätig ist. [10] Front Side Bus Quad Data Rate Der quadpumped 100 MHz Bus erreicht eine Rate von 3,2 GB/s (4 * 10 8 1 s * 8 Byte), da er in der Lage ist, je Takt vierfach 8 Byte zu übertragen. [10] 13

Rapid Execution Unit Intel nannte die Simple Instruction ALUs, die Operationen in einem halben CPU-Takt ausführen können, Rapid Execution Unit. Dies steigert die Performance, verdoppelt sie aber nicht, da nicht alle Operationen mit doppeltem CPU-Takt bearbeitet werden können. [10] SSE2 Streaming SIMD Extension 2 ist eine Befehlssatzerweiterung und fügt 144 neue 128-bit Single Instruction Multiple Data (SIMD) Befehle hinzu, die die Performance u.a. bei Multi-media Anwendungen beschleunigt. [10][1] Register allocation Bei der P6-Architektur wurden noch Ergebnisdaten und Status zusammen als langer Eintrag, bestehend aus Datenund Statusfeld, im Re-order Buer(ROB) gespeichert. Wurden die Daten für eine gewisse Zeit nicht gebraucht, wurden sie physikalisch ins Retirement Register File (RRF) kopiert. Der Register Alias Table (RAT) zeigt immer auf den aktuellsten Wert eines Registers, der entweder im ROB oder im RRF sein kann. NetBurst speichert Daten und Status getrennt. Es ndet kein physikalisches Kopieren mehr während des Retirements statt, sondern der Zeiger vom RAT wird vom Retirement RAT übernommen.[10] Die beiden Verfahrensweisen sind in der Abbildung 9 illustriert. Abbildung 9: Register Allokation 14

3 Prozessoren 3.1 Intel Pentium III-S Codename Tualatin Erscheinungsdatum: Juni 2001 Taktfrequenz 1,133 GHz L1-Cache: 16 KB + 16 KB (Daten + Instruktionen) L2-Cache: 512 KB mit Prozessortakt MMX, SSE 133 MHz Front Side Bus Betriebsspannung (VCore): 1,45 V Fertigungstechnik: 130 nm Die-Gröÿe: 80 mm 2 bei 44 Millionen Transistoren I max = 20.1 A, P max = 29.1 W, T max = 69.0 o C [2][9] 3.2 Intel Pentium 4 Der Intel P4, für den die NetBurst-Architektur entworfen wurde, ist der Nachfolger des PIII. Eigesetzt wurde hier der Pentium 4 Northwood 2,0 GHz, der ebenfalls, wie der Pentium III-S Tualatin 1,133 GHz, in der 130nm Fertigungstechnik hergestellt. Codename Northwood Erscheinungsdatum: Januar 2002 Taktfrequenz 2,0 GHz L1-Cache: 8 KB (Daten) + 12.000 µops L2-Cache: 512 KB mit Prozessortakt MMX, SSE, SSE2 100 MHz Front Side Bus QDR (Quad Data Rate, FSB 400) Betriebsspannung (VCore): 1,5 V Fertigungstechnik: 130 nm Die-Gröÿe: 146 mm 2 bei 55 Millionen Transistoren I max = 44.3 A, P max = 52.4 W, T max = 68.0 o C [3][1] 15

Die auälligsten Merkmale in den Details liegen in der Befehlssatzerweiterung SSE2 für Multimediaanwendungen, dem quadpumped Front Side Bus, dem L1 Trace Cache für Micro-Instruktionen, der Die- Gröÿe von 146 mm und einem mehr als doppelt hohen Maximalstrom von 44.3 Ampere. 4 Erwartung Es ist zu erwarten, dass der P4 sich im Benchmark behaupten wird und den PIII-S schlägt. Auch wenn der P4 annähernd einen doppelten CPU-Takt hat, wird eine Bestätigung des Verkaufsargument Doppelte Taktfrequenz - Doppelte Leistung nicht erwartet. Um dieses Argument zu bestätigen, müsste der P4 in einem Benchmark ohne SSE2- Optimierung über 100% Leitungsgewinn erzielen, da auch zu berücksichtigen ist, dass der P4 einen DDR-RAM (Dual Data Rate) nutzt. Dies würde einen Beschleunigungsfaktor β = β P III P 4 von gröÿer 2 erfordern. Als einen weiteren Faktor der Performancesteigerung sollte sich die SSE2-Befehlssatzerweiterung zeigen. 5 Testsysteme Die Prozessoren wurden auf Mainboards getestet, die einen Intel Chipsatz verwenden und wurden mit 512 MB Arbeitsspeicher betrieben. Zum Einsatz kamen als Betriebssystem zum Einen Ubuntu Linux 6.10, sowie Windows 2003 Standard Server. Tabelle 1 zeigt die Testsysteme in der Gegenüberstellung. Für den Benchmark wurden die Rechner entsprechend vorbereitet, d.h es wurde ein neues Windows 2003 Standard Server Betriebssystem installiert und die Gröÿe des Arbeitsspeichers wurde angepasst. Die Gra- kkarten sind zwar unterschiedlich leistungsfähig, aber bei den Benchmarks spielt die Grakkartenleistung eine untergeordnete Rolle, da der gröÿte Teil des Workloads im Cache und Hauptspeicher statt ndet. 16

6 Benchmarks 6.1 Super Pi Tabelle 1: Testsysteme Das Benchmark Programm Super-Pi berechnet Pi auf mehrere Millonen Stellen nach dem Komma. Die Anzahl der Stellen kann hierbei angegeben werden. Bei der Windows Version stehen 2 14 (16384 = 16K) bis 2 25 (33554432 = 32M) Nachkommastellen zur Auswahl und können über ein GUI ausgewählt werden. Für das Betriebssystem Linux wurde eine andere Version des Programms benutzt. Diese funktioniert ohne GUI nur auf der Konsole. Als Parameter muss jeweils der Exponent zur Basis 2 angegeben werden, um die entsprechende Anzahl an Nachkommastellen zu berechnen. Für Windows wurde Version 1.1e und für Linux Version 2 benutzt. Das Programm ist schon etwas betagt und deswegen fehlt hier die SSE2 Unterstützung. In Abbildung 10 sieht man das Ergenisfenster der Windows Version, in dem links die Berechnungszeit und rechts daneben die Anzahl der Nachkommastellen des jeweiligen Tests zu sehen ist. Ergebnisse Bei diesem Benchmark fällt auf, dass der Intel Pentium III-S und der Intel Pentium 4 dicht zusammenliegen. Erst bei den längeren Berechnungnen kann der Intel Pentium 4 seine Stärken aufgrund der höheren Taktfrequenz ausspielen. Ein Beschleunigungsfaktor β = β P III P 4 < 2 ergibt sich aus der Tatsache, dass der P4 2GHz nicht die doppelte Taktfrequenz des P3 besitzt ( 1,133GHz 1, 765) und bei der oating point Berechnung auf die SSE2-Befehlssatzerweiterung optimiert ist. (siehe Abbildung 11 und 12). 17

Abbildung 10: ScreenShot SuperPi (Windows Version) Abbildung 11: Ergebnisse SuperPi 1 18

Abbildung 12: Ergebnisse SuperPi 2 6.2 CineBench 2003 Cinebench 2003 ist ein Tool, das zur Performancemessung von Systemen für die Software Cinema 4D R8 von Maxon enwickelt wurde. Mittels des Cinema-4D-Raytracers überprüft es die Render-Leistung des Prozessors, während einige typische Arbeitsvorgänge von Cinema 4D simuliert und über den Benchmark abgespult werden. Der Raytracing-Test rendert die Szene Daylight 13, die 35 Lichtquellen enthält, wovon 16 mit Shadowmaps behaftet sind und weiche Schatten werfen, und berechnet dann die Frames pro Sekunde. Die Grakkarte und höhere Speicher- und FSB-Bandbreiten spielen eine untergeordnete Rolle, da der Test FPU-lastig ist und der Workload überwiegend in den ersten beiden Cache-Stufen abläuft. Die Berechnung der Bildpunkte erfolgt in der CPU durch die Execution Units, die ihre Operanden aus den Registern beziehen und ihre Ergebnisse in Register zurückspeichern. Die Version 2003 unterstützt Multiprocessing (16 CPUs), SSE2 sowie Intels Hyper-Threading-Technologie [6][11]. Ergebnisse Der P4 schlägt bei dem, nur unter dem Betriebssystem Windows verfügbaren, Rendering-Benchmark von Cinebench den PIII um 65 Sekunden, was einer Leistungssteigerung von 32,64 % und einem Beschleunigungsfaktor β = β P III P 4 = 198,367s 133,633s 1, 484 entspricht. Dieser Vorteil dürfte das Resultat des höheren CPU Taktes, des schnelleren DDR-RAMs und der SSE2-Optimierung sein. 19

Abbildung 13: ScreenShot CineBench 2003 Abbildung 14: Ergebnisse CineBench 2003 20

6.3 BOINC BOINC (Berkeley Open Infrastructure for Network Computing) Im Juni 2004 begann die Ablösung des seit Mai 1999 laufende Distributed Computing Projektes SETI@home Classic. Nach den Vorstellungen der Universität von Kalifornien, Berkeley soll mit BOINC (Berkeley Open Infrastructure for Network Computing) eine neue Infrastruktur die positiven Erfahrungen von SETI@home Classic umsetzen und dessen Nachteile vermeiden. BOINC soll die monolithische Einheit von Projekt und Infrastruktur beenden, die bei SETI@home bisher nur für einen Zweck - die Suche nach Signalen aus dem Weltraum - genutzt werden kann. Im zweistugen Aufbau wird BOINC die Entwicklung der Technik für Verwaltung und Verteilung von Daten und Programmen, die Teilnehmerverwaltung und die Statistiken usw. übernehmen. Die wissenschaftlichen Projekte wie SETI@home und Astropulse aus Berkeley, aber auch beliebige andere Projekte, wie z.b. Predictor@home oder ClimatePrediction.net, brauchen sich dieser Techniken dann nur noch zu bedienen. Jedes Projekt muss eine eigene Serverinfrastruktur bereitstellen. Mehrere redundante Server zur Lastverteilung und Erhöhung der Verfügbarkeit sind möglich. Der Projektteilnehmer muss sich für jedes Projekt anmelden, erhält jeweils eine Account ID und muss auf seinem heimischen PC das BOINC Clientprogramm installieren. Innerhalb des BOINC Netzwerkes werden die Accountinformationen und Kongurationen zwischen den Projekten ausgetauscht, sodass allgemeine Einstellungen an jedem Server vorgenommen werden können bei dem der Teilnehmer eine Account ID hat. Eingestellt werden können dann z. b. auch Dinge wie die Puerung von WU's, die Nutzung von Festplattenplatz und Netzwerkbandbreite, sowie die Aufteilung der Ressourcen unter den Projekten. Hier ist ein Benchmark eingebunden, der bei jedem Start von BOINC die Rechenleistung ermittelt und so die Anzahl der zu berechnenden Pakete berechnet, damit diese in der vorgegebenen Zeit berechnet werden können. Der Benchmark ist in 2 Teile aufgeteilt. Einerseits werden Integer Berechnungen in integer-mips (million instruktions per second) und andereseits Gleitkomma Berechnungen in oatingpoint- MIPS gemessen.[12] (integer-mips = Dhrystones; oatingpoint-mips = Whetstones) 21

Abbildung 15: ScreenShot BOINC (Windows Version) Abbildung 16: Ergebnisse BOINC Ergebnisse Das Ergebnis bei diesem Benchmark ist ungewöhnlich, da der Pentium III den P4 in der Floatberechnung schlägt. Dies resultiert aus der längeren Pipeline des P4, deren Inhalt vermutlich häuger ungültig wird. Die dadurch erfoderlichen Neuberechnungen ziehen hohe Strafzeiten nach sich. Der Pentium 4 ist der klar bessere, wenn auch mit einem Manko in der Floatingpoint-Berechnung. Im Integerbenchmark sieht es anders aus, bei dem sich der Vorteil der Rapid Execution Unit des Pentium 4 bemerkbar zu machen scheint. Der Be- 22

schleunigungsfaktor β P III P 4 fällt erwartungsgemäÿ kleiner 2 aus, da das CPU-Taktverhältnis kleiner 2 und die NetBurst Architektur und der DDR-RAM dies nicht zu kompensieren vermögen. 6.4 Pov-Ray Pov-Ray steht für Persistence of Vision Raytracer und ist ein Ray Tracing Tool, beinhaltet einen Benchmark und ist frei verfügbar. Es rendert während des Benchmarks eine Szene und ermittelt die CPU- Leistung. Pov-Ray ist aktuell in der Version 3.7, jedoch wurde auch unter der Version 3.6 getestet. Die Tests der beiden Versionen sind nicht vergleichbar, da sie unterschiedliche Szenen berechnen. [5]. 6.4.1 Version 3.6 In der Version 3.6 fehlt die SSE2-Optimierung und lässt einen Vergleich der Prozessoren zu, ohne die neue Befehlssatzerweiterung des P4 zu nutzen. Im Benchmark wird die Szene der Abbildung 17 mit dem Raytracer berechnet und gerendert. Abbildung 17: POV-Ray 3.6 Rendering Szene 23

Abbildung 18: Ergebnisse POV-Ray 3.6 Ergebnisse Die Ergebnisse des Pov-Ray 3.6 Benchmarks zeigen unter Ubuntu Linux 6.10 eine Performancesteigerung des P4 von 35,4% (ca. 33 min Zeitersparnis, siehe Gleichung 1) gegenüber dem PIII. Unter Windows 2003 Standard Server steigt sie noch um 11,98% auf 47,38% (siehe Gleichung 2). Daraus läÿt sich ablesen, dass auch die Optimierung, durch geladene Treiber, des Betriebssystems eine Rolle zu spielen scheint und das die Betriebssysteme unterschiedlich gut auf die Hardware eingestellt sind. β Linux = β P III P 4 = β W indows = β P III P 4 = 5603, 333s 1, 55 (1) 3619, 666s 4626, 977s 1, 9 (2) 2434, 547s 24

6.4.2 Version 3.7 Die Benchmarks der Version 3.7 wurden für den Pentium 4 ohne und mit SSE2-Optimierung durchgeführt. Leider war es nicht möglich, diese Version unter Ubuntu Linux 6.10 zum Laufen zu bringen. Nach Installation der Software konnte diese nicht gestartet werden, aufgrund angeblich fehlender Dateien, die jedoch, in den der Fehlermeldung angegebenen Pfaden, vorhanden waren. Deshalb wurde die Szene der Abbildung 19 mit dem Raytracer nur unter Windows berechnet und gerendert. Abbildung 19: POV-Ray 3.7 Rendering Szene Ergebnisse Ein erheblicher Leistungsgewinn des P4, bei Verwendung der SSE2-Optimierung, ist zu beobachten. Beträgt der Performancegewinn ohne SSE2 nur 10,8% (ca. 3,5 min. Ersparnis, siehe Gleichung 3) gegenüber dem PIII, steigt er mit SSE2 auf 41,7% (ca. 14 min. Ersparnis, siehe Gleichung 4). Das bedeutet einen Leistungsgewinn von 30% allein durch die Befehlssatzerweiterung SSE2. β W indows = β P III P 4 SSE2 = β W indows = β P III P 4+SSE2 = 1982, 11s 1, 12 (3) 1767, 97s 1982, 11s 1, 72 (4) 1155, 52s 25

7 Auswertung Abbildung 20: Ergebnisse POV-Ray 3.7 Die Benchmarkergebnisse zeigen, dass der Pentium 4, wie erwartet, die besseren Ergebnisse erzielt. Er steigert die Performance bei den meisten Tests bis zu 30%, welches ein Beschleunigungsfaktor β 1, 43 entspricht. Bei den Rendering Tests erreicht er sogar einen Zuwachs von 47%, was einen Beschleunigungsfaktor β 1, 9 entspricht. Hier zeigt sich der Vorteil des neuen SSE2-Befehlssatzes deutlich. Aber nicht nur SSE2 und der höhere CPU-Takt bringen den Performancegewinn allein, sondern auch der schnellere DDR-RAM. In einigen Benchmarks liefert der PIII ähnliche, teilweise bessere Ergebnisse. Die Tests zeigten, dass Optimierungen, beispielsweise an Compilern und Betriebssystemen, ebenfalls eine wichtige Rolle spielen. Es ist zu erwähnen, dass Benchmarks nicht eine reale Nutzung eines Rechners durch einen Benutzer widerspiegeln, sondern immer nur spezielle Anwendungen testen. Die Erwartungen an die Ergebnisse wurden bestätigt und das Verkaufsargument widerlegt. 26

Quellenverzeichnis [1] Activenetwork cpu architecture. http://www.activewin.com/ reviews/hardware/processors/intel/p42ghz/designsse. shtml. (accessed 13 February 2007). [2] Balusc pentium!!! http://balusc.xs4all.nl/srv/ har-cpu-int-p3.php. (accessed 13 February 2007). [3] Balusc pentium 4. http://balusc.xs4all.nl/srv/ har-cpu-int-p4.php. (accessed 13 February 2007). [4] New fault into the old bellows. conroe: the grandson of processor pentium iii, the nephew of architecture netburst? http://www. ixbt.com/cpu/p6-nexgen.shtml. (accessed 13 February 2007). [5] Persistence of vision raytracer. http://www.povray.org/. (accessed 13 February 2007). [6] Computer Base. Cinebench. http://www.computerbase.de/ downloads/software/benchmarks/cinebench/. (accessed 13 February 2007). [7] Intel Corporation. The p6 architecture: Background information for developers. http://www.x86.org/ftp/manuals/686/p6arc. pdf, 1995. (accessed 13 February 2007). [8] Intel Corporation. Tour of the p6. http://www.x86.org/ftp/ manuals/686/p6tour.pdf, 1995. (accessed 13 February 2007). [9] Intel Corporation. P6 family of processors - hardware developers manual. http://download.intel.com/design/ PentiumII/manuals/24400101.pdf, 1998. (accessed 13 February 2007). [10] Hinton G. et al. The microarchitecture of the pentium 4 processor. ftp://download.intel.com/technology/itj/q12001/pdf/ art_2.pdf, 2001. (accessed 13 February 2007). [11] IDG Business Media GmbH. Cinebench 2003. http: //www.tecchannel.de/technologie/prozessoren/434002/ index10.html, 2006. (accessed 13 February 2007). [12] University of California. Berkeley open infrastructure for network computing. http://boinc.berkeley.edu/, 2007. (accessed 13 February 2007). 27

A Anhang A.1 P4 Leistungszugewinn A.2 Benchmarkergebnisse PIII-S A.3 Benchmarkergebnisse P4 28

P4-Leistungszugewinn bezogen auf P3 Superpi Cinebench 2003 Benchmark P4 Leistungszugewinn [%] W2k3 Linux 16k 0-6,19 32k 0-5,78 64k -50-1,47 128k 0-3,28 256k 5,56 13,31 512k 15,73 20,78 1M 18,29 26,35 2M 18,58 29,27 4M 20,11 29,21 8M 19,39 28,11 16M 17,54 29,83 32M 16,28 N/A 32,64 N/A Boinc Povray 3.6 floatingpoint MIPS -0,59-17,79 integer MIPS 9,33 12,73 47,38 35,4 Povray 3.7 ohne SSE2 10,8 mit SSE2 41,7 N/A

Benchmarkergebnisse Intel Pentium III-S Superpi Cinebench Boinc Povray 3.6 Povray 3.7 Benchmark W2k3 Linux I II III Mittelwert I II III Mittelwert [s] [s] [s] [s] [s] [s] [s] [s] 16k 0 0 0 0,000 0,43 0,44 0,44 0,436 32k 1 1 1 1,000 0,9 0,9 0,9 0,899 64k 2 2 2 2,000 1,98 1,97 1,96 1,972 128k 6 6 6 6,000 4,6 4,69 4,62 4,636 256k 18 18 18 18,000 14,06 14,02 14,06 14,046 512k 46 47 47 46,667 36,66 36,66 36,56 36,625 1M 108 110 110 109,333 90,62 90,51 90,61 90,583 2M 259 263 264 262,000 207,42 207,43 209,11 207,986 4M 544 553 554 550,333 485,87 484,96 484,95 485,262 8M 1196 1214 1215 1208,333 1090,84 1052,46 1056,31 1066,537 16M 2585 2604 2600 2596,333 2492,82 2488,91 2411,14 2464,289 32M 5530 5596 5581 5569,000 NA NA NA NA [s] [s] [s] [s] [s] [s] [s] [s] 199 198 198,1 198,367 NA NA NA NA [MIPS] [MIPS] [MIPS] [MIPS] [MIPS] [MIPS] [MIPS] [MIPS] floatingpoint 1016 1025 1024 1021,667 818 819 819 818,667 integer 1827 1842 1842 1837,000 1206 1208 1208 1207,333 [s] [s] [s] [s] [s] [s] [s] [s] cpu time 4686,19 4580,99 4613,75 4626,977 5601 5609 5600 5603,333 [s] [s] [s] [s] [s] [s] [s] [s] ohne SSE2 1992,43 1979,48 1974,43 1982,110 mit SSE2 NA NA NA NA NA NA NA NA PIIIS

Benchmarkergebnisse Intel Pentium 4 Benchmark W2k3 Linux I II III Mittelwert I II III Mittelwert [s] [s] [s] [s] [s] [s] [s] [s] 16k 0 0 0 0,000 0,46 0,45 0,48 0,463 32k 1 1 1 1,000 0,95 0,96 0,95 0,951 64k 3 3 3 3,000 2 2,01 2 2,001 128k 6 6 6 6,000 4,77 4,9 4,7 4,788 256k 17 17 17 17,000 12,21 12,14 12,18 12,176 Superpi 512k 40 39 39 39,333 29 29,08 28,96 29,014 1M 90 89 89 89,333 66,6 66,58 66,96 66,712 2M 214 212 214 213,333 143,45 148,53 149,32 147,100 4M 441 437 441 439,667 347,79 342,18 340,54 343,500 8M 978 966 978 974,000 764,16 771,06 764,96 766,725 16M 2150 2123 2150 2141,000 1731,44 1737,91 1717,95 1729,099 32M 4666 4646 4675 4662,333 N/A N/A N/A N/A Cinebench 2003 [s] [s] [s] [s] 133,4 133,3 134,2 133,633 N/A N/A N/A N/A [MIPS] [MIPS] [MIPS] [MIPS] [MIPS] [MIPS] [MIPS] [MIPS] Boinc floatingpoint MIPS 1016 1014 1017 1015,667 673 673 673 673 integer MIPS 1955 2045 2025 2008,333 1243 1542 1298 1361 Povray 3.6 [s] [s] [s] [s] [s] [s] [s] [s] cpu time 2384,5 2447,42 2471,72 2434,547 3622 3624 3613 3619,67 [s] [s] [s] [s] [s] [s] [s] [s] Povray 3.7 ohne SSE2 1774,38 1762,38 1767,16 1767,969 mit SSE2 1144,59 1163,66 1158,3 1155,516 N/A N/A N/A N/A P4