另外,实现多线程技术要花费额外的晶体管,也就是说增加了手机CPU的功耗和面积,这对于手机来说影响很多,而且,多线程技术需要操作系统和应用软件的支持,这一切都需要时间。其实以前也有手机上的CPU支持双线程的,如英特尔的ATOM,它和我们现在手机上用的ARM架构处理器不同,ATOM是x86架构的,继承了英特尔桌面处理器的一些技术,比如Hyper-ThreadingTechnology(HTT,超线程),当然ATOM处理器也是昙花一现,英特尔已停止开发了。
为何手机CPU都10核了,却没有双线程的呢?
其实以前也有手机上的CPU支持双线程的,如英特尔的ATOM,它和我们现在手机上用的ARM架构处理器不同,ATOM是x86架构的,继承了英特尔桌面处理器的一些技术,比如Hyper-Threading Technology(HTT,超线程),当然ATOM处理器也是昙花一现,英特尔已停止开发了。HTT其实就是Simulate MultiThreading(同步多线程技术)的一种实作方式,另外像AMD Ryzen处理器也支持多线程,还有IBM Power9这样的非x86处理器同样也支持多线程技术。
之所以会出现多线程技术,那是因为这些CPU经常会有一些闲置资源得不到利用,比如早前的英特尔处理器因为流水线过长,一些单元常常处于等待状态,英特尔才开发出了超线程技术,让这些闲置的单元得以利用,它们可以运行另一个线程,不过从操作系统来看,它变成了另一颗CPU。所以说,超线程的存在意义就是因为有闲置的资源可以利用,一旦CPU本身流水线紧凑,结构精简,指令效率高,那么超线程就没什么价值了。
而现在手机上的CPU都是精简指令集架构(RISC)的ARM处理器,它的特点就是在大多数时候简单高效,没有多少闲置资源可供利用,自然就没了超线程的用武之地。另外,实现多线程技术还要花费额外的晶体管,也就是说增加了手机CPU的功耗和面积,这对于手机来说影响很多,而且,多线程技术还需要操作系统和应用软件的支持,这一切都需要时间。