为什么叫X86和X86_64和AMD64

为什么大家叫x86为32位系统呢

相信大家在大学里面有很多人都玩过8086(微处理器),这是一个可编程的系统,他是由intel开发的,英特尔出了划时代的8086之后,后来使用该架构出了80286、80386等等,这一系列CPU就称作x86,正式一点称作IA-32(Intel Architecture 32-bit)。

所以x86指的是一种cpu的架构

X与处理器没有任何关系,它是一个对所有*86系统的简单的通配符定义,是一个intel通用计算机系列的编号,也标识一套通用的计算机指节集合,例如:i386, 586,奔腾(pentium)。

x86架构的特点是cpu的寄存器是32位的,因此也叫32位cpu。

基于32位cpu开发的操作系统就叫32位操作系统,因为目前x86架构在32位cpu的知名度,32位操作系统也通常被称为x86系统。

这里再来讲讲故事:

(1) 上个世纪70年代末,因特尔生产了著名的16位8086处理器,之后又推出了80186与80286;
(2) 1985年,因特尔继摩托罗拉之后,第二个研制出32位的微处理器80386;
(3) 1989年,因特尔推出80486处理器,具有浮点运算功能;
(4) 当初与因特尔竞争微处理器的摩托罗拉公司是以86开头的,如68000,68010,68020。
(5) 1993年,因特尔推出奔腾处理器,不再以数字命名其产品;

后来在微处理器行业摩托罗拉没有竞争过因特尔,因特尔也不再以数字命名其产品(单纯的数字不是不能注册为商标,只是很难而已),所以在工业界和学术界,大家仍然习惯性的把因特尔的处理器称为X86系列,X作为通配符代替前面的数字。这个也就是历史原因,带86的也不一定为32位处理器,只是因为这些带86的32位处理器比较出名,叫的用的都比较多,最后也就习惯了。

x86_64与amd64

由于32位系统x86架构的种种限制,包括速度,性能等方面,Intel开始向64位架构发展,那么有2选择:

  1. 向下兼容x86
  2. 完全重新设计指令集,不兼容x86

结果AMD领先,比Intel率先制造出了商用的兼容x86的CPU,AMD称之为AMD64,抢了64位PC的第一桶金,得到了用户的认同。

而Intel选择了设计一种不兼容x86的全新64为指令集,称之为IA-64,但是比amd晚了一步,而且IA-64也挺惨淡的,因为是全新设计的CPU,没有编译器,也不支持windows(微软把intel给忽悠了,承诺了会出安腾版windows server版,但是迟迟拿不出东西)。。。后来不得不在时机落后的情况下也开始支持AMD64的指令集,但是换了个名字,叫x86_64,表示是x86指令集的64扩展。

也就是说实际上,x86_64,x64,AMD64基本上是同一个东西,我们现在用的intel/amd的桌面级CPU基本上都是x86_64

i386

首先可以简化一个概念,i386=Intel 80386。 其实i386通常被用来作为对Intel(英特尔)32位微处理器的统称。

但是目前更多的时候,我们公认i386为32位系统,其实就是x86了。

