AMD64和i386的区别

下载Debian系统时,出现两个选项:ADM64和i386,那么这两者的区别是什么?

i386=Intel 80386。其实i386通常被用来作为对Intel(英特尔)32位微处理器的统称。
AMD64,又称“x86-64”或“x64”,是一种64位元的电脑处理器架构。它是建基于现有32位元的x86架构,由AMD公司所开发。

下文引用自知乎:

  x86架构首度出现在1978年推出的Intel 8086中央处理器,它是从Intel 8008处理器中发展而来的,而8008则是发展自Intel 4004的。Intel之后又推出了包括80186、80286、80386以及80486。 在设计上,这些后续的处理器使用的指令集都是在8086的基础上添加新支持的指令进行改进的,因此可以说都是向下兼容的(backward compatibie),即能再8086上运行的程序在80486上也一定能运行。由于都是以86结尾(不过8088也是x86),所以把这一系列的指令 集 称之为x86指令集(架构)。准确的来讲,x86这一术语并不是指的某一个(具体CPU使用的)具体的指令集,而是在8086(的指令集)基础上发展而来 的所有指令集的泛称。
实际上,在80486以后Intel推出的绝大多数CPU都是“x86”的,包括Pentium 、Pentium Pro 、Pentium MMX ,Pentium 2 ,还有后面的Pentium 3、Pentium 4 、Pentium D 、Core 全系列,(x86系列的) Xeon。另外,使用x86架构的处理器制造商远非Intel一家,最著名的就是AMD,其他的还有VIA,Cyrix。具体的产品及特性可以见附录的表 格。可以说,x86架构就是桌面级CPU的标准,你能买到的品牌或者组装的PC,几乎没有不是x86 CPU的。不过虽说都是x86的,但只能说明使用的指令集是兼容8086的,除8086指令集之外的其他指令支持情况就不一样;其内部实现的微体系结构 microarchitecture显然也是各自不同,就好比Linux和Unix虽然都是POSIX兼容的OS,都有fork这个系统调用,但是这个调 用的实现确实各不相同。
  从1985年80386开始,intel通过对x86架构进行32位的扩展,实现了32位CPU,而之前的都是16位。Intel把支持32位的 x86指令集架构命名为ia-32(Intel Architecture 32bit)。实际上由于32位x86处理器的统治性,术语“x86”几乎等于IA-32,即32位的x86或x86-32,例如Windows和 Linux发行版的32位命名都是x86(而不是x86-32或ia-32)。后来的“x86-64”名称也继续强化了这种约定方式。这里还是要强调 x86是一系列架构的泛称,支持16位、32位和64位的指令都有。
该来的还是会来,在1999年,AMD宣布了x86-64架构。其实 现方式与之前的80386思路一致,继续对IA-32扩展,增加64位通用寄存器、证书预算单元和逻辑操作,支持64位虚地址;向前兼容ia-32。 2003年第一款x86-64处理器发布,AMD Operon。同时AMD也将x86-64正式命名为AMD64。这下Intel彻底2B了(原因后面说),以前都是AMD小弟追随者Intel大哥的脚 步,如今AMD先实现了64位民用桌面级CPU。其实Intel也有其64位计划,在2004年的IDF上,Intel承认其64 位计划,命名为ia-32e,即ia-32 extension,之后又改成EM64T,Extended Memory 64 Technology,最终命名为Intel64。 实际上EM64T与AMD64几乎相同。早期EM64T不兼容AMD64的少量指令,但是由于AMD在64位技术中的领先地位,Intel2005年不得 不宣布将完全兼容AMD64。所以现在装的64位版本操作系统从没有说是面向Intel还是AMD的。不过在称谓上,大多数厂商还是使用 x86-64(x86_64,或者就是x64)来称呼此架构,从而保持中立。
  “i386“和”i486″作为Intel 80386和80486处理器的别名是比较显然的。由于不能使用数字作为注册商标,而且也需要一个正式的名称命名,从586开始就变为Pentium了, 这时候i586就作为了最原始Pentium的微处理架构“P5”的别名,同样的i686对P6(Pentium Pro使用),i786对应P68,或NetBurst架构。
在我看来,在软件包的命名上使用“i某86”时应该是说适用于使用这一代微架构的CPU。但微架构是硬件上事,因此还是在说明适用对应CPU使用的 指令集。比如,i386对应IA-32,并且由于兼容性肯定适用于i486~i686;i686不仅适用Pentium Pro,也适用K7架构的Athlon。
  前文提到Intel在AMD推出民用64位技术后很被动。其实Intel也有64位x86 CPU的计划,但是由于对于这个市场的不重视,认为需求不足,一直不见面世。而在对64位需求更加强劲的企业服务器和高性能计算市场上,1994年HP就 和 Intel合作开始开发一款与x86架构完全没关系的全新的IA-64架构。显然IA-64不兼容x86-64更别说IA32,IA64天生就是64位,基于显式并行指令运算(EPIC)。 2001年第一款IA-64架构的处理器Itanium安腾发布。可见,IA-64跟IA-32在实现上没有什么关系,跟x86-64也是完全并行的两种 架构,x86架构的Intel的Xeon就是Intel Itanium的竞争对手之一。后来Intel把IA-64也干脆改称为Intel Itanium架构。

				
