英特尔64和AMD64有什么区别?


29

有人可以解释intel64和amd64体系结构之间是否有区别吗?


3
IA64 =英特尔/ HP Itanium VLIW架构。AMD64是AMD开发的标准x86指令集的扩展。

6
行销 AMD开发了它,然后将其许可给了Intel。AMD从Intel获得x86许可,而Intel从AMD获得x64许可。这样可以确保任何一方都可以起诉另一方,而又不会失去出售整个cpu产品阵容的权利,因为他们会在自己的脚上开枪。

1
您是说x86-64还是IA64?前一个与AMD64相同(字面上完全相同的指令集,或者您需要为一个CPU或另一个重新编译所有应用程序),而后者是 完全不同的CPU体系结构。
突破

2
我的意思是x86-64。英特尔最初使用名称IA-32e和EM64T,然后最终决定采用英特尔64实施。
Mayhem 2012年

Answers:


26

根据我的阅读,扩展内存64位技术(EM64T)是Intel对AMD AMD64的实现,而Intel64和AMD64之间的区别是:

  • 当源为0并且操作数大小为32位时,EM64T的BSF和BSR指令的行为不同。处理器将置零标志并将目标的高32位保留为未定义状态。

  • AMD64支持3DNow!说明。这包括使用操作码0x0F 0x0D和PREFETCHW进行的预取,这对于隐藏内存等待时间很有用。

  • EM64T缺乏保存和恢复浮点状态的简化(因此更快)版本(涉及FXSAVE和FXRSTOR指令)的能力。

  • EM64T缺少一些特定于模型的寄存器,这些寄存器被认为是AMD64的体系结构。这些包括SYSCFG,TOP_MEM和TOP_MEM2。

  • EM64T支持32位模式下的微码更新,而AMD64处理器使用不同的微码更新格式并控制MSR。

  • EM64T的CPUID指令是特定于供应商的,这与x86风格的处理器一样。

  • EM64T支持MONITOR和MWAIT指令,操作系统使用它们来更好地处理超线程。

  • AMD64系统允许将AGP孔径用作IO-MMU。操作系统可以利用此优势使普通PCI设备DMA达到4 GiB以上的内存。EM64T系统要求使用反弹缓冲区,该缓冲区速度较慢。

  • SYSCALL和SYSRET也仅在EM64T上的IA-32e模式(不兼容模式)下受支持。两种模式均支持SYSENTER和SYSEXIT。

  • 前缀为0×66(操作数大小)的近分支的行为不同。一种类型的CPU仅清除前32位,而另一种类型清除前48位。


您从哪里读到的文字?
Tamara Wijsman 2012年

4
好吧,一些论坛/博客+维基百科(en.wikipedia.org/wiki/EMT64#Intel_64)。我也查看了一些来自Intel和AMD的手册。
Mayhem 2012年

@Nubok:请为via技术的架构实现添加区别(当然是64位版本)  !
user2284570

IO-MMU非常重要-缺少它意味着您必须吸收大量的低内存来进行缓冲(Linux上当前默认为64MB)。英特尔后来推出了类似于VT-d的产品,并将其用于烦人的产品细分水平-但是,代码的可靠性(在某些情况下为硅芯片)往往导致默认情况下在Linux上默认不使用该代码。目的。
GreenReaper

8

Wikipedia的x86页面上,您可以阅读

在1999-2003年,AMD将这种32位体系结构扩展到了64位,并在早期文档中将其称为x86-64,后来又称为AMD64。英特尔很快以IA-32e的名义采用了AMD的体系结构扩展,后来将其更名为EM64T,最后更名为Intel 64。

换句话说,差异化主要是营销。指令集有特定于Intel和AMD的扩展,但是只要您在用户空间中编写程序,通常就不需要知道它们之间的区别。


3
you don't generally need to know the difference错误:在通用说明,即使微小的差别是非常重要的bugs.chromium.org/p/nativeclient/issues/detail?id=2010
user2284570

4
错误:通用指令之间的微小差异也非常重要。为了公平起见,(1)他说您通常不需要了解这些差异。显然,在某些特定情况下它可能很重要。(2)我们大多数人并不是在编写必须保护所有可用指令路径的强化沙箱。
埃里克·W
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.