zoukankan      html  css  js  c++  java
  • X86和X86_64

    整理了下网上的资料,归类了下,大似表述是这样的:
    IBM/PC兼容机,也就是Intel的i80x86指令架构,就简称了x86。
    x86并不是指32位环境,而是指80x86架构,这个架构目前有32位,64位两种。
    曾经听说还包括了过8位和16位,不过我没机会看过。

    习惯上来说,x86架构就是32位的,但AMD扩展出了64位环境,而且64位硬件支持32位,称为amd64
    intel叫EM64T,EM64T本质上和amd64一样都是IA-32的增强版本,Xeon借助于EM64T可实现高达1TB(40bit)的物理内存寻址和256TB(48bit)的虚拟内存寻址,并且良好地支持现有32位x86代码的执行,这一点跟AMD64无异,同时也是Intel开发EM64T的出发点—让现有的x86指令集能够执行64位代码,而继续保持对32位代码的良好兼容。但由于多方面的限制,无论是EM64T还是AMD64均只能实现比32位指令集更大内存空间的寻址,而无法真正做到纯64位指令集的1PB(50bit)和16EB(64bit)的物理内存和虚拟内存寻址(IA-64就能做到这一点),其关键在于EM64T和AMD64本质上仍是基于32位的x86指令集,只是Intel和AMD分别采用不同的技术手段对x86指令集进行扩展,从而实现对64位的支持。

    大多数情况下,amd64不叫amd64也不叫em64t,而是x86_64,从而表明他和x86这个32位的关系。
    其实x86其实也不全叫x86,Linux下还分成 i386 i486 i586 i686。如当年intel推出的新一代586处理器,叫Pentium(奔腾)。
    后面的64就成了这个架构的一个分支指令集的描述。x86就成了一个统称,而不是专指32位环境。
    因此,要明白x86的涵义,那个x可以是3,4,5,6等等。

    扩展信息:

    x86:指Intel制造的普通CPU(提出x86这个表示法时,个人电脑上以32位Intel的CPU为主)
    x64:x86_64的缩写(同时也相当于amd64,em64t),指x86的基础上加入64位地址扩展
    IA32:表示纯32位架构
    IA64:表示纯64位架构
    表示32位兼容的64位架构用(AMD是这一架构的主要生产商)

  • 相关阅读:
    吴裕雄--天生自然 诗经:离思五首·其四
    吴裕雄--天生自然 诗经:江城子·乙卯正月二十日夜记梦
    CentOS6—启动httpd失败—Certificate has expired
    paper—SCI—Examples of author responses to reviewer comments
    paper—SCI答复审稿人的回信技巧
    mysql android—Installation using AndroPHP
    linux socket c : send data when socket close—SIGPIPE, Broken pipe
    Firefox:曾经打破黑暗的产品
    mysql中datetime到time_t转换
    mysql datetime 时间比较
  • 原文地址:https://www.cnblogs.com/maruidong/p/6272306.html
Copyright © 2011-2022 走看看