时间: 2024-10-25 23:52:22

AMD64和i386的区别的相关文章

amd64 与 ia64的区别

最近在看<构建高可用linux服务器>基本中有一章关于FreeBSD的内容看完以后准备下载安装做做实验,熟练一下FreeBSD与linux之间的不同 到了FreeBSD的官网(http://www.freebsd.org)下载软件的时候选择下载安装的镜像的时候晕菜了.平常的linux下载32与64的版本很好分清楚的.但是在FreeBSD的下载选择中: AMD64.i386. ia 64. prowepc 64 其中的AMD64与ia64就有一些分不清楚概念了. 在FreeBSD中 AMD64

AMD64与IA64的区别

其实很多人从字面上,都以为AMD64就是针对AMD CPU的,IA64是针对INTEL CPU,其实是错的,我最初也是这样认为,其实不然: 你在市面上买的到的intel 64位 CPU都属于amd64范畴这个架构应该称为 x86_64,因此不管是AMD的64位CPU,还是INTEL的64位CPU,都是属于AMD64范畴. 而IA64指的是Intel安腾系列CPU,不是X86架构的.ia64主要用在服务器上面,而不是我们平常使用的桌面,通常这些cpu很贵,相关的内存以及硬盘同样很贵! 因此你以后你

【Linux】Debian的下载、安装、图形化界面,多图杀猫

Linux的版本众多,同时相对于非专业用户少见.不像Windows系统那样大众,稍微有些知识都知道,配置低一点的机器就选择Windows XP Professional SP3,搞Asp的用Windows 2003 Enterprise SP2,高大上一点就直接上Windows2008与2012,普通的机器就上Win7 32位系统,超过4G内存就上Win7x64,Wini7属下的版本虽然多,也根本就不用想,选择最权威的旗舰版--还有大部分不是搞IT的人都还在为Win8还是Win10争论不休,反正

编译zpool命令

环境:192.168.50.239(在 illumos源码中编译zpool命令) PS:由于对zpool命令的工作原理不熟悉,所以编译,可在其中加入调试语句来明白其原理 首先介绍 illumos-soulos开发环境搭建,过程如下: 一.系统环境 PC机采用Windows系统,使用“putty.exe”工具中SSH功能 二.putty配置 1.打开putty.exe,Host Name(IP address)填入192.168.2.238 2.左侧点击SSH->Auth,在Private key

使用devcon工具,结合批处理重启无线网卡设备

最近由于工作需要,写了一个重启无线网卡的批处理. 首先说一下我的思路: 1. ping网关(默认选项,网关为192.168.1.1)两次,如果成功,则批处理结束 2. 如果不成功,则在第二次,重启无线网卡 为了达到以上目的.我需要一个可以在DOS命令中进行启用.禁用.重新启动.更新.删除和查询单个设备或一组设备的工具.而devcon恰恰就是windows中进行这些操作的工具.它并未集成在windows的默认安装中,为此,我们需要通过官网或者其他网站下载该工具.由于官方提供的工具在win7 64b

ubuntu下安装postgres

PostgreSQL 是一款强大的,开源的,对象关系型数据库系统.它支持所有的主流操作系统,包括 Linux.Unix(AIX.BSD.HP-UX,SGI IRIX.Mac OS.Solaris.Tru64) 以及 Windows 操作系统. 下面是 Ubuntu 发起者 Mark Shuttleworth 对 PostgreSQL 的一段评价. PostgreSQL 是一款极赞的数据库系统.刚开始我们在 Launchpad 上使用它的时候,并不确定它能否胜任工作.但我是错了.它很强壮.快速,在

Debian环境下的Jpcap 安装与配置

环境:Debian3.2.60-1+deb7u1 x86_64 GNU/Linux 工具包: jdk-6u45-linux-x64.bin libpcap-1.6.1.tar.gz  (下载地址:http://www.tcpdump.org/#latest-release) jpcap-0.7.tar.gz 安装过程: 1.      安装JDK (此处安装的为JDK1.6),并配置环境. 2.      安装下面软件之前,最好升级更新一下,以免有缺失软件包的错误 $ apt-get updat

1 win10双系统安装ubuntu16.04和18.04(问题详细记录)

一直windows跑深度学习和tensorflow,有些项目源码是linux下的,不得已,需要安装linux系统. 初始选择的是ubuntu16.04,但是由于对双显示屏幕起的酷爱,最终又换成了ubuntu18.04,显示效果相较于ubuntu16.04高了n个层次.因为对集成显卡intel 630显卡的支持是在linux 14.5内核版本以后.而ubuntu16.04的内核版本是linux 13. 先后在win10下以双系统的方式成功安装了两个ubuntu系统,过程中遇到很多问题.详细记录如下

go语言部署

一.go语言部署 由于go语言支持跨平台,只需要不同平台编译成各平台所需要的二进制文件,就可以运行,无需任何环境.java跨平台是由于有适配各平台的jvm,二者跨平台的原理还是不同的. 针对下面平台的编译部署命令如下: // 设置目标可执行程序操作系统构架 这里amd64是一个很大的坑,这里是要运行这个打包后程序的平台. 如果是linux需要你用 uname -a 来查看你运行的linux系统环境.常见的环境一般有 amd64,i386等 set GOARCH=amd64 // 设置可执行程序运