X86和X86_64和AMD64的由来相关推荐

  1. X86,x86_64(AMD64),ppc64,i386,ppc64le,ARM,AMD,,AArch64的概念

    x86 泛指一系列由英特尔公司开发的处理器的架构,最早为1978年面世的"Intel 8086"CPU.早期的处理器均是以此格式来命名,如Intel 8086,80186,8028 ...

  2. 关于x86、x86_64/x64、amd64和arm64/aarch64

    关于x86.x86_64/x64.amd64和arm64/aarch64 转自:https://www.jianshu.com/p/2753c45af9bf 为什么叫x86和x86_64和AMD64? ...

  3. 【CPU】关于x86、x86_64/x64、amd64和arm64/aarch64

    为什么叫x86和x86_64和AMD64? 为什么大家叫x86为32位系统? 为什么软件版本会注明 for amd64版本,不是intel64呢? x86是指intel的开发的一种32位指令集,从38 ...

  4. 查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号

    欢迎大家关注笔者,你的关注是我持续更博的最大动力 原创文章,转载告知,盗版必究 查看Linux系统架构的命令,查看linux系统是哪种架构:AMD.ARM.x86.x86_64.pcc 文章目录: 1 ...

  5. CPU关于x86、x86_64x64、amd64和arm64以及aarch64的区别

    为什么叫x86和x86_64和amd64? 为什么大家叫x86为32为系统? 为什么软件版本会注明for amd64版本,不是intel64呢? ** CPU类型 x86 X64(CISC) ARM( ...

  6. x86/x64/x86_64/i386/ia32/ia64/amd/amd64 辨析

    现在的硬件发展正在随着摩尔定律的预言在阔步向前,从最初的8-bit CPU到后来的16-bit CPU,再到后来的32-bit CPU,最后到时下大热的64-bit CPU,硬件的性能得到大幅度的提升 ...

  7. ISA, x86,x86_64, AMD64, 指令集等名词解析

    文章目录 什么是ISA 不同指令集架构存在的问题: ISA的规定了什么? 指令集架构分类: 微架构 32位和64位 x86与非x86 x86与x86_64 x86-64 与 AMD64 32位和64位 ...

  8. Linux系统调用表:x86和x86_64

    <Linux系统调用表> <linux系统调用表(system call table)> <线上环境 Linux 系统调用追踪> <Linux系统调用权威指南 ...

  9. android ndk x86 arm,NDK r21编译FFmpeg 4.2.2(x86、x86_64、armv7、armv8)

    1.编译FFmpeg 准备Ununtu.ndk r21(linux).FFmpeg. 准备编译脚本,这里有两个,其中一个是专门针对armv7的. armv7 #!/bin/bash API=21 #a ...

最新文章

  1. YII2源码阅读:autoload_real.php 22~23行
  2. 全局内存BSS,DATA,RODATA的区别以及其他内存区间相关
  3. mysql starting server 失败_安装MySQL过程中(最后starting server)报错解决方案
  4. php 特殊符号处理,处理特殊符号的方法-php技巧
  5. 科学•转化医学 | 中国科大发现NK细胞促进胚胎发育的转录调控新机制
  6. 关于如何修改ISA server 防火墙并行最大TCP连接数问题和优化ISA 服务器淹没缓解设置
  7. java lock代码写法_[代码全屏查看]-java lock的使用
  8. Spring讲解二:Spring中的Bean配置0
  9. Cisco基本必须掌握命令
  10. 如何使用Java代码将GBK编码格式的工程转换为UTF-8编码格式的工程
  11. 淘宝 NPM 镜像解决软件下载速度慢的问题
  12. 玩转大麦盒子airplay
  13. 实现简单的中英互译的安卓App
  14. 两轴插补速度怎么给定_两轴直线插补定位.doc
  15. SharePoint CAML 查询时间类型
  16. 期权、期货及其他衍生产品 第二章 课程笔记整理
  17. 根据经纬度坐标点返回所在行政区域实现
  18. 反向延长线段什么意思_反向延长线是什么意思
  19. Unrecognized Windows Sockets error: 10106: Socket creation failed
  20. 大数据和云:在云中实施大数据的详情分析

热门文章

  1. C语言 数组排序 – 选择法排序 - C语言零基础入门教程
  2. jq之slidedown()
  3. BugkuCTF-MISC题baby_flag.txt
  4. 怎么把html表复制到word里,怎么把网页表格复制到word
  5. matlab6.0序列号,MFC软件获取USB设备的制造商、产品、序列号
  6. android懒加载单实例,【 Android 10 设计模式 】系列 -- 单例
  7. java数组有跨类建立对象_Java性能优化的45个细节(珍藏版)
  8. 光子计算机玩游戏,用于光计算的光子计算机
  9. mysql for 语句执行顺序_MySQL使用profile分析SQL语句执行过程
  10. cmd c语言 图形,CMD-C彩图隐写方案