Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Prozessor kompatibilität (https://www.delphipraxis.net/116281-prozessor-kompatibilitaet.html)

jjep 26. Jun 2008 10:10


Prozessor kompatibilität
 
Guten Morgen miteinander

Mich nimmts mal genau wunder was bei der Compilierung eines Projekts abgeht.
Stimmt das, dass Delphi ein Assemblercode generiert, welcher danach dann assembliert wird?
Wie ist dann überhaupt die Prozessorkompatibilität möglich? Intels x86 Architekturen sind ja alle Rückwärtskompatibel... aber wie ist es dann mit den AMD-Prozessoren? Haben diese ganz andere Befehlelisten?

Ich bin mir bewusst dies ist sehr ein komplexes Thema. Ich suche nicht wirklich genaue Anworten auf meine Fragen, sondern eher einen Link zu einer Informationsquelle, die dieses Thema mir ein bisschen näher bringen kann.

Ich hoffe es ist verständlich :wink:

Greez jjep

Bernhard Geyer 26. Jun 2008 10:16

Re: Prozessor kompatibilität
 
Zitat:

Zitat von jjep
... aber wie ist es dann mit den AMD-Prozessoren? Haben diese ganz andere Befehlelisten?

Im Bereich der "normalen" Assemblerbefehler sind Intel und AMD zu 99,99999% kompatible. Und solange du keine "exotischen" Dinge wie MMX, MMX2, ... und wie die ganzen "Multimediaoptimierungen" verwendest läuft deine App auf jedem Windows PC

Yellow579 26. Jun 2008 10:36

Re: Prozessor kompatibilität
 
Hallo jjep!

AMD hat zusätzliche Befehle, genauso wie Intel in ihrem Befehlssatz. Der Hauptsatz an Befehlen ist aber gleich und genau das versteht man denn auch unter der x86 Kompatibilität. Wäre das nicht der Fall, würde kein x86 Windows auf dem Prozessor laufen. Es gibt z.B. auch ein Windows Server Betriebssystem für MIPS Prozessoren - dieses läuft dann entsprechend nicht mehr auf den AMD/Intel x86 kompatiblen Prozessoren (andere Architektur: CISC/RISC und dann auch andere Hardwarestruktur im I/O Bereich).

z.B. hatte Intel schon früh eine eigene reine 64 Bit Architektur für x86 entworfen gehabt (Xeon), diese ware aber niemals 32 Bit kompatibel. Für diese Prozessoren gab es immer Spezialkompilate. AMD hat dann Jahre später den vorhandenen x86 32 Bit Befehlssatz mit neuen Hardwareregistern und Abwärtskompatibilität auf 64 Bit erweitert. AMD nennt es AMD64 und Intel hat dies lizenziert. Damit brauchten sie nur noch die AMD Erweiterungen umsetzen in ihren Prozessoren (EM64T genannt bei Intel).

Zu dem Delphicompiler weiss ich nun nicht, ob er wirklich noch den Zwischenschritt über Assembler macht, glaube dies aber eher weniger. Der Delphicompiler übersetzt das direkt in Assembler und geht nicht mehr über ein Assemblerlisting.

Und zu den Links - du könntest dir ja z.B. mal die Befehlsreferenzen von AMD und Intel anschauen und vergleichen.

Intel:
Intel 64 and IA-32 Architectures/Software Developer's Manual/Volume 2A: Instruction Set Reference, A-M
Intel 64 and IA-32 Architectures/Software Developer's Manual/Volume 2B: Instruction Set Reference, N-Z

AMD:
Übersicht der AMD Dokumente

Gruss,
Yellow

jjep 26. Jun 2008 10:47

Re: Prozessor kompatibilität
 
ey danke vielmals für eure Infos!!

Wusste ich nicht das AMD und Intel so kompatibel sind... aber ist ja auch logisch, sonst würde ja nichts laufen :wink:

Hehe danke auch für die Referenzen, will dir aber nichts versprechen, sieht nach einem rechten Brocken aus.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:05 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz