cpu的x86架构跟ARM架构的区别介绍
cpu是如何工作的?详细讲解x86跟arm的区别
cpu的概念、组成
cpu中央处理器,负责处理操作系统和应用程序运行所需的各种计算任务,相当于人体的大脑,负责整个计算机的运算和控制,是影响服务器性能效率的最核心部件,cpu的运行速度最快。
cpu的组成:cpu是由数十亿个微型晶体管组成,晶体管是计算机处理信息的基础单元,可以被看成一种电子开关。
晶体管有两种状态:通电和断电,可以分别表示数字1和0,这就形成了计算机使用的二进制系统。
单个晶体管只能表示1和0,但多个晶体管组合起来可以形成逻辑门。几个基本的逻辑门组合起来就可以形成电路,用来解决高度复杂的计算任务,
我们写的程序,无论是用的python还是java还是c++,本质上都是给计算机的指令,计算机没办法直接理解这些指令,所以代码需要被转换成一种,计算机可以直接理解的格式:机器码。也就是由0和1组成的机器语言,对应了cpu可以理解的二进制信号。
cpu的运行步骤详解
当我们运行程序时,cpu处理一条指令的步骤包括以下几步。
- 取指:即cpu从内存中读取一条指令,放到指令寄存器中,
- 解码:把指令翻译成cpu可以理解的具体操作,解码器会根据操作码,判断指令是加法还是逻辑判断等,以及操作对象是寄存器还是内存地址等,
执行:cpu会根据解码结果执行具体的操作,
写回:把操作的结果存储到指定的位置,比如寄存器或内存,供接下来的指令使用。
这四个步骤就组成了cpu处理一条指令的机器周期。
衡量cpu性能的主要指标之一是主频
cpu每秒钟能够进行的周期数,通常以GHZ为单位。主频越高,cpu每秒钟能进行的周期数就越多,
CISC(复杂指令集) vs RISC(精简指令集)
X86和ARM也分别代表了两种常见的指令集架构。
-
X86采用复杂指令集,理念就是将复杂的操作封装到单条指令中,使得一条指令可以执行多个步骤,减少程序中的指令数量,
适合高性能计算场景,适合复杂计算场景,功耗高,主动散热场景,被广泛用在台式机、笔记本电脑和服务器上,尤其适合游戏、视频编辑、程序编译之类的场景。 -
ARM 采用精简指令集,理念是每条指令只执行一个简单操作,让指令解码和执行都更高效。
适合低能耗、被动散热的场景,被用在收集、平板、智能家居上,来支持更长的续航。 -
本质上就是指令集的区别,指令集就是cpu的语言,语言不通肯定是无法指挥,所以能在x86平台运行的软件,移动到arm平台就没法运行,
-
-
但近年来,ARM也开始进攻x86的地盘了。 比如
- 比如苹果M系列处理器被用在电脑上,不断刷新性能和续航,
亚马逊云也在服务器领域推出了Graviton处理器,性价比提升40%,因为Graviton兼具高性能和显著的省钱效果,
cpu常见品牌有:国外:intel、AMD.国内:海光信息、兆芯、龙芯中科、华为鲲鹏、飞腾信息和申威科技等。
intel i3、i5、i7等。
AMD R5、R7、R9等。