Thank you AJR:
Maybe what I wanted to know if XP is optimized for some specific type of
processor. This question arised when reading some history of windows in:
http://www.microsoft.com/windows/WinHistoryDesktop.mspx
where it states:
"... Windows 2.03, took advantage of the protected mode and extended memory
capabilities of the Intel 386 processor. Subsequent Windows releases
continued to improve the speed, reliability, and usability of the PC as well
as interface design and capabilities."
I infer from the previous paragraph that Windows 2.03 was optimized (or at
least took advantage of some improvements in the technology of the i386
compared to the i286 or previous ones) for i386 but I can't think the same
for later releases.
thanks
that is quite an advanced programming or processor architecture
question, and most people here only know windows administration..
you could try these 2 newsgroups.
comp.sys.intel
comp.lang.asm.x86
Assuming you are right with your compilation terminology. It sounds
right
I doubt that xp takes advantage of the architecture of each revision
of processor. And so I think it could be compiled on any processor
that is backwards compatible with the i386.
This site seems to be very clear
http://wiki.clug.org.za/wiki/X86_Architectures
80386 was the first 32-bit x86 processor. It is the oldest x86
supported by Linux. It is also known as i386, and IA-32.
So that is probably the first and classic 32-bit instruction set.
All 32-bit processors support that.
The link says
i386 clones
AMD and other x86 manufacturers also had their equivalents to each
Intel revision. The AMD Athlon, AMD Duron, AMD Athlon XP, AMD Sempron,
VIA C3, Cyrix 5x86, Cyrix 6x86, Cyrix MediaGX etc. are all i386
processors.
AMD Athlon XP is equivalent to the P4. So, long after the (original)
i386.
So even the newer/latest 32-bit processors, or ones long after the
i386 itself, are considered i386 clones
The site doesn't mention i486 clones, or i586 clones.
I guss processors just base themselves on the i386, and add whatever
they want.
But Windows just uses that i386 basis.
or rather, windows xp 32-bit uses that i386 basis.
In that way, it is compatible with -all those processors-. By Intel,
AMD, Cyrix, from the 386's time, onwards.
So it doesn't matter where microsoft was to compile windows xp. As
long as it is on an i386 clone. And it will only use the i386
aspect.
Now, the other architecture that windows xp can be based on is the 64-
bit architecture.
"
amd64 / EM64T / x86_64 / x64
AMD64 was an extension of the x86 line into include 64bit memory
addressing by AMD. Intel followed soon after with the EM64T extensions
to Pentium 4, which is compatible with and equivalent to AMD64, just a
different name.
"
So, you could call that the AMD64/EM64T architecture, or 64-bit
architecture.
And it looks like all 64-bit processors will use the same one.
In that situation, windows 64-bit would be compiled on such a 64-bit
processor.
Whether it's one in 10 years time, or one today. And it will run on
any 64-bit processor.
note- I don't have experience of programming on different processor
architectures, so, i'm just trying to talk theoretically, and picked
up a few things from your post. I could be way off in concept. But
this seems to make sense.