Planet 3DNow! Logo
 

AKTUELLE NEWSMELDUNGEN
Intern: Umleitungsprobleme
Intern: Planet 3DNow! ab 18:00 Uhr eingeschränkt erreichbar
Never Settle Forever: AMD überlässt Zusammenstellung der Spielebündel seinen Kunden
Microsoft Patchday August 2013
Der Partner-Webwatch von Planet 3DNow! (13.08.2013)
Kühler- und Gehäuse-Webwatch (11.08.2013)
Ankündigung Microsoft Patchday August 2013
Vorerst kein Frame Pacing für AMD-Systeme mit Dual Graphics
Intern: kommende Woche eingeschränkte Erreichbarkeit auf Planet 3DNow!
Kaveri verschoben und keine neuen FX-Prozessoren von AMD [3. Update]
AMD plant Vorstellung neuer High-End-Grafikkarte Hawaii im September
Kaveri verschoben und keine neuen FX-Prozessoren von AMD [Update]
Der Partner-Webwatch von Planet 3DNow! (06.08.2013)
Kaveri verschoben und keine neuen FX-Prozessoren von AMD
AMD startet neue "Never-Settle-Forever"-Spielebündel für Radeon Grafikkarten
Neuer Artikel: SilverStone Fortress FT04 - Die Hardware steht Kopf
AKTUELLE DOWNLOADS
AMD Catalyst 13.8 Beta für Windows und Linux - Frame Pacing für CrossFire-Gespanne
NVIDIA GeForce Grafiktreiber 320.49 WHQL
CPUID HWMonitor 1.23
CPUID CPU-Z 1.65
AMD Catalyst 13.6 Beta 2 für Windows
FinalWire veröffentlicht neue AIDA64 Version 3.00
AMD Catalyst 13.6 Beta für Windows und Linux
AMD Catalyst 13.5 CAP1 - Neue Profile auch für Single-GPU-Systeme
AMD Catalyst 13.4 Beta Legacy für Radeon HD 2000, HD 3000 und HD 4000
AMD Catalyst 13.4 Proprietary Linux Display Driver
AMD Catalyst 13.5 Beta für Windows
AMD Catalyst 13.4 CAP1 - Neue Profile auch für Single-GPU- und Enduro-Systeme
AMD Catalyst 13.4 WHQL Desktop- und Notebook-Grafiktreiber
CPUID CPU-Z 1.64
TechPowerUp GPU-Z v0.7.0
AMD Catalyst 13.3 Beta 3 für Windows und Linux
AKTUELLE ARTIKEL
SilverStone Fortress FT04 - Die Hardware steht Kopf
Zalman CNPS5X Performa
Thermalright AXP-200
Fractal Design Arc Midi R2
mITX-Gehäuse: Inter-Tech Q-6 & E-i7
Antec HCG-750M und HCG-850M
Die neue Basis für unsere mITX-Gehäusetests: MSIs FM2-A75IA-E53
ASUS SABERTOOTH/GEN3 R2.0
Cooler Master B500 500W
Fujitsu STYLISTIC Q572 mit AMD Z-60 APU
AMD A10 6800K und A10 6700 im Test - neue APUs, alter Kern
Coby MID8065-8
Noctua NH-U12S und NH-U14S
Akasa AK-CC1101EP02 & Xigmatek Praeton LD963
mITX-Gehäuse - Cooltek Coolcube Mini
Weitere aktuelle Artikel, Tests, Guides, und Kolumnen...

NEWS FORUM BLOG CHAT FILES & FAQs ARTIKEL ARCHIV SUCHEN SHOPPING

Français  English
QUICK LINKS
  1. CATALYST / CAP Download
  2. GeForce-Treiber Download
  3. Realtek HD Download
  4. Phenom Config-Guide
  5. AMD Mainboard-Datenbank
  6. Netzteil Grundlagen
  7. P3D Edition Hardware
  8. Kaufberatung
  9. Marktplatz
  10. Pressemitteilungen
  11. Galerie
  12. Sammelthreads
  13. Als Startseite setzen
  14. Den Favoriten hinzufügen
  15. Server-Info
  16. News einsenden
  17. Impressum

FORUM AKTUELL

UMFRAGE
  1. Sollte Planet 3DNow! mehr in Richtung Wasserkühlung machen?
  2. Wie steht ihr zu Kabelmanagement bei Netzteilen?
  3. Welches Bezeichnungsschema wäre das beste für AMD-Prozessoren?
  4. Phenom und Athlon ade! Was haltet Ihr davon künftig auf Markennamen zu verzichten?
  5. Welche Grafikkarte würdest Du aktuell in ein High-End Spiele-System bauen?
  6. Wie gefällt Euch das neue Catalyst Control Center?

PREISTICKER

PARTNERWEBSITES
  1. 3DCenter
  2. AMDboard
  3. Au-Ja
  4. ComputerBase
  5. Gamezworld
  6. Hard Tecs 4U
  7. Hardwareluxx
  8. K7Jo
  9. PC Games Hardware
  10. Planet 3D Games
  11. Shareware4U
  12. Testfreaks

COMMUNITY
SETI@HOME TEAM
Planet 3DNow! SETI Team

