麒麟9000s确认拥有超线程技术——华为自研 TaiShan 架构是怎么回事( 二 )


麒麟9000s确认拥有超线程技术——华为自研 TaiShan 架构是怎么回事


3 , 超线程CPU中与超线程相关的有两个模块 , 分别为 Processing Unit(运算处理单元 , 简称PU)和 Architectual State(架构状态单元 , 简称AS) 。
PU是执行运算的模块(例如加减乘除) , AS则是执行逻辑和调度方面操作的模块(例如控制内存访问) , 而一个CPU核心内一般只会有一个PU和一个AS , 这样AS和PU的配合都是一对一的 , 这就是所谓的“单线程” 。
但是 , 假如将一个CPU核心内的AS增加一个——从而模拟出一个“逻辑核” , 这样就变成了两个AS共享一个PU , 这就是所谓的“单核双线程” 。
麒麟9000s确认拥有超线程技术——华为自研 TaiShan 架构是怎么回事


那么 , 超线程技术能解决什么问题呢?下面打个比方 。假如将一个CPU核心比喻为一个教室 , 将AS比喻为课代表 , 将PU比喻为老师 , 而那一堆学生就是待处理的任务 。
假如学生要提问得通过课代表收提问卡转达给老师 , 老师再将答案写在黑板上 。那么 , 在课代表收提问卡的时候 , 老师如果提前在黑板写完了答案 , 那么剩下的这空闲时间不就浪费了吗?这就是单线程的缺点 , CPU核心的算力资源没有被完美挖掘 。
但是 , 假如增加一个课代表 , 在另一个课代表收提问卡的时候 , 迅速把其他同学的提问卡递给老师 , 那么等老师处理完就可以接着再解答另一个课代表所收之提问卡 , 效率大大提升!
麒麟9000s确认拥有超线程技术——华为自研 TaiShan 架构是怎么回事


总结:看完那个超线程的比喻 , 估计眼尖的会发现一个问题 , 即老师这样像陀螺一样转个不停就不累的吗?答案是肯定的 , 对应到实际就是CPU核心的功耗会明显上升(一般在30%左右) 。
此外 , 假如多线程技术面对的是单线程应用 , 那么就会产生额外开销——单核性能因此会下降5%到15%之间 。所以说 , 超线程这个功能是不能随便乱用的 , 而是针对那些需要强大并行处理能力的应用才能发挥最大作用 。
华为这次的自研微架构在性能上基本是够用的 , 但是能效方面肯定不会好到哪去 。而且制程工艺方面也不能太乐观 , 这就是Mate60系列堆豪华散热和重新设计机身结构的根本原因 。
麒麟9000s确认拥有超线程技术——华为自研 TaiShan 架构是怎么回事


推荐阅读