x86架构

[转帖]为什么32位称为x86而64位称为x64?

て烟熏妆下的殇ゞ 提交于 2020-03-31 06:52:55
为什么32位称为x86而64位称为x64? https://www.expreview.com/69962.html 这个问题应该想问的是:“为什么64位称为x64而32位称为x86?”这就要翻一下CPU的发展历史了,1978年6月8日,Intel发布了新款微处理器“8086”,也同时开创了一个新时代: x86架构 诞生了。 Intel 8086处理器 x86指的是特定微处理器执行的一些计算机语言 指令集 ,定义了芯片的基本使用规则,它是一个intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合。 当然,8086发布时它的指令集合还并没有“x86”的叫法,只不过由于intel后续大火的处理器如286、386、486等等命名上都是以86结尾,并且他们都是同样的一套指令集合,所以人们才将这一套指令集合称为“x86”。 而32位指的是CPU一次能处理的最大数据是32位宽,即4个字节。这种CPU内部寄存器和寻址总线是32位,指令集可以运行32位数据指令。具有这样特性的CPU我们叫32位CPU,而针对这样的CPU设计的操作系统人们就称为32位操作系统。历史上第一款32位CPU是前面我们提到过的386(全称Intel 80386)。 总的来说,“x86”指的是一套特定的计算机指令集合,而“32位”指的是CPU一次能处理的最大数据是32位宽。它们并不是一个概念

【转帖】超能课堂(186) CPU中的那些指令集都有什么用?

帅比萌擦擦* 提交于 2020-03-06 07:59:31
超能课堂(186) CPU中的那些指令集都有什么用? https://www.expreview.com/68615.html 我们都知道之所以计算机能够进行计算,主要靠的是大规模集成电路中由晶体管组成的逻辑电路。这些逻辑电路使得计算机能够进行运算及判断。但对于一个简单逻辑电路来讲,它只能进行一个完整运算中的部分操作,所以人们通过组合这些简单逻辑电路,这样就可以让计算机进行复杂的运算了。当CPU设计人员将这些组合逻辑电路制作成通用运算单元后,我们将一定格式的指令及数据输入,即可得到运算结果。而当需要的运算种类越来越多、运算越来越复杂后,CPU设计人员就将这些指令进行划分重构,组成一整套进行运算的集合,这就是 指令集 。 图片来自 Unsplash 不过以上面向CPU指令集设计师及CPU微架构设计师的,CPU指令设计者将不同一些计算机操作设计成指令,然后微架构设计师通过这些指令的格式等进行微架构设计。而对于软件开发者,更多接触到的是软件层面的汇编语言,通过汇编语言指令就可以让程序员控制计算机了。计算机软硬件架构是有层次的,随着高级语言的开发,GUI的出现,更多的人可以方便的使用计算机。虽然编程语言越来越“高级”,软件越来越华丽,但是其依然需要通过CPU中的海量晶体管进行运算,调用指令集。 从英特尔开发出8086处理器开始,x86指令集就开始形成了,此后英特尔推出了80286

IA64与x86-64的区别

亡梦爱人 提交于 2020-03-04 10:41:07
win7 sp1下载地址 :https://download.microsoft.com/download/0/A/F/0AFB5316-3062-494A-AB78-7FB0D4461357/windows6.1-KB976932-X64.exe 说到IA-64与x86-64可能很多人会比较陌生。不知道你在下载系统的时候有没有注意过,有的地方标注了x86/64/ia-64全版本等字样。那x86/x64/ia-64都是什么东西的版本呢?答案就是CPU。 系统有x64,x86与ia-64三种版本之分,分别用于不同的CPU。较老的CPU只能安装x86版的系统,也就是我们常见的32位系统。因为微软的缘故,32位系统在过去的很长一段时间内,占据着桌面计算机的主流地位。64位系统能够在较新的x86-64架构的CPU上运行。而ia-64则只能运行于INTEL的安腾系列处理器。 x86:从1978年来的8086处理器开始,就已经出现了x86架构CPU,即32位处理器。 x86-64:又简称为x64,最初开发为1999年AMD,为了扩充IA64。当时的x86-64架构诞生颇有时代意义,处理器的发展遇到了瓶颈,内存寻址空间由于受到32位CPU的限制而只能最大到约4G。于是就有了x86-64。后被INTEL所采用。 ia-64:其实ia64的历史早于x86-64x,最初由INTEL和惠普联合推出

IA64与x64的区别

