原创: Hardy
CPU(中央处理器)是一台计算机的运算核心和控制核心。CPU主要功能是解释计算机指令以及处理计算机软件中的数据。CPU由运算器、控制器和寄存器及实现它们之间联系的数据、控制及状态的总线构成。
CPU的运作原理可分为四个阶段: 提取(Fetch)、解码(Decode)、执行(Execute)和写回(Writeback)。CPU从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码,并执行指令。
CPU的主要性能参数包括:主频,倍频,外频。CPU的主频也叫时钟频率,CPU 主频为 CPU 的额定工作频率,当内核数目和缓存大小一样时,主频越高的CPU性能越好。通常,主频越高CPU处理数据的速度就越快,CPU的主频=外频×倍频系数。
为什么会有外频和倍频的区分呢?这个是和CPU的发展有关的。简单说来,就是CPU发展太快,而其他硬件无法达到同样频率来交互,于是CPU进行妥协,将外频作为和主板其他部件之间通讯的频率,而工作频率靠倍频来调节提升。
CPU的主频,即CPU内核工作的时钟频率(CPU Clock Speed)。通常所说的某某CPU是多少MHz的,而这个多少兆赫就是“CPU的主频”。外频是CPU的基准频率,单位是MHz。CPU的外频决定着整块主板的运行速度。倍频系数是指CPU主频与外频之间的相对比例关系。一般情况下,同代(同针脚)的CPU,其外频往往是一样的,只是倍频系数的变化导致主频不同。
Intel TurboBoost 技术中文叫做 Intel 睿频加速技术,此技术运行 Intel CPU 工作在标称频率之上,性能分配上实现按需分配。
2017年7月份,英特尔(Intel)正式发布了代号为Purley的新一代服务器平台,包括代号为Skylake的新一代至强(Xeon)CPU,命名为英特尔至强可扩展处理器(Intel Xeon Scalable Processor,SP),也宣告了延续4代的至强E5/E7系列命名方式的终结。
至强可扩展处理器不再以E7、E5的方式来划分定位,而代之以铂金(Platinum)、金(Gold)、银(Silver)、铜(Bronze)的方式。
Skylake是新命名方式的一代,Cascade Lake是二代,两代共用Purley平台。
第一位数字:8(铂金)、6/5(金)、4(银)、3(铜)第二位数字:(新命名体系下的)代次第三四位数字:具体 SKU(库存单位)编号
Intel处理器工艺和架构更新成为Tick-Tock。Tick年(工艺年)更新制作工艺,Tock年(架构年)更新微架构。
2006年,Intel 正式发布了酷睿2/Core 2 处理器,同时宣布了每年更新 CPU 的“Tick-Tock”计划,“Tick”代表 CPU 制作工艺上的改进,而“Tock”则代表 CPU 架构上的更新。
Tick-Tock就是时钟的“嘀嗒”的意思,一个嘀嗒代表着一秒,而在 Intel 的处理器发展战略上,每一个”Tick-Tock”代表着 2 年一次的工艺制程进步。
这样在制程工艺和核心架构的两条提升道路上,总是交替进行,一方面避免了同时革新可能带来的失败风险,同时持续的发展也可以降低研发的周期,并可以对市场造成持续的刺激,并最终提升产品的竞争力。
多核处理器把多个CPU(核心)集成到单个集成电路芯片(Integrated Circuit Chip)中。一个双核的CPU有2个中央处理单元,操作系统可以看到真正的2个核心,所以2个不同的进程可以分别在不同的核心中同时执行,这大大加快了系统的速度。由于2个核心都在一个芯片上,因此它们之间的通信也要更快,系统也会有更小延迟。
超线程(Hyper Threading)其实就是同时多线程技术,是一项允许一个CPU执行多个控制流的技术。它的原理就是把一颗CPU当成两颗来用,将一颗具有超线程功能的物理CPU变成两颗逻辑CPU,而逻辑CPU对操作系统来说,跟物理CPU并没有什么区别。因此,操作系统会把工作线程分派给这两颗(逻辑)CPU上去执行,让(多个或单个)应用程序的多个线程,能够同时在同一颗CPU上被执行。注意:两颗逻辑CPU共享单颗物理CPU的所有执行资源。实际上,超线程技术就是对CPU的虚拟化。
多核处理器把多个CPU(核心)集成到单个集成电路芯片中。多核CPU(处理器)是指在一枚处理器中集成两个或多个完整的计算引擎(内核)。超线程(hyper-threading)其实就是一项允许一个CPU执行多个控制流的技术。
关于异构,从计算单元角度来看,x86处理器之外的计算单元,都可认为是异构单元,例如GPU、FPGA加速卡等。
从软件系统集群角度来看,基于不同处理器的服务器可以认为是异构;例如基于E5-2650v4的大数据集群使用基于Gold 5115或者鲲鹏916的服务器来扩容,就属于扩容异构节点。
关于众核,它是相对于单核而言,即最早的芯片只有一个核,到后来的双核(Dual Core)和四核(Quad Core)。超过这个数量的,不多于10个核的,一般称为多核(Multi Core)。当前的CPU核数达到32~64,业界称为众核(Manycore)。多核和众核之间并没有严格的限制。
随着云计算,大数据和人工智能技术发展,边缘计算发挥着越来越重要的作用,让越来越多的数据在边沿计算,补充数据中心算力需求。边沿计算对计算架构要求多样化,需要不同的处理器架构来满足不断增长的算力需求,同时需要GPU,NPU和FPGA等技术加速特定领域的算法和专用计算。以此,不同CPU架构,不同加速技术应用而生。
目前两大CPU处理器指令体系CISC和RISC架构都在互相取长补短,走向融合。CISC借用RISC的理念优化指令系统效率,RISC引入增强指令提高复杂任务处理效率。所以,不必过分关心CISC和RISC的区别,两种架构都是非常先进,并且会长期发展演进的。
CISC复杂指令集特点在于指令多,一条指令执行多个功能。优点体现在特定功能执行效率高,例如多媒体处理;缺点是系统设计复杂,执行效率低;典型架构包括x86。
RISC精简指令集特点是指令少,复杂任务由多个精简指令组合完成。优点是常用工作执行效率高,功耗低;缺点是部分复杂任务处理效率偏低,例如多媒体处理;典型架构是ARM、Power、MIPS、Alpha和SPARC等。
RISC架构相比x86架构来说,物理核心更多,适用于当前数据中心主流的分布式计算场景;例如大数据、分布式存储、HPC等;能耗更低,节能环保,相比同样性能的x86处理器,功耗低20%左右。
然而,RISC架构相比x86架构也存在明显不足,如单核性能稍弱于x86;相比于Intel AVX512,向量指令运算能力偏弱,在HPC部分场景性能低于x86;对通用场景无任何影响;
ARM架构RISC-V和MIPS架构都是比较主流和流行的RISC架构,但两者存在比较大的差异。
ARM具有更好的软件生态:ARM处理器在移动终端、IoT等领域广泛使用,也建立了良好的软件生态;移动端和数据中心的基础软件库是通用的;ARM性能更高:ARM是主流的,活跃的架构,有多家主流参与者,迅速发展,目前性能已经可以媲美主流x86处理器。
MIPS公司经营不善,MIPS架构已经基本没有发展。Wave Computing公司宣布开源MIPS,龙芯是中国科学院计算所自主研发的通用CPU,基于MIPS指令集研发几代CPU,因此,MIPS技术还是相对比较成熟。MIPS指令集架构(ISA)和MIPS的最新核心R6在2019年第一季度公开发布。
随着技术贸易战愈演愈烈,自主研发已经成为当代热词,中国研发CPU芯片的公司也犹如雨后春笋,目前主要的CPU研发公司包括: 华为(ARM),飞腾(ARM),海光(x86),龙芯(MIPS),兆芯(x86),申威(Alpha)等。
这些公司中,有多家为服务器厂商提供芯片。目前采用上述芯片提供服务器的厂商包括:技嘉(Cavium),HPE(Cavium),联想(Ampere、飞腾),Ampere(Ampere),浪潮(飞腾),长城(飞腾),同方(飞腾),宝德(飞腾),云海麒麟(飞腾)。
芯片的整体性能与制造工艺和内核的深度设计都有关系。工艺越先进,芯片集成度越高,芯片运行频率越快,功耗相对越低,整体竞争力越强。
目前主要的CPU芯片代工生产商是台积电(TSMC),它是全球最大的晶圆代工龙头企业,拥有世界最高7nm生产工艺的台湾公司,制造工艺全球领先。此外,可代工生产CPU的中国企业包括中芯国际、华虹半导体和华力微电子等公司,中芯国际预计19年可实现14nm工艺,国产厂商也发展迅速。