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
   


Out of Order Execution
Von: D'Espice
27. Februar 2002
Artikel-Index:

Out of Order Execution - Optimierungsmöglichkeiten

Ein Compiler hat die Aufgabe, ein Programm so zu optimieren, so dass dieses so schnell wie möglich abläuft. Im Falle des im Haupttext stehenden Beispiels würde die Optimierung folgendermaßen aussehen:


MOV EAX, [ESI] ; EAX = Inhalt der an der Speicheradresse ESI stehenden Speicherzelle
ADD ESI, 00000004h ; Erhöhung des Wertes in ESI um vier
MOV EBX, [ESI] ; EBX = Inhalt der an der Speicheradresse ESI stehenden Speicherzelle
ADD EAX, EBX ; Addition der beiden Register, speichern des Ergebnisses in EAX


Dies ist das Original – Codesegment. Es gibt nun zwei Möglichkeiten es zu optimieren: Der Programmierer / Compiler kann den Programmcode entsprechend ändern, oder der Mikroprozessor kann über Register Renaming eigenständig eine Optimierung durchführen.

Das optimierte Programmbeispiel könnte folgendermaßen aussehen:
LEA EDI, [ESI, 4, 0] ; EDI = ESI + 4 + 0
MOV EAX, [ESI] ; EAX = Inhalt der an der Speicheradresse ESI stehenden Speicherzelle
MOV EBX, [EDI] ; EBX = Inhalt der an der Speicheradresse EDI stehenden Speicherzelle
ADD EAX, EBX ; Addition der beiden Register, speichern des Ergebnisses in EAX


In diesem Programmbeispiel wird selbige Operation wie oben durchgeführt, mit dem Unterschied das die Ausführung deutlich schneller geht. Der angewandte Trick ist folgender:
Anstelle das ESI – Register zweifach zu verwenden für beide Ladeoperationen, wird gleich zu Beginn des Programmsegments mit Hilfe des LEA – Befehls eine Addition mit drei Operanden durchgeführt. Dank des dreistufigen Decoders der P6 als auch der K7-Architektur kann diese Operation innerhalb weniger Taktzyklen durchgeführt werden. Dadurch kann während der Leerlaufzeit der ersten Registertransfer – Operation die zweite eingeleitet werden. Die beiden werden quasi gleichzeitig ausgeführt und somit viel Zeit bei der Ausführung eingespart.

Diese Optimierungsarbeit liegt jedoch beim Programmierer oder Compiler. Eine zweite Möglichkeit ist seit der P6-Architektur gegeben: Das sog. Register Renaming, welches in obigem Beispiel jedoch nicht auftritt. Der Mikroprozessor kann intern die acht GPRs auf mehrere interne, für den Programmierer unsichtbare Register abbilden. Nach dem ersten Registerladebefehl kann der Mikroprozessor das ESI – Register intern auf ein unsichtbares Register abbilden und die Ausführung des nächsten Befehls einleiten. Diese Technik kann jedoch bei weiterer Verwendung des ESI – Registers einen Partial Register Stall bei der P6-Architektur auslösen, was den Geschwindigkeitsvorteil wieder egalisiert.

Seite 1/1

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