GAMESERVER
Gameserver

PLANET 3D GAMES
Planet 3D Games :: Your first Gaming Source

KRAWALL NETWORK
Krawall Gaming Community

archiv
   


Doping für CPUs - Möglichkeiten der Leistungssteigerung
Von: D'Espice
18. November 2002
Artikel-Index:

Ansätze der Optimierung per Software

Ansätze, die Leistung der Prozessoren aufs Vollste auszureizen, gibt es einige. Deren Effektivität und Verbreitung steht jedoch auf einem ganz anderen Blatt. Auch gibt es Techniken, die zwar eine hervorragende Effektivität aufweisen können, jedoch leider Änderungen an der Hardware voraussetzen. Somit stellen diese Lösungen technisch betrachtet die optimale Lösung für neue Hardware dar. Markttechnisch betrachtet ist diese Lösung jedoch alles andere als optimal, schließlich folgt im Rattenschwanz der Konsequenzen die Inkompatibilität zum bestehenden x86 Standard.
Die im folgenden vorgestellten Techniken sind geordnet, vom untersten Level, der Optimierung einzelner Instruktionen und Befehle, über Steigerung des Parallelismus von Instruktionen und Threads bis hin zu Änderung des Befehlssatzes um einen möglichst hohen TLP mit hohem ILP
(siehe nächste Seite) bei optimaler Anpassung an die Hardware zu erreichen. Aber der Reihe nach.

Optimierung der Compiler auf bestimmte Befehlssätze / Generationen
Auf der untersten Ebene steht die Optimierung einzelner Instruktionen an bestehende Hardware/Befehlssätze. Früher, als Assembler noch Standardsprache für jeden Programmierer war, stellte Programmieren noch echte "Fieselarbeit" dar. Register wollten einzeln belegt, addiert oder gelöscht werden, Speicher separat zugewiesen, etc. Der Spruch "Was man nicht mit Assembler programmieren kann, muss man halt löten" besitzt erstaunlich hohen Realitätsbezug, jeder Assembler-Programmierer wird sich lächelnd erinnern.
Mit dem Erfolg der sog. hohen Programmiersprachen, änderte sich dieser Zustand jedoch schlagartig. Plötzlich war der Programmierer nicht mehr Herr über den im Endeffekt von ihm produzierten Maschinencode, sondern musste diese Kontrolle dem Compiler übertragen (to compile = übersetzen, kompilieren; Compiler übersetzen die Befehle höherer Programmiersprachen in für den Prozessor verständlichen Maschinencode). Die Programmierer selber haben hierbei keinerlei Einfluß auf die tatsächliche Laufzeit der eigenen Programme und müssen sich auf den Compiler verlassen.
Da der Mensch jedoch nicht perfekt ist und Prozessoren sich beständig weiterentwickeln, erzeugen Compiler selten perfekten Maschinencode und altern zudem relativ schnell. Dennoch darf man die Rolle der Compiler auf keinen Fall unterschätzen, denn hier liegt das größte, per Software erreichbare Optimierungspotenzial welches die zwingend erforderliche x86-Kompatibilität wahrt.

Compiler arbeiten auf eine bestimmte Art und Weise: Jeder noch so komplexe Befehl, jede noch so große, lange oder verschachtelte Schleife einer hohen Programmiersprache, kann in einzelne, sog. Elementarbefehle zerlegt werden und somit letztendlich in Maschinenbefehle. Unterschiedliche Prozessorgenerationen verarbeiten jedoch ein und denselben Maschinenbefehl unter Umständen auf komplett unterschiedliche Art und Weise mit signifikant unterschiedlicher Laufzeit. Somit muss ein guter Compiler möglichst viele verschiedene Arten der Optimierung beherrschen, je nach Generation des zu verwendenden Ziel-Prozessors. So benötigt die i686 Architektur beispielsweise eine komplett andere Reihenfolge und Anordnung der Befehle an den Decoder als die i786 Architektur und noch anders gar die K7 Architektur.
Letztendlich liegt hier das größte Potenzial, aufgrund der Inkonsistenz der Prozessoren und ihres Befehlssatzes jedoch auch das größte Konfliktpotenzial. Schließlich läuft Software, die speziell für neuere Prozessoren optimiert wurde (Beispielsweise durch Nutzung der SSE/SSE2 Einheiten oder zusätzlicher CISC/RISC Befehle) nicht immer auch auf älteren Prozessoren. Im Markt der ewig kompatiblen x86-Prozessoren ist so etwas für viele Firmen nicht vertretbar, weshalb sich proprietäre Befehlserweiterungen auf lange Sicht nicht durchsetzen konnten. Drei bekannte Beispiele sind MMX, 3DNow! und SSE.



Seite 6/20

Umblättern Umblättern





Planet 3DNow! RSS XML Newsfeed Planet 3DNow! Newsfeed bei iGoogle-Seite hinzufügen Planet 3DNow! Newsfeed bei My Yahoo! hinzufügen Planet 3DNow! Newsfeed bei Microsoft Live hinzufügen Planet 3DNow! Newsfeed bei My AOL hinzufügen

Nach oben

 

Copyright © 1999 - 2019 Planet 3DNow!
Datenschutzerklärung