CPU研究报告系列2. 详解CPU: IC产业中的“珠穆朗玛峰”

2024-08-12 10:00 作作

1.CPU的定义及内部结构


    中央处理器(Central Processing Unit)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。CPU核心主要是由大量的运算器、控制器、寄存器组成。

    运算器负责算术运算和逻辑运算。控制器负责应对所有的信息情况,调度运算器把计算做好。寄存器既要承接控制器的命令,传达命令给运算器;还要帮运算器记录已处理或者将要处理的数据。

    几乎所有的CPU的运作可以简要概括为“取”,“解码”和“执行”三大步骤,此三个步骤统称为指令周期。通常,CPU核心从存储单元或内存中提取指令。然后,根据指令集由指令解码器执行解码,将指令转换为控制CPU其他部份的信号。最后通过运算器中的微架构进行运算得到结果。

    CPU内核的基础就是指令集和微架构。

                



2.CPU的指令集与微架构


    CPU指令集(Instruction Set)是CPU中计算和控制计算机系统所有指令的集合。

    指令集包含了基本数据类型,指令集,寄存器,寻址模式,存储体系,中断,异常处理以及外部I/O,一系列的opcode即操作码(机器语言),以及由特定处理器执行的基本命令。

    指令集一般被整合在操作系统内核最底层的硬件抽象层中。指令集属于计算机中硬件与软件的接口,它向操作系统定义了CPU的基本功能。

    现阶段的指令集可以被划分为复杂指令集(CISC)与精简指令集(RISC)两类。


           



    复杂指令集诞生于1960年代,在精简指令集之前被用来解决语义鸿沟。当时的复杂指令集经过高度编码,支持汇编语言,拥有很高的代码密度,有助于缩小程序,减少主存储器的访问次数,极大地节省了计算机存储器和磁盘存储成本,并且速度更快。

    复杂指令集是相对精简指令集而言的,所有除了精简指令集之外的都可以划归到复杂指令集之中。复杂指令集和精简指令集的显著差异是大多数的精简指令集采用等长结构,并且严格区分存储和读取。

    复杂指令集通常出现在读取和存储通过算法相连的计算机中,如服务器和个人电脑中的X86指令集。

    复杂指令集的单一指令可以执行数个低阶操作程序,例如存储读取,算法运行和记忆存储,或者可以用单一指令来实现多步操作或寻址。

    随着个人计算机的普及和计算机分工的细化,复杂指令集在低算力需求的计算机中出现了“过度设计”的现象,造成了寄存器一定程度上的浪费,精简指令集由此孕育而生,二者并行发展了近50年。



    精简指令集采用小型,高度优化的指令集而非更复杂和特定化的指令。精简指令集的主要特点是通过大量寄存器和高度规则的指令流水线优化了指令集,从而使每条指令的时钟周期数减少。精简指令集的另一个特点是读取/存储结构,在该指令集中存储访问必须通过完整的特定指令,而不是特定指令中的一部分。

    精简指令集的思想成立于1970年代,成熟于1980年代。斯坦福大学的MIPS指令集和伯克利分校的SPARC指令集是当时的先驱。随着2010RISC-V的推出,精简指令集进入了开源的第五世代。

    目前,精简指令集被广泛地运用于各个领域。ARM为代表的精简指令集被广泛地运用于手机、平板等移动终端。日本富岳超算也运用精简指令集,登顶20206月的超算排行榜。


    CISCRISC无论哪一方都没有绝对的优势或劣势。

    从硬件角度分析:CISC采用的是不等长指令集,因此在执行单条指令时需要较多的处理工作,但是它的优势往往在于部份特定专业领域的应用。而RISC执行的是等长精简指令集,CPU在执行指令的时候速度较快且性能稳定,因此RISC适合采用流水线方式运作,且在并行处理方面明显优于CISC。

    从性能角度分析:CISC阵营的Intel和AMD在提升芯片性能上做出了持续的努力,CISC芯片的功耗被放在了性能后的第二位;而RISC-ARM本身出现时间较CISC-X86晚十年左右(ARM诞生于1985年,X86诞生于1978年),ARM、MIPS在创始初期缺乏与Intel产品对抗的实力,专注于以低功耗为前提的高性能芯片。


    CISCRISC从上世纪后期已经在逐步走向融合,并且该趋势持续至今。例如2005年苹果通过引入Rosetta将原先IBMPower PC指令集转译为英特尔处理器接受的X86指令集。2020年苹果发布基于ARM指令集的M1处理器后,将Rosetta更新为Rosetta2以便将原英特尔的X86指令集快速转译为M1ARM指令集。

    整体来看,以高通骁龙,联发科,三星Exynos,苹果A系列为代表的ARM架构RISC处理器占据了移动处理器的市场。而在个人电脑领域以Wintel联盟为基础的X86架构CISC处理器占据了该市场。MIPS,Power,Alpha等架构虽然已经不是市场的主流,但在特定领域内仍然在被使用。


    CPU指令集的软件生态对比

    软件生态方面,X86运行的主要为DOS,非ARMWindows,旧版MacOS等操作系统,起步早,基Wintel联盟,生态完善。全世界有65%以上的软件开发商都为X86提供生态服务。

    ARM方面运行的主要有安卓,iOSiPadOSWindows10移动版,MacOS Big Sur等。原先适应X86指令集的软件需要经过翻译后才可运行,如苹果的Rosetta2可以将X86指令转换为ARM指令,所以运行速度会减慢。

    ARM成本低,迭代快,其软件生态正在加速追赶X86的软件生态。苹果应用商店软件数量从2008年7月的5万个发展到2020年的342万个。同年Google Play商店有270万款可供下载的软件。


    单核CPU与多核CPU

    CPU核心是指控制和信息处理功能的核心电路,把一个CPU核心和相关辅助电路封装在一个芯片中,即为传统的单核心CPU芯片简称单核CPU。把多个CPU核心和相关辅助电路封装在一个芯片中,为多核CPU芯片简称多核CPU。

    下图即为ARM的单核心CPU和多核心CPU。图中红色虚线框标出的部分为CPU核心,分别为基于ARMv7微架构的单核心CPU芯片以及ARM Cortex-A9 MPCore用2个和4个Cortex-A9构成的2核心和4核心CPU芯片。

    目前我们能见到的4核心CPU大多都是属于Cortex-A9系列。ARM Cortex-A9的应用案例有联发科MT6577、三星Exynos4210、华为K3V2等,另外高通APQ8064、MSM8960、苹果A6、A6X等都可以看作是在A9架构基础上的改良版本。




