i386下载和amd64之间的区别?


164

标准i386下载和Ubuntu 11.04的amd64下载有什么区别?我当前在amd机器上运行i386,我的系统可以通过amd64下载更好地工作吗?(我的机器运行的是Windows 7 64bit,但是在安装Ubuntu之前我忽略了这一点)。



Answers:


165

i386是指32位版本,而amd64(或x86_64)是指适用于Intel和AMD处理器的64位版本。

维基百科的i386条目:

英特尔80386,也称为i386,或简称386,是Intel于1985年推出的32位微处理器。根据上下文,它被称为x86,IA-32或i386体系结构。

维基百科的x86_64条目:

x86-64是x86指令集的扩展。它支持比x86更大的虚拟和物理地址空间,从而使程序员可以方便地处理更大的数据集。在以“ x86-64”名称启动架构后,AMD将其重命名为AMD64 ... x86行业中许多人仍然使用-64作为与供应商无关的术语,而其他公司,尤其是Sun Microsystems(现为Oracle Corporation)和Microsoft,则使用x64。

即使您具有intel CPU,也应使用AMD64在计算机上安装64位(它使用相同的指令集)。

我强烈建议使用它。在大多数情况下,您不会发现差异,但是对于较大的工作量(例如视频编辑,游戏等),计算机的性能会更快(计算机能够计算2 + 2 + 2 = 6而不用去做)在示例中为2 + 2 = 4 + 2 = 6)。在Windows世界中,一个32位操作系统将不允许您在计算机上使用超过3.5 Gig的RAM(即使您有8G!)。您需要使用64位操作系统才能完全使用所有RAM。但是,对于Linux,没有这样的限制(感谢Uri)。

无论如何,世界已经从32位转变为仅支持不能运行64位的旧机器。


最后一部分现在(当然是在Linux中)不是真的,您可以在32位的PAE内核中使用超过3.5GB的RAM。
Uri Herrera

3.5gbs的32bit内存限制不是4gbs- <图形卡内存>吗?
克里斯金2011年

3
为了简单起见,我省略了诸如显卡内存之类的技术。我的目的是说“如果您有超过3.5-4个演出,请使用64位”。

1
@Treefroginc到底有哪些调整?
Uri Herrera

1
64位与32位一样有用且稳定,除了Flash在一天中的某些情况下,在某些情况下,如果行星对齐并发出宇宙射线,几乎可以忽略不计。


10

是的,您可以将amd64位安装到Intel 64位处理器。AMD发明了x86-64位指令集处理器,因此名称仅是对AMD的致敬。


感谢您清理此问题。我知道这是一个简单的问题,但是在任何地方都找不到答案。
Dave Wolover 2012年

8

amd64i386之间的区别是amd6464位,i38632位。这是内核中可用寄存器的宽度(以位为单位)。

基本上,一个32位CPU内核一次可以处理的最大数量为42.9亿个略多一点,而一个64位内核可以一次处理的总数量超过184.4亿亿个。

现代PC的内核可以作为64位或32位处理器运行,具体取决于您所安装的操作系统的版本。

64位代码的运行速度往往比32位代码快,这是因为它可以处理不断变化的数字,或者是因为64位内核具有更多的寄存器,因此可以存储更多内容而无需将其放入外部存储器。尽管不能保证如果未编写代码以利用处理器的额外功能,则64位代码将运行得更快。

在32位系统上进行编译将产生与64位系统不同的代码。您可以通过在两个系统上汇编代码来证明这一点。假设您的C文件是myfile.c,请gcc -S myfile.c在两个系统上尝试并比较myfile.s

对于32位系统,编写良好的代码应可以在64位系统上编译并运行,但并非所有代码都编写得很好。许多程序员对系统的假设可能不正确:例如寄存器宽度或字节顺序。

如果不访问源代码,很难看到问题所在,但是a segmenation fault表示已尝试访问不属于该程序的内存。例如,这可能表明mem_ptr是32位指针,在32位系统上可以,但是在64位系统上需要是64位指针。


我会检查一下,然后再回过头……
谢谢

realloc(mem_ptr, 0)函数正在释放以前用malloccalloc等等分配的内存。如果该指针以任何方式已损坏,则您尝试释放您不拥有的内存,这会产生分段错误
Warren Hill

6

是的,您可以使用该.ISO。amd64是指体系结构。AMD是第一个创建64位CPU的人,所以我相信当时它被命名为这个名字,并且名称一直存在。似乎有些混乱,但是amd64只是表示64位。


10
他们不是第一个创建64位cpu的人。英特尔以前有一个,但是它不向后兼容,因此未被广泛采用。名称amd64是为了区分AMD的体系结构与英特尔的IA64,后者现已停产。
psusi 2012年
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.