Jump to content

Difference between x64 and x86


TronX33

Recommended Posts

I'm no computer expert so this might be a dumb question, but lately I've bee seeing mods hae two donloads, a x86 version and a x64 version. What does this mean? I know there is a 32 bit ksp and a 64 bit ksp, but this seems to be unrelated.

Link to comment
Share on other sites

You're first thought is correct, x86 is computer speak for 32 bit. x64 is 64 bit

isnt it vice versa? i thought x86 was 64-bit, since i onle ever saw a C:\Program Files (x86) when i moved to 64 bit OS

Link to comment
Share on other sites

isnt it vice versa? i thought x86 was 64-bit, since i onle ever saw a C:\Program Files (x86) when i moved to 64 bit OS

In 64-bit Windows "Program Files (x86)" is where 32-bit programs go, while just "Program Files" stores 64-bit programs.

Link to comment
Share on other sites

x86 is historically named after the Intel 8086 cpu from 1978.

x64 is shorthand for x86-64 ... or x86 architecture with extended capabilities including (theoretical) 64 bit ("aka more than 4gb") adressing of memory and some new instructions that go along with it.

Link to comment
Share on other sites

x86 refers to the 8086 and its subsequent 32 bit processors. around 10 years ago (give or take a few years) amd and intel decided that 32 bit had some pretty bad limitations and so expanded upon x86 with x86-64 (amd and intel had different names for this tech, but they were somewhat compatible). this was later truncated to x64 by people who dont care about history. today allmost all desktop and mobile x86 chips are 64 bit (including lines like atom which moved over). you can still get x86-32 chips but these are usually for industrial embedded applications.

the software side has taken forever to catch up to the hardware. i mostly blame the netbook craze, bytecode languages/virtual machines, and the folks over at ms for continuing to sell 32 bit operating systems dispite the fact that x86-32 consumer processors are no longer being manufactured.

x86 is historically named after the Intel 8086 cpu from 1978.

x64 is shorthand for x86-64 ... or x86 architecture with extended capabilities including (theoretical) 64 bit ("aka more than 4gb") adressing of memory and some new instructions that go along with it.

ninja'd

it really comes down to the size of a memory address not being able to fit in a register. so all your pointer arithmetic would take 2 or more cycles to complete instead of one, and this slows down execution. you not only get more memory, but if you want to do math on larger data types (like doubles and long ints) it takes fewer cycles to do so. things are actually way more complicated than this, when you start considering other instruction extensions, such as avx. so what they call a 64 bit cpu can actually handle much bigger one cycle operations. avx2 can haz 256-bit operations for example.

Edited by Nuke
Link to comment
Share on other sites

32-bit is more stable, but has a memory limit of 3.5GB. If the game tries to use more than that it crashes.

64-bit is less stable (for now at least) but can use more than 3.5GB.

If you play vanilla or with only a few light mods like Kerbal Engineer/Alarm Clock/etc. then you're just fine sticking to 32-bit KSP.

Once you start adding a lot of mods like big part packs, HD textures, etc. you'll find yourself hitting that 3.5GB limit very quickly.

Link to comment
Share on other sites

As others have said, x64 is not the 'proper' name for anything; the proper name for the most common 64-bit instruction set is x86-64 or AMD64 (or Intel 64, but that can be confused with IA-64, which is an entirely different and incompatible 64-bit instruction set). Technically speaking, there are other 32-bit and 64-bit instruction sets, but the 32-bit instruction set which is most common is IA-32 ("Intel Architecture, 32-bit"), also known as i386 or x86 (both referring to the Intel 80386/i386 processor, which was the first one to use it). x86 is because it's an extension of the 16-bit instruction set on previous Intel processors ending in 86 (i.e. 8086, 80186, 80286), which IA-32 is backwards compatible with (x86 can properly refer to anything which is compatible with the original 16-bit instruction set). When it was extended to 64-bit (by AMD, not Intel), it was frequently called AMD64 (Intel had a not-backwards-compatible 64-bit architecture called IA-64, which is used on Itanium chips); the vendor-neutral name is x86-64. Incidentally, there's no inherent reason x86 can't refer to the 64-bit version like it could refer to the 16-bit or 32-bit versions; it just doesn't.

Link to comment
Share on other sites

Between my two posts...

Hey, I know some of those words! :P

Thanks for all of the responses, reading all of that was fun and an eye-opener. Although I may have not understood some of things, at least I learned something new today.

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...