3.CPU发展历程与未来趋势剖析   

   “考古”CPUCPU发展历程

    CPU发展史简单来说就是IntelIBMARM的发展历史CPU已经有四十多年的发展历史。

    CPU的发展史,按照其处理信息的字长,可以分为:四位微处理器、八位微处理器、十六位微处理器、三十二位微处理器以及六十四位微处理器等等。英特尔在大部分时间处于领先地位


    CPU发展史:英特尔微架构回顾

    随着2005年以Prescott为内核的奔腾4处理器在性能和效能上被AMDK8速龙超越,英特尔采取了Tick-Tock”的钟摆模式,“Tick”年升级处理器的制程,“Tock”年升级处理器的微架构。以两年为周期的钟摆模式,从“Nehalem”开始让CPU交替发展,一方面避免了同时革新可能带来的失败风险,同时持续的发展也可以降低研发的周期,并可以对市场造成持续的刺激,并最终提升产品的竞争力。

    2008-2015年的钟摆模式使英特尔CPU年均有15%左右的提升,维护了英特尔X86领域的霸主地位,并诞生了诸如Skylake这样经典的架构,沿用至今。



    英特尔制程回顾

    英特尔的创始人戈登·摩尔是摩尔定律的提出者。摩尔定律的核心内容为:集成电路芯片上所集成的电路的数目,每隔18个月就翻一番;微处理器的性能每隔18个月提高一倍,而价格下降一半;用一美元所能买到的计算机性能,每隔18个月翻两番。

    CPU的制程通常表示晶体管或栅极长度等特征尺寸。在门间距(CPP)和最小金属间距(MMP)都缩小30%的情况下,晶体管的面积就能减小一半,那么就能放入2倍数量的晶体管,摩尔定律也随之成立。

    在过去的40多年的摩尔定律时代,英特尔通过将CPU的制程由4004的10微米提升至了Skylake的14纳米,运用FinFET等先进技术,遵守“钟摆战略”,在CPU Die中放入更多的晶体管,提升处理器性能。


      CPU的发展趋势:微架构升级概述

    CPU微架构的提升往往伴随着指令集的更新与优化。微架构的提升可以分为两部分的改进,一个是通用性能的提升,往往称其为IPC(Instruction Per Clock,即CPU每一时钟周期内所执行指令的多少);另一个是专用性能的提升,往往需要优化代码,进行改写和重新编译才能获得收益。

    CPU的通用计算性能是由IPC、主频、指令数三者共同决定。IPC的提升是CPU通用性能提升的必要条件。主频的提升通常由CPU制程的进步产生。

    微架构通用性能的提升的宏观思路是“更宽,更深,更智能”。更深”:为平行计算找出更大的机会;“更宽”:在平行计算中执行更多的操作;“更智能”:用更新和更好的算法来减少延迟。IPC的提升就发生在处理器的前端(取指译码)、缓冲区(调度和暂存乱序执行下的微操作)和后端(执行指令、获取操作数、记录结果)。

    IceLake处理器的SunnyCove微架构是英特尔2015年以来首次使用的全新微架构,它的IPC相较于上代Skylake提升了18%。


    CPU指令集的发展趋势:ARM奋起直追X86

    微架构是指令集在CPU中的执行方法。指令集和微架构共同构成了CPU内核,它们决定了CPU每个周期内的指令数,并最终影响CPU的性能。所以指令集从根部支撑CPU的运作,处于核心的地位。

    ARM于2011年进入64位时代,比X86-64晚了十年。但是ARM凭借开源、异构运算、可定制化等一系列优势,在苹果、高通、三星、华为、英伟达等方面的努力下,ARM架构立足于低功耗的移动市场,紧抓云化和移动计算的时代红利,不断向高性能台式和服务器领域冲击。

    在移动计算领域,苹果A系列和M1处理器逐步赶超英特尔的X86处理器。苹果A13在晶体管密度与1165g7相近,线程数少于对方1/4,主频低于对方1/2的情况下,在性能方面领先英特尔1年,我们强烈看好Arm未来前景。并且苹果在软件生态上通过Rosetta 2和Universal 2,使原先基于X86的软件可以无缝地运行在M1芯片中,软件生态已经不再成为ARM的阻碍了。

    在服务器领域,ARM的新星架构“Neoverse”,在单核心方面追平AMD和Intel的服务器CPU的同时,凭借ARM并行计算、能耗控制、易拓展性的优势,在多核性能方面超过对手60%以上。ARM的性能已经不再成为短板。

    CPU制造的发展趋势:Fab+Fabless为导向

    CPU制造可分为IDM和Fab+Fabless。

    IDM集芯片设计、芯片制造、芯片封装和测试等多个产业链环节于一身。英特尔为IDM的代表。

    Fabless只负责芯片的电路设计与销售,将生产、测试、封装等环节外包。苹果和AMD为Fabless的代表。Foundry只负责制造,不负责芯片设计,可以同时为多家设计公司服务,但受制于公司间的竞争关系。台积电为Foundry的代表。

    目前英特尔CPU落后的主要原因是CPU制程的落后,根本原因是英特尔受困于IDM运作模式。随着28纳米以下先进制程的发展,芯片的制造成本和设计成本成指数级上升。同时,一条12英寸晶圆的生产线从建设到生产的周期约2年,投资至少30-50亿美元,资本支出占比80%,整体风险非常大。英特尔以有限的资源不支持它持续的设计和生产的的两线作战。

    Fab+Fabless的模式通过充分发挥比较优势,分散了CPU设计和制造的风险,符合半导体分工的大趋势。



