Fragen zur x86 Architektur

Nikflin

Lieutenant
Registriert
Mai 2008
Beiträge
599
Hi Leute,
ich hab eine allgemeine Frage auf die ich leider keine exakte Antwort habe. Wenn man von der x86 Architektur spricht, meint man da sowohl 32-Bit als auch 64-Bit Systeme im zusammenhang mit Windows?

Oder muss ich explizit auch die x64 als eigene Architektur nennen? Es geht darum das ich eine Arbeit über Tablets schreibe und gerade zw. ARM Tablets und jenen auf denen Windows 7 läuft vergleichen will. Da es aber auch bei diesen Tablet-PCs 64-Bit Prozessoren gibt, bin ich mir nicht sicher wie ich das jetzt deren Prozessoren bezeichnen soll.

Danke im Vorfeld
 
x86 ist ein Befehlssatz, 32 Bit ist da irrelevant. Frühere x86 CPUs waren nur 8/16 Bit breit.

x86-64 ist ein Aufsatz für x86 und erweitert diesen um 64 Bit breite Register.
 
Wobei bei der Bezeichnung Windows 7 x86 geschludert wurde. Ich will es live sehen wie es auf einem 286er läuft... Dieser hat gerade mal 16 Bit breite Register...

Man kann von x86 Hardware sprechen (da alle aktuellen Prozessoren den x86 Befehlssatz verstehen), aber x86 Software ist aus meiner Sicht verkehrt herum.
 
Die Bezeichnungen bei Windows und insgesamt 32Bit und 64Bit bei x86ern sind schon etwas verwirrend.

Microsoft nennt die 64Bit-Versionen von Windows diplomatisch "x64", was die beiden kompatiblen 64Bit-Erweiterungen von AMD (AMD64) und Intel (Intel64 / EMT64) zusammen meint. Eigentlich sind das auch technisch (fast) die selben, weil Intel AMD64 im Rahmen eines Patentaustauschs (fast) 1 zu 1 übernommen hat, allerdings natürlich unter eigenen Namen.

Warum man 32Bit bei Windows jetzt "x86" und nicht "IA32" oder vielleicht "x32" nennt, weiß ich nicht. Ist irgendwie inkonsequent.

IA32 ist jedenfalls eigentlich der offizielle Name für 32Bit-x86 und zwar bei allen Herstellern gleichermaßen, denn seinerzeit, zu 386er-Zeiten, haben alle x86-Hersteller (davon gab es damals noch eine ganze Reihe) entsprechende Lizenzen von Intel erworben.

IA64 hingegen ist nicht 64Bit-x86, sondern damit wird die Architektur von Intels exotischen, grundsätzlich zu x86 inkompatiblen Itanium-CPUs bezeichnet. Die waren von Intel langfristig auch als Ersatz der 32Bit-x86er vorgesehen, haben sich aber niemals durchgesetzt.
Dafür gab es bis vor kurzem auch spezielle Windows-Versionen, inzwischen wurde der Itanium-Support von MS aber eingestellt.

@ DaZpoon
Hast du einen Link zu Win 7 auf einem 286er?
Ich kann mir eigentlich nicht vorstellen, dass das funktioniert.
 
Zuletzt bearbeitet:
Herdware schrieb:
Hast du einen Link zu Win 7 auf einem 286er?
Ich kann mir eigentlich nicht vorstellen, dass das funktioniert.

Er schreibt doch selber dass das nicht geht. 80286er waren 16Bit CPUs
 
Ok. Das habe ich missverstanden bzw. falsch gelesen.

