CPU是手机上面最复杂,最贵的Soc(芯片),担任的也是手机中大脑的位 置,是手机跑分性能的决定性硬件。智能手机发展到今天,各大手机CPU厂商也从春秋战国逐渐到了现在四国鼎立的时代(高通,MTK,三星,苹果A系列)。 当然最大的CPU厂商还是Intel,只不过intel的主力是在x86架构的处理器,主打PC与服务器产品。而我们今天的主角还是ARM架构的移动端处 理器(手机CPU)。

一、我们先来看看手机CPU中的分类:

AP应用处理器:

手机CPU中最主要的一部分,手机的系统运作还有APP的运行,靠的都是AP应用处理器。例如:苹果A9处理器指的就是AP。

BP基带处理器:

其 实很多玩家都只听过基带这个东西,但不知道这个到底是什么。基带处理器管理的是手机一切无线信号(除了wifi,蓝牙,NFC等等),一款手机支持多少种 网络模式,支持4G还是3G,都是由基带部分决定的。BP做的最有名的是高通,其实高通发家靠的就是优秀的BP基带处理器,而不是AP应用处理器。

可能大家对高通的BP没有什么印象,这里我就跟大家举几个使用高通BP的手机。iPhone4到iPhone6sp 全系列手机都是使用高通的BP(这些手机都是我亲手拆解过的,iPhone3Gs等等我不能肯定是不是高通的BP),还有全部3G版的iPad,加上三星 这几年的旗舰也是都是使用的BP,还有大量使用高通CPU的手机产品也都是使用高通的BP。那么高通在BP领域的是什么地位就不用我说了。

CP多媒体加速器:

其实每个厂商对CP都有不同的名字,比如苹果把它叫做协处理器,高通820叫做“低功率岛”。在早期CP只用于解码视频和处理音频等等简单任务。

但是各大厂商发现,CP的性能其实也可以很高,于是开始处理的东西越来越多。现在的CP已经可以处理虚拟现实,增强现实,图像处理,HIFI,HDR,传感器等等。

二、手机CPU核心数真的越多越好吗?

从2011年英伟达发布一款双核手机CPU开始,手机CPU的核战就爆发了,到之后的4核,8核,10核。甚至intel向外界展示过80核的处理器原型,但至今没有能利用这一处理器的系统。

在这里我可以很明确的告诉大家核心数越多肯定不代表更加好。现在ARM架构性能最好的处理器是苹果的A9X(iPad Pro使用的处理器),但是A9X只是双核CPU而已。

那 么为什么一些双核CPU的性能都要比那些所谓8核的CPU要好了。因为CPU运算逻辑部件的面积大小决定了CPU晶体管的数量(下图白灰色部分)。下图就 是三星猎户座7420和苹果A9的大小对比图,我们不难发现苹果A9双核CPU运算逻辑部件的面积比三星8核还大,这就代表这A9的晶体管数量比三星 7420要多。正是这样才使得A9比7420的性能好很多。

那么这样说多核心就没有好处了吗?

当然不是,多核心比在多任务处理和功耗方面确实会表现的更加优秀。但是很多时候我们真的需要8核吗?苹果告诉我们,不管安卓怎么样,反正ios双核心就足够了,这和ios的运用后台处理机制是有很大关系的(ios在运行大量APP之后就会把之前的APP关闭)。

但是不爱关闭后台的安卓需要多少核心才行了?我想骁龙820已经告诉了我们,4核就已经够了。

三、ARM架构和X86架构的区别:

ARM架构:

ARM架构使用的是精简指令集,我们可以把它看成一辆汽车,在之前一直都是低功耗的代名词。

X86架构:

X86架构使用的是复杂指令集,我们可以把它看成一架飞机,在之前一直都是高性能的代名词。

最开始也是因为低功耗,所以移动端的设备,都是使用的ARM。但是随着移动端的高速发展,ARM架构的处理器的性能也开始变得原来越强大。

那么ARM架构的CPU对比PC端的CPU实际运行起来到底有什么区别了?

比如一条指令来了,要把一个货物从北京运送到上海,这个时候我们会发现飞机必须快过汽车,但是如果另一个指令是要把一个货物从街头运到街尾了?这个时候,飞机发现,它要想做到基本是不太可能,这个时候只有在增加一条新的指令集(相当于要重新制作一架大小适合的飞机了)。

但是随着移动端设备的高速发展,ARM架构的性能已经变得越来越强了,ARM架构的性能超过X86架构已经只是时间问题了。

CPU的里面的学问很多,今天我就只写出以上三点,都是比较有用的干货,希望对小白的朋友有所帮助。其实决定手机CPU性能的决定性因素主要由:核心、主频、工艺、GPU等多方面决定,并不是单个方面强,性能就一定强。