元气小坏坏 提交于 2020-03-04 10:40:54
说到IA-64与x86-64可能很多人会比较陌生。不知道你在下载系统的时候有没有注意过,有的地方标注了x86/64/ia-64全版本等字样。那x86/x64/ia-64都是什么东西的版本呢?答案就是CPU。 系 统有x64,x86与ia-64三种版本之分,分别用于不同的CPU。较老的CPU只能安装x86版的系统,也就是我们常见的32位系统。因为微软的缘 故,32位系统在过去的很长一段时间内,占据着桌面计算机的主流地位。64位系统能够在较新的x86-64架构的CPU上运行。而ia-64则只能运行于 INTEL的安腾系列处理器。 x86:从1978年来的8086处理器开始,就已经出现了x86架构CPU,即32位处理器。 x86-64:又简称为x64,最初开发为1999年AMD,为了扩充IA64。当时的x86-64架构诞生颇有时代意义,处理器的发展遇到了瓶颈,内存寻址空间由于受到32位CPU的限制而只能最大到约4G。于是就有了x86-64。后被INTEL所采用。 ia- 64:其实ia64的历史早于x86-64x,最初由INTEL和惠普联合推出。由于ia-64不与32位兼容,所以没有受到重视。直到INTEL采用了 AMD的x86-64架构,才正式的批量生产。而后为了日益扩张的计算需求,INTEL重新将IA-64拿出来,发布了安腾系列服务器CPU。 虽然x86-64和IA

x86\\x64\\ia64的区别

ε祈祈猫儿з 提交于 2020-03-04 10:40:11
这几天做MDT时,总是会遇到x86\x64\ia64这几个文件夹。前两者很常见,自从Win7系统出现之后,经常会遇到。于是猜想ia64应该也是CPU的某种架构或版本。现对三者做了下总结。 x86或80x86是英特尔Intel首先开发制造的一种微处理器体系结构的泛称。该系列较早期的处理器名称是以数字来表示,并以“86”作为结尾,包括Intel 8086、80186、80286、80386以及80486,因此其架构被称为“x86”。x86架构于1978年推出的Intel 8086中央处理器中首度出现,它是从Intel 8008处理器中发展而来的,而8008则是发展自Intel 4004的。8086在三年后为IBM PC所选用,之后x86便成为了个人计算机的标准平台,成为了历来最成功的CPU架构,如Pentium、Athlon。现在,Intel把x86-32称为IA-32,全名为“Intel Architecture, 32-bit”。 x86-64架构诞生颇有时代意义。当时了,处理器的发展遇到了瓶颈,内存寻址空间由于受到32位CPU的限制而只能最大到约4G。AMD主动把32位x86(或称为IA-32)扩充为64位。它以一个称为AMD64的架构出现(在重命名前也称为x86-64),且以这个技术为基础的第一个产品是单内核的Opteron和Athlon 64处理器家族

IA64与x64的区别

徘徊边缘 提交于 2020-03-04 10:39:31
说到IA-64与x86-64可能很多人会比较陌生。不知道你在下载系统的时候有没有注意过,有的地方标注了x86/64/ia-64全版本等字样。那x86/x64/ia-64都是什么东西的版本呢?答案就是CPU。 系 统有x64,x86与ia-64三种版本之分,分别用于不同的CPU。较老的CPU只能安装x86版的系统,也就是我们常见的32位系统。因为微软的缘 故,32位系统在过去的很长一段时间内,占据着桌面计算机的主流地位。64位系统能够在较新的x86-64架构的CPU上运行。而ia-64则只能运行于 INTEL的安腾系列处理器。 x86:从1978年来的8086处理器开始,就已经出现了x86架构CPU,即32位处理器。 x86-64:又简称为x64,最初开发为1999年AMD,为了扩充IA64。当时的x86-64架构诞生颇有时代意义,处理器的发展遇到了瓶颈,内存寻址空间由于受到32位CPU的限制而只能最大到约4G。于是就有了x86-64。后被INTEL所采用。 ia- 64:其实ia64的历史早于x86-64x,最初由INTEL和惠普联合推出。由于ia-64不与32位兼容,所以没有受到重视。直到INTEL采用了 AMD的x86-64架构,才正式的批量生产。而后为了日益扩张的计算需求,INTEL重新将IA-64拿出来,发布了安腾系列服务器CPU。 虽然x86-64和IA

[转帖]2018年新国产X86处理器现身 基于ZEN的它会是救世主吗?