(Man sollte übrigens nicht unterschätzen, auf was für alten Systemen man aktuellere Windowsversionen noch laufen lassen kann. Hier gibts ein paar Rekorde dazu:
http://www.winhistory.de/more/386/winq.htm
Aber wie richtig geschrieben, ein 386er muss es für alles ab Win95 schon sein, weil 32Bit-Software auf 16Bit-CPUs einfach nicht läuft.

Um das noch mal klar zu stellen:
Es muss immer beides passen, sowohl der x86-Befehlssatz, als auch die Registerbreite (16, 32 oder 64 Bit). Wobei Windows bis immer auch jeweils eine Registerbreite unter der jeweiligen Version ausführen kann.
Auf einem 32Bit-Windows läuft also auch noch 16Bit-Software (z.B. auch alte DOS-Programme) und auf einem 64Bit-Windows auch 32Bit-Software, aber kein 16Bit mehr.
Dafür ist jeweils ein spezielles Subsystem verantwortlich. Bei Windows 64Bit heißt das WOW64 (Windows on Windows 64).

Alte 16Bit-Win3.X- oder DOS-Programme laufen in einem 64Bit-Windows also nicht mehr. Dafür braucht man dann eine VM oder einen Emulator.
 
Danke, für euren zahlreichen Antworten! Also reicht es im Grunde wenn ich die x86-Architektur der ARM-Architektur gegenüberstelle oder soll ich strenggenommen die x86-64-Architektur sagen?

Mir fällt gerade auf dass wenn man "x86-64" bei wiki eintippt man auf eine Fachbezeichnung von AMD stößt...

Viell. doch lieber x86/64-Architektur?!

Wenn ich ehrlich sein soll war ich bei den posts von k1337oris und Yuuri überzeugt nur x86 zu nehmen um einheitlich damit als "Windows-7 fähige" Tablets zu bezeichnen... aber das Kommentar von t0x macht mich jetzt ein wenig stutzig. :(
 
Zuletzt bearbeitet:
x86 reicht aus. x86-64 ist die 64 Bit Erweiterung für x86 und das hat AMD erfunden, Intel nur lizenziert (siehe ein Post weiter oben).

Wieso bist du bei t0x' Post stutzig geworden? Er sagt ebenso wie wir, dass x86 korrekt ist, Microsoft aber x86 mit 32 Bit gleichsetzt, einfach weil es heute kein 16 Bit Windows mehr gibt. Der Zug ist mit NT abgefahren und das letzte "16 Bit" OS war Windows ME. Seit Windows 2000 (XP, Vista, 7, 8, ...) wird auf der NT-Schiene gefahren und somit wird vollkommen auf 32 Bit gesetzt.

Wie gesagt:

x86 Befehlssatz, heißt eigentlich IA-32 (Intel Architecture) - 32 Bit
x86-64 Erweiterung von AMD für 64 Bit, lizenziert von Intel
IA-64 - 64 Bit "Itanium" von Intel, ist aber gefloppt
8 und 16 Bit CPUs/OS' gehören ebenso zum x86 Befehlssatz.
 
Es sollte aber dennoch möglich sein (ist es auch) uralte x86 Software auf aktuellen "x86"-CPUs auszuführen, also DOS sollte gehen. Soherum passt es eben von der x86-kompatibilität.
Die eigentliche Hürde ist die Kompatibilität der restlichen Hardware, vor allem die Grafkkarte oder eben die mittlerweile fehlenden IDE Controller.

Andererseits haben sich die Befehlssätze und Betriebsmodi der CPUs so stark entwickelt dass man mittlerweile eigentlich mal einen aktualisierten Standart definieren müsste. Selbst IA64/AMD64 genügt mittlerweile nicht mehr (AMD64 inkludiert u.A. auch schon SSE 2).
 
Der für x86-Kompatibilität zuständige Teil macht bei aktuellen CPUs nur noch einen winzigen Bruchteil der Chipfläche aus. Zu Athlon64-Zeiten waren es ca. 5% und heute dürften es noch viel weniger sein.

Das war auch der Grund, warum AMD damals, anders als Intel, auch bei den neuen 64Bit-CPUs weiterhin auf x86 setzte. Der "Preis", die CPUs zur existierenden Software kompatibel zu halten, war und ist sehr gering.

Jedenfalls bei typischen Desktop- und Notebook-CPUs. Je kleiner die CPU insgesamt ist, um so störender kann sich das x86-Anhängsel auswirken, was erklärt, warum sich die kleinen ARM-CPUs im Vergleich so gut schlagen.

Aber je mehr diese ARM-CPUs wachsen (mehr Recheneinheiten, mehr Cache, leistungsfähigere/breitere Speichercontroller usw.) und sich leistungsmäßig in die Regionen der typischen x86-CPUs bewegen, um so irrelevanter werden die Architekturunterschiede.
Deshalb glaube ich nicht, dass x86 so bald aussterben bzw. durch eine alternative Architektur ersetzt werden wird. Solange nicht auch das letzte bisschen Software völlig plattformunabhängig ist, wird man die Kompatibilität nicht opfern wollen.
 
Zurück
Oben