Hallo,
wenn ich Software im Internet suche finde ich immer wieder Versionen für i386 / i586 / i686 (-Architektur ?).
ich dachte, das hat etwas mit dem Prozessor zu tun und bei AMD nachgesehen - hat mich nicht schlauer gemacht.
auf meinem Rechner (SUSE 9.3 / AMD Athlon XP) finde ich i368- und i568-Verzeichnisse.
Was habe ich nun ?
und was bedeutet das, wenn ich mich für eine rpm entscheiden muß ?
Gruß, heriL
Linux 15.028 Themen, 107.048 Beiträge
Das betrifft die Kompatibilität von der Software mit den Prozessoren.
Bis jetzt war es immer so , das ein neuer Prozessor abwärtskompatibl zu dem alten Prozessor war. Das heißt , wenn eine Software für einen Pentium 1 Prozessor programmiert und auch kompiliert wurde, dann läuft diese Software auch auch einem Pentium 2 Prozessor.
Das Problem ist hauptsächlich mit dem Maschinenbefehlssatz zu begründen, den ein Prozsssor "eingebaut" hat.
Das Problem ist auch die Konkurrenz zwischen Intel und AMD. Wenn ein Programm für einen Pentium 3 Prozessor kompiliert wurde, läuft es wahrscheinlich nicht auf einem AMD K7 Prozessor, weil die Maschinenbefehlssätze der beiden Prozessoren nicht 100 %ig identisch sind.
Ich glaube bei den 32 bit Prozessoren sind alle Intel und AMD Prozessoren abwärtskompatibel zu einem Pentium 1 Prozessor (i586er Prozessor, oder 80586). Auf jeden Fall hat jeder Intel und AMD Prozessor den Befehlssatz des 80386er Prozessor noch "eingebaut".
Wenn man einem Kompiler wie dem gcc mitteilt, für welchen Prozessor er die Software kompilieren soll, bringt das meistens Performancegewinn, wenn das Programm für den echten, eingebauten Prozessor kompiliert wird. Ein Prozessor wird nicht nur durch die Taktfrequenz schneller, sondern auch durch die Nutzung der neuen Machinenbefehle, die das
Vorgängermodell noch nicht hatte.
Bei gentoo wird deswegen auch gleich jedes Programm speziell für den eingebauten Prozessor kompiliert. Ansonsten kann man auf jeden Fall einen eigenen Betriebsystemkern speziell für die genutzte CPU kompilieren.
Bei Windows geht das natürlich nicht :-(.
Wenn dich sowas interessiert, dann mußt du Assemblerprogrammierung lernen. Da lernst du alle Register und Maschinenbefehle der CPUs kenen.
Ist aber sehr, sehr schwer :-(.