architecture - x86 and x64 share instruction set? -


i don't know how 32bit application can run on 64bit os.

my understanding 32bit/64bit refers register size. instruction set should different have different sizes of register.

but know there x86-64 instruction set 64bit version of x86 instruction set.

  1. is reason can run 32bit application on 64bit os because of x86-64?

  2. if so, why 32bit applications not compatible in 64bit windows? why need wow64? (sometimes asked choose version install.)

  3. does x64 instruction set have other instruction set except x86-64? people told me x64 extend memory range , instruction set have identical. correct?

is reason can run 32bit application on 64bit os because of x86-64?

yes part. let me briefly explain 32bit/64bit not refer register size because question register (type) talking about? more accurately, 32bit/64bit refer width of address bus (ie how memory can addressed) or in other words size of pointer in c. then, in turn 32/64bit (indirectly) refer word size aka size of basic 'integer' type of machine. anyway, 32bit/64bit has more addressable memory related word size (sizeof(int)) , in turn register size. so, question. alot of 32bit binaries can still run on 64bit systems. yes, because "new" x86-64 extends original x86 isa (with more instructions of course). therefore, old 32bit binary (which consists of x86 instructions) may still runnable in new system.

if so, why 32bit applications not compatible in 64bit windows? why need wow64? (sometimes asked choose version install.)

yes, there number of cases old x86 32bit binary/application won't runnable in new 64bit system. example, binary may contain 1 or more instructions (for reason) no longer supported (see this examples). or, if binary/application requires use of 32bit library not exist in new system. in case, system complain can't run 32bit application.

does x64 instruction set have other instruction set except x86-64? people told me x64 extend memory range , instruction set have identical. correct?

first, intel64, amd64, x86-64, x64 pretty (more or less) refer same thing! yes, x86-64 instruction set huge , receives extensions on regular basis (think mmx, sse, avx....etc). each extension mini instruction set. x86 instruction set on wikipedia should ton of info.


Comments

Popular posts from this blog

get url and add instance to a model with prefilled foreign key :django admin -

css - Make div keyboard-scrollable in jQuery Mobile? -

ruby on rails - Seeing duplicate requests handled with Unicorn -