注册 登录
  • 欢迎访问"运维那点事",推荐使用Google浏览器访问,可以扫码关注本站的"微信公众号"。
  • 如果您觉得本站对你有帮助,那么可以扫码捐助以帮助本站更好地发展。

常见的CPU架构有哪些?

微机原理 彭东稳 12046次浏览 已收录 0个评论

常见的CPU架构有哪些?

我们知道编程语言有计算机语言、汇编语言、高级语言(系统级语言和应用级语言)。然后语言越底层性能越好但使用难度越大,代码量也越大。如果高级语言编写的程序甚至汇编写的程序都需要通过编译器编译成对应机器CPU对应的二进制指令集处理方式。对于CPU而言只能处理01二进制,另外不同厂商的CPU内部设计和指令集都有所不同,比如说Intel生产的32位CPU叫X86系列,这个X86指的是PC兼容CPU,属于X86_32架构,简称X86架构;AMD 64位CPU也是X86系列,但属于X86_64架构;他们之间的二进制指令集和内部设计就完全不会相同,但注意一般CPU高版本都会兼容旧版本,比如64位操作系统在32位CPU上安装不了但32位系统可以安装在64位CPU上,因为64位向下兼容。这里说一个小插曲对于早期黑客级(黑客是指在某一个领域有特别突出的贡献和天赋的人)的玩家,他们通常会称64位CPU为AMD 64,包括你去下载Debian ISO包的时候不会发现有Intel64对应的ISO镜像,而是提供有amd64的ISO镜像,因为真正第一款X86系列的64位的CPU最早是由AMD公司研发出来的,后来Intel发现之后先假装自己也有了64位CPU,其实是后来才研发出来的。所以导致Debian系的发行版都以amd64命令,事实上他们都属于X86_64系列。

我们Linux操作系统是使用C语言外加汇编编写而成的,具有很好的可移植性。而这个可移植性是指,可以运行在X86系列CPU上,也可以运行在别的CPU架构上。但是前提就是需要通过编译器把Linux操作系统源代码编译成对应CPU架构可以执行的二进制程序,针对X86系列需要在X86主机上编译,针对其他平台也要进行重新编译。这些工作都需要一个编译器来完成,但是编译器(gcc编译器)是一个软件,它也需要安装在操作系统之上,那么问题来了。gcc编译器也是C语言写的,它也需要转换成对应平台的二进制可执行程序,谁来编译gcc呢?这就成了是先有鸡还是先有蛋的问题了。先不考虑这么绕,我们一般在下载ISO镜像时会让你选择对应平台的安装包,那就是别人针对特定平台编译好的,你直接安装你使用的平台下载镜像直接安装即可,但现在大多数都是使用X86架构CPU,除非移动设备使用的是 ARM架构CPU。当你系统安装完成后你也可以利用你现有的系统平台同样去安装现有的Gcc编译器,然后利用Gcc编译器你也可以去编译其他源程序软件了。Gcc会安装你的CPU架构编译出对应的二进制可执行程序了,当然你也可以选择交叉编译,比如编译出可以在ARM平台执行的程序。

X86与X64

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常见架构(指令集)

1)ARM系列,属于移动硬件平台架构,是英国一家公司的,但这家公司非常神秘只设计芯片做知识产权而不做产品,真正生产是由三星,高通,华为所生产。

2)X86系列,现在我们使用的基本上都是X86结构的CPU,位宽有32位和64位(位宽越大性能越好),Intel和AMD都有做X86 CPU,但真正的64的CPU是AMD先开发的。

3)安腾系列,是Intel公司买HP公司的,当时AMD开发了64位CPU,Intel当时也急需一种64位架构的CPU,无奈就从HP收购了安腾CPU。但由于都是Intel公司,所以X86是兼容安腾的。

4)alpha系列,是HP公司收购了DEC公司的CPU。

5)Ultrasparc系列,是斯坦福大学设计的CPU,后来转让给SUN公司了,再后来Sun以被Oracle收购了。

6)Power系列,是IBM公司的CPU,也是世界上第一个双核芯、8核芯、64核芯等,CPU性能超强,当然价格也超贵,同时也是第一个超过4GHZ/s的CPU,现在CPU的制作工艺已经到了4GHZ/s以及到了瓶颈,只能往多核心发展了。

7)M68000系列,是摩特拉拉公司早期生产的CPU。

8)Power Pc系列,由于Power CPU性能非常好但价格非常贵,于是IBM和摩特拉拉和苹果共同生产的超强CPU,一般使用在小型机上。

但这些CPU架构中,我们最熟悉的就属于intel CPU配合Windows系统了,但现在这种格局以及在慢慢打破。自上个世纪80年代起,微软和英特尔狼狈为奸,而组成了所谓的Wintel联盟,即两家公司在PC产业内密切合作,以推动Windows操作系统在基于英特尔CPU的PC机上运行,那时Windows只要是Intel公司的CPU都支持,但对于alpha、Power这种性能强劲的CPU都是不支持的。自那时以来,Wintel联盟制定的一些技术规范,已成为PC产业事实上的标准,该联盟也因此在全球PC产业形成了所谓的“双寡头垄断”格局。微软一直都是这么干的,当年为了发展自己的IE浏览器,尽然把IE浏览器绑定在Windows系统中,从而慢慢侵蚀了网景浏览器,可能现在我们都没有见过网景浏览器,但我们可以知道的就是SSL协议就是网景公司的。所以我们要清楚操作系统不是随便跑在硬件架构上的,比如alpha系列的CPU上都是跑着HP Unix操作系统;在IBM的Power PC上跑的是AIX操作系统;还有Ultrasparc系列上跑的是Solaris操作系统。而造就这种格局的原因就是因为每个厂商所生产的机器语言与其他厂商不兼容,自家针对自家的CPU开发的操作系统无法跑在别的架构上。

这里聊一聊苹果的系统为什么不能安装在普通PC机上,因为苹果刚出来的时候使用的CPU是摩托拉拉的M8600,而我们普通的PC机使用的是X86系列的Intel或AMD的CPU。由于CPU的指令集不同,所以在硬件级别就杜绝了两者的兼容性。后来苹果又把芯片换成了IBM的Power PC,再后来也就是我们现在使用Macbook都使用的是Intel的CPU。这回底层硬件都相同了,应该苹果系统安装在普通PC机上就没有问题了吧?但是很遗憾地告诉你,虽然Windows系统可以在苹果机上安装,但是苹果系统由于做了隔离层所以还是很难在普通PC机上安装Max系统。但据说,破解后的苹果系统能装在PC机上了,但不是很稳定,因为官方不允许,都是个人进行破解后才能支持PC机的。 装了苹果系统除了好看以外没有什么好处,因为现在的软件大多都不支持苹果系统,游戏就更少了,而且很容易乱码。


如果您觉得本站对你有帮助,那么可以支付宝扫码捐助以帮助本站更好地发展,在此谢过。
喜欢 (13)or分享 (0)
关于作者:

您必须 登录 才能发表评论!