1,鲲鹏处理器
谈 TaiShan 架构之前,得先说说基于其设计的鲲鹏处理器。鲲鹏是华为在通用计算处理器领域布局的重要产品,在正式命名为鲲鹏之前还有一款名为“Hi1610”的试验性产品。
2014年,华为首款基于ARMv8指令集架构的64位自研芯片——并正式以“鲲鹏”命名的鲲鹏912处理器诞生,其被配备于第一台ARM平台服务器华为 TaiShan(泰山)中。除了存储单元外,该处理器具有完整的自主知识产权。
2016年发布的第二代产品鲲鹏916,则成为了业界第一颗支持多路的ARM处理器,并被应用于 TaiShan2280 平衡型服务器和 TaiShan5280 存储服务器等华为服务器产品中。
最终在2019年,业界首款7nm工艺的数据中心级ARM处理器——鲲鹏920横空出世!其诞生标志着鲲鹏系列产品正式进入商用阶段,也就是说接下来该正式和X86架构服务器抢市场了。
鲲鹏920集成了CPU、南桥、网卡、SAS存储控制器等四个芯片,能够释放出服务器更多槽位,用于拓展更多加速部件功能。此外还内置了自研的多种加速引擎,结合全自研的CPU内核,整体算力和能效比皆大幅优于业界标杆。
至此,华为基于ARMv8.2指令集架构自研的 TaiShanV110 架构就该出场了,其通过优化分支预测算法、提升运算单元数量、改进内存子系统架构等一系列微架构设计,大幅提高了性能。
2,TaiShan 自研架构
由于制裁原因,鲲鹏930和麒麟9100一样都面临遥遥无期的量产难题。但是,就在近日,麒麟9000s却突然出现在国人面前,同时被深扒的,还有那神秘的华为自研CPU微架构。
本来按华为的规划,鲲鹏930处理器的 TaiShanV120 架构将实装超线程技术并将制程工艺升级为5nm。另外,鲲鹏920还有个“阉割版本”名为鲲鹏920s,其主频为2.6Ghz,单核性能与公版A76架构接近。
言及至此,这次麒麟9000s的CPU架构就大概明了了——基本可以确定就是鲲鹏930s的移动版核心,算上超线程技术的话超越A77架构很简单,继续超越A78架构也非难事。
麒麟9000s的CPU大核主频为2.62Ghz,但是其单核性能竟然超过了A78大核主频更高的天玑8100!A78架构相较于A76架构的性能提升幅度接近30%,加上频率的差异,这超线程的收益稳稳超过了30%(符合理论值)。
就这样,移动端第一款ARM超线程处理器正式诞生。十年前曾经有款联想 K900 手机搭载了英特尔的凌动 Z2580 处理器(双核四线程),那是基于X86架构(复杂指令集)的芯片,所以当时那个发烫程度,用过的应该懂。
但是,这次华为用了八核十二线程的处理器,竟然能够压住处理器的发热,单靠那块超巨大VC均热板肯定是不够的,除了精简指令集的先天优势外,剩下的就是华为自研架构之优化了,下面再说说超线程的事情。
3,超线程
CPU中与超线程相关的有两个模块,分别为 Processing Unit(运算处理单元,简称PU)和 Architectual State(架构状态单元,简称AS)。
PU是执行运算的模块(例如加减乘除),AS则是执行逻辑和调度方面操作的模块(例如控制内存访问),而一个CPU核心内一般只会有一个PU和一个AS,这样AS和PU的配合都是一对一的,这就是所谓的“单线程”。
但是,假如将一个CPU核心内的AS增加一个——从而模拟出一个“逻辑核”,这样就变成了两个AS共享一个PU,这就是所谓的“单核双线程”。
那么,超线程技术能解决什么问题呢?下面打个比方。假如将一个CPU核心比喻为一个教室,将AS比喻为课代表,将PU比喻为老师,而那一堆学生就是待处理的任务。
假如学生要提问得通过课代表收提问卡转达给老师,老师再将答案写在黑板上。那么,在课代表收提问卡的时候,老师如果提前在黑板写完了答案,那么剩下的这空闲时间不就浪费了吗?这就是单线程的缺点,CPU核心的算力资源没有被完美挖掘。
但是,假如增加一个课代表,在另一个课代表收提问卡的时候,迅速把其他同学的提问卡递给老师,那么等老师处理完就可以接着再解答另一个课代表所收之提问卡,效率大大提升!
总结:
看完那个超线程的比喻,估计眼尖的会发现一个问题,即老师这样像陀螺一样转个不停就不累的吗?答案是肯定的,对应到实际就是CPU核心的功耗会明显上升(一般在30%左右)。
此外,假如多线程技术面对的是单线程应用,那么就会产生额外开销——单核性能因此会下降5%到15%之间。所以说,超线程这个功能是不能随便乱用的,而是针对那些需要强大并行处理能力的应用才能发挥最大作用。
华为这次的自研微架构在性能上基本是够用的,但是能效方面肯定不会好到哪去。而且制程工艺方面也不能太乐观,这就是Mate60系列堆豪华散热和重新设计机身结构的根本原因。
END
原文链接:http://www.360doc.com/content/12/0121/07/41719933_1095053888.shtml