CPU的全称叫中央处理器单元,通常用来区分CPU的标准是指令集架构(InstructionSetArchitecture,简称ISA)。 开发人员基于指令集架构(ISA),使用不同的处理器硬件实现方案,来设计不同性能的处理器,因此ISA又被视作CPU的灵魂。我们可以将指令集架构理解为一个抽象层,它是处理器底层硬件与运行在硬件上的软件之间桥梁和接口。 图1指令集架构 CISC架构与RISC架构 指令集架构分为复杂指令集(ComplexInstructionSetComputer,CISC)和精简指令集(ReducedInstructionSetComputer,RISC)架构。 CISC架构不仅包含了处理器常用的指令,还包含了许多不常用的特殊指令;在CPU发展早期,CISC曾是主流,可以使用较少的指令完成操作;但随着越来越多的特殊指令被添加到CISC架构中,常用的典型程序运算过程中用到的指令仅占指令集的20,80的指令则很少用到,而这些很少用到的指令让CPU的设计变得极其复杂,大大增加了硬件设计的时间成本和面积开销。 RISC架构只包含处理器常用的指令,对于不常用的操作,通过执行多条常用指令的方式来达到同样的效果。因而在RISC架构诞生后,所有现代指令集都选择使用RISC架构。 ISA众生相 自CPU于上世纪60年代问世,已发展几十年,有几十种不同的指令集架构相继诞生或消亡。这里挑选8个主流架构,简要概括如下表: CPU的主要应用领域 CPU主要有三大应用领域,即服务器领域、PC领域和嵌入式领域。服务器领域早年群雄分立,后期Intel成功的商业策略将x86处理器芯片引向霸主地位;PC领域由于WindowsIntel的软硬件组合而发展壮大,Intel或AMD公司的x86目前是垄断者;嵌入式领域是除服务器和PC领域之外的主要应用领域,近年分化为以下子领域: 1)移动领域:如智能手机,市场规模有望超过PC领域,几乎为ARMCortexA系列垄断; 2)实时(RealTime)嵌入式领域:ARM架构占较大市场份额; 3)泛嵌入式领域:强调低功耗、低成本和高能效比,芯片主要是微控制器或微处理器,市场应用极为分散,但基数庞大,尤其在进入物联网时代。ARMCortexM系列是市场主流 CPU之三生三世 从CPU的应用场景,我们可以观察到CPU应用场景的拓宽和激增,有三个主流时代,从PC时代跨越到移动时代,再延展到物联网时代,恰好映射到CPU三大架构,权且看做CPU之三生三世。 一生一世:x86架构是服务器领域PC领域的权贵。Intel和AMD是x86处理器芯片的主要提供商,历经数代发展,从最初的16位发展至如今的64位。Intel通过内部微码化克服了CISC架构的部分缺点,并凭借不断提升的CPU设计水平和工艺制造水平,使其在性能上保持遥遥领先,加之Wintel的成功商业联盟,不仅在PC领域占据统治性地位,还击败了IBM和Sun公司,拥有超90的服务器市场份额。 IntelAMD作为芯片公司,x86架构是其生命线,授权费用极高,还可对有威胁的竞争对手停止授权。故而,采用x86架构开发被戏称为权贵的游戏。 二生二世:ARM架构是移动王者。ARM公司的商业模式以开放共赢为基本原则,通过基础架构授权、内核IP授权等方式盈利。ARM积极推动生态建设,以ARM统一制定的标准规范将上下游软硬件企业纳入其生态系统。随着近10多年移动应用的快速发展,尤其是智能手机的兴起,ARM迅速成为移动世界的王者。 进击的ARM不仅凭借CortexA系列在手持设备领域无敌,还以CortexR系列和CortexM系列在实时嵌入式领域和泛嵌入式领域成功部署。ARM三大细分产品:CortexA:面向性能密集型系统的应用处理器核;CortexR:面向实时应用的高性能核;CortexM:面向各类嵌入式应用的微控制器核。 移动王者CortexA系列是一组用于高性能低功耗微控制器领域的32位和64位RISC处理器系列,内置存储器管理单元(MemoryManagementUnit,MMU),可支持操作系统的运行。32位系列包括CortexA5,CortexA7,CortexA8,CortexA9,CortexA12,CortexA15,CortexA17和CortexA32。64位系列包括CortexA35,CortexA53,CortexA57,CortexA72,CortexA73。 值得一提的是,CortexA8首批芯片量产时,3G网络问世,踩上了智能手机的潮点;之后,CortexA9催生了智能手机的井喷期,成为智能手机内核标配,自此,CortexA系列进入年均一款的下饺子开挂模式。CortexA系列的先机与成功,奠定了ARM在移动领域的王者地位,在移动领域构筑了城宽池深的软件生态环境。目前,ARM架构已应用到全球85的移动设备中,其中超过95的智能手机处理器是基于ARM架构。 ARMCortexA系列一统移动江山后,与高通、谷歌、微软等合作伙伴逐步形成强强生态联盟,将进军传统x86架构PC与服务器市场定为下一步发展目标。 小个子有大力量的CortexM系列是一组用于低功耗微控制器领域的32位RISC处理器系列。包括CortexM0,CortexM0,CortexM1,CortexM4(F),CortexM7(F),CortexM423,CortexM33(F)。CortexM系列的应用场景虽不像CortexA系列光芒四射,但在物联网设备激增的万物智联时代,需求量巨大。 自2007年,诸如意法半导体、恩智浦等多家半导体公司持续推出基于CortexM内核的微控制器;国内厂商也纷纷入场,抢夺物联网市场,特别是2020年Q4至今的缺货潮中,国产替代风起云涌。众多微控制器厂家中,尤以意法半导体公司的STM32产品系列最全、生态建设最完善。 三生三世:粉墨登场的RISCV。RISCV架构是一种全新的指令集架构,2010年始于加州大学伯克利分校。V除了表示从RISCI开始的第五代指令架构外,还有变化(Variation)和向量(Vector)的含义。 2015年,RISCV基金会成立并开始正式运作。作为非盈利性组织,RISCV基金会负责维护标准的RISCV指令集手册和架构文档,并促进RISCV架构的发展,将其推向开源,不仅成为一种完全开放的指令集,可以被任何学术机构或商业组织自由使用;还要成为一种真正适合硬件实现且稳定的标准指令集。 源起名校、兴于开源的RISCV架构,相比ARM架构,具有灵活的扩展性,指令集的设计考虑了小型、快速、低功耗的实际应用场景,但并未对特定的微架构做过度设计,是第一个可根据具体场景选择适合的指令集的指令集架构。RISCV指令集可满足从微控制器到超级计算机等不同复杂程度的处理器设计需求,极大地拉低了CPU设计准入门槛,并显著降低芯片开发成本。 RISCV架构利于我国工业体系中少数短板之一芯片的发展,商业公司可基于开源架构开发其自主可控的商业IP,如我国RISCV系先行者平头哥和芯来科技。同时,该架构能够适应由5G和人工智能催生出的碎片化计算需求,有望成为物联网时代的主要抓手。 指令集架构的生态建设,需要付出昂贵的教育成本和接受成本,教育成本取决于人们的普遍熟悉程度,接受成本取决于人们愿意投入的时间。RISCV生态初成,海外有RISCV基金会的积极推动,国内很多地区政府也将RISCV指向为国产芯片架构发展的主要方向,并推出一系列鼓励措施。随着采用RISCV架构的芯片越来越多,尤其是完全国产芯片的问世,产学研市场对RISCV芯片应用有了越来越多的需求,中国RISCV产业生态日渐成熟。