x86和x64共享指令集? [英] x86 and x64 share instruction set?

查看:176
本文介绍了x86和x64共享指令集?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我不知道32位应用程序如何在64位操作系统上运行。

I don't know how 32bit application can run on a 64bit OS.

我的理解是32位/ 64位是指寄存器的大小。指令集应该有所不同,因为它们具有不同的寄存器大小。

My understanding is 32bit/64bit refers to register size. An instruction set should be different as they have different sizes of register.

但是我知道x86-64指令集是x86指令集的64位版本。

But I know there is x86-64 instruction set that is the 64bit version of the x86 instruction set.


  1. 我们之所以能够在64位OS上运行32位应用程序是因为x86-64?

  1. Is the reason we can run 32bit application on 64bit OS is because of the x86-64?

如果是这样,为什么32位应用程序有时在64位Windows中不兼容?为什么我们需要WOW64? (有时会要求我们选择要安装的版本。)

If so, why are 32bit applications sometimes not compatible in 64bit windows? Why do we need WOW64? (Sometimes we are asked to choose which version to install.)

x64指令集除x86-64以外是否还有其他指令集吗?有人告诉我x64只是为了扩展内存范围,它们具有的指令集是相同的。

Does x64 instruction set have any other instruction set except x86-64? Some people told me x64 is just to extend memory range and the instruction set they have is identical. Is this correct?


推荐答案


之所以可以在64位操作系统上运行32位应用程序,是因为
是x86-64吗?

Is the reason we can run 32bit application on 64bit OS is because of the x86-64?

在大多数情况下是。但是让我简要地解释一下,32位/ 64位实际上不一定指代寄存器的大小,因为问题是您在谈论哪种寄存器(类型)?更准确地说,32位/ 64位是指地址总线的宽度(即可以寻址多少内存),换句话说,就是C语言中指针的大小。然后,32/64位将(间接)指的是单词大小,也就是机器基本的整数类型的大小。无论如何,32位/ 64位必须在可寻址内存上做更多的工作,但还与字长(sizeof(int))和寄存器大小有关。
所以,回到问题所在。许多32位二进制文​​件仍可以在64位系统上运行。是的,因为新 x86-64仅扩展了原始的x86 ISA(当然还有更多说明)。因此,旧的32位二进制文​​件(由x86指令组成)可能仍可在新系统中运行。

Yes for the most part. But let me briefly explain that 32bit/64bit does not necessarily actually refer to register size because the question would be which register (type) are you talking about? More accurately, the 32bit/64bit refer to the width of the address bus (ie how much memory can be addressed) or in other words the size of a pointer in C. Then, in turn the 32/64bit would (indirectly) refer to the word size aka the size of the basic 'integer' type of the machine. Anyway, the 32bit/64bit has to do more with addressable memory but is also related to word size (sizeof(int)) and in turn register size. So, back to the question. Alot of 32Bit binaries can still run on 64bit systems. Yes, because the "new" x86-64 only extends the original x86 ISA (with more instructions of course). Therefore, your old 32bit binary (which consists of x86 instructions) may still be runnable in the new system.


如果是,为什么32位应用程序有时在64位
窗口中不兼容?为什么我们需要WOW64? (有时会要求我们选择要安装哪个
版本。)

If so, why are 32bit applications sometimes not compatible in 64bit windows? Why do we need WOW64? (Sometimes we are asked to choose which version to install.)

是的,在许多情况下,旧的x86 32位二进制文​​件/应用程序将无法在新的64位系统中运行。例如,您的二进制文件可能包含一个或多个(由于某种原因)不再受支持的指令(请参阅 中有区别)。或者,如果您的二进制文件/应用程序专门要求使用新系统中不存在的32位库。在这种情况下,您的系统会抱怨您无法运行此32位应用程序。

Yes, there are a number of cases where old x86 32bit binary/application won't be runnable in a new 64bit system. For example, your binary may contain one or more instructions that (for some reason) are no longer supported (see this for examples). Or, If your binary/application specifically requires the use of a 32bit library that does not exist in your new system. In that case, your system will complain that you can't run this 32bit application.


x64指令集除x86-64以外还有其他指令集吗?
有人告诉我x64只是为了扩展内存范围,他们拥有的
指令集是相同的。这是正确的吗?

Does x64 instruction set have any other instruction set except x86-64? Some people told me x64 is just to extend memory range and the instruction set they have is identical. Is this correct?

首先,Intel64,AMD64,x86-64,x64几乎都(或多或少)是指一样!
是的,x86-64指令集非常庞大,并且会定期接收扩展(请考虑MMX,SSE,AVX .... etc)。每个扩展都像一个迷你指令集。在Wikipedia上查找x86指令集,您应该获得大量信息。

First, the Intel64, AMD64, x86-64, x64 all pretty much (more or less) refer to the same thing! Yes, the x86-64 instruction set is HUGE and receives extensions on a regular basis (think MMX, SSE, AVX....etc). Each extension is a like a mini instruction set. Look up x86 instruction set on Wikipedia you should get a ton of info.

这篇关于x86和x64共享指令集?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