寵の児 提交于 2020-02-09 11:50:27
新国产X86处理器现身 基于ZEN的它会是救世主吗? https://diy.pconline.com.cn/1133/11339008.html   【PConline 资讯】 目前国产处理器在MIPS、ARM及Alpha等架构上搞的还可以,但在主流的桌面市场,也就是我们常用的Windows系统及其配套的X86处理器上国产处理器的发展一直举步维艰,其原因在于X86指令集的授权全世界只有三家,没有X86指令集授权的中国企业无法正当研发销售X86处理器,也因此我们普通消费很难见到国产处理器,因为我们大多数消费者都是使用X86处理器和Windows系统。 AMD Ryzen 7 2700 X 电商价格 苏宁易购: ¥2599 京东商城: ¥2499   现在世界上拥有X86授权的企业只有三家,分别是Intel、AMD和VIA三家企业其中Intel和AMD拥有X86的永久授权。目前市面上唯一生产国产X86处理器的企业是兆芯,那么兆芯是如何拿到X86的授权的呢?其实兆芯是一家合资公司,其中两成的股份来自于VIA,因此兆芯也得到了X86的授权,而且兆芯的发展也还不错,今年年初发布的新一代SOC KX-5000为8核8线程设计,多核性能可以追上6代i3,但是VIA的X86授权将在今年过期,也就是今年兆芯理论上也会失去X86的授权,但未来会怎么样还需要静待事情发展

【Hardware】i386、x86和x64的故事

牧云@^-^@ 提交于 2020-02-09 09:38:50
(1)x86的由来 x86架构 首度出现在1978年推出的Intel 8086中央处理器,它是从Intel 8008处理器中发展而来的,而8008则是发展自Intel 4004的。在8086之后,Intel又推出了包括80186、80286、80386以及80486。 在设计上,这些后续的处理器使用的指令集都是在 8086 的基础上添加新支持的指令进行改进的,因此可以说都是 向下兼容(backward compatibility) 的,即能在8086上运行的程序在80486上也一定能运行。 向下兼容(Downward Compatibility) ,又称作 向后兼容(Backward Compatibility) ,指在 一个程序或者类库更新到较新的版本后,用旧的版本程序创建的文档或系统仍能被正常操作或使用 ,或在旧版本的类库的基础上开发的程序仍能正常编译运行的情况。例如较高档的计算机或较高版本的软件平台可以运行较为低档计算机或早期的软件平台所开发的程序 由于都是以86结尾(不过8088也是x86),所以把这一系列的指令集,称之为 x86指令集(架构) 。准确的来讲, x86 这一术语并不是指的某一个(具体CPU使用的)具体的指令集,而是在8086(的指令集)基础上发展而来的所有指令集的泛称 。 x86与CPU的位数无关,包括16位、32位、64位的CPU。 实际上

couldn't find "libxxxx.so"的错误

巧了我就是萌 提交于 2020-01-18 14:24:46
一次项目中,出现了这样的错误 "nativeLibraryDirectories=[/data/app/com.lukouapp-1/lib/arm64, /vendor/lib64, /system/lib64]]]couldn't find "libxxxx.so" 引用了一些第三方的sdk的so库之后偶尔会遇到这样的问题,我是直接修改builde的配置 如下 加入: ndk { // 设置支持的SO库架构,第三方给的so库哪几种架构,就配置这几种架构 abiFilters 'armeabi' , 'armeabi','x86', 'armeabi-v7a', 'x86_64', 'arm64-v8a' } 问题解决 来源: CSDN 作者: estar_星辰 链接: https://blog.csdn.net/weixin_37758967/article/details/104028815

x86架构

被刻印的时光 ゝ 提交于 2020-01-16 20:56:15
基础概念 cpu:命令的执行 内存:中间结果保存、进一步计算,cpu无法保存太多的中间结果 总线:连接cpu、内存、显卡、磁盘空盒子器、usb控制器 进程:可以理解为实例化的程序,程序是存在硬盘的,而进程是要讲程序加载到内存,不同进程的内存空间是隔离的。进程空间粗略的分有代码段和数据段。cpu包含两个寄存器,分别存放当前处理进程的代码段的起始地址和数据段的起始地址,进程切换会切换这两个寄存器存储的起始地址。 cpu cpu包括三部分: 运算单元 数据单元 控制单元 运算单元 做加法、移位等。 数据单元 包括cpu内部的缓存和寄存器组,空间小、速度快,展示存放数据和运算结果。 数据单元从数据段中读取数据。 8086处理器内部有8个16位通用寄存器:AX、BX、CX、DX、SP、BP、SI、DI。 其中AX、BX、CX、DX可以分成两个8位寄存器使用,分别为AH、BH、CH、DH、AL、BL、CL、DL。H是高位、L是低位。这样长短数据可以用不同大小的寄存器存放。 控制单元 统一指挥,获取下一条命令、执行,指令会指导运算单元获取数据单元数据,进行计算,结果存数据单元。 控制单元中的 指令指针寄存器 用于存放吓一条指令在内存中的地址,控制单元将代码段的指令放入指令寄存器进行后续执行。 指令分为 操作 和 数据 ,操作对应运算单元,数据对应数据单元。