i386 ?

Most Linux binaries that I’ve seen seem to be built for the 586, but if you compile your own you can choose whatever GCC supports.

I’m just saying that I wouldn’t be surprised if Windows does compile out to vanilla 386 except for maybe a small portion of startup code that gets installed after a processor check of some sort by the installer. Maybe. Maybe not. I’m talking more about what’s plausible than what is real. What’s real I don’t know in this case.

Thanks all.

So was the 386 the first to go to 32bit? I wonder if that’s the legacy here.

This came up today as I was rebuilding an older server to use as a development box. It’s a P4 2.4GHz server class HP.

Anyway, it was strange. I had a new installation of Server 2003 SP1 and was trying to install Java runtime. I kept getting a ‘Stack might be corrupted error’ when trying to install the JRE.

Looked like a registry problem from the rest of the error message (sorry don’t have the full error message, I’m at home now.)

I always see the reference to i386 and thought that that can’t be referencing the old 386 processor. I guess it is.

I got fed up and reloaded Server 2003 and the JRE loaded fine.

:shrug:

Seems to be. The 80286 introduced protected mode and multitasking, which are the big guys for having something like Windows, but it was only 16-bits.

Follow up question.

For a windows XP box, with an intel processor, where in the system can I find out if it’s 32bit or 64bit architecture?

My computer>properties>hardware>Device Manager>Processors>properties does not report it.

Or do I just need to know the chip.

System requirements? Pfft. I run games all the time when I’m below minimum specs. If you have a good video card, optimized system, and enough RAM it’s fine. Back in 286 days I ran programs that “required” a hard drive on two 1.2MB 5 1/4" floppy drives, because I couldn’t afford a hard drive at that time.
I actually do have access to a working 80386sx computer. I might try a WinPE boot CD in it just to see what happens. That isn’t the same as installing XP, but it’s a good first test.

Mine tells me when I right-click My Computer and pick Properties: “AMD Athlon™ 64 X2 Dual Core Processor 3600+” What does yours say?

Pentium 4 CPU 2.80GHz

If I go into >Hardware>Device manager>Processors. It lists two of them.

Nothing about 32 or 64bit. I’m sure it’s a 32bit. It’s a basic Dell Dimension 4700 Running XPpro.

I’m not too familiar with Intel chips, but it appears to be 64-bit according to this page: http://www.intel.com/products/processor/pentium4/

At the bottom, it says “Intel EM64T also provides support for 64 bit computing to help handle the applications of tomorrow” and also “Intel® EM64T requires a computer system with a processor, chipset, BIOS, operating system, device drivers and applications enabled for Intel EM64T. Processor will not operate (including 32-bit operation) without an Intel EM64T-enabled BIOS.”
I think basically i386 was the start of modern 32-bit CPU architecture and AFAIK all following 32-bit processors should be at some basic level, compatible with 80386 instructions.

Anything newer than a PowerPC 670 (Apple G5), Athlon X64 (AMD) or Intel Core 2 is 64-bit hardware… but it’s still capable of running a 32-bit OS. Most copies of XP out there are 32-bit. Many copies of Vista are 32-bit. There are 64-bit versions of both XP and Vista, but you have to ask for them, and I believe not as much hardware has 64-bit drivers.

This depends on what “architecture” you’re talking about. If you mean, “does my CPU support a 64-bit instruction set”, you can answer your question by downloading something like CPU-Z and checking the supported instruction sets for either “EM64T” or “x86-64”.

If you’re asking “is my operating system a native 64-bit operating system?”, the answer is probably no. Microsoft did produce a 64-bit version of XP Pro, but vendors didn’t really put it on their computers unless you specifically asked for it. I had that version, and as I recall, the splash screen said “Windows XP Professional x64 Edition” or something of that nature. It actually worked pretty well, until it decided to corrupt the hard drive.

The whole 64-bit question is a mess, anyway.
I’m certain there’s some 32-bit code in 64-bit Windows releases; in fact, I’ll bet that for compatibility reasons, there’s probably some 16-bit code left in to support legacy applications.

As an aside, when we talk about processor architecture and chip families, you can note that many newer “i386” chips are not running most 386 instructions “on the raw iron”, as they’re effectively running separate (non-i386ish) hardware architectures and then running many of the older instructions in emulation.

Only if the OS doesn’t have any 64-bit code: Running an x86-64 chip in 64-bit mode removes all hardware support for 16-bit code. (That is, vm86 is gone once you flip to long mode.) It’s possible to do all of the emulation in software but that would preclude the 16-bit code from being in the OS in any meaningful sense.