4.CPU的需求侧与供给侧分析

    CPU需求概述

    冯诺依曼于1945年发表了《First Draft of a Report on the EDVAC》(EDVAC初稿),在这篇报告中,冯诺依曼提出了“冯诺依曼体系结构明确指出了计算机必须具备的5大部件:运算器、控制器、存储器、输入设备、输出设备。

    CPU作为控制器、运算器、存储器的结合体,提供通用算力,能处理不同的数据类型,成为了计算机的刚需。

    CPU作为硬件层,支撑着WindowsIOS、安卓等系统软件层的启动,进而推进汽车电子、服务器、PC等应用层的发展所以CPU的价值不可取代。

    各个应用领域的CPU标准是不同的。例如,在一些高可靠性应用场景,如汽车电子的CPU需要满足AEC-Q100车规认证;服务器的CPU特别看重多核表现和并行处理的能力;个人电脑的CPU注重单核表现,同时需要平衡体积、性能、效能表现;移动设备和智能穿戴的CPU把便携和节能放在第一位。


    CPU的供给涉及设计、制造、封测三个主要环节,整体供给模式有IDM和Fab+Fabless两种。



    CPU的需求侧推动:汽车CPU概述

    随着汽车的含硅量上升、功能的多样化,汽车的电子工程架构也将随之从分布式向中心化发展。同时,由于自动驾驶需要对整车进行控制,因此计算资源势必要集中化,自动驾驶芯片应运而生。

    以新能源车的标杆特斯拉为例,下代HW4.0将同时集成ADAS(先进辅助驾驶)、电动汽车动力传动、车载信息娱乐系统和车身电子四大功能。由此可见,自动驾驶芯片不仅是自动驾驶领域的计算中心,而且是整车的核心。所以汽车CPU对未来整个汽车行业具有决定性作用。

    目前自动驾驶芯片的供应商可以简单分为2派。其一,是以特斯拉为代表的“自主”派采用类似于苹果公司的模式,自主设计芯片,不对外开放技术,软硬件的整合在公司内部完成。其二,是以英伟达、华为为代表的“开放”派采用类似于安卓的模式,对外开放技术,服务其他车企,自己不造整车。具体模式的选择需要综合地权衡灵活性和契合度。


    CPU的需求侧推动:汽车CPU市场

   政策方面,中国发布了《“十三五”汽车工业发展规划意见》,对智能网联汽车发展设定目标:具有驾驶辅助功能的网联汽车当年新车渗透率达50%,有条件自动化的汽车当年新车渗透率达10%,到2020年我国初步建立能够支撑驾驶辅助及低阶自动驾驶的网联汽车标准体系。

    汽车制造商自2015年起开始整合L2自动驾驶。L2自动驾驶包括若干硬件传感器(多个摄像头、超声波和雷达)及能够支持ADAS功能(如自适应巡航控制、车道居中控制和自动转向)的软件组合而成。

    预计,在2020年全球出售的汽车中,约有8%配置L2及以上自动驾驶功能。到2025年,在全球售出的汽车中,预计约有30%将支持L2或以上自动驾驶功能。到2030年,该比例将超过50%,届时全自动驾驶汽车将超过50%。根据IDC预测,全球L1及以上自动驾驶汽车数量将由2019年的3140万辆,上涨至2024年的5420万辆,5年复合增长率为11.5%。


    汽车CPU需求特斯拉FSD

    2019年特斯拉发布了自研芯片Tesla FSD(全自主驾驶),通过了AEC-Q100车规级认证,支持L3级别的自动驾驶。FSD采用了三星14纳米FinFET工艺。一块自动驾驶电路板会集成两颗FSD芯片,执行双神经网络处理器冗余模式,两颗处理器相互独立,即便一个出问题另一个也能照常执行。

    特斯拉FSD芯片中的每颗NPU有一个96*96MAC矩阵,单颗NPU工作在2GHz,算力最高达36.86 TOPS,远超GPU同时芯片中有专用的COU负责安全系统,具有最终控制权。

    每颗NPU32MBSRAM用以存储暂时的网络数据,减少数据流向主内存。

    NPU每个周期有256位字节的激活数据和128位字节的权重数据从SRAM中被读取进入MAC阵列被加以计算。每个周期结束有128位字节的结果数据被重新写入SRAM。

    特斯拉与博通合作开发新一代的HW4.0件,将采用台积电7nm工艺生产,它将被用于多种功能,包括Autopilot、自动驾驶以及信息娱乐功能。


   汽车CPU需求英伟达Xavier

   NVIDIA DRIVE™AGX嵌入式超级计算平台处理来自摄像头,雷达和激光雷达传感器的数据,来感知周围环境,将汽车定位在地图上,并规划和执行安全的前进路线。该AI平台以紧凑,节能的包装支持自动驾驶、车内功能、驾驶员监控、其他安全功能。

   NVIDIA DRIVE AGX Xavier™可以为2级、3级自动驾驶带来每秒30万亿次的运算。

   DRIVE AGX Xavier包含6种不同的SoC,它们包括CPUGPU、深度学习加速器(DLA)、可编程视觉加速器(PVA)、影像信号处理器(ISP)、立体/光学流加速器。


   汽车CPU需求华为智能驾驶

   20201030日,华为发布智能汽车解决方案新品牌“HI”。据官方介绍,“HI”是全栈智能汽车解决方案,包括智能座舱、智能驾驶、智能网联、智能电动、智能车云、以及激光雷达等整套零部件,帮助车商快速开发智能汽车。

   华为智能驾驶涉及到感知、融合、定位、决策、规划、控制等多个环节。激光雷达的点云数据处理需要大量CPU算力,摄像头数据需要AI算力;定位、决策、规划、控制等强逻辑处理的环节需要CPU算力。

   集合了鲲鹏CPU芯片和昇腾AI芯片的MDC平台为多样化的智能驾驶提供了算力支撑。



    CPU的需求侧推动:服务器CPU概述

   服务器CPU,即在服务器中使用的CPU,它从底层支持着这个服务器产业链不过服务器是网络中的重要设备,要接受少至几十人、多至成千上万人的访问,因此对服务器具有大数据量的快速吞吐、超强的稳定性、长时间运行等严格要求

   按指令集划分,通常分为CISCCPURISCCPU两类,后来又出现了一种64位的VLIW(Very Long Instruction Word超长指令集架构)指令系统的CPU

   CPU路数划分,服务器可分为单路、双路、四路服务器等,路数增加,性能也增加。一般来说,单路、双路服务器是中低端产品;四路及以上或大型机属于高端产品。


    CPU的需求侧推动:服务器CPU市场格局

   当前的全球服务器CPU市场是一个由寡头英特尔X86处理器控制的格局不过随着AMD服务器CPUEPYC的强势崛起,英特尔的份额开始下降。

   2020Q3全球服务器市场的供应商收入同比增长2.2%,增速缓慢。X86服务器CPU在同期的收入为209.3亿美元,占所有服务器收入的92.8%。非X86服务器CPU同期收入为16.4亿美元,占比7.2%。在所有的X86服务器CPU中,英特尔占比超过90%。

   预计未来5年,整个服务器市场将保持12%的同比增速。2025年全球服务器供应商收入有望达到280亿美元。中国大陆服务器供应商浪潮、华为、联想有望取得更大的市场份额。



    CPU的需求侧推动:拆解安卓手机CPU

   智能手机由于空间和能效的限制,无法将CPU单独列出,所以手机处理器常被称为SoCSystem OnChip,片上系统)。手机SoC一般同时集成了CPUGPU、基带、ISPDSPNPU、其他各相关部件。

   手机SoC对先进制程和先进封装非常看重如高通骁龙865处理器使用台积电的7nm制程和SIP先进封装来有效提升手机芯片的晶体管密度和性能表现。

   2020年高通骁龙865的Kryo585 CPU使用了半定制化的ARM Cortex A77架构,在保持相同主频和缓存容量的前提下,相较于前代骁龙855的Kryo485,在性能和效能上都有25%的提升。同时Kyro 585 CPU首次支持LPDDR 5 RAM,在电压和功耗下降的前提下,相较于前代LPDDR 4X在带宽上提升28%。


    CPU的需求侧推动:拆解苹果iPad CPU

   平板电脑与智能手机相似,处理器常被称为SoCSystem On Chip,片上系统)。平板SoC一般同时集成了CPU、GPU、ISP、DSP、NPU、其他各相关部件。不过平板的空间不如手机般局促,而且平板对处理器的性能有更高的要求,通常会配备更多的PMIC(电源控制器)、“满血版”的手机SOC或专为平板设计的SOC,如iPad Pro系列的A12X芯片。

   平板SoC对先进制程和先进封装非常看重如苹果A14处理器率先使用台积电的5nm制程和SIP先进封装来集成118亿晶体管,晶体管密度达到1.34亿个每平方毫米,有效提升性能表现。

   2020年苹果的A14 自研CPU使用了ARM v8系列指令集,相较于前代A13芯片,在核心数不变的情况下CPU性能提升了16%


   CPU的需求侧推动:拆解PCCPU

   从上世纪80年代后期“Wintel”(微软Windows操作系统+Intel处理器)联盟成立后,PC市场的格局便由最初的混乱逐渐向头部集中。在打败苹果、IBM、摩托罗拉的Power联盟后,Wintel联盟就垄断桌面市场长达20多年。所以目前几乎所有的PC都采用英特尔或AMDX86 CPU

   PC的CPU需求不同于追求多核性能、多路互联和并行处理的服务器CPU,不同于追求高度稳定的汽车CPU,不同于追求省电和小体积的手机/平板CPU。PCCPU更追求单核性能,需要在性能、拓展性、能效方面做到平衡。拥有先进制程和封装,TDP(热设计功耗)15W(低压)-45W(标压)的X86 CPU可以满足笔记本电脑的计算需求,TDP65W-125W 的X86 CPU可以满足台式电脑的计算需求。

   2020年英特尔和AMD分别将PC CPU更新到了10/11代酷睿和以Zen 3为内核的Ryzen 5000系列,这也是AMD首次在制程和微架构方面全面领先英特尔。


   CPU的供给英特尔

   英特尔在全球有九家制造厂,其中有六家晶圆厂、三家组装测试厂。英特尔主要的逻辑晶圆厂位于美国,其中在俄勒冈、亚利桑那、以色列的晶圆厂有生产10纳米晶圆的能力。2019年英特尔用20%的营收投资14纳米和10纳米的晶圆产能,预计2020年PC方面的晶圆供给会同比增加25%。

   不过近年来,英特尔在制程节点的落后(7纳米宣布推迟至2022年)、10纳米和14纳米先进产能的不足,英特尔可能在202118万个晶圆的代工交给台积电负责,使用台积电的6纳米工艺。


   CPU的供给台积电

   台积电公司目前在中国台湾本土拥有四座十二寸超大晶圆厂、四座八寸晶圆厂和一座六寸晶圆厂并拥有海外子公司:台积电(南京)、WaferTech美国子公司、台积电(中国)。其中台积电(中国)和WaferTech美国子公司均设有1座8寸晶圆厂。其中于2016年成立的台积电(南京)有限公司,下设有一座12寸晶圆厂以及一个设计服务中心。

   2020年,台积电规划生产1200-1300万片的12寸晶圆产能,其中先进制程所占收入达到60%桌面/服务CPU、手机CPU、汽车CPU、智能穿戴CPU、电视/音乐CPU分别归属于下图的HPC、Smartphone、Automotive、IOT、DCE。

   受疫情影响,导致自动驾驶、消费电子设备需求的下滑,台积电28纳米、40/45纳米的产能利用率有所下滑,5纳米制程的产能利用率保持在85%-90%之间。