手机CPU知识扫盲:谈谈手机CPU架构与原理 (全的更多相关文章

  1. 手机CPU知识扫盲:谈谈手机CPU架构与原理

    CPU是手机上面最复杂,最贵的Soc(芯片),担任的也是手机中大脑的位置,是手机跑分性能的决定性硬件.智能手机发展到今天,各大手机CPU厂商也从春秋战国逐渐到了现在四国鼎立的时代(高通,MTK,三星, ...

  2. android、IOS和手机基础知识

    一.手机基础知识 1.固件.刷固件.固件版本 固件是指固化的软件,英文为firmware,它是把某个系统程序写入到特定的硬件系统中的flashROM.手机固件相当于手机的系统,刷新固件就相当于刷系统. ...

  3. 【基础知识】CPU 是如何工作的 |CPU 通过总线读取内存的工作方式

    一.简单cpu  是如何工作 方式讲解 CPU 的根本任务就是执行指令,对计算机来说最终都是一串由 0 和 1 组成的序列.CPU 从逻辑上可以划分成 3 个模块,分别是控制单元.运算单元和存储单元 ...

  4. SIM卡是什么意思?你所不知道的SIM卡知识扫盲(详解)【转】

    原文链接:http://www.jb51.net/shouji/359262.html 日常我们使用手机,SIM卡是手机的必须,没有了它就不能接入网络运营商进行通信服务.SIM卡作为网络运营商对于我们 ...

  5. 初识CPU卡、SAM卡/CPU卡简介、SAM卡简介 【转】

    初识CPU卡.SAM卡/CPU卡简介.SAM卡简介 IC卡按照接口方式可分为接触式卡.非接触式卡.复合卡:按器件技术可分为非加密存储卡.加密存储卡和CPU卡. 加密存储卡是对持卡人的认证,只有输入正确 ...

  6. 使用GetLogicalProcessorInformation获取逻辑处理器的详细信息(NUMA节点数、物理CPU数、CPU核心数、逻辑CPU数、各级Cache)

    不过必须XP SP3以上才行.所有API大全: https://msdn.microsoft.com/en-us/library/windows/desktop/aa363804(v=vs.85).a ...

  7. 手机自动化测试:搭建appium手机自动化测试开发环境

    手机自动化测试:搭建appium手机自动化测试开发环境   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大 ...

  8. 【转帖】处理器史话 | 这张漫画告诉你,为什么双核CPU能打败四核CPU?

    处理器史话 | 这张漫画告诉你,为什么双核CPU能打败四核CPU? https://www.eefocus.com/mcu-dsp/371324 2016-10-28 10:28 作者:付丽华预计 9 ...

  9. linux查询操作系统信息,CPU物理个数,CPU核心数,逻辑CPU数,内存信息查询,硬盘信息查询

    目录 一.前言 二.关于服务器基本配置 2.1 操作系统基本配置查询 2.2 CPU基本配置查询 2.3 内存基本配置查询 2.4 硬盘基本配置查询 一.前言 ​ 当我们接手了一台或者几台服务器的时候 ...

随机推荐

  1. PHP的Socket通信之UDP篇

    1.创建一简单的UDP服务器 //服务器信息 $server = 'udp://127.0.0.1:9998'; //消息结束符号 $msg_eof = "\n"; $socket ...

  2. Linux用户组与用户组进阶命令

    1.用户锁定 : passwd -l user1 2.解除用户锁定:passwd -u user1 3.用户无密码登记:passwd -d user1 4.添加到附属用户组:gpasswd -a us ...

  3. [ios][swift]Swift - 常用文件目录路径获取(Home目录,文档目录,缓存目录等)

    自己写的不一定是最好的! 轮子:http://www.hangge.com/blog/cache/detail_765.html

  4. 限制Input输入类型的常见代码集合

    搜集整理常见的限制INPUT输入类型的实现方式: 1.只能输入和粘贴汉字 <input onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g ...

  5. Cocos2dx框架常用单词(一)

    收集了一些Cocos2dx里面主要单词的翻译. Toggle:切换Finite:有限Instant:瞬时interval:间隔Flip:翻转place:座位,放置Target:目标reverse:反向 ...

  6. fastjson和json-lib的区别

    上次把原生json替换成了fastjson,发生很多地方不兼容,对这个也做了一些总结: 1.对于没有赋值的变量处理,json-lib会根据类型给出相应初始值,而fastjson直接忽略这个字段. 解决 ...

  7. 20150825 C# 调用带参数的存储过程 模板

    ////// exec proceudre2                        //System.Data.SqlClient.SqlConnection sqlcon = new Sys ...

  8. 分组排序SQL

    SELECT * FROM (SELECT columns,ROWNUM AS RN FROM (SELECT DISTINCT columns FROM table WHERE 1=1)) T WH ...

  9. JAVA基础知识之网络编程——-基于TCP通信的简单聊天室

    下面将基于TCP协议用JAVA写一个非常简单的聊天室程序, 聊天室具有以下功能, 在服务器端,可以接受客户端注册(用户名),可以显示注册成功的账户 在客户端,可以注册一个账号,并用这个账号发送信息 发 ...

  10. ural 1110,快速幂

    题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1110 题意:   X^N % M = Y,X=[0,M-1];没有输出-1: #incl ...