x86和x64

转载 2013年12月02日 18:20:57

x86是对基于intel处理器的系统的标准缩写。X与处理器没有任何关系,它是一个对所有*86系统的简单的通配符定义,是一个 intel通用计算机系列的编号,也标识一套 通用的计算机指令集合,由于早期intel的CPU编号都是如8086,80286来编号,由于这整个系列的CPU都是指令兼容的,所以都用X86来标识所使用的指令集合如今的奔腾、P2、P4、赛扬系列都是支持X86指令系统的,所以都属于X86家族。 

64位技术是相对于32位而言的,这个位数指的是CPU GPRs(General-Purpose Registers,通用寄存器)的数据宽度为64位,64位指令集就是运行64位数据的指令,也就是说处理器一次可以运行64bit数据。64bit处理器并非现在才有的,在高端的RISC(Reduced Instruction Set Computing,精简指令集计算机)很早就有64bit处理器了,比如SUN公司的UltraSparc Ⅲ、IBM公司的POWER5、HP公司的Alpha等。  

64bit 计算主要有 两大优点 :可以进行更大范围的整数运算;可以支持更大的内存。不能因为数字上的变化,而简单的认为64bit处理器的性能是32bit处理器性能的两倍。实际上在32bit应用下,32bit处理器的性能甚至会更强,即使是64bit处理器,目前情况下也是在32bit应用下性能更强。所以要认清64bit处理器的优势,但不可迷信64bit。  

要实现真正意义上的64位计算,光有64位的处理器是不行的,还必须得有64位的操作系统以及64位的应用软件才行,三者缺一不可,缺少其中任何一种要素都是无法实现64位计算的。 

主流CPU使用的64位技术主要有AMD公司的 AMD64位技术 、Intel公司的 EM64T技术 、和Intel公司的 IA-64技术 。其中IA-64是Intel独立开发,不兼容现在的传统的32位计算机,仅用于Itanium(安腾)以及后续产品Itanium 2,一般用户不会涉及到,因此这里仅对AMD64位技术和Intel的EM64T技术做一下简单介绍。  

AMD64位技术   
AMD64的位技术是 在原始32位X86指令集的基础上加入了X86-64扩展64位X86指令集 ,使这款芯片在硬件上兼容原来的32位X86软件,并同时支持X86-64的扩展64位计算,使得这款芯片成为真正的64位X86芯片。这是一个真正的64位的标准,X86-64具有64位的寻址能力。  

X86-64新增的几组CPU寄存器将提供更快的执行效率。寄存器是CPU内部用来创建和储存CPU运算结果和其它运算结果的地方。 标准的32-bit x86架构 包括 8个通用寄存器 (GPR), AMD在X86-64 中又增加了8组(R8-R9), 将寄存器的数目提高到了16组 。X86-64寄存器默认位64-bit。 还增加了8组128-bit XMM寄存器 (也叫SSE寄存器,XMM8-XMM15),将能给 单指令多数据流技术(SIMD) 运算提供更多的空间,这些128位的寄存器将提供在矢量和标量计算模式下进行128位双精度处理,为3D建模、矢量分析和虚拟现实的实现提供了硬件基础。通过提供了更多的寄存器,按照X86-64标准生产的CPU可以更有效的处理数据,可以在一个时钟周期中传输更多的信息。  

EM64T技术   
Intel官方是给EM64T这样定义的: EM64T全称Extended Memory 64 Technology , 即扩展64bit内存技术 。 EM64T是Intel IA-32架构的扩展 ,即IA-32e(Intel Architectur-32 extension)。IA-32处理器通过附加EM64T技术,便可在兼容IA-32软件的情况下,允许软件利用更多的内存地址空间,并且允许软件进行32 bit线性地址写入。EM64T特别强调的是对32 bit和64 bit的兼容性。 Intel为新核心增加了8个64 bit GPRs(R8-R15) ,并且 把原有GRPs全部扩展为64 bit ,如前文所述这样可以提高整数运算能力。 增加8个128bit SSE寄存器 (XMM8-XMM15),是为了增强多媒体性能,包括对SSE、SSE2和SSE3的支持。  

Intel为支持EM64T技术的处理器设计了 两大模式 : 传统IA-32模式 (legacy IA-32 mode)和 IA-32e扩展模式 (IA-32e mode)。在支持EM64T技术的处理器内有一个称之为 扩展功能激活寄存器 (extended feature enable register,IA32_EFER)的部件,其中的 Bit10控制着EM64T是否激活 。 Bit10被称作IA-32e模式有效 (IA-32e mode active)或 长模式有效(long mode active,LMA) 。当LMA=0时,处理器便作为一颗标准的32 bit(IA32)处理器运行在传统IA-32模式;当LMA=1时,EM64T便被激活,处理器会运行在IA-32e扩展模式下。  

目前AMD方面支持64位技术的CPU有Athlon 64系列、Athlon FX系列和Opteron系列。Intel方面支持64位技术的CPU有使用Nocona核心的Xeon系列、使用Prescott 2M核心的Pentium 4 6系列和使用Prescott 2M核心的P4 EE系列。

相关文章推荐

在Fedora 23 x86_64安装Longene QQ 7.8并利用该容器安装Wine Photoshop CS6过程摘录

安装环境:Longene WineQQ 7.8 容器(http://longene.org/download,wine 1.7.50),先晒一下安装好后的桌面 1、安装 Longene Wi...
  • vhyme
  • vhyme
  • 2016-01-06 11:20
  • 1475

how-to-install-ganglia-from-prebuild-rpm-on-centos6.6-x86_64

how-to-install-ganglia-from-prebuild-rpm-on-centos6.6-x86_64 写作缘由:之前对 ganglia 监控做过一些测试,部署使用简单;简单整理一下...

Cannot find a valid baseurl for repo: base/7/x86_64

我先是遇到这个问题# yum update >snip normal startup stuff, then:Error Downloading Packages:hmaccalc-0.9.6-4.e...

RHEL_6.8_X86_64安装Zabbix_2.4_Server端

一、安装Zabbix 1、检查当前系统安装环境 检查结果: 没有安装php 已安装Mysql数据库 没有安装zabbix 已安装http 2、安装mysql yum install -y mysq...

【Tiny4412】 编译dnw源码报错 /lib/modules/2.6.32-431.el6.x86_64/build/: No such file or directory

1. 今天编译dnw源码的时候出现如下错误:     /lib/modules/2.6.32-431.el6.x86_64/build/: No such file or directory     ...

duplicate symbols for architecture x86_64

今天我用pod去更新友盟统计的包后编译工程报错:duplicate symbols for architecture x86_64,如图: 不管是我是重新更新多少次,还是删了从本地直接导入,一直报这...

Centos7安装mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和...

Linked dylibs built for GC-only but object files built for retain/release for architecture x86_64

编译开源Xcode 插件 SCXcodeSwitchExpander 源码地址: https://github.com/stefanceriu/SCXcodeSwitchExpander...

[2013-05-15]安装centos6.3-x86_64

这里是我的操作日志 根据http://blog.chinaunix.net/uid-22714685-id-3400461.html修改而来 所需工具: 一、UltraISO(用来制作 U 盘启动)...

protobuf 编译iOS,lib curl缺少行 x86_64的解决方法

很多同学碰到libcurl这个问题都是因为protobuf大包iPhone的问题,各个团队的问题不一,也确实没唯一的解决方法,但核心问题还是第三方库和编译的问题。 protobuf这东西能